ac6502 1.1.1 → 1.3.0

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.
Files changed (61) hide show
  1. package/dist/components/CPU.d.ts +162 -0
  2. package/dist/components/Cart.d.ts +9 -0
  3. package/dist/components/IO/DevOutputBoard.d.ts +19 -0
  4. package/dist/components/IO/DevOutputBoard.js +33 -0
  5. package/dist/components/IO/DevOutputBoard.js.map +1 -0
  6. package/dist/components/IO/EmptyCard.d.ts +9 -0
  7. package/dist/components/IO/GPIOAttachments/GPIOAttachment.d.ts +112 -0
  8. package/dist/components/IO/GPIOAttachments/GPIOJoystickAttachment.d.ts +53 -0
  9. package/dist/components/IO/GPIOAttachments/GPIOKeyboardEncoderAttachment.d.ts +63 -0
  10. package/dist/components/IO/GPIOAttachments/GPIOKeyboardMatrixAttachment.d.ts +44 -0
  11. package/dist/components/IO/GPIOAttachments/GPIOKeypadAttachment.d.ts +47 -0
  12. package/dist/components/IO/GPIOAttachments/GPIOLCDAttachment.d.ts +110 -0
  13. package/dist/components/IO/GPIOCard.d.ts +105 -0
  14. package/dist/components/IO/RAMCard.d.ts +37 -0
  15. package/dist/components/IO/RTCCard.d.ts +107 -0
  16. package/dist/components/IO/SerialCard.d.ts +76 -0
  17. package/dist/components/IO/SoundCard.d.ts +120 -0
  18. package/dist/components/IO/SoundCard.js +2 -0
  19. package/dist/components/IO/SoundCard.js.map +1 -1
  20. package/dist/components/IO/StorageCard.d.ts +74 -0
  21. package/dist/components/IO/VideoCard.d.ts +141 -0
  22. package/dist/components/IO/VideoCard.js +19 -12
  23. package/dist/components/IO/VideoCard.js.map +1 -1
  24. package/dist/components/IO.d.ts +8 -0
  25. package/dist/components/Machine.d.ts +66 -0
  26. package/dist/components/Machine.js +38 -6
  27. package/dist/components/Machine.js.map +1 -1
  28. package/dist/components/RAM.d.ts +9 -0
  29. package/dist/components/ROM.d.ts +9 -0
  30. package/dist/index.d.ts +2 -0
  31. package/dist/index.js +35 -16
  32. package/dist/index.js.map +1 -1
  33. package/dist/lib.d.ts +22 -0
  34. package/dist/lib.js +47 -0
  35. package/dist/lib.js.map +1 -0
  36. package/dist/tests/CPU.test.d.ts +1 -0
  37. package/dist/tests/Cart.test.d.ts +1 -0
  38. package/dist/tests/IO/GPIOAttachments/GPIOAttachment.test.d.ts +1 -0
  39. package/dist/tests/IO/GPIOAttachments/GPIOJoystickAttachment.test.d.ts +1 -0
  40. package/dist/tests/IO/GPIOAttachments/GPIOKeyboardEncoderAttachment.test.d.ts +1 -0
  41. package/dist/tests/IO/GPIOAttachments/GPIOKeyboardMatrixAttachment.test.d.ts +1 -0
  42. package/dist/tests/IO/GPIOAttachments/GPIOKeypadAttachment.test.d.ts +1 -0
  43. package/dist/tests/IO/GPIOAttachments/GPIOLCDAttachment.test.d.ts +1 -0
  44. package/dist/tests/IO/GPIOCard.test.d.ts +1 -0
  45. package/dist/tests/IO/RAMCard.test.d.ts +1 -0
  46. package/dist/tests/IO/RTCCard.test.d.ts +1 -0
  47. package/dist/tests/IO/SerialCard.test.d.ts +1 -0
  48. package/dist/tests/IO/SoundCard.test.d.ts +1 -0
  49. package/dist/tests/IO/StorageCard.test.d.ts +1 -0
  50. package/dist/tests/IO/VideoCard.test.d.ts +1 -0
  51. package/dist/tests/Machine.test.d.ts +1 -0
  52. package/dist/tests/RAM.test.d.ts +1 -0
  53. package/dist/tests/ROM.test.d.ts +1 -0
  54. package/package.json +5 -3
  55. package/src/components/IO/DevOutputBoard.ts +34 -0
  56. package/src/components/IO/SoundCard.ts +3 -0
  57. package/src/components/IO/VideoCard.ts +21 -12
  58. package/src/components/Machine.ts +40 -7
  59. package/src/index.ts +35 -18
  60. package/src/lib.ts +27 -0
  61. package/tsconfig.json +1 -0
@@ -0,0 +1,141 @@
1
+ import { IO } from '../IO';
2
+ /**
3
+ * TMS9918 Video Display Processor Emulation
4
+ *
5
+ * Port mapping (address bit 0):
6
+ * Even address (bit 0 = 0): VRAM data read/write
7
+ * Odd address (bit 0 = 1): Register/address write / status read
8
+ *
9
+ * Display modes:
10
+ * Graphics I - 32x24 tiles, 8x8 patterns, 1-of-8 color groups
11
+ * Graphics II - 32x24 tiles, 8x8 patterns, per-row color
12
+ * Text - 40x24 tiles, 6x8 patterns, no sprites
13
+ * Multicolor - 32x24 blocks, 4x4 colored cells
14
+ *
15
+ * Output: 256x192 active area centered in a 320x240 RGBA buffer
16
+ *
17
+ * Reference: vrEmuTms9918 by Troy Schrapel
18
+ * https://github.com/visrealm/vrEmuTms9918
19
+ */
20
+ export declare enum TmsMode {
21
+ GRAPHICS_I = 0,
22
+ GRAPHICS_II = 1,
23
+ TEXT = 2,
24
+ MULTICOLOR = 3
25
+ }
26
+ export declare enum TmsColor {
27
+ TRANSPARENT = 0,
28
+ BLACK = 1,
29
+ MED_GREEN = 2,
30
+ LT_GREEN = 3,
31
+ DK_BLUE = 4,
32
+ LT_BLUE = 5,
33
+ DK_RED = 6,
34
+ CYAN = 7,
35
+ MED_RED = 8,
36
+ LT_RED = 9,
37
+ DK_YELLOW = 10,
38
+ LT_YELLOW = 11,
39
+ DK_GREEN = 12,
40
+ MAGENTA = 13,
41
+ GREY = 14,
42
+ WHITE = 15
43
+ }
44
+ export declare class VideoCard implements IO {
45
+ raiseIRQ: () => void;
46
+ raiseNMI: () => void;
47
+ /** Eight write-only registers */
48
+ private registers;
49
+ /** Status register (read-only from CPU side) */
50
+ private status;
51
+ /** Current VRAM address for CPU access (auto-increments) */
52
+ private currentAddress;
53
+ /** Address / register write stage (0 or 1) */
54
+ private regWriteStage;
55
+ /** Holds first stage byte written to the control port */
56
+ private regWriteStage0Value;
57
+ /** Read-ahead buffer for VRAM reads */
58
+ private readAheadBuffer;
59
+ /** Current display mode (derived from registers) */
60
+ private mode;
61
+ /** 16 KB Video RAM */
62
+ private vram;
63
+ /** Per-pixel sprite collision mask for the current scanline */
64
+ private rowSpriteBits;
65
+ /** Temporary scanline pixel buffer (color palette indices) */
66
+ private scanlinePixels;
67
+ /** 320 × 240 RGBA output buffer for SDL rendering (front buffer – always a complete frame) */
68
+ buffer: Buffer;
69
+ /** Back buffer where scanlines are rendered progressively */
70
+ private backBuffer;
71
+ /** True when a complete frame has been copied to the front buffer */
72
+ frameReady: boolean;
73
+ /** Cycle accumulator for scanline timing */
74
+ private cycleAccumulator;
75
+ /** Current scanline being processed (0 – 261) */
76
+ private currentScanline;
77
+ read(address: number): number;
78
+ write(address: number, data: number): void;
79
+ tick(frequency: number): void;
80
+ reset(_coldStart: boolean): void;
81
+ /**
82
+ * Write to the control (address / register) port.
83
+ * Two-stage write:
84
+ * Stage 0 – latches the low byte (address LSB or register value)
85
+ * Stage 1 – interprets the high byte:
86
+ * bit 7 set → register write (bits 0-2 = register index)
87
+ * bit 7 clear → address set (bit 6: 0 = read, 1 = write)
88
+ */
89
+ private writeAddr;
90
+ /** Write data to VRAM at the current address (auto-increments) */
91
+ private writeData;
92
+ /**
93
+ * Read the status register.
94
+ * Clears the status flags and resets the write stage.
95
+ */
96
+ private readStatus;
97
+ /** Read data from VRAM via the read-ahead buffer (auto-increments) */
98
+ private readData;
99
+ private updateMode;
100
+ private nameTableAddr;
101
+ private colorTableAddr;
102
+ private patternTableAddr;
103
+ private spriteAttrTableAddr;
104
+ private spritePatternTableAddr;
105
+ /** Backdrop / border color (low nibble of register 7) */
106
+ private mainBgColor;
107
+ /** Text-mode foreground (high nibble of register 7, transparent → backdrop) */
108
+ private mainFgColor;
109
+ /** Foreground from a color byte (high nibble, transparent → backdrop) */
110
+ private fgColor;
111
+ /** Background from a color byte (low nibble, transparent → backdrop) */
112
+ private bgColor;
113
+ private spriteSize;
114
+ private spriteMag;
115
+ private displayEnabled;
116
+ private processScanline;
117
+ private renderScanline;
118
+ private graphicsIScanLine;
119
+ private graphicsIIScanLine;
120
+ private textScanLine;
121
+ private multicolorScanLine;
122
+ private outputSprites;
123
+ /** Fill entire back buffer with the current backdrop color */
124
+ private fillBackground;
125
+ /** Write a rendered scanline into the back buffer at the correct position */
126
+ private writeScanlineToBuffer;
127
+ /** Read a VDP register value */
128
+ getRegister(reg: number): number;
129
+ /** Write a VDP register value directly (bypasses control-port staging) */
130
+ setRegister(reg: number, value: number): void;
131
+ /** Read a VRAM byte directly (does not affect read-ahead buffer) */
132
+ getVramByte(addr: number): number;
133
+ /** Write a VRAM byte directly (does not affect address pointer) */
134
+ setVramByte(addr: number, value: number): void;
135
+ /** Peek at the status register without clearing it */
136
+ getStatus(): number;
137
+ /** Get the current display mode */
138
+ getMode(): TmsMode;
139
+ /** Get the display-enabled state */
140
+ isDisplayEnabled(): boolean;
141
+ }
@@ -148,8 +148,12 @@ class VideoCard {
148
148
  this.rowSpriteBits = new Uint8Array(TMS_PIXELS_X);
149
149
  /** Temporary scanline pixel buffer (color palette indices) */
150
150
  this.scanlinePixels = new Uint8Array(TMS_PIXELS_X);
151
- /** 320 × 240 RGBA output buffer for SDL rendering */
151
+ /** 320 × 240 RGBA output buffer for SDL rendering (front buffer – always a complete frame) */
152
152
  this.buffer = Buffer.alloc(DISPLAY_WIDTH * DISPLAY_HEIGHT * 4);
153
+ /** Back buffer where scanlines are rendered progressively */
154
+ this.backBuffer = Buffer.alloc(DISPLAY_WIDTH * DISPLAY_HEIGHT * 4);
155
+ /** True when a complete frame has been copied to the front buffer */
156
+ this.frameReady = false;
153
157
  /** Cycle accumulator for scanline timing */
154
158
  this.cycleAccumulator = 0;
155
159
  /** Current scanline being processed (0 – 261) */
@@ -341,6 +345,9 @@ class VideoCard {
341
345
  }
342
346
  this.currentScanline++;
343
347
  if (this.currentScanline >= TOTAL_SCANLINES) {
348
+ // Frame complete – copy back buffer to front buffer
349
+ this.backBuffer.copy(this.buffer);
350
+ this.frameReady = true;
344
351
  this.currentScanline = 0;
345
352
  }
346
353
  }
@@ -560,18 +567,18 @@ class VideoCard {
560
567
  // ================================================================
561
568
  // Buffer Management
562
569
  // ================================================================
563
- /** Fill entire output buffer with the current backdrop color */
570
+ /** Fill entire back buffer with the current backdrop color */
564
571
  fillBackground() {
565
572
  const bgIdx = this.mainBgColor();
566
573
  const [r, g, b, a] = TMS_PALETTE[bgIdx];
567
- for (let i = 0; i < this.buffer.length; i += 4) {
568
- this.buffer[i] = r;
569
- this.buffer[i + 1] = g;
570
- this.buffer[i + 2] = b;
571
- this.buffer[i + 3] = a;
574
+ for (let i = 0; i < this.backBuffer.length; i += 4) {
575
+ this.backBuffer[i] = r;
576
+ this.backBuffer[i + 1] = g;
577
+ this.backBuffer[i + 2] = b;
578
+ this.backBuffer[i + 3] = a;
572
579
  }
573
580
  }
574
- /** Write a rendered scanline into the output buffer at the correct position */
581
+ /** Write a rendered scanline into the back buffer at the correct position */
575
582
  writeScanlineToBuffer(y, pixels) {
576
583
  const bufferY = y + BORDER_Y;
577
584
  if (bufferY < 0 || bufferY >= DISPLAY_HEIGHT)
@@ -580,10 +587,10 @@ class VideoCard {
580
587
  for (let x = 0; x < TMS_PIXELS_X; x++) {
581
588
  const offset = rowOffset + (BORDER_X + x) * 4;
582
589
  const [r, g, b, a] = TMS_PALETTE[pixels[x] & 0x0F];
583
- this.buffer[offset] = r;
584
- this.buffer[offset + 1] = g;
585
- this.buffer[offset + 2] = b;
586
- this.buffer[offset + 3] = a;
590
+ this.backBuffer[offset] = r;
591
+ this.backBuffer[offset + 1] = g;
592
+ this.backBuffer[offset + 2] = b;
593
+ this.backBuffer[offset + 3] = a;
587
594
  }
588
595
  }
589
596
  // ================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"VideoCard.js","sourceRoot":"","sources":["../../../src/components/IO/VideoCard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VideoCard.js","sourceRoot":"","sources":["../../../src/components/IO/VideoCard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface IO {
2
+ raiseIRQ: () => void;
3
+ raiseNMI: () => void;
4
+ read(address: number): number;
5
+ write(address: number, data: number): void;
6
+ tick(frequency: number): void;
7
+ reset(coldStart: boolean): void;
8
+ }
@@ -0,0 +1,66 @@
1
+ import { CPU } from './CPU';
2
+ import { RAM } from './RAM';
3
+ import { ROM } from './ROM';
4
+ import { Cart } from './Cart';
5
+ import { SerialCard } from './IO/SerialCard';
6
+ import { GPIOKeyboardMatrixAttachment } from './IO/GPIOAttachments/GPIOKeyboardMatrixAttachment';
7
+ import { GPIOKeyboardEncoderAttachment } from './IO/GPIOAttachments/GPIOKeyboardEncoderAttachment';
8
+ import { GPIOJoystickAttachment } from './IO/GPIOAttachments/GPIOJoystickAttachment';
9
+ import { GPIOLCDAttachment } from './IO/GPIOAttachments/GPIOLCDAttachment';
10
+ import { GPIOKeypadAttachment } from './IO/GPIOAttachments/GPIOKeypadAttachment';
11
+ import { IO } from './IO';
12
+ export declare class Machine {
13
+ static MAX_FPS: number;
14
+ static FRAME_INTERVAL_MS: number;
15
+ private ioCycleAccumulator;
16
+ private ioTickInterval;
17
+ cpu: CPU;
18
+ ram: RAM;
19
+ rom: ROM;
20
+ io1: IO;
21
+ io2: IO;
22
+ io3: IO;
23
+ io4: IO;
24
+ io5: SerialCard;
25
+ io6: IO;
26
+ io7: IO;
27
+ io8: IO;
28
+ cart?: Cart;
29
+ target: string;
30
+ keyboardMatrixAttachment: GPIOKeyboardMatrixAttachment;
31
+ keyboardEncoderAttachment: GPIOKeyboardEncoderAttachment;
32
+ joystickAttachmentA: GPIOJoystickAttachment;
33
+ joystickAttachmentB: GPIOJoystickAttachment;
34
+ lcdAttachment?: GPIOLCDAttachment;
35
+ keypadAttachment?: GPIOKeypadAttachment;
36
+ isAlive: boolean;
37
+ isRunning: boolean;
38
+ frequency: number;
39
+ scale: number;
40
+ frames: number;
41
+ frameDelay: number;
42
+ frameDelayCount: number;
43
+ startTime: number;
44
+ previousTime: number;
45
+ transmit?: (data: number) => void;
46
+ render?: () => void;
47
+ pushAudioSamples?: (samples: Float32Array) => void;
48
+ constructor(target?: string);
49
+ loadROM: (path: string) => Promise<void>;
50
+ loadCart: (path: string) => Promise<void>;
51
+ start(): void;
52
+ end(): void;
53
+ run(): void;
54
+ stop(): void;
55
+ step(): void;
56
+ tick(): void;
57
+ onReceive(data: number): void;
58
+ onKeyDown(scancode: number): void;
59
+ onKeyUp(scancode: number): void;
60
+ onJoystickA(buttons: number): void;
61
+ onJoystickB(buttons: number): void;
62
+ private loop;
63
+ reset(coldStart: boolean): void;
64
+ read(address: number): number;
65
+ write(address: number, data: number): void;
66
+ }
@@ -27,12 +27,13 @@ const GPIOJoystickAttachment_1 = require("./IO/GPIOAttachments/GPIOJoystickAttac
27
27
  const GPIOLCDAttachment_1 = require("./IO/GPIOAttachments/GPIOLCDAttachment");
28
28
  const GPIOKeypadAttachment_1 = require("./IO/GPIOAttachments/GPIOKeypadAttachment");
29
29
  const EmptyCard_1 = require("./IO/EmptyCard");
30
+ const DevOutputBoard_1 = require("./IO/DevOutputBoard");
30
31
  const promises_1 = require("fs/promises");
31
32
  class Machine {
32
33
  //
33
34
  // Initialization
34
35
  //
35
- constructor(kim = false) {
36
+ constructor(target = 'cob') {
36
37
  this.ioCycleAccumulator = 0;
37
38
  this.ioTickInterval = 128; // adjust (64/128/256)
38
39
  this.isAlive = false;
@@ -66,7 +67,7 @@ class Machine {
66
67
  console.error('Error reading file:', error);
67
68
  }
68
69
  });
69
- this.kim = kim;
70
+ this.target = target;
70
71
  this.cpu = new CPU_1.CPU(this.read.bind(this), this.write.bind(this));
71
72
  this.ram = new RAM_1.RAM();
72
73
  this.rom = new ROM_1.ROM();
@@ -85,7 +86,7 @@ class Machine {
85
86
  this.keyboardEncoderAttachment = new GPIOKeyboardEncoderAttachment_1.GPIOKeyboardEncoderAttachment(20);
86
87
  this.joystickAttachmentA = new GPIOJoystickAttachment_1.GPIOJoystickAttachment(false, 100);
87
88
  this.joystickAttachmentB = new GPIOJoystickAttachment_1.GPIOJoystickAttachment(false, 100);
88
- if (kim) {
89
+ if (target === 'kim') {
89
90
  this.io1 = new EmptyCard_1.EmptyCard();
90
91
  this.io2 = new EmptyCard_1.EmptyCard();
91
92
  this.io3 = new EmptyCard_1.EmptyCard();
@@ -106,7 +107,30 @@ class Machine {
106
107
  // Attach keypad to Port A (bits 0-4)
107
108
  gpioCard.attachToPortA(this.keypadAttachment);
108
109
  }
110
+ else if (target === 'dev') {
111
+ const rtcCard = new RTCCard_1.RTCCard();
112
+ const storageCard = new StorageCard_1.StorageCard();
113
+ const gpioCard = new GPIOCard_1.GPIOCard();
114
+ this.io1 = new RAMCard_1.RAMCard();
115
+ this.io2 = new RAMCard_1.RAMCard();
116
+ this.io3 = rtcCard;
117
+ this.io4 = storageCard;
118
+ this.io6 = gpioCard;
119
+ this.io7 = new EmptyCard_1.EmptyCard();
120
+ this.io8 = new DevOutputBoard_1.DevOutputBoard();
121
+ // Connect RTCCard IRQ/NMI to CPU
122
+ rtcCard.raiseIRQ = () => this.cpu.irq();
123
+ rtcCard.raiseNMI = () => this.cpu.nmi();
124
+ // Attach peripherals to GPIO Card
125
+ gpioCard.attachToPortA(this.keyboardMatrixAttachment);
126
+ gpioCard.attachToPortB(this.keyboardMatrixAttachment);
127
+ gpioCard.attachToPortA(this.keyboardEncoderAttachment);
128
+ gpioCard.attachToPortB(this.keyboardEncoderAttachment);
129
+ gpioCard.attachToPortA(this.joystickAttachmentA);
130
+ gpioCard.attachToPortB(this.joystickAttachmentB);
131
+ }
109
132
  else {
133
+ // COB / VCS
110
134
  const rtcCard = new RTCCard_1.RTCCard();
111
135
  const storageCard = new StorageCard_1.StorageCard();
112
136
  const gpioCard = new GPIOCard_1.GPIOCard();
@@ -199,7 +223,7 @@ class Machine {
199
223
  }
200
224
  onKeyDown(scancode) {
201
225
  var _a;
202
- if (this.kim) {
226
+ if (this.target === 'kim') {
203
227
  (_a = this.keypadAttachment) === null || _a === void 0 ? void 0 : _a.updateKey(scancode, true);
204
228
  }
205
229
  else {
@@ -208,7 +232,7 @@ class Machine {
208
232
  }
209
233
  }
210
234
  onKeyUp(scancode) {
211
- if (!this.kim) {
235
+ if (this.target !== 'kim') {
212
236
  this.keyboardMatrixAttachment.updateKey(scancode, false);
213
237
  this.keyboardEncoderAttachment.updateKey(scancode, false);
214
238
  }
@@ -260,10 +284,18 @@ class Machine {
260
284
  }
261
285
  this._accumulatorMs = accumulator;
262
286
  }
263
- if (this.render) {
287
+ if (this.render && (this.target === 'kim' || this.target === 'dev')) {
264
288
  this.render();
265
289
  this.frames += 1;
266
290
  }
291
+ else if (this.render && (this.target === 'cob' || this.target === 'vcs')) {
292
+ const videoCard = this.io8;
293
+ if (videoCard.frameReady) {
294
+ videoCard.frameReady = false;
295
+ this.render();
296
+ this.frames += 1;
297
+ }
298
+ }
267
299
  setImmediate(() => this.loop());
268
300
  }
269
301
  //
@@ -1 +1 @@
1
- {"version":3,"file":"Machine.js","sourceRoot":"","sources":["../../src/components/Machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Machine.js","sourceRoot":"","sources":["../../src/components/Machine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare class RAM {
2
+ static START: number;
3
+ static END: number;
4
+ static SIZE: number;
5
+ data: number[];
6
+ read(address: number): number;
7
+ write(address: number, data: number): void;
8
+ reset(coldStart: boolean): void;
9
+ }
@@ -0,0 +1,9 @@
1
+ export declare class ROM {
2
+ static START: number;
3
+ static END: number;
4
+ static CODE: number;
5
+ static SIZE: number;
6
+ data: number[];
7
+ read(address: number): number;
8
+ load(data: number[]): void;
9
+ }
@@ -0,0 +1,2 @@
1
+ #! /usr/bin/env node
2
+ export {};