@gaialabs/core 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/client.d.ts +1 -0
- package/client/client.js +5 -0
- package/client/default.d.ts +1 -0
- package/client/default.js +5 -0
- package/client/edge.d.ts +1 -0
- package/client/edge.js +373 -0
- package/client/index-browser.js +399 -0
- package/client/index.d.ts +34222 -0
- package/client/index.js +373 -0
- package/client/package.json +144 -0
- package/client/query_compiler_fast_bg.js +2 -0
- package/client/query_compiler_fast_bg.wasm +0 -0
- package/client/query_compiler_fast_bg.wasm-base64.js +2 -0
- package/client/query_engine-windows.dll.node +0 -0
- package/client/query_engine_bg.js +2 -0
- package/client/query_engine_bg.wasm +0 -0
- package/client/runtime/client.d.ts +3358 -0
- package/client/runtime/client.js +86 -0
- package/client/runtime/edge-esm.js +35 -0
- package/client/runtime/edge.js +35 -0
- package/client/runtime/index-browser.d.ts +90 -0
- package/client/runtime/index-browser.js +6 -0
- package/client/runtime/library.d.ts +3982 -0
- package/client/runtime/library.js +147 -0
- package/client/runtime/react-native.js +84 -0
- package/client/runtime/wasm-compiler-edge.js +76 -0
- package/client/runtime/wasm-engine-edge.js +38 -0
- package/client/schema.prisma +404 -0
- package/client/wasm-edge-light-loader.mjs +5 -0
- package/client/wasm-worker-loader.mjs +5 -0
- package/client/wasm.d.ts +1 -0
- package/client/wasm.js +421 -0
- package/dist/index.cjs +1282 -454
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1044 -352
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +1044 -352
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +1279 -451
- package/dist/index.mjs.map +1 -1
- package/package.json +15 -1
- package/prisma.cjs +1 -0
- package/prisma.d.ts +1 -0
- package/prisma.mjs +9 -0
package/dist/index.d.mts
CHANGED
|
@@ -9,9 +9,9 @@ declare class RomState {
|
|
|
9
9
|
readonly cgram: Uint8Array<ArrayBuffer>;
|
|
10
10
|
readonly vram: Uint8Array<ArrayBuffer>;
|
|
11
11
|
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
* Create ROM state from scene metadata.
|
|
13
|
+
* Parameters are currently unused but kept for future implementation.
|
|
14
|
+
*/
|
|
15
15
|
static fromScene(_baseDir: string, _root: unknown, _metaFile: string, _id: number): Promise<RomState>;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
@@ -33,24 +33,24 @@ declare class Stack {
|
|
|
33
33
|
location: number;
|
|
34
34
|
constructor();
|
|
35
35
|
/**
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
* Push a byte onto the stack
|
|
37
|
+
*/
|
|
38
38
|
push(value: number): void;
|
|
39
39
|
/**
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
* Push a 16-bit value onto the stack (little-endian)
|
|
41
|
+
*/
|
|
42
42
|
pushUInt16(value: number): void;
|
|
43
43
|
/**
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
* Pop a byte from the stack
|
|
45
|
+
*/
|
|
46
46
|
popByte(): number;
|
|
47
47
|
/**
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
* Pop a 16-bit value from the stack (little-endian)
|
|
49
|
+
*/
|
|
50
50
|
popUInt16(): number;
|
|
51
51
|
/**
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
* Reset the stack to initial state
|
|
53
|
+
*/
|
|
54
54
|
reset(): void;
|
|
55
55
|
}
|
|
56
56
|
//#endregion
|
|
@@ -67,7 +67,7 @@ declare enum AddressType {
|
|
|
67
67
|
WBank = "WBank",
|
|
68
68
|
Relative = "Relative",
|
|
69
69
|
WRelative = "WRelative",
|
|
70
|
-
Location = "Location"
|
|
70
|
+
Location = "Location"
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
73
|
* Address space types
|
|
@@ -78,16 +78,16 @@ declare enum AddressSpace {
|
|
|
78
78
|
ROM = "ROM",
|
|
79
79
|
WRAM = "WRAM",
|
|
80
80
|
SRAM = "SRAM",
|
|
81
|
-
System = "System"
|
|
81
|
+
System = "System"
|
|
82
82
|
}
|
|
83
83
|
declare enum MemoryMapMode {
|
|
84
84
|
Lo = "Lo",
|
|
85
85
|
Hi = "Hi",
|
|
86
|
-
ExHi = "ExHi"
|
|
86
|
+
ExHi = "ExHi"
|
|
87
87
|
}
|
|
88
88
|
declare enum CpuMode {
|
|
89
89
|
Slow = "Slow",
|
|
90
|
-
Fast = "Fast"
|
|
90
|
+
Fast = "Fast"
|
|
91
91
|
}
|
|
92
92
|
/**
|
|
93
93
|
* SNES address structure
|
|
@@ -124,7 +124,7 @@ declare enum MemberType {
|
|
|
124
124
|
Address = "Address",
|
|
125
125
|
Binary = "Binary",
|
|
126
126
|
Code = "Code",
|
|
127
|
-
Location = "Location"
|
|
127
|
+
Location = "Location"
|
|
128
128
|
}
|
|
129
129
|
//#endregion
|
|
130
130
|
//#region src/types/processor.d.ts
|
|
@@ -135,7 +135,7 @@ declare enum MemberType {
|
|
|
135
135
|
declare enum RegisterType {
|
|
136
136
|
M = "M",
|
|
137
137
|
X = "X",
|
|
138
|
-
B = "B"
|
|
138
|
+
B = "B"
|
|
139
139
|
}
|
|
140
140
|
/**
|
|
141
141
|
* Status flags for 65816 processor
|
|
@@ -153,54 +153,54 @@ declare enum RegisterType {
|
|
|
153
153
|
*/
|
|
154
154
|
declare enum StatusFlags {
|
|
155
155
|
/**
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
156
|
+
* Clear before starting addition or subtraction.
|
|
157
|
+
* Arithmetic overflow:
|
|
158
|
+
* [addition - carry out of high bit:]
|
|
159
|
+
* 0 = no carry
|
|
160
|
+
* 1 = carry
|
|
161
|
+
* [subtraction - borrow required to subtract:]
|
|
162
|
+
* 0 = borrow required
|
|
163
|
+
* 1 = no borrow required
|
|
164
|
+
* [Logic:]
|
|
165
|
+
* receives bit shifted or rotated out;
|
|
166
|
+
* source of bit rotated in
|
|
167
|
+
*/
|
|
168
168
|
Carry = 1,
|
|
169
169
|
/**
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
170
|
+
* Indicates zero or non-zero result:
|
|
171
|
+
* 0 = non-zero result
|
|
172
|
+
* 1 = zero result
|
|
173
|
+
*/
|
|
174
174
|
Zero = 2,
|
|
175
175
|
/**
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
176
|
+
* Enables or disables processor's IRQ interrupt line:
|
|
177
|
+
* Set to disable interrupts by masking the IRQ line
|
|
178
|
+
* Clear to enable IRQ interrupts
|
|
179
|
+
*/
|
|
180
180
|
IrqDisable = 4,
|
|
181
181
|
/**
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
182
|
+
* Determines mode for add/subtract (not increment/decrement, though):
|
|
183
|
+
* Set to force decimal operation (BCD)
|
|
184
|
+
* Clear to return to binary operation
|
|
185
|
+
*/
|
|
186
186
|
DecimalMode = 8,
|
|
187
187
|
IndexMode = 16,
|
|
188
188
|
AccumulatorMode = 32,
|
|
189
189
|
/**
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
190
|
+
* Clear to reverse "set-overflow" hardware input.
|
|
191
|
+
* Indicates invalid carry into high bit of arithmetic
|
|
192
|
+
* result (two's-complement overflow):
|
|
193
|
+
* 0 = two's-complement result ok
|
|
194
|
+
* 1 = error if two's-complement arithmetic
|
|
195
|
+
*/
|
|
196
196
|
Overflow = 64,
|
|
197
197
|
/**
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
Negative = 128
|
|
198
|
+
* Reflects most significant bit of result
|
|
199
|
+
* (the sign of a two's-complement binary number):
|
|
200
|
+
* 0 = high bit clear (positive result)
|
|
201
|
+
* 1 = high bit set (negative result)
|
|
202
|
+
*/
|
|
203
|
+
Negative = 128
|
|
204
204
|
}
|
|
205
205
|
//#endregion
|
|
206
206
|
//#region src/types/resources.d.ts
|
|
@@ -220,7 +220,7 @@ declare enum BinType {
|
|
|
220
220
|
Assembly = "Assembly",
|
|
221
221
|
Patch = "Patch",
|
|
222
222
|
Transform = "Transform",
|
|
223
|
-
Binary = "Binary"
|
|
223
|
+
Binary = "Binary"
|
|
224
224
|
}
|
|
225
225
|
//#endregion
|
|
226
226
|
//#region src/types/transforms.d.ts
|
|
@@ -230,7 +230,7 @@ declare enum BinType {
|
|
|
230
230
|
*/
|
|
231
231
|
declare enum XformType {
|
|
232
232
|
Lookup = "Lookup",
|
|
233
|
-
Replace = "Replace"
|
|
233
|
+
Replace = "Replace"
|
|
234
234
|
}
|
|
235
235
|
/**
|
|
236
236
|
* Transform definition
|
|
@@ -263,6 +263,7 @@ declare class DbFileType {
|
|
|
263
263
|
isPatch: boolean;
|
|
264
264
|
isBlock: boolean;
|
|
265
265
|
header: number;
|
|
266
|
+
compressed?: boolean;
|
|
266
267
|
constructor(data: Partial<DbFileType>);
|
|
267
268
|
}
|
|
268
269
|
//#endregion
|
|
@@ -311,18 +312,18 @@ declare class DbBlock {
|
|
|
311
312
|
*/
|
|
312
313
|
interface ICompressionProvider {
|
|
313
314
|
/**
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
315
|
+
* Expand (decompress) data
|
|
316
|
+
* @param srcData Source data buffer
|
|
317
|
+
* @param srcPosition Starting position in source data
|
|
318
|
+
* @param srcLen Length of source data to process
|
|
319
|
+
* @returns Expanded data
|
|
320
|
+
*/
|
|
320
321
|
expand(srcData: Uint8Array, srcPosition?: number, srcLen?: number): Uint8Array;
|
|
321
322
|
/**
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
323
|
+
* Compact (compress) data
|
|
324
|
+
* @param srcData Source data to compress
|
|
325
|
+
* @returns Compressed data
|
|
326
|
+
*/
|
|
326
327
|
compact(srcData: Uint8Array, srcPosition?: number, srcLen?: number): Uint8Array;
|
|
327
328
|
}
|
|
328
329
|
//#endregion
|
|
@@ -354,41 +355,41 @@ declare class ChunkFile {
|
|
|
354
355
|
scene?: string;
|
|
355
356
|
constructor(name: string, size: number, location: number, type: DbFileType);
|
|
356
357
|
}
|
|
357
|
-
declare function createChunkFileFromDbFile(rom: Uint8Array, compression: ICompressionProvider, dbFile: DbFile, fileType: DbFileType): ChunkFile;
|
|
358
|
+
declare function createChunkFileFromDbFile(rom: Uint8Array, compression: ICompressionProvider | undefined, dbFile: DbFile, fileType: DbFileType): ChunkFile;
|
|
358
359
|
declare function createChunkFileFromDbBlock(block: DbBlock, fileType: DbFileType, memoryMode: MemoryMapMode): ChunkFile;
|
|
359
360
|
/**
|
|
360
361
|
* Chunk file utilities
|
|
361
362
|
*/
|
|
362
363
|
declare class ChunkFileUtils {
|
|
363
364
|
/**
|
|
364
|
-
|
|
365
|
-
|
|
365
|
+
* Rebase blocks to a new location
|
|
366
|
+
*/
|
|
366
367
|
static rebase(chunkFile: ChunkFile, newLocation?: number): void;
|
|
367
368
|
/**
|
|
368
|
-
|
|
369
|
-
|
|
369
|
+
* Calculate the total size of all blocks
|
|
370
|
+
*/
|
|
370
371
|
static calculateSize(chunkFile: ChunkFile): number;
|
|
371
372
|
/**
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
373
|
+
* Check if a location is outside this block and return the part (matches C# IsOutside)
|
|
374
|
+
* Returns [isOutside, part] where part is the part containing the location
|
|
375
|
+
*/
|
|
375
376
|
static isOutsideWithPart(root: ChunkFile[], block: ChunkFile, location: number): [boolean, ChunkFile | null, AsmBlock | null];
|
|
376
377
|
/**
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
378
|
+
* Check if a location is inside this block and return the part (matches C# IsInside)
|
|
379
|
+
* Returns [isInside, part] where part is the part containing the location
|
|
380
|
+
*/
|
|
380
381
|
static isInsideWithPart(block: ChunkFile, location: number): [boolean, AsmBlock | null];
|
|
381
382
|
/**
|
|
382
|
-
|
|
383
|
-
|
|
383
|
+
* Check if a location is outside this block (shorthand version)
|
|
384
|
+
*/
|
|
384
385
|
static isOutside(block: ChunkFile, location: number): boolean;
|
|
385
386
|
/**
|
|
386
|
-
|
|
387
|
-
|
|
387
|
+
* Check if a location is inside this block (shorthand version)
|
|
388
|
+
*/
|
|
388
389
|
static isInside(block: ChunkFile, location: number): boolean;
|
|
389
390
|
/**
|
|
390
|
-
|
|
391
|
-
|
|
391
|
+
* Get all included blocks
|
|
392
|
+
*/
|
|
392
393
|
static getIncludes(chunkFile: ChunkFile): ChunkFile[];
|
|
393
394
|
}
|
|
394
395
|
//#endregion
|
|
@@ -447,12 +448,12 @@ declare class AsmBlock {
|
|
|
447
448
|
*/
|
|
448
449
|
declare class AsmBlockUtils {
|
|
449
450
|
/**
|
|
450
|
-
|
|
451
|
-
|
|
451
|
+
* Check if a location is inside this part
|
|
452
|
+
*/
|
|
452
453
|
static isInside(part: AsmBlock, location: number): boolean;
|
|
453
454
|
/**
|
|
454
|
-
|
|
455
|
-
|
|
455
|
+
* Check if a location is outside this part
|
|
456
|
+
*/
|
|
456
457
|
static isOutside(part: AsmBlock, location: number): boolean;
|
|
457
458
|
}
|
|
458
459
|
//#endregion
|
|
@@ -473,39 +474,39 @@ declare class BitStream {
|
|
|
473
474
|
get currentPosition(): number;
|
|
474
475
|
set currentPosition(value: number);
|
|
475
476
|
/**
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
477
|
+
* Read a byte from the stream
|
|
478
|
+
* @returns The byte read, or -1 if the end of the data has been reached
|
|
479
|
+
*/
|
|
479
480
|
readByte(): number;
|
|
480
481
|
/**
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
482
|
+
* Read a ushort from the stream (ignores the current bit flag)
|
|
483
|
+
* @returns The short read, or -1 if the end of the data has been reached
|
|
484
|
+
*/
|
|
484
485
|
readShort(): number;
|
|
485
486
|
/**
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
487
|
+
* Read a bit from the stream
|
|
488
|
+
* @returns True if the current bit at bitFlag is set, false otherwise
|
|
489
|
+
*/
|
|
489
490
|
readBit(): boolean;
|
|
490
491
|
/**
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
492
|
+
* Read a nibble from the stream
|
|
493
|
+
* @returns The nibble read, or -1 if the end of the data has been reached
|
|
494
|
+
*/
|
|
494
495
|
readNibble(): number;
|
|
495
496
|
/**
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
497
|
+
* Write a bit to the stream
|
|
498
|
+
* @param set True if the current bit should be set, false otherwise
|
|
499
|
+
*/
|
|
499
500
|
writeBit(set: boolean): void;
|
|
500
501
|
/**
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
502
|
+
* Write a byte to the stream
|
|
503
|
+
* @param value The byte to write
|
|
504
|
+
*/
|
|
504
505
|
writeByte(value: number): void;
|
|
505
506
|
/**
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
507
|
+
* Write a nibble to the stream
|
|
508
|
+
* @param value The nibble to write
|
|
509
|
+
*/
|
|
509
510
|
writeNibble(value: number): void;
|
|
510
511
|
flush(): void;
|
|
511
512
|
}
|
|
@@ -518,31 +519,31 @@ declare class BitStream {
|
|
|
518
519
|
declare class CompressionRegistry {
|
|
519
520
|
private static providers;
|
|
520
521
|
/**
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
522
|
+
* Register a compression provider
|
|
523
|
+
* @param id String identifier for the compression type
|
|
524
|
+
* @param factory Factory function that creates the compression provider
|
|
525
|
+
*/
|
|
525
526
|
static register(id: string, factory: () => ICompressionProvider): void;
|
|
526
527
|
/**
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
528
|
+
* Get a compression provider by ID
|
|
529
|
+
* @param id String identifier for the compression type
|
|
530
|
+
* @returns Compression provider instance
|
|
531
|
+
*/
|
|
531
532
|
static get(id: string): ICompressionProvider;
|
|
532
533
|
/**
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
534
|
+
* Check if a compression provider is registered
|
|
535
|
+
* @param id String identifier for the compression type
|
|
536
|
+
* @returns True if provider is registered
|
|
537
|
+
*/
|
|
537
538
|
static has(id: string): boolean;
|
|
538
539
|
/**
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
540
|
+
* Get list of registered provider IDs
|
|
541
|
+
* @returns Array of registered provider IDs
|
|
542
|
+
*/
|
|
542
543
|
static getRegisteredIds(): string[];
|
|
543
544
|
/**
|
|
544
|
-
|
|
545
|
-
|
|
545
|
+
* Clear all registered providers (mainly for testing)
|
|
546
|
+
*/
|
|
546
547
|
static clear(): void;
|
|
547
548
|
}
|
|
548
549
|
//#endregion
|
|
@@ -574,11 +575,11 @@ declare class RomProcessingConstants {
|
|
|
574
575
|
static readonly COP_SPLIT_REGEX: RegExp;
|
|
575
576
|
static readonly COMMA_SPACE_TRIM_REGEX: RegExp;
|
|
576
577
|
/**
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
578
|
+
* Gets the size of an object for processing purposes
|
|
579
|
+
* @param obj The object to get the size for
|
|
580
|
+
* @returns Size in bytes
|
|
581
|
+
* @throws Error when unable to determine size
|
|
582
|
+
*/
|
|
582
583
|
static getSize(obj: unknown): number;
|
|
583
584
|
}
|
|
584
585
|
/**
|
|
@@ -624,6 +625,7 @@ declare class DbStringCommand {
|
|
|
624
625
|
types: string[];
|
|
625
626
|
delimiter?: number;
|
|
626
627
|
halt: boolean;
|
|
628
|
+
dictionary?: DbStringDictionary;
|
|
627
629
|
constructor(data: Partial<DbStringCommand>);
|
|
628
630
|
}
|
|
629
631
|
/**
|
|
@@ -631,13 +633,16 @@ declare class DbStringCommand {
|
|
|
631
633
|
* Converted from GaiaLib/Database/DbStringLayer.cs
|
|
632
634
|
*/
|
|
633
635
|
interface DbStringLayer {
|
|
634
|
-
base
|
|
636
|
+
base?: number;
|
|
637
|
+
range?: number;
|
|
638
|
+
on?: number;
|
|
639
|
+
shift?: string;
|
|
635
640
|
map: string[];
|
|
636
641
|
}
|
|
637
642
|
declare class DbStringDictionary {
|
|
638
|
-
base
|
|
643
|
+
base?: number;
|
|
639
644
|
range: number;
|
|
640
|
-
command
|
|
645
|
+
command?: number;
|
|
641
646
|
name: string;
|
|
642
647
|
entries: string[];
|
|
643
648
|
constructor(data: Partial<DbStringDictionary>);
|
|
@@ -650,8 +655,6 @@ declare class DbStringType {
|
|
|
650
655
|
name: string;
|
|
651
656
|
delimiter: string;
|
|
652
657
|
terminator: number;
|
|
653
|
-
shiftType?: string;
|
|
654
|
-
characterMap: string[];
|
|
655
658
|
commands: Record<string, DbStringCommand>;
|
|
656
659
|
commandLookup: Record<number, DbStringCommand>;
|
|
657
660
|
layers: DbStringLayer[];
|
|
@@ -708,12 +711,12 @@ interface StringEntry {
|
|
|
708
711
|
*/
|
|
709
712
|
declare class StringSizeComparer {
|
|
710
713
|
/**
|
|
711
|
-
|
|
712
|
-
|
|
714
|
+
* Compare two strings by length
|
|
715
|
+
*/
|
|
713
716
|
static compare(a: string, b: string): number;
|
|
714
717
|
/**
|
|
715
|
-
|
|
716
|
-
|
|
718
|
+
* Compare two StringWrapper objects by string length
|
|
719
|
+
*/
|
|
717
720
|
static compareWrappers(a: StringWrapper, b: StringWrapper): number;
|
|
718
721
|
}
|
|
719
722
|
//#endregion
|
|
@@ -777,9 +780,9 @@ declare class ProcessorStateManager {
|
|
|
777
780
|
private readonly _buckets;
|
|
778
781
|
get(key: string): MapExt<number, number>;
|
|
779
782
|
/**
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
+
* Hydrate processor registers with stored state
|
|
784
|
+
* Uses Registers from gaia-core/assembly for processor state management
|
|
785
|
+
*/
|
|
783
786
|
hydrateRegisters(position: number, reg: Registers): void;
|
|
784
787
|
getStackPosition(location: number): number | undefined;
|
|
785
788
|
setStackPosition(location: number, value: number): void;
|
|
@@ -911,12 +914,13 @@ interface DbGameRomModule {
|
|
|
911
914
|
blocks: Record<string, Record<string, Partial<DbBlock>>>;
|
|
912
915
|
files: Record<string, Record<string, Record<string, Partial<DbFile>>>>;
|
|
913
916
|
config: DbConfig;
|
|
914
|
-
labels:
|
|
917
|
+
labels: Record<number, string>;
|
|
915
918
|
structs: Record<string, DbStruct>;
|
|
916
919
|
copdef: Record<string, Partial<CopDef>>;
|
|
917
920
|
strings: Record<string, Partial<DbStringType>>;
|
|
918
921
|
transforms: Record<string, Partial<DbTransform>[]>;
|
|
919
922
|
addrModes: Record<string, Partial<DbAddressingMode>>;
|
|
923
|
+
headers: Partial<DbHeader>[];
|
|
920
924
|
groups: Record<string, Partial<DbGroup>>;
|
|
921
925
|
fileTypes: Record<string, Partial<DbFileType>>;
|
|
922
926
|
}
|
|
@@ -924,6 +928,22 @@ interface DbBaseRomModule extends DbGameRomModule {
|
|
|
924
928
|
baseRomFiles: ChunkFile[];
|
|
925
929
|
}
|
|
926
930
|
//#endregion
|
|
931
|
+
//#region src/database/header.d.ts
|
|
932
|
+
declare class DbHeader {
|
|
933
|
+
bank: number;
|
|
934
|
+
address: number;
|
|
935
|
+
condition?: string;
|
|
936
|
+
parts: DbHeaderPart[];
|
|
937
|
+
constructor(data: Partial<DbHeader>);
|
|
938
|
+
}
|
|
939
|
+
declare class DbHeaderPart {
|
|
940
|
+
name: string;
|
|
941
|
+
size: number;
|
|
942
|
+
type: string;
|
|
943
|
+
value?: any;
|
|
944
|
+
constructor(data: Partial<DbHeaderPart>);
|
|
945
|
+
}
|
|
946
|
+
//#endregion
|
|
927
947
|
//#region src/database/root.d.ts
|
|
928
948
|
/**
|
|
929
949
|
* Main database root class
|
|
@@ -937,6 +957,7 @@ interface DbRoot {
|
|
|
937
957
|
stringTypes: Record<string, DbStringType>;
|
|
938
958
|
stringDelimiters: string[];
|
|
939
959
|
stringDelimiterLookup: Record<string, DbStringType>;
|
|
960
|
+
headers: DbHeader[];
|
|
940
961
|
files: DbFile[];
|
|
941
962
|
config: DbConfig;
|
|
942
963
|
blocks: DbBlock[];
|
|
@@ -947,7 +968,7 @@ interface DbRoot {
|
|
|
947
968
|
opCodes: Record<number, OpCode>;
|
|
948
969
|
opLookup: Record<string, OpCode[]>;
|
|
949
970
|
addrLookup: Record<string, DbAddressingMode>;
|
|
950
|
-
compression
|
|
971
|
+
compression?: ICompressionProvider;
|
|
951
972
|
baseRomFiles?: ChunkFile[];
|
|
952
973
|
projectFiles?: ChunkFile[];
|
|
953
974
|
groups: Record<string, DbGroup>;
|
|
@@ -960,16 +981,8 @@ interface DbRoot {
|
|
|
960
981
|
*/
|
|
961
982
|
declare class DbRootUtils {
|
|
962
983
|
/**
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
/**
|
|
966
|
-
* Load database from a single file
|
|
967
|
-
*/
|
|
968
|
-
static fromFolder(folderPath: string, systemPath: string): Promise<DbRoot>;
|
|
969
|
-
/**
|
|
970
|
-
* Load database from folder structure
|
|
971
|
-
*/
|
|
972
|
-
static gameModuleFromFolder(folderPath: string, systemPath: string): Promise<DbGameRomModule>;
|
|
984
|
+
* JSON serialization options
|
|
985
|
+
*/
|
|
973
986
|
static fromGameModule(module: DbGameRomModule): DbRoot;
|
|
974
987
|
static applyFolder(root: DbRoot, folderPath: string, sourceFiles?: ChunkFile[]): Promise<ChunkFile[]>;
|
|
975
988
|
static extractAllContent(root: DbRoot, romPath: string, outPath: string): Promise<void>;
|
|
@@ -1057,8 +1070,8 @@ declare class ReferenceManager {
|
|
|
1057
1070
|
createTypeName(type: string, location: number): string;
|
|
1058
1071
|
createFallbackName(location: number): string;
|
|
1059
1072
|
/**
|
|
1060
|
-
|
|
1061
|
-
|
|
1073
|
+
* Finds a reference location by its assigned name.
|
|
1074
|
+
*/
|
|
1062
1075
|
findLocationByName(name: string): number | undefined;
|
|
1063
1076
|
resolveName(location: number, type: AddressType, isBranch: boolean): string;
|
|
1064
1077
|
findClosestReference(location: number): string | null;
|
|
@@ -1150,97 +1163,97 @@ declare class BlockReader {
|
|
|
1150
1163
|
_enrichedChunks: ChunkFile[];
|
|
1151
1164
|
constructor(romData: Uint8Array, root: DbRoot);
|
|
1152
1165
|
/**
|
|
1153
|
-
|
|
1154
|
-
|
|
1166
|
+
* Processes predefined overrides for registers and bank notes
|
|
1167
|
+
*/
|
|
1155
1168
|
private initializeOverrides;
|
|
1156
1169
|
/**
|
|
1157
|
-
|
|
1158
|
-
|
|
1170
|
+
* Processes predefined file references
|
|
1171
|
+
*/
|
|
1159
1172
|
private initializeFileReferences;
|
|
1160
1173
|
/**
|
|
1161
|
-
|
|
1162
|
-
|
|
1174
|
+
* Resolves mnemonic for a given address
|
|
1175
|
+
*/
|
|
1163
1176
|
resolveMnemonic(addr: Address): void;
|
|
1164
1177
|
/**
|
|
1165
|
-
|
|
1166
|
-
|
|
1178
|
+
* Resolves name for a location (delegated to ReferenceManager)
|
|
1179
|
+
*/
|
|
1167
1180
|
resolveName(location: number, type: AddressType, isBranch: boolean): string;
|
|
1168
1181
|
/**
|
|
1169
|
-
|
|
1170
|
-
|
|
1182
|
+
* Resolves include for a location
|
|
1183
|
+
*/
|
|
1171
1184
|
resolveInclude(loc: number, isBranch: boolean): void;
|
|
1172
1185
|
/**
|
|
1173
|
-
|
|
1174
|
-
|
|
1186
|
+
* Notes a type at a location and manages chunk references
|
|
1187
|
+
*/
|
|
1175
1188
|
noteType(loc: number, type: string, silent?: boolean, reg?: Registers): string;
|
|
1176
1189
|
updateRegisterState(loc: number, reg: Registers): void;
|
|
1177
1190
|
/**
|
|
1178
|
-
|
|
1179
|
-
|
|
1191
|
+
* Checks if a delimiter has been reached
|
|
1192
|
+
*/
|
|
1180
1193
|
delimiterReached(delimiter?: number): boolean;
|
|
1181
1194
|
/**
|
|
1182
|
-
|
|
1183
|
-
|
|
1195
|
+
* Checks if processing of the current part can continue
|
|
1196
|
+
*/
|
|
1184
1197
|
partCanContinue(): boolean;
|
|
1185
1198
|
analyzeAndResolve(): ChunkFile[];
|
|
1186
1199
|
/**
|
|
1187
|
-
|
|
1188
|
-
|
|
1200
|
+
* Analyzes all blocks in the ROM
|
|
1201
|
+
*/
|
|
1189
1202
|
/**
|
|
1190
|
-
|
|
1191
|
-
|
|
1203
|
+
* Initializes blocks and parts with base references
|
|
1204
|
+
*/
|
|
1192
1205
|
private initializeBlocksAndParts;
|
|
1193
1206
|
/**
|
|
1194
|
-
|
|
1195
|
-
|
|
1207
|
+
* Processes a single part
|
|
1208
|
+
*/
|
|
1196
1209
|
private processPart;
|
|
1197
1210
|
/**
|
|
1198
|
-
|
|
1199
|
-
|
|
1211
|
+
* Processes a continuous entry (same type as previous)
|
|
1212
|
+
*/
|
|
1200
1213
|
private processContinuousEntry;
|
|
1201
1214
|
/**
|
|
1202
|
-
|
|
1203
|
-
|
|
1215
|
+
* Processes a new entry
|
|
1216
|
+
*/
|
|
1204
1217
|
private processNewEntry;
|
|
1205
1218
|
/**
|
|
1206
|
-
|
|
1207
|
-
|
|
1219
|
+
* Creates ChunkFile objects from database structure
|
|
1220
|
+
*/
|
|
1208
1221
|
private createChunkFilesFromDatabase;
|
|
1209
1222
|
/**
|
|
1210
|
-
|
|
1211
|
-
|
|
1223
|
+
* Creates binary ChunkFiles from DbFiles (enriched with rawData)
|
|
1224
|
+
*/
|
|
1212
1225
|
private createChunkFilesFromSfx;
|
|
1213
1226
|
/**
|
|
1214
|
-
|
|
1215
|
-
|
|
1227
|
+
* Creates binary ChunkFiles from DbFiles (enriched with rawData)
|
|
1228
|
+
*/
|
|
1216
1229
|
private createChunkFilesFromDbFiles;
|
|
1217
1230
|
/**
|
|
1218
|
-
|
|
1219
|
-
|
|
1231
|
+
* Creates assembly ChunkFiles from DbBlocks (enriched with parts)
|
|
1232
|
+
*/
|
|
1220
1233
|
private createChunkFilesFromDbBlocks;
|
|
1221
1234
|
/**
|
|
1222
|
-
|
|
1223
|
-
|
|
1235
|
+
* Analyzes only assembly ChunkFiles (those with parts from DbBlocks)
|
|
1236
|
+
*/
|
|
1224
1237
|
private analyzeChunkFiles;
|
|
1225
1238
|
/**
|
|
1226
|
-
|
|
1227
|
-
|
|
1239
|
+
* Resolves references in assembly ChunkFiles only
|
|
1240
|
+
*/
|
|
1228
1241
|
private resolveReferences;
|
|
1229
1242
|
/**
|
|
1230
|
-
|
|
1231
|
-
|
|
1243
|
+
* Resolves a single object and its references
|
|
1244
|
+
*/
|
|
1232
1245
|
private resolveObject;
|
|
1233
1246
|
/**
|
|
1234
|
-
|
|
1235
|
-
|
|
1247
|
+
* Resolves references in an operation object
|
|
1248
|
+
*/
|
|
1236
1249
|
private resolveOperationObject;
|
|
1237
1250
|
/**
|
|
1238
|
-
|
|
1239
|
-
|
|
1251
|
+
* Checks if an operation is a branch operation
|
|
1252
|
+
*/
|
|
1240
1253
|
private isBranchOperation;
|
|
1241
1254
|
/**
|
|
1242
|
-
|
|
1243
|
-
|
|
1255
|
+
* Hydrates registers with stored state
|
|
1256
|
+
*/
|
|
1244
1257
|
hydrateRegisters(reg: Registers): void;
|
|
1245
1258
|
}
|
|
1246
1259
|
//#endregion
|
|
@@ -1257,12 +1270,12 @@ declare class TransformProcessor {
|
|
|
1257
1270
|
private static readonly LOCATION_REGEX;
|
|
1258
1271
|
constructor(romReader: BlockReader);
|
|
1259
1272
|
/**
|
|
1260
|
-
|
|
1261
|
-
|
|
1273
|
+
* Retrieves transform information for the current ROM position
|
|
1274
|
+
*/
|
|
1262
1275
|
getTransform(): string | null;
|
|
1263
1276
|
/**
|
|
1264
|
-
|
|
1265
|
-
|
|
1277
|
+
* Applies transforms to operands
|
|
1278
|
+
*/
|
|
1266
1279
|
applyTransforms(op1Label: string | null, op2Label: string | null, operands: unknown[]): void;
|
|
1267
1280
|
private applyTransform;
|
|
1268
1281
|
private applyDefaultTransform;
|
|
@@ -1338,8 +1351,8 @@ declare class CopCommandProcessor {
|
|
|
1338
1351
|
private readonly _romDataReader;
|
|
1339
1352
|
constructor(blockReader: BlockReader);
|
|
1340
1353
|
/**
|
|
1341
|
-
|
|
1342
|
-
|
|
1354
|
+
* Parses a COP command based on its definition
|
|
1355
|
+
*/
|
|
1343
1356
|
parseCopCommand(copDef: CopDef, operands: unknown[]): void;
|
|
1344
1357
|
private tryParseMemberType;
|
|
1345
1358
|
private getMemberTypeSize;
|
|
@@ -1360,7 +1373,7 @@ declare enum ObjectType {
|
|
|
1360
1373
|
Array = "Array",
|
|
1361
1374
|
String = "String",
|
|
1362
1375
|
Number = "Number",
|
|
1363
|
-
TypedNumber = "TypedNumber"
|
|
1376
|
+
TypedNumber = "TypedNumber"
|
|
1364
1377
|
}
|
|
1365
1378
|
declare class BlockWriter {
|
|
1366
1379
|
private _root;
|
|
@@ -1397,13 +1410,13 @@ declare class PostProcessor {
|
|
|
1397
1410
|
private readonly _referenceManager;
|
|
1398
1411
|
constructor(reader: BlockReader);
|
|
1399
1412
|
/**
|
|
1400
|
-
|
|
1401
|
-
|
|
1413
|
+
* Execute post process directive on a block if present.
|
|
1414
|
+
*/
|
|
1402
1415
|
process(block: ChunkFile): void;
|
|
1403
1416
|
/**
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1417
|
+
* Builds a lookup table from struct entries.
|
|
1418
|
+
* Equivalent to PostProcessor.Lookup in C# implementation.
|
|
1419
|
+
*/
|
|
1407
1420
|
Lookup(block: ChunkFile, keyIx: string, valueIx: string): void;
|
|
1408
1421
|
}
|
|
1409
1422
|
//#endregion
|
|
@@ -1441,29 +1454,29 @@ declare class RomWriter {
|
|
|
1441
1454
|
bpsPath?: string;
|
|
1442
1455
|
outBuffer?: Uint8Array;
|
|
1443
1456
|
private romSize?;
|
|
1444
|
-
readonly cartName: string;
|
|
1445
|
-
readonly makerCode: string;
|
|
1446
1457
|
readonly root: DbRoot;
|
|
1447
|
-
constructor(root: DbRoot
|
|
1458
|
+
constructor(root: DbRoot);
|
|
1448
1459
|
repack(files: ChunkFile[]): Promise<Uint8Array>;
|
|
1449
1460
|
allocate(pages: number): void;
|
|
1450
|
-
|
|
1451
|
-
|
|
1461
|
+
writeHeaders(masterLookup: Map<string, number>): void;
|
|
1462
|
+
prepareHeaderValues(): any;
|
|
1463
|
+
writeHeader(header: DbHeader, values: any, masterLookup: Map<string, number>): void;
|
|
1464
|
+
writeChecksum(values: any): void;
|
|
1452
1465
|
writeEntryPoints(asmFiles: ChunkFile[]): void;
|
|
1453
|
-
writeFile(file: ChunkFile,
|
|
1466
|
+
writeFile(file: ChunkFile, fileLookup: Map<string, number>): Promise<number>;
|
|
1454
1467
|
private writeAscii;
|
|
1455
1468
|
/**
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1469
|
+
* Parse assembly blocks and write binary data to output buffer
|
|
1470
|
+
* Converted from ext/GaiaLib/Rom/Rebuild/RomWriter.cs ParseAssembly method
|
|
1471
|
+
*/
|
|
1459
1472
|
private parseAssembly;
|
|
1460
1473
|
/**
|
|
1461
|
-
|
|
1462
|
-
|
|
1474
|
+
* Helper method to find index of any character from an array in a string
|
|
1475
|
+
*/
|
|
1463
1476
|
private indexOfAny;
|
|
1464
1477
|
/**
|
|
1465
|
-
|
|
1466
|
-
|
|
1478
|
+
* Helper method to check if an object is a StringMarker
|
|
1479
|
+
*/
|
|
1467
1480
|
private isStringMarker;
|
|
1468
1481
|
private isTableEntry;
|
|
1469
1482
|
}
|
|
@@ -1476,30 +1489,10 @@ declare class RomWriter {
|
|
|
1476
1489
|
declare class RomProcessor {
|
|
1477
1490
|
private readonly writer;
|
|
1478
1491
|
constructor(writer: RomWriter);
|
|
1479
|
-
repack(allFiles: ChunkFile[]): Promise<
|
|
1492
|
+
repack(allFiles: ChunkFile[]): Promise<Map<string, number>>;
|
|
1480
1493
|
static applyPatches(asmFiles: ChunkFile[], patches: ChunkFile[]): void;
|
|
1481
1494
|
}
|
|
1482
1495
|
//#endregion
|
|
1483
|
-
//#region src/rom/rebuild/assembler-context.d.ts
|
|
1484
|
-
/**
|
|
1485
|
-
* Shared context interface for assembler components
|
|
1486
|
-
* This eliminates circular dependencies between Assembler, AssemblerState, and StringProcessor
|
|
1487
|
-
*/
|
|
1488
|
-
interface AssemblerContext {
|
|
1489
|
-
readonly root: DbRoot;
|
|
1490
|
-
readonly stringProcessor: StringProcessor;
|
|
1491
|
-
currentBlock: AsmBlock | null;
|
|
1492
|
-
lineBuffer: string;
|
|
1493
|
-
blockIndex: number;
|
|
1494
|
-
lastDelimiter: number | null;
|
|
1495
|
-
blocks: AsmBlock[];
|
|
1496
|
-
eof: boolean;
|
|
1497
|
-
lineCount: number;
|
|
1498
|
-
getLine(): boolean;
|
|
1499
|
-
processRawData(): void;
|
|
1500
|
-
parseOperand(operand: string): unknown;
|
|
1501
|
-
}
|
|
1502
|
-
//#endregion
|
|
1503
1496
|
//#region src/rom/rebuild/string-processor.d.ts
|
|
1504
1497
|
/**
|
|
1505
1498
|
* String processor for assembly parsing
|
|
@@ -1513,12 +1506,11 @@ declare class StringProcessor {
|
|
|
1513
1506
|
private readonly root;
|
|
1514
1507
|
private readonly stringCharLookup;
|
|
1515
1508
|
private readonly testRegex;
|
|
1516
|
-
|
|
1509
|
+
private inShift;
|
|
1510
|
+
constructor(context: Assembler);
|
|
1517
1511
|
consumeString(typeChar: string): void;
|
|
1518
1512
|
private flushBuffer;
|
|
1519
1513
|
private processString;
|
|
1520
|
-
private applyLayers;
|
|
1521
|
-
private applyMap;
|
|
1522
1514
|
private processStringCommand;
|
|
1523
1515
|
}
|
|
1524
1516
|
//#endregion
|
|
@@ -1549,7 +1541,7 @@ declare class SortedMap<V> {
|
|
|
1549
1541
|
* Main assembler class for parsing assembly files
|
|
1550
1542
|
* Converted from GaiaLib/Rom/Rebuild/Assembler.cs
|
|
1551
1543
|
*/
|
|
1552
|
-
declare class Assembler
|
|
1544
|
+
declare class Assembler {
|
|
1553
1545
|
readonly root: DbRoot;
|
|
1554
1546
|
private readonly lines;
|
|
1555
1547
|
private currentLineIndex;
|
|
@@ -1557,15 +1549,18 @@ declare class Assembler implements AssemblerContext {
|
|
|
1557
1549
|
lineBuffer: string;
|
|
1558
1550
|
includes: Set<string>;
|
|
1559
1551
|
blocks: AsmBlock[];
|
|
1560
|
-
tags: SortedMap<string>;
|
|
1552
|
+
tags: SortedMap<string | null>;
|
|
1561
1553
|
currentBlock: AsmBlock | null;
|
|
1562
1554
|
lineCount: number;
|
|
1563
|
-
blockIndex: number;
|
|
1564
1555
|
lastDelimiter: number | null;
|
|
1565
1556
|
reqBank: number | null;
|
|
1566
1557
|
eof: boolean;
|
|
1567
1558
|
strDelimRegex: RegExp;
|
|
1568
|
-
|
|
1559
|
+
conditionFiles: string[];
|
|
1560
|
+
private inCondition;
|
|
1561
|
+
private exitCondition;
|
|
1562
|
+
private failCondition;
|
|
1563
|
+
constructor(dbRoot: DbRoot, textData: string, conditionFiles: string[]);
|
|
1569
1564
|
parseAssembly(): {
|
|
1570
1565
|
blocks: AsmBlock[];
|
|
1571
1566
|
includes: Set<string>;
|
|
@@ -1597,7 +1592,7 @@ declare class AssemblerState {
|
|
|
1597
1592
|
private readonly memberTypes;
|
|
1598
1593
|
private currentType;
|
|
1599
1594
|
private readonly context;
|
|
1600
|
-
constructor(context:
|
|
1595
|
+
constructor(context: Assembler, structType?: string | null, saveDelimiter?: boolean);
|
|
1601
1596
|
private checkDisc;
|
|
1602
1597
|
private advancePart;
|
|
1603
1598
|
private processOrigin;
|
|
@@ -1611,17 +1606,13 @@ declare class AssemblerState {
|
|
|
1611
1606
|
declare class RomGenerator {
|
|
1612
1607
|
readonly projectName?: string;
|
|
1613
1608
|
crc: number;
|
|
1614
|
-
branchId: string;
|
|
1615
1609
|
dbRoot: DbRoot;
|
|
1616
1610
|
private sourceData;
|
|
1617
|
-
constructor(projectName?: string);
|
|
1618
|
-
|
|
1611
|
+
constructor(projectName?: string, crc?: number);
|
|
1612
|
+
validateAndDownload(sourceData: Uint8Array): Promise<boolean>;
|
|
1619
1613
|
generateProject(modules: string[], manualFiles?: ChunkFile[], unshiftManualFiles?: boolean): Promise<Uint8Array>;
|
|
1620
1614
|
private applyProjectInit;
|
|
1621
|
-
private assembleCodeFromText;
|
|
1622
|
-
private generateAsmIncludeLookups;
|
|
1623
1615
|
applyPatchFile(chunkFile: ChunkFile, chunkFiles: ChunkFile[], asmFiles: ChunkFile[], patchFiles: ChunkFile[]): void;
|
|
1624
|
-
private writeRom;
|
|
1625
1616
|
}
|
|
1626
1617
|
//#endregion
|
|
1627
1618
|
//#region src/compression/QuintetLZ.d.ts
|
|
@@ -1635,18 +1626,18 @@ declare class QuintetLZ implements ICompressionProvider {
|
|
|
1635
1626
|
static readonly DICTIONARY_OFFSET = 239;
|
|
1636
1627
|
private static readonly DEFAULT_PAGE_SIZE;
|
|
1637
1628
|
/**
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1629
|
+
* Expand (decompress) data using QuintetLZ algorithm
|
|
1630
|
+
* @param srcData Source data buffer
|
|
1631
|
+
* @param srcPosition Starting position in source data
|
|
1632
|
+
* @param srcLen Length of source data to process
|
|
1633
|
+
* @returns Expanded data
|
|
1634
|
+
*/
|
|
1644
1635
|
expand(srcData: Uint8Array, srcPosition?: number, srcLen?: number): Uint8Array;
|
|
1645
1636
|
/**
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1637
|
+
* Compact (compress) data using QuintetLZ algorithm
|
|
1638
|
+
* @param srcData Source data to compress
|
|
1639
|
+
* @returns Compressed data
|
|
1640
|
+
*/
|
|
1650
1641
|
compact(srcData: Uint8Array, srcPosition?: number, srcLen?: number): Uint8Array;
|
|
1651
1642
|
}
|
|
1652
1643
|
//#endregion
|
|
@@ -1661,8 +1652,8 @@ declare class SpriteFrame {
|
|
|
1661
1652
|
duration: number;
|
|
1662
1653
|
groupIndex: number;
|
|
1663
1654
|
/**
|
|
1664
|
-
|
|
1665
|
-
|
|
1655
|
+
* Internal offset to the group data (not serialized)
|
|
1656
|
+
*/
|
|
1666
1657
|
groupOffset: number;
|
|
1667
1658
|
constructor(duration?: number, groupIndex?: number, groupOffset?: number);
|
|
1668
1659
|
}
|
|
@@ -1715,15 +1706,15 @@ declare class SpriteMap {
|
|
|
1715
1706
|
groups: SpriteGroup[];
|
|
1716
1707
|
constructor();
|
|
1717
1708
|
/**
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1709
|
+
* Create a SpriteMap from binary data
|
|
1710
|
+
* @param data Binary data buffer
|
|
1711
|
+
* @returns SpriteMap instance
|
|
1712
|
+
*/
|
|
1722
1713
|
static fromBytes(data: Uint8Array): SpriteMap;
|
|
1723
1714
|
/**
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1715
|
+
* Convert this SpriteMap to binary data
|
|
1716
|
+
* @returns Binary data buffer
|
|
1717
|
+
*/
|
|
1727
1718
|
toBytes(): Uint8Array;
|
|
1728
1719
|
}
|
|
1729
1720
|
//#endregion
|
|
@@ -1790,7 +1781,7 @@ interface FileBaseRaw extends Omit<FileBaseData, 'data'> {
|
|
|
1790
1781
|
interface PlatformBranchData extends BranchBaseData {
|
|
1791
1782
|
platformId: string;
|
|
1792
1783
|
addressingModes: any | null;
|
|
1793
|
-
|
|
1784
|
+
headers: any | null;
|
|
1794
1785
|
vectors: any | null;
|
|
1795
1786
|
types: any | null;
|
|
1796
1787
|
platform: PlatformData;
|
|
@@ -1805,10 +1796,15 @@ interface GameRomBranchData extends BranchBaseData {
|
|
|
1805
1796
|
config: any | null;
|
|
1806
1797
|
files: any | null;
|
|
1807
1798
|
blocks: any | null;
|
|
1808
|
-
|
|
1799
|
+
rewrites: any | null;
|
|
1800
|
+
transforms: any | null;
|
|
1801
|
+
overrides: any | null;
|
|
1802
|
+
labels: any | null;
|
|
1803
|
+
mnemonics: any | null;
|
|
1804
|
+
fileTypes: any | null;
|
|
1805
|
+
groups: any | null;
|
|
1809
1806
|
strings: any | null;
|
|
1810
1807
|
structs: any | null;
|
|
1811
|
-
scenes: any | null;
|
|
1812
1808
|
gameRom: GameRomData;
|
|
1813
1809
|
platformBranch: PlatformBranchData;
|
|
1814
1810
|
}
|
|
@@ -1841,6 +1837,22 @@ interface GameData {
|
|
|
1841
1837
|
createdAt: string;
|
|
1842
1838
|
updatedAt: string;
|
|
1843
1839
|
}
|
|
1840
|
+
interface DeveloperData {
|
|
1841
|
+
id: string;
|
|
1842
|
+
name: string;
|
|
1843
|
+
meta: any | null;
|
|
1844
|
+
createdAt: string;
|
|
1845
|
+
updatedAt: string;
|
|
1846
|
+
}
|
|
1847
|
+
interface GameDeveloperData {
|
|
1848
|
+
id: string;
|
|
1849
|
+
gameId: string;
|
|
1850
|
+
developerId: string;
|
|
1851
|
+
createdAt: string;
|
|
1852
|
+
updatedAt: string;
|
|
1853
|
+
game: GameData;
|
|
1854
|
+
developer: DeveloperData;
|
|
1855
|
+
}
|
|
1844
1856
|
interface RegionData {
|
|
1845
1857
|
id: string;
|
|
1846
1858
|
name: string;
|
|
@@ -1899,26 +1911,26 @@ interface BaseRomPayload {
|
|
|
1899
1911
|
*/
|
|
1900
1912
|
interface FromSupabaseByNameOptions {
|
|
1901
1913
|
/**
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1914
|
+
* Name of the game to load
|
|
1915
|
+
* @default 'Illusion of Gaia'
|
|
1916
|
+
*/
|
|
1905
1917
|
gameName: string;
|
|
1906
1918
|
/**
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1919
|
+
* Name of the base ROM to load
|
|
1920
|
+
* @default 'GaiaLabs BaseROM'
|
|
1921
|
+
*/
|
|
1910
1922
|
baseRomName: string;
|
|
1911
1923
|
/**
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1924
|
+
* Name of the branch to load
|
|
1925
|
+
* Set to null to load the main/develop branch
|
|
1926
|
+
* Set to undefined to not filter by branch name
|
|
1927
|
+
*/
|
|
1916
1928
|
branchName?: string | null;
|
|
1917
1929
|
/**
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1930
|
+
* Version of the branch to load
|
|
1931
|
+
* Set to null to load the latest/main version
|
|
1932
|
+
* Set to undefined to not filter by version
|
|
1933
|
+
*/
|
|
1922
1934
|
branchVersion?: number | null;
|
|
1923
1935
|
}
|
|
1924
1936
|
/**
|
|
@@ -1931,15 +1943,15 @@ declare enum SupabaseErrorCode {
|
|
|
1931
1943
|
NETWORK_ERROR = "NETWORK_ERROR",
|
|
1932
1944
|
INVALID_DATA = "INVALID_DATA",
|
|
1933
1945
|
ENVIRONMENT_ERROR = "ENVIRONMENT_ERROR",
|
|
1934
|
-
PERMISSION_ERROR = "PERMISSION_ERROR"
|
|
1946
|
+
PERMISSION_ERROR = "PERMISSION_ERROR"
|
|
1935
1947
|
}
|
|
1936
1948
|
/**
|
|
1937
1949
|
* Custom error class for Supabase operations
|
|
1938
1950
|
*/
|
|
1939
1951
|
declare class SupabaseFromError extends Error {
|
|
1940
1952
|
readonly code: SupabaseErrorCode;
|
|
1941
|
-
readonly details?: any;
|
|
1942
|
-
constructor(message: string, code: SupabaseErrorCode, details?: any);
|
|
1953
|
+
readonly details?: any | undefined;
|
|
1954
|
+
constructor(message: string, code: SupabaseErrorCode, details?: any | undefined);
|
|
1943
1955
|
}
|
|
1944
1956
|
/**
|
|
1945
1957
|
* Result type for async operations that may fail
|
|
@@ -2008,16 +2020,16 @@ interface ProjectPayload {
|
|
|
2008
2020
|
interface FromSupabaseByProjectOptions {
|
|
2009
2021
|
projectName: string;
|
|
2010
2022
|
/**
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2023
|
+
* Name of the branch to load
|
|
2024
|
+
* Set to null to load the main/develop branch
|
|
2025
|
+
* Set to undefined to not filter by branch name
|
|
2026
|
+
*/
|
|
2015
2027
|
branchName?: string | null;
|
|
2016
2028
|
/**
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2029
|
+
* Version of the branch to load
|
|
2030
|
+
* Set to null to load the latest/main version
|
|
2031
|
+
* Set to undefined to not filter by version
|
|
2032
|
+
*/
|
|
2021
2033
|
branchVersion?: number | null;
|
|
2022
2034
|
}
|
|
2023
2035
|
/**
|
|
@@ -2210,7 +2222,7 @@ declare function fromSupabaseByName(options: FromSupabaseByNameOptions): Promise
|
|
|
2210
2222
|
* });
|
|
2211
2223
|
* ```
|
|
2212
2224
|
*/
|
|
2213
|
-
declare function fromSupabaseByProject(projectName?: string, branchId?: string): Promise<
|
|
2225
|
+
declare function fromSupabaseByProject(projectName?: string, branchId?: string): Promise<DbGameRomModule>;
|
|
2214
2226
|
declare function fromSupabaseByGameRom(gameName?: string, regionName?: string, platformName?: string, branchId?: string): Promise<ProjectPayload>;
|
|
2215
2227
|
declare function summaryFromSupabaseByProject(projectName?: string): Promise<ProjectBranchData>;
|
|
2216
2228
|
//#endregion
|
|
@@ -2313,6 +2325,7 @@ declare function removeDirectory(dirPath: string): Promise<void>;
|
|
|
2313
2325
|
interface DirectoryEntry {
|
|
2314
2326
|
name: string;
|
|
2315
2327
|
path: string;
|
|
2328
|
+
extension: string | null;
|
|
2316
2329
|
isDirectory: boolean;
|
|
2317
2330
|
isFile: boolean;
|
|
2318
2331
|
}
|
|
@@ -2388,25 +2401,6 @@ declare function encodeBase64String(text: string): string;
|
|
|
2388
2401
|
*/
|
|
2389
2402
|
declare function decodeBase64String(base64String: string): string;
|
|
2390
2403
|
//#endregion
|
|
2391
|
-
//#region src/utils/debug-export.d.ts
|
|
2392
|
-
/**
|
|
2393
|
-
* Debug utility to export processing results as JSON for comparison
|
|
2394
|
-
*/
|
|
2395
|
-
declare class DebugExporter {
|
|
2396
|
-
/**
|
|
2397
|
-
* Export chunk files to JSON for comparison with C# output
|
|
2398
|
-
*/
|
|
2399
|
-
static exportChunkFiles(files: ChunkFile[], filename: string): void;
|
|
2400
|
-
/**
|
|
2401
|
-
* Export patch application summary
|
|
2402
|
-
*/
|
|
2403
|
-
static exportPatchSummary(originalFiles: ChunkFile[], patchedFiles: ChunkFile[], patches: ChunkFile[], filename: string): void;
|
|
2404
|
-
/**
|
|
2405
|
-
* Export layout debugging information
|
|
2406
|
-
*/
|
|
2407
|
-
static exportLayoutDebug(files: ChunkFile[], filename: string): void;
|
|
2408
|
-
}
|
|
2409
|
-
//#endregion
|
|
2410
2404
|
//#region src/utils/index.d.ts
|
|
2411
2405
|
/**
|
|
2412
2406
|
* Convert bytes to hex string
|
|
@@ -2450,26 +2444,724 @@ declare function getNestedProperty(obj: any, path: string): any;
|
|
|
2450
2444
|
declare function indexOfAny(str: string, chars: string[], startIndex?: number): number;
|
|
2451
2445
|
//#endregion
|
|
2452
2446
|
//#region src/index.d.ts
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2447
|
+
declare const snes: {
|
|
2448
|
+
addressingModes: {
|
|
2449
|
+
Absolute: {
|
|
2450
|
+
shorthand: string;
|
|
2451
|
+
operands: string[];
|
|
2452
|
+
size: number;
|
|
2453
|
+
formatString: string;
|
|
2454
|
+
parseRegex: string;
|
|
2455
|
+
instructions: {
|
|
2456
|
+
ADC: number;
|
|
2457
|
+
AND: number;
|
|
2458
|
+
ASL: number;
|
|
2459
|
+
BIT: number;
|
|
2460
|
+
CMP: number;
|
|
2461
|
+
CPX: number;
|
|
2462
|
+
CPY: number;
|
|
2463
|
+
DEC: number;
|
|
2464
|
+
EOR: number;
|
|
2465
|
+
INC: number;
|
|
2466
|
+
JMP: number;
|
|
2467
|
+
JSR: number;
|
|
2468
|
+
LDA: number;
|
|
2469
|
+
LDX: number;
|
|
2470
|
+
LDY: number;
|
|
2471
|
+
LSR: number;
|
|
2472
|
+
ORA: number;
|
|
2473
|
+
PEA: number;
|
|
2474
|
+
ROL: number;
|
|
2475
|
+
ROR: number;
|
|
2476
|
+
SBC: number;
|
|
2477
|
+
STA: number;
|
|
2478
|
+
STX: number;
|
|
2479
|
+
STY: number;
|
|
2480
|
+
STZ: number;
|
|
2481
|
+
TRB: number;
|
|
2482
|
+
TSB: number;
|
|
2483
|
+
};
|
|
2484
|
+
};
|
|
2485
|
+
AbsoluteIndexedX: {
|
|
2486
|
+
shorthand: string;
|
|
2487
|
+
operands: string[];
|
|
2488
|
+
size: number;
|
|
2489
|
+
formatString: string;
|
|
2490
|
+
parseRegex: string;
|
|
2491
|
+
instructions: {
|
|
2492
|
+
ADC: number;
|
|
2493
|
+
AND: number;
|
|
2494
|
+
ASL: number;
|
|
2495
|
+
BIT: number;
|
|
2496
|
+
CMP: number;
|
|
2497
|
+
DEC: number;
|
|
2498
|
+
EOR: number;
|
|
2499
|
+
INC: number;
|
|
2500
|
+
LDA: number;
|
|
2501
|
+
LDY: number;
|
|
2502
|
+
LSR: number;
|
|
2503
|
+
ORA: number;
|
|
2504
|
+
ROL: number;
|
|
2505
|
+
ROR: number;
|
|
2506
|
+
SBC: number;
|
|
2507
|
+
STA: number;
|
|
2508
|
+
STZ: number;
|
|
2509
|
+
};
|
|
2510
|
+
};
|
|
2511
|
+
AbsoluteIndexedY: {
|
|
2512
|
+
shorthand: string;
|
|
2513
|
+
operands: string[];
|
|
2514
|
+
size: number;
|
|
2515
|
+
formatString: string;
|
|
2516
|
+
parseRegex: string;
|
|
2517
|
+
instructions: {
|
|
2518
|
+
ADC: number;
|
|
2519
|
+
AND: number;
|
|
2520
|
+
CMP: number;
|
|
2521
|
+
EOR: number;
|
|
2522
|
+
LDA: number;
|
|
2523
|
+
LDX: number;
|
|
2524
|
+
ORA: number;
|
|
2525
|
+
SBC: number;
|
|
2526
|
+
STA: number;
|
|
2527
|
+
};
|
|
2528
|
+
};
|
|
2529
|
+
AbsoluteIndirect: {
|
|
2530
|
+
shorthand: string;
|
|
2531
|
+
operands: string[];
|
|
2532
|
+
size: number;
|
|
2533
|
+
formatString: string;
|
|
2534
|
+
parseRegex: string;
|
|
2535
|
+
instructions: {
|
|
2536
|
+
JMP: number;
|
|
2537
|
+
};
|
|
2538
|
+
};
|
|
2539
|
+
AbsoluteIndirectLong: {
|
|
2540
|
+
shorthand: string;
|
|
2541
|
+
operands: string[];
|
|
2542
|
+
size: number;
|
|
2543
|
+
formatString: string;
|
|
2544
|
+
parseRegex: string;
|
|
2545
|
+
instructions: {
|
|
2546
|
+
JML: number;
|
|
2547
|
+
};
|
|
2548
|
+
};
|
|
2549
|
+
AbsoluteIndexedIndirect: {
|
|
2550
|
+
shorthand: string;
|
|
2551
|
+
operands: string[];
|
|
2552
|
+
size: number;
|
|
2553
|
+
formatString: string;
|
|
2554
|
+
parseRegex: string;
|
|
2555
|
+
instructions: {
|
|
2556
|
+
JMP: number;
|
|
2557
|
+
JSR: number;
|
|
2558
|
+
};
|
|
2559
|
+
};
|
|
2560
|
+
AbsoluteLong: {
|
|
2561
|
+
shorthand: string;
|
|
2562
|
+
operands: string[];
|
|
2563
|
+
size: number;
|
|
2564
|
+
formatString: string;
|
|
2565
|
+
parseRegex: string;
|
|
2566
|
+
instructions: {
|
|
2567
|
+
ADC: number;
|
|
2568
|
+
AND: number;
|
|
2569
|
+
CMP: number;
|
|
2570
|
+
EOR: number;
|
|
2571
|
+
JML: number;
|
|
2572
|
+
JSL: number;
|
|
2573
|
+
LDA: number;
|
|
2574
|
+
ORA: number;
|
|
2575
|
+
SBC: number;
|
|
2576
|
+
STA: number;
|
|
2577
|
+
};
|
|
2578
|
+
};
|
|
2579
|
+
AbsoluteLongIndexedX: {
|
|
2580
|
+
shorthand: string;
|
|
2581
|
+
operands: string[];
|
|
2582
|
+
size: number;
|
|
2583
|
+
formatString: string;
|
|
2584
|
+
parseRegex: string;
|
|
2585
|
+
instructions: {
|
|
2586
|
+
ADC: number;
|
|
2587
|
+
AND: number;
|
|
2588
|
+
CMP: number;
|
|
2589
|
+
EOR: number;
|
|
2590
|
+
LDA: number;
|
|
2591
|
+
ORA: number;
|
|
2592
|
+
SBC: number;
|
|
2593
|
+
STA: number;
|
|
2594
|
+
};
|
|
2595
|
+
};
|
|
2596
|
+
DirectPage: {
|
|
2597
|
+
shorthand: string;
|
|
2598
|
+
operands: string[];
|
|
2599
|
+
size: number;
|
|
2600
|
+
formatString: string;
|
|
2601
|
+
parseRegex: string;
|
|
2602
|
+
instructions: {
|
|
2603
|
+
ADC: number;
|
|
2604
|
+
AND: number;
|
|
2605
|
+
ASL: number;
|
|
2606
|
+
BIT: number;
|
|
2607
|
+
CMP: number;
|
|
2608
|
+
CPX: number;
|
|
2609
|
+
CPY: number;
|
|
2610
|
+
DEC: number;
|
|
2611
|
+
EOR: number;
|
|
2612
|
+
INC: number;
|
|
2613
|
+
LDA: number;
|
|
2614
|
+
LDX: number;
|
|
2615
|
+
LDY: number;
|
|
2616
|
+
LSR: number;
|
|
2617
|
+
ORA: number;
|
|
2618
|
+
ROL: number;
|
|
2619
|
+
ROR: number;
|
|
2620
|
+
SBC: number;
|
|
2621
|
+
STA: number;
|
|
2622
|
+
STX: number;
|
|
2623
|
+
STY: number;
|
|
2624
|
+
STZ: number;
|
|
2625
|
+
TRB: number;
|
|
2626
|
+
TSB: number;
|
|
2627
|
+
};
|
|
2628
|
+
};
|
|
2629
|
+
DirectPageIndexedX: {
|
|
2630
|
+
shorthand: string;
|
|
2631
|
+
operands: string[];
|
|
2632
|
+
size: number;
|
|
2633
|
+
formatString: string;
|
|
2634
|
+
parseRegex: string;
|
|
2635
|
+
instructions: {
|
|
2636
|
+
ADC: number;
|
|
2637
|
+
AND: number;
|
|
2638
|
+
ASL: number;
|
|
2639
|
+
BIT: number;
|
|
2640
|
+
CMP: number;
|
|
2641
|
+
DEC: number;
|
|
2642
|
+
EOR: number;
|
|
2643
|
+
INC: number;
|
|
2644
|
+
LDA: number;
|
|
2645
|
+
LDY: number;
|
|
2646
|
+
LSR: number;
|
|
2647
|
+
ORA: number;
|
|
2648
|
+
ROL: number;
|
|
2649
|
+
ROR: number;
|
|
2650
|
+
SBC: number;
|
|
2651
|
+
STA: number;
|
|
2652
|
+
STY: number;
|
|
2653
|
+
STZ: number;
|
|
2654
|
+
};
|
|
2655
|
+
};
|
|
2656
|
+
DirectPageIndexedY: {
|
|
2657
|
+
shorthand: string;
|
|
2658
|
+
operands: string[];
|
|
2659
|
+
size: number;
|
|
2660
|
+
formatString: string;
|
|
2661
|
+
parseRegex: string;
|
|
2662
|
+
instructions: {
|
|
2663
|
+
LDX: number;
|
|
2664
|
+
STX: number;
|
|
2665
|
+
};
|
|
2666
|
+
};
|
|
2667
|
+
DirectPageIndirect: {
|
|
2668
|
+
shorthand: string;
|
|
2669
|
+
operands: string[];
|
|
2670
|
+
size: number;
|
|
2671
|
+
formatString: string;
|
|
2672
|
+
parseRegex: string;
|
|
2673
|
+
instructions: {
|
|
2674
|
+
ADC: number;
|
|
2675
|
+
AND: number;
|
|
2676
|
+
CMP: number;
|
|
2677
|
+
EOR: number;
|
|
2678
|
+
LDA: number;
|
|
2679
|
+
ORA: number;
|
|
2680
|
+
PEI: number;
|
|
2681
|
+
SBC: number;
|
|
2682
|
+
STA: number;
|
|
2683
|
+
};
|
|
2684
|
+
};
|
|
2685
|
+
DirectPageIndirectLong: {
|
|
2686
|
+
shorthand: string;
|
|
2687
|
+
operands: string[];
|
|
2688
|
+
size: number;
|
|
2689
|
+
formatString: string;
|
|
2690
|
+
parseRegex: string;
|
|
2691
|
+
instructions: {
|
|
2692
|
+
ADC: number;
|
|
2693
|
+
AND: number;
|
|
2694
|
+
CMP: number;
|
|
2695
|
+
EOR: number;
|
|
2696
|
+
LDA: number;
|
|
2697
|
+
ORA: number;
|
|
2698
|
+
SBC: number;
|
|
2699
|
+
STA: number;
|
|
2700
|
+
};
|
|
2701
|
+
};
|
|
2702
|
+
DirectPageIndexedIndirectX: {
|
|
2703
|
+
shorthand: string;
|
|
2704
|
+
operands: string[];
|
|
2705
|
+
size: number;
|
|
2706
|
+
formatString: string;
|
|
2707
|
+
parseRegex: string;
|
|
2708
|
+
instructions: {
|
|
2709
|
+
ADC: number;
|
|
2710
|
+
AND: number;
|
|
2711
|
+
CMP: number;
|
|
2712
|
+
EOR: number;
|
|
2713
|
+
LDA: number;
|
|
2714
|
+
ORA: number;
|
|
2715
|
+
SBC: number;
|
|
2716
|
+
STA: number;
|
|
2717
|
+
};
|
|
2718
|
+
};
|
|
2719
|
+
DirectPageIndirectIndexedY: {
|
|
2720
|
+
shorthand: string;
|
|
2721
|
+
operands: string[];
|
|
2722
|
+
size: number;
|
|
2723
|
+
formatString: string;
|
|
2724
|
+
parseRegex: string;
|
|
2725
|
+
instructions: {
|
|
2726
|
+
ADC: number;
|
|
2727
|
+
AND: number;
|
|
2728
|
+
CMP: number;
|
|
2729
|
+
EOR: number;
|
|
2730
|
+
LDA: number;
|
|
2731
|
+
ORA: number;
|
|
2732
|
+
SBC: number;
|
|
2733
|
+
STA: number;
|
|
2734
|
+
};
|
|
2735
|
+
};
|
|
2736
|
+
DirectPageIndirectLongIndexedY: {
|
|
2737
|
+
shorthand: string;
|
|
2738
|
+
operands: string[];
|
|
2739
|
+
size: number;
|
|
2740
|
+
formatString: string;
|
|
2741
|
+
parseRegex: string;
|
|
2742
|
+
instructions: {
|
|
2743
|
+
ADC: number;
|
|
2744
|
+
AND: number;
|
|
2745
|
+
CMP: number;
|
|
2746
|
+
EOR: number;
|
|
2747
|
+
LDA: number;
|
|
2748
|
+
ORA: number;
|
|
2749
|
+
SBC: number;
|
|
2750
|
+
STA: number;
|
|
2751
|
+
};
|
|
2752
|
+
};
|
|
2753
|
+
Immediate: {
|
|
2754
|
+
shorthand: string;
|
|
2755
|
+
operands: string[];
|
|
2756
|
+
size: number;
|
|
2757
|
+
formatString: string;
|
|
2758
|
+
parseRegex: string;
|
|
2759
|
+
instructions: {
|
|
2760
|
+
ADC: number;
|
|
2761
|
+
AND: number;
|
|
2762
|
+
BIT: number;
|
|
2763
|
+
CMP: number;
|
|
2764
|
+
CPX: number;
|
|
2765
|
+
CPY: number;
|
|
2766
|
+
EOR: number;
|
|
2767
|
+
LDA: number;
|
|
2768
|
+
LDX: number;
|
|
2769
|
+
LDY: number;
|
|
2770
|
+
ORA: number;
|
|
2771
|
+
REP: number;
|
|
2772
|
+
SBC: number;
|
|
2773
|
+
SEP: number;
|
|
2774
|
+
};
|
|
2775
|
+
};
|
|
2776
|
+
Implied: {
|
|
2777
|
+
shorthand: string;
|
|
2778
|
+
operands: never[];
|
|
2779
|
+
size: number;
|
|
2780
|
+
formatString: null;
|
|
2781
|
+
parseRegex: null;
|
|
2782
|
+
instructions: {
|
|
2783
|
+
CLC: number;
|
|
2784
|
+
CLD: number;
|
|
2785
|
+
CLI: number;
|
|
2786
|
+
CLV: number;
|
|
2787
|
+
DEX: number;
|
|
2788
|
+
DEY: number;
|
|
2789
|
+
INX: number;
|
|
2790
|
+
INY: number;
|
|
2791
|
+
NOP: number;
|
|
2792
|
+
SEC: number;
|
|
2793
|
+
SED: number;
|
|
2794
|
+
SEI: number;
|
|
2795
|
+
STP: number;
|
|
2796
|
+
TAX: number;
|
|
2797
|
+
TAY: number;
|
|
2798
|
+
TCD: number;
|
|
2799
|
+
TCS: number;
|
|
2800
|
+
TDC: number;
|
|
2801
|
+
TSC: number;
|
|
2802
|
+
TSX: number;
|
|
2803
|
+
TXA: number;
|
|
2804
|
+
TXS: number;
|
|
2805
|
+
TXY: number;
|
|
2806
|
+
TYA: number;
|
|
2807
|
+
TYX: number;
|
|
2808
|
+
WAI: number;
|
|
2809
|
+
WDM: number;
|
|
2810
|
+
XBA: number;
|
|
2811
|
+
XCE: number;
|
|
2812
|
+
};
|
|
2813
|
+
};
|
|
2814
|
+
Accumulator: {
|
|
2815
|
+
shorthand: string;
|
|
2816
|
+
operands: never[];
|
|
2817
|
+
size: number;
|
|
2818
|
+
formatString: null;
|
|
2819
|
+
parseRegex: null;
|
|
2820
|
+
instructions: {
|
|
2821
|
+
ASL: number;
|
|
2822
|
+
DEC: number;
|
|
2823
|
+
INC: number;
|
|
2824
|
+
LSR: number;
|
|
2825
|
+
ROL: number;
|
|
2826
|
+
ROR: number;
|
|
2827
|
+
};
|
|
2828
|
+
};
|
|
2829
|
+
PCRelative: {
|
|
2830
|
+
shorthand: string;
|
|
2831
|
+
operands: string[];
|
|
2832
|
+
size: number;
|
|
2833
|
+
formatString: string;
|
|
2834
|
+
parseRegex: string;
|
|
2835
|
+
instructions: {
|
|
2836
|
+
BPL: number;
|
|
2837
|
+
BMI: number;
|
|
2838
|
+
BRA: number;
|
|
2839
|
+
BCC: number;
|
|
2840
|
+
BCS: number;
|
|
2841
|
+
BNE: number;
|
|
2842
|
+
BEQ: number;
|
|
2843
|
+
BVC: number;
|
|
2844
|
+
BVS: number;
|
|
2845
|
+
};
|
|
2846
|
+
};
|
|
2847
|
+
PCRelativeLong: {
|
|
2848
|
+
shorthand: string;
|
|
2849
|
+
operands: string[];
|
|
2850
|
+
size: number;
|
|
2851
|
+
formatString: string;
|
|
2852
|
+
parseRegex: string;
|
|
2853
|
+
instructions: {
|
|
2854
|
+
BRL: number;
|
|
2855
|
+
PER: number;
|
|
2856
|
+
};
|
|
2857
|
+
};
|
|
2858
|
+
StackRelative: {
|
|
2859
|
+
shorthand: string;
|
|
2860
|
+
operands: string[];
|
|
2861
|
+
size: number;
|
|
2862
|
+
formatString: string;
|
|
2863
|
+
parseRegex: string;
|
|
2864
|
+
instructions: {
|
|
2865
|
+
ADC: number;
|
|
2866
|
+
AND: number;
|
|
2867
|
+
CMP: number;
|
|
2868
|
+
EOR: number;
|
|
2869
|
+
LDA: number;
|
|
2870
|
+
ORA: number;
|
|
2871
|
+
SBC: number;
|
|
2872
|
+
STA: number;
|
|
2873
|
+
};
|
|
2874
|
+
};
|
|
2875
|
+
StackRelativeIndirectIndexedY: {
|
|
2876
|
+
shorthand: string;
|
|
2877
|
+
operands: string[];
|
|
2878
|
+
size: number;
|
|
2879
|
+
formatString: string;
|
|
2880
|
+
parseRegex: string;
|
|
2881
|
+
instructions: {
|
|
2882
|
+
ADC: number;
|
|
2883
|
+
AND: number;
|
|
2884
|
+
CMP: number;
|
|
2885
|
+
EOR: number;
|
|
2886
|
+
LDA: number;
|
|
2887
|
+
ORA: number;
|
|
2888
|
+
SBC: number;
|
|
2889
|
+
STA: number;
|
|
2890
|
+
};
|
|
2891
|
+
};
|
|
2892
|
+
BlockMove: {
|
|
2893
|
+
shorthand: string;
|
|
2894
|
+
operands: string[];
|
|
2895
|
+
size: number;
|
|
2896
|
+
formatString: string;
|
|
2897
|
+
parseRegex: string;
|
|
2898
|
+
instructions: {
|
|
2899
|
+
MVN: number;
|
|
2900
|
+
MVP: number;
|
|
2901
|
+
};
|
|
2902
|
+
};
|
|
2903
|
+
StackInterrupt: {
|
|
2904
|
+
shorthand: string;
|
|
2905
|
+
operands: string[];
|
|
2906
|
+
size: number;
|
|
2907
|
+
formatString: string;
|
|
2908
|
+
parseRegex: string;
|
|
2909
|
+
instructions: {
|
|
2910
|
+
BRK: number;
|
|
2911
|
+
COP: number;
|
|
2912
|
+
};
|
|
2913
|
+
};
|
|
2914
|
+
Stack: {
|
|
2915
|
+
shorthand: string;
|
|
2916
|
+
operands: never[];
|
|
2917
|
+
size: number;
|
|
2918
|
+
formatString: null;
|
|
2919
|
+
parseRegex: null;
|
|
2920
|
+
instructions: {
|
|
2921
|
+
PHA: number;
|
|
2922
|
+
PHB: number;
|
|
2923
|
+
PHD: number;
|
|
2924
|
+
PHK: number;
|
|
2925
|
+
PHP: number;
|
|
2926
|
+
PHX: number;
|
|
2927
|
+
PHY: number;
|
|
2928
|
+
PLA: number;
|
|
2929
|
+
PLB: number;
|
|
2930
|
+
PLD: number;
|
|
2931
|
+
PLP: number;
|
|
2932
|
+
PLX: number;
|
|
2933
|
+
PLY: number;
|
|
2934
|
+
RTI: number;
|
|
2935
|
+
RTL: number;
|
|
2936
|
+
RTS: number;
|
|
2937
|
+
};
|
|
2938
|
+
};
|
|
2939
|
+
};
|
|
2940
|
+
vectors: {
|
|
2941
|
+
"8448": string;
|
|
2942
|
+
"8449": string;
|
|
2943
|
+
"8450": string;
|
|
2944
|
+
"8451": string;
|
|
2945
|
+
"8452": string;
|
|
2946
|
+
"8453": string;
|
|
2947
|
+
"8454": string;
|
|
2948
|
+
"8455": string;
|
|
2949
|
+
"8456": string;
|
|
2950
|
+
"8457": string;
|
|
2951
|
+
"8458": string;
|
|
2952
|
+
"8459": string;
|
|
2953
|
+
"8460": string;
|
|
2954
|
+
"8461": string;
|
|
2955
|
+
"8462": string;
|
|
2956
|
+
"8463": string;
|
|
2957
|
+
"8464": string;
|
|
2958
|
+
"8465": string;
|
|
2959
|
+
"8466": string;
|
|
2960
|
+
"8467": string;
|
|
2961
|
+
"8468": string;
|
|
2962
|
+
"8469": string;
|
|
2963
|
+
"8470": string;
|
|
2964
|
+
"8471": string;
|
|
2965
|
+
"8472": string;
|
|
2966
|
+
"8473": string;
|
|
2967
|
+
"8474": string;
|
|
2968
|
+
"8475": string;
|
|
2969
|
+
"8476": string;
|
|
2970
|
+
"8477": string;
|
|
2971
|
+
"8478": string;
|
|
2972
|
+
"8479": string;
|
|
2973
|
+
"8480": string;
|
|
2974
|
+
"8481": string;
|
|
2975
|
+
"8482": string;
|
|
2976
|
+
"8483": string;
|
|
2977
|
+
"8484": string;
|
|
2978
|
+
"8485": string;
|
|
2979
|
+
"8486": string;
|
|
2980
|
+
"8487": string;
|
|
2981
|
+
"8488": string;
|
|
2982
|
+
"8489": string;
|
|
2983
|
+
"8490": string;
|
|
2984
|
+
"8491": string;
|
|
2985
|
+
"8492": string;
|
|
2986
|
+
"8493": string;
|
|
2987
|
+
"8494": string;
|
|
2988
|
+
"8495": string;
|
|
2989
|
+
"8496": string;
|
|
2990
|
+
"8497": string;
|
|
2991
|
+
"8498": string;
|
|
2992
|
+
"8499": string;
|
|
2993
|
+
"8500": string;
|
|
2994
|
+
"8501": string;
|
|
2995
|
+
"8502": string;
|
|
2996
|
+
"8503": string;
|
|
2997
|
+
"8504": string;
|
|
2998
|
+
"8505": string;
|
|
2999
|
+
"8506": string;
|
|
3000
|
+
"8507": string;
|
|
3001
|
+
"8508": string;
|
|
3002
|
+
"8509": string;
|
|
3003
|
+
"8510": string;
|
|
3004
|
+
"8511": string;
|
|
3005
|
+
"8512": string;
|
|
3006
|
+
"8513": string;
|
|
3007
|
+
"8514": string;
|
|
3008
|
+
"8515": string;
|
|
3009
|
+
"8576": string;
|
|
3010
|
+
"8577": string;
|
|
3011
|
+
"8578": string;
|
|
3012
|
+
"8579": string;
|
|
3013
|
+
"16406": string;
|
|
3014
|
+
"16407": string;
|
|
3015
|
+
"16896": string;
|
|
3016
|
+
"16897": string;
|
|
3017
|
+
"16898": string;
|
|
3018
|
+
"16899": string;
|
|
3019
|
+
"16900": string;
|
|
3020
|
+
"16901": string;
|
|
3021
|
+
"16902": string;
|
|
3022
|
+
"16903": string;
|
|
3023
|
+
"16904": string;
|
|
3024
|
+
"16905": string;
|
|
3025
|
+
"16906": string;
|
|
3026
|
+
"16907": string;
|
|
3027
|
+
"16908": string;
|
|
3028
|
+
"16909": string;
|
|
3029
|
+
"16912": string;
|
|
3030
|
+
"16913": string;
|
|
3031
|
+
"16914": string;
|
|
3032
|
+
"16915": string;
|
|
3033
|
+
"16916": string;
|
|
3034
|
+
"16917": string;
|
|
3035
|
+
"16918": string;
|
|
3036
|
+
"16919": string;
|
|
3037
|
+
"16920": string;
|
|
3038
|
+
"16921": string;
|
|
3039
|
+
"16922": string;
|
|
3040
|
+
"16923": string;
|
|
3041
|
+
"16924": string;
|
|
3042
|
+
"16925": string;
|
|
3043
|
+
"16926": string;
|
|
3044
|
+
"16927": string;
|
|
3045
|
+
"17152": string;
|
|
3046
|
+
"17153": string;
|
|
3047
|
+
"17154": string;
|
|
3048
|
+
"17155": string;
|
|
3049
|
+
"17156": string;
|
|
3050
|
+
"17157": string;
|
|
3051
|
+
"17158": string;
|
|
3052
|
+
"17159": string;
|
|
3053
|
+
"17160": string;
|
|
3054
|
+
"17161": string;
|
|
3055
|
+
"17162": string;
|
|
3056
|
+
"17168": string;
|
|
3057
|
+
"17169": string;
|
|
3058
|
+
"17170": string;
|
|
3059
|
+
"17171": string;
|
|
3060
|
+
"17172": string;
|
|
3061
|
+
"17173": string;
|
|
3062
|
+
"17174": string;
|
|
3063
|
+
"17175": string;
|
|
3064
|
+
"17176": string;
|
|
3065
|
+
"17177": string;
|
|
3066
|
+
"17178": string;
|
|
3067
|
+
"17184": string;
|
|
3068
|
+
"17185": string;
|
|
3069
|
+
"17186": string;
|
|
3070
|
+
"17187": string;
|
|
3071
|
+
"17188": string;
|
|
3072
|
+
"17189": string;
|
|
3073
|
+
"17190": string;
|
|
3074
|
+
"17191": string;
|
|
3075
|
+
"17192": string;
|
|
3076
|
+
"17193": string;
|
|
3077
|
+
"17194": string;
|
|
3078
|
+
"17200": string;
|
|
3079
|
+
"17201": string;
|
|
3080
|
+
"17202": string;
|
|
3081
|
+
"17203": string;
|
|
3082
|
+
"17204": string;
|
|
3083
|
+
"17205": string;
|
|
3084
|
+
"17206": string;
|
|
3085
|
+
"17207": string;
|
|
3086
|
+
"17208": string;
|
|
3087
|
+
"17209": string;
|
|
3088
|
+
"17210": string;
|
|
3089
|
+
"17216": string;
|
|
3090
|
+
"17217": string;
|
|
3091
|
+
"17218": string;
|
|
3092
|
+
"17219": string;
|
|
3093
|
+
"17220": string;
|
|
3094
|
+
"17221": string;
|
|
3095
|
+
"17222": string;
|
|
3096
|
+
"17223": string;
|
|
3097
|
+
"17224": string;
|
|
3098
|
+
"17225": string;
|
|
3099
|
+
"17226": string;
|
|
3100
|
+
"17232": string;
|
|
3101
|
+
"17233": string;
|
|
3102
|
+
"17234": string;
|
|
3103
|
+
"17235": string;
|
|
3104
|
+
"17236": string;
|
|
3105
|
+
"17237": string;
|
|
3106
|
+
"17238": string;
|
|
3107
|
+
"17239": string;
|
|
3108
|
+
"17240": string;
|
|
3109
|
+
"17241": string;
|
|
3110
|
+
"17242": string;
|
|
3111
|
+
"17248": string;
|
|
3112
|
+
"17249": string;
|
|
3113
|
+
"17250": string;
|
|
3114
|
+
"17251": string;
|
|
3115
|
+
"17252": string;
|
|
3116
|
+
"17253": string;
|
|
3117
|
+
"17254": string;
|
|
3118
|
+
"17255": string;
|
|
3119
|
+
"17256": string;
|
|
3120
|
+
"17257": string;
|
|
3121
|
+
"17258": string;
|
|
3122
|
+
"17264": string;
|
|
3123
|
+
"17265": string;
|
|
3124
|
+
"17266": string;
|
|
3125
|
+
"17267": string;
|
|
3126
|
+
"17268": string;
|
|
3127
|
+
"17269": string;
|
|
3128
|
+
"17270": string;
|
|
3129
|
+
"17271": string;
|
|
3130
|
+
"17272": string;
|
|
3131
|
+
"17273": string;
|
|
3132
|
+
"17274": string;
|
|
3133
|
+
};
|
|
3134
|
+
headers: ({
|
|
3135
|
+
address: number;
|
|
3136
|
+
condition: string;
|
|
3137
|
+
parts: ({
|
|
3138
|
+
name: string;
|
|
3139
|
+
size: number;
|
|
3140
|
+
type: string;
|
|
3141
|
+
value?: undefined;
|
|
3142
|
+
} | {
|
|
3143
|
+
name: string;
|
|
3144
|
+
size: number;
|
|
3145
|
+
type: string;
|
|
3146
|
+
value: number;
|
|
3147
|
+
})[];
|
|
3148
|
+
} | {
|
|
3149
|
+
address: number;
|
|
3150
|
+
parts: ({
|
|
3151
|
+
name: string;
|
|
3152
|
+
size: number;
|
|
3153
|
+
type: string;
|
|
3154
|
+
value?: undefined;
|
|
3155
|
+
} | {
|
|
3156
|
+
name: string;
|
|
3157
|
+
size: number;
|
|
3158
|
+
type: string;
|
|
3159
|
+
value: number;
|
|
3160
|
+
})[];
|
|
3161
|
+
condition?: undefined;
|
|
3162
|
+
})[];
|
|
3163
|
+
};
|
|
3164
|
+
declare const isPlatformNode: string | false;
|
|
3165
|
+
//#endregion
|
|
3166
|
+
export { Address, AddressSpace, AddressType, AddressingModeHandler, AsmBlock, AsmBlockUtils, AsmReader, Assembler, AssemblerState, BaseRomBranchData, BaseRomBranchFileRaw, BaseRomData, BaseRomFileData, BaseRomFileRaw, BaseRomPayload, BinType, BitStream, BlockReader, BlockReaderConstants, BlockWriter, BranchBaseData, Byte, ChunkFile, ChunkFileUtils, CollaborationConfig, CompressionAlgorithms, CompressionRegistry, CopCommandProcessor, CopDef, CpuMode, Database, DbAddressingMode, DbAsset, DbBaseRomModule, DbBlock, DbConfig, DbEntryPoint, DbFile, DbFileType, DbGameRomModule, DbGroup, DbHeader, DbHeaderPart, DbLabel, DbMnemonic, DbOverride, DbPart, DbPath, DbRewrite, DbRoot, DbRootUtils, DbScene, DbSfx, DbStringCommand, DbStringDictionary, DbStringLayer, DbStringType, DbStringTypeUtils, DbStruct, DbTransform, DeveloperData, DirectoryEntry, FileBaseData, FileBaseRaw, FileReadOptions, FromSupabaseByNameOptions, FromSupabaseByProjectOptions, GameData, GameDeveloperData, GameRomArtifactData, GameRomArtifactRaw, GameRomBranchArtifactRaw, GameRomBranchData, GameRomData, ICompressionProvider, LocationWrapper, Long, MapExt, MemberType, MemoryMapMode, ObjectType, Op, OpCode, OperationContext, PlatformBranchData, PlatformData, PostProcessor, ProcessorStateManager, ProjectBranchData, ProjectBranchFileRaw, ProjectConfig, ProjectData, ProjectFileData, ProjectFileRaw, ProjectPayload, QueryStats, QuintetLZ, ReferenceManager, RegionData, RegisterType, Registers, RomDataReader, RomGenerator, RomLayout, RomProcessingConstants, RomProcessor, RomState, RomStateUtils, RomWriter, SortedMap, SpriteFrame, SpriteGroup, SpriteMap, SpritePart, Stack, StackOperations, StatusFlags, StringEntry, StringMarker, StringProcessor, StringReader, StringSizeComparer, StringWrapper, StructDef, SupabaseErrorCode, SupabaseFromError, SupabaseResult, TableEntry, TransformProcessor, TypeParser, TypedNumber, Word, XformDef, XformType, base64ToUint8Array, binaryToUtf8String, bytesToHex, clamp, crc32_buffer, crc32_text_utf16, crc32_text_utf8, createChunkFileFromDbBlock, createChunkFileFromDbFile, createDbPath, createSupabaseClient, createTempDirectory, decodeBase64, decodeBase64String, decodeDataString, encodeBase64, encodeBase64String, fileExists, fromSupabaseByGameRom, fromSupabaseById, fromSupabaseByName, fromSupabaseByProject, getDirectory, getEnvVar, getNestedProperty, getSupabaseClient, hexToBytes, hexToUint8Array, indexOfAny, isPlatformNode, isValidBase64, listDirectory, readFileAsBinary, readFileAsText, readJsonFile, removeDirectory, resetSupabaseClient, saveFileAsBinary, saveFileAsText, snes, summaryFromSupabaseByProject, uint8ArrayToBase64, validateEnvironmentVariables };
|
|
2475
3167
|
//# sourceMappingURL=index.d.mts.map
|