ac6502 1.11.0 → 1.12.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.
- package/README.md +12 -97
- package/dist/components/Machine.d.ts +2 -7
- package/dist/components/Machine.js +51 -185
- package/dist/components/Machine.js.map +1 -1
- package/dist/index.js +14 -118
- package/dist/index.js.map +1 -1
- package/dist/lib.d.ts +0 -2
- package/dist/lib.js +1 -5
- package/dist/lib.js.map +1 -1
- package/dist/tests/Machine.test.js +1 -1
- package/dist/tests/Machine.test.js.map +1 -1
- package/package.json +1 -1
- package/src/components/Machine.ts +59 -210
- package/src/index.ts +12 -111
- package/src/lib.ts +0 -2
- package/src/tests/Machine.test.ts +1 -1
- package/src/components/IO/Attachments/KeypadAttachment.ts +0 -153
- package/src/components/IO/Attachments/LCDAttachment.ts +0 -791
- package/src/tests/IO/Attachments/KeypadAttachment.test.ts +0 -389
- package/src/tests/IO/Attachments/LCDAttachment.test.ts +0 -795
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ A comprehensive, cycle-accurate emulator for the [A.C. Wright 6502](https://gith
|
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
This emulator provides a complete software implementation of a 65C02-based computer system, designed to run the same code as the hardware implementation. It features full I/O peripheral support, including video, sound, serial communication, storage, and GPIO interfaces.
|
|
7
|
+
This emulator provides a complete software implementation of a 65C02-based computer system, designed to run the same code as the hardware implementation. It features full I/O peripheral support, including video, sound, serial communication, storage, and GPIO interfaces.
|
|
8
8
|
|
|
9
9
|
## Features
|
|
10
10
|
|
|
@@ -42,7 +42,6 @@ This emulator provides a complete software implementation of a 65C02-based compu
|
|
|
42
42
|
- **Input Devices**
|
|
43
43
|
- Keyboard support (matrix and encoder modes)
|
|
44
44
|
- Joystick/gamepad support with button mapping (dual controller support)
|
|
45
|
-
- Keypad support (KIM mode)
|
|
46
45
|
- SDL input handling
|
|
47
46
|
|
|
48
47
|
- **Development Features**
|
|
@@ -59,16 +58,11 @@ Get up and running in seconds:
|
|
|
59
58
|
# Install globally
|
|
60
59
|
npm install -g ac6502
|
|
61
60
|
|
|
62
|
-
# Run the emulator
|
|
61
|
+
# Run the emulator
|
|
63
62
|
ac6502
|
|
64
63
|
|
|
65
64
|
# Load a ROM
|
|
66
65
|
ac6502 --rom /path/to/rom.bin
|
|
67
|
-
|
|
68
|
-
# Run in different system configurations
|
|
69
|
-
ac6502 --target kim --rom /path/to/kim.bin
|
|
70
|
-
ac6502 --target dev --cart /path/to/program.bin
|
|
71
|
-
ac6502 --target vcs --cart /path/to/game.bin
|
|
72
66
|
```
|
|
73
67
|
|
|
74
68
|
## Installation
|
|
@@ -120,7 +114,6 @@ ac6502 [options]
|
|
|
120
114
|
- `-r, --rom <path>` - Load a system ROM file
|
|
121
115
|
- `-f, --freq <frequency>` - Set CPU frequency in Hz (default: 1000000)
|
|
122
116
|
- `-s, --scale <factor>` - Set display scale factor (default: 1)
|
|
123
|
-
- `-T, --target <target>` - System target: cob, vcs, kim, dev (default: cob)
|
|
124
117
|
- `-p, --port <device>` - Serial port device path
|
|
125
118
|
- `-b, --baudrate <rate>` - Serial baud rate (default: 9600)
|
|
126
119
|
- `-a, --parity <type>` - Serial parity: none, even, odd (default: none)
|
|
@@ -135,99 +128,29 @@ ac6502 [options]
|
|
|
135
128
|
Load a cartridge:
|
|
136
129
|
|
|
137
130
|
```bash
|
|
138
|
-
ac6502 --cart /path/to/
|
|
131
|
+
ac6502 --rom /path/to/rom.bin --cart /path/to/cart.bin
|
|
139
132
|
```
|
|
140
133
|
|
|
141
134
|
Connect to serial hardware:
|
|
142
135
|
|
|
143
136
|
```bash
|
|
144
|
-
ac6502 --port /dev/ttyUSB0 --baudrate 9600 --rom /path/to/
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
Run in KIM mode with LCD and keypad:
|
|
148
|
-
|
|
149
|
-
```bash
|
|
150
|
-
ac6502 --target kim --rom /path/to/kim.bin --scale 2
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
Run in development mode with terminal:
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
ac6502 --target dev --cart /path/to/program.bin
|
|
137
|
+
ac6502 --port /dev/ttyUSB0 --baudrate 9600 --rom /path/to/rom.bin
|
|
157
138
|
```
|
|
158
139
|
|
|
159
140
|
Set custom CPU frequency and storage:
|
|
160
141
|
|
|
161
142
|
```bash
|
|
162
|
-
ac6502 --freq 2000000 --storage ./disk.img --cart /path/to/
|
|
143
|
+
ac6502 --freq 2000000 --storage ./disk.img --rom /path/to/rom.bin --cart /path/to/cart.bin
|
|
163
144
|
```
|
|
164
145
|
|
|
165
146
|
## Architecture
|
|
166
147
|
|
|
167
|
-
### System
|
|
168
|
-
|
|
169
|
-
The emulator supports four different system configurations via the `--target` option:
|
|
170
|
-
|
|
171
|
-
#### COB (Complete On-Board) - Default
|
|
172
|
-
|
|
173
|
-
Full-featured system with all peripherals:
|
|
174
|
-
|
|
175
|
-
```
|
|
176
|
-
Machine (COB)
|
|
177
|
-
├── CPU (65C02)
|
|
178
|
-
├── RAM (System Memory)
|
|
179
|
-
├── ROM (System BIOS/Monitor)
|
|
180
|
-
├── Cart (Optional Cartridge)
|
|
181
|
-
└── I/O Cards (8 slots)
|
|
182
|
-
├── IO1: RAM Card (Expansion)
|
|
183
|
-
├── IO2: RAM Card (Expansion)
|
|
184
|
-
├── IO3: RTC Card (DS1511Y+ Real-Time Clock)
|
|
185
|
-
├── IO4: Storage Card (Compact Flash 8-bit IDE Mode)
|
|
186
|
-
├── IO5: Serial Card (6551 ACIA)
|
|
187
|
-
├── IO6: VIA Card (6522 GPIO)
|
|
188
|
-
├── IO7: Sound Card (6581 SID)
|
|
189
|
-
└── IO8: Video Card (TMS9918)
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
#### VCS (Video Computer System)
|
|
148
|
+
### System Configuration
|
|
193
149
|
|
|
194
|
-
|
|
150
|
+
The emulator implements a full-featured 65C02 system with all peripherals:
|
|
195
151
|
|
|
196
152
|
```
|
|
197
|
-
Machine
|
|
198
|
-
├── CPU (65C02)
|
|
199
|
-
├── RAM (System Memory)
|
|
200
|
-
├── ROM (System BIOS/Monitor)
|
|
201
|
-
├── Cart (Optional Cartridge)
|
|
202
|
-
└── I/O Cards (8 slots)
|
|
203
|
-
├── IO6: VIA Card (6522 GPIO)
|
|
204
|
-
├── IO7: Sound Card (6581 SID)
|
|
205
|
-
└── IO8: Video Card (TMS9918)
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
#### KIM (Keyboard Input Monitor)
|
|
209
|
-
|
|
210
|
-
Single-board computer with LCD and keypad:
|
|
211
|
-
|
|
212
|
-
```
|
|
213
|
-
Machine (KIM)
|
|
214
|
-
├── CPU (65C02)
|
|
215
|
-
├── RAM (System Memory)
|
|
216
|
-
├── ROM (System BIOS/Monitor)
|
|
217
|
-
├── Cart (Optional Cartridge)
|
|
218
|
-
└── I/O Cards (8 slots)
|
|
219
|
-
├── IO5: Serial Card (6551 ACIA)
|
|
220
|
-
└── IO8: VIA Card (6522 GPIO)
|
|
221
|
-
├── LCD Attachment (HD44780 16×2 character display)
|
|
222
|
-
└── Keypad Attachment (4×6 matrix keypad)
|
|
223
|
-
```
|
|
224
|
-
|
|
225
|
-
#### DEV (Development)
|
|
226
|
-
|
|
227
|
-
System for software development with terminal interface:
|
|
228
|
-
|
|
229
|
-
```
|
|
230
|
-
Machine (DEV)
|
|
153
|
+
Machine
|
|
231
154
|
├── CPU (65C02)
|
|
232
155
|
├── RAM (System Memory)
|
|
233
156
|
├── ROM (System BIOS/Monitor)
|
|
@@ -245,17 +168,12 @@ Machine (DEV)
|
|
|
245
168
|
|
|
246
169
|
### VIA (GPIO) Attachments
|
|
247
170
|
|
|
248
|
-
The VIA card supports multiple attachment types
|
|
171
|
+
The VIA card supports multiple attachment types:
|
|
249
172
|
|
|
250
|
-
#### Standard Attachments (COB/DEV/VCS)
|
|
251
173
|
- **Keyboard Matrix**: PS/2-style keyboard matrix scanning
|
|
252
174
|
- **Keyboard Encoder**: Parallel keyboard encoder
|
|
253
175
|
- **Joystick A/B**: Game controllers with 8 buttons and directional input
|
|
254
176
|
|
|
255
|
-
#### KIM Attachments
|
|
256
|
-
- **LCD Display**: HD44780-compatible 16×2 character LCD with 5×8 pixel characters
|
|
257
|
-
- **Keypad**: 4×6 matrix keypad with 24-key layout
|
|
258
|
-
|
|
259
177
|
### Memory Map
|
|
260
178
|
|
|
261
179
|
The system uses a standard 6502 memory layout with I/O cards mapped into the address space. Each I/O card occupies a dedicated region accessible via memory-mapped registers.
|
|
@@ -288,9 +206,7 @@ src/
|
|
|
288
206
|
│ ├── Attachment.ts
|
|
289
207
|
│ ├── JoystickAttachment.ts
|
|
290
208
|
│ ├── KeyboardEncoderAttachment.ts
|
|
291
|
-
│
|
|
292
|
-
│ ├── KeypadAttachment.ts
|
|
293
|
-
│ └── LCDAttachment.ts
|
|
209
|
+
│ └── KeyboardMatrixAttachment.ts
|
|
294
210
|
└── tests/ # Comprehensive test suite
|
|
295
211
|
```
|
|
296
212
|
|
|
@@ -337,11 +253,10 @@ The emulator targets 1 MHz operation by default (configurable) and attempts to m
|
|
|
337
253
|
|
|
338
254
|
## Supported Input Devices
|
|
339
255
|
|
|
340
|
-
- **Keyboard**: Full keyboard support via SDL
|
|
341
|
-
- **Game Controllers**: Dual controller support (Player A and Player B)
|
|
256
|
+
- **Keyboard**: Full keyboard support via SDL
|
|
257
|
+
- **Game Controllers**: Dual controller support (Player A and Player B)
|
|
342
258
|
- D-pad and analog stick support
|
|
343
259
|
- 8 buttons: Up, Down, Left, Right, A, B, Select, Start
|
|
344
|
-
- **Keypad**: 4×6 matrix keypad for KIM target (24 keys including arrows, numbers, and function keys)
|
|
345
260
|
|
|
346
261
|
## Credits
|
|
347
262
|
|
|
@@ -5,8 +5,6 @@ import { Cart } from './Cart';
|
|
|
5
5
|
import { KeyboardMatrixAttachment } from './IO/Attachments/KeyboardMatrixAttachment';
|
|
6
6
|
import { KeyboardEncoderAttachment } from './IO/Attachments/KeyboardEncoderAttachment';
|
|
7
7
|
import { JoystickAttachment } from './IO/Attachments/JoystickAttachment';
|
|
8
|
-
import { LCDAttachment } from './IO/Attachments/LCDAttachment';
|
|
9
|
-
import { KeypadAttachment } from './IO/Attachments/KeypadAttachment';
|
|
10
8
|
import { IO } from './IO';
|
|
11
9
|
export declare class Machine {
|
|
12
10
|
static MAX_FPS: number;
|
|
@@ -28,9 +26,6 @@ export declare class Machine {
|
|
|
28
26
|
keyboardEncoderAttachment?: KeyboardEncoderAttachment;
|
|
29
27
|
joystickAttachmentA?: JoystickAttachment;
|
|
30
28
|
joystickAttachmentB?: JoystickAttachment;
|
|
31
|
-
lcdAttachment?: LCDAttachment;
|
|
32
|
-
keypadAttachment?: KeypadAttachment;
|
|
33
|
-
target: string;
|
|
34
29
|
isRunning: boolean;
|
|
35
30
|
frequency: number;
|
|
36
31
|
scale: number;
|
|
@@ -40,8 +35,8 @@ export declare class Machine {
|
|
|
40
35
|
transmit?: (data: number) => void;
|
|
41
36
|
render?: () => void;
|
|
42
37
|
play?: (samples: Float32Array) => void;
|
|
43
|
-
constructor(
|
|
44
|
-
|
|
38
|
+
constructor();
|
|
39
|
+
private configure;
|
|
45
40
|
loadROM: (data: Uint8Array | number[] | ArrayBuffer) => void;
|
|
46
41
|
loadCart: (data: Uint8Array | number[] | ArrayBuffer) => void;
|
|
47
42
|
run(): void;
|
|
@@ -15,14 +15,11 @@ const Video_1 = require("./IO/Video");
|
|
|
15
15
|
const KeyboardMatrixAttachment_1 = require("./IO/Attachments/KeyboardMatrixAttachment");
|
|
16
16
|
const KeyboardEncoderAttachment_1 = require("./IO/Attachments/KeyboardEncoderAttachment");
|
|
17
17
|
const JoystickAttachment_1 = require("./IO/Attachments/JoystickAttachment");
|
|
18
|
-
const LCDAttachment_1 = require("./IO/Attachments/LCDAttachment");
|
|
19
|
-
const KeypadAttachment_1 = require("./IO/Attachments/KeypadAttachment");
|
|
20
|
-
const Empty_1 = require("./IO/Empty");
|
|
21
18
|
class Machine {
|
|
22
19
|
//
|
|
23
20
|
// Initialization
|
|
24
21
|
//
|
|
25
|
-
constructor(
|
|
22
|
+
constructor() {
|
|
26
23
|
this.isRunning = false;
|
|
27
24
|
this.frequency = 1000000; // 1 MHz
|
|
28
25
|
this.scale = 2;
|
|
@@ -58,170 +55,52 @@ class Machine {
|
|
|
58
55
|
cart.load(dataArray);
|
|
59
56
|
this.cart = cart;
|
|
60
57
|
};
|
|
61
|
-
this.target = target;
|
|
62
58
|
this.cpu = new CPU_1.CPU(this.read.bind(this), this.write.bind(this));
|
|
63
59
|
this.ram = new RAM_1.RAM();
|
|
64
60
|
this.rom = new ROM_1.ROM();
|
|
65
|
-
this.
|
|
66
|
-
this.io2 = new Empty_1.Empty();
|
|
67
|
-
this.io3 = new Empty_1.Empty();
|
|
68
|
-
this.io4 = new Empty_1.Empty();
|
|
69
|
-
this.io5 = new Empty_1.Empty();
|
|
70
|
-
this.io6 = new Empty_1.Empty();
|
|
71
|
-
this.io7 = new Empty_1.Empty();
|
|
72
|
-
this.io8 = new Empty_1.Empty();
|
|
73
|
-
this.configureTarget(target);
|
|
61
|
+
this.configure();
|
|
74
62
|
this.startTime = Date.now();
|
|
75
63
|
this.cpu.reset();
|
|
76
64
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const sound = new Sound_1.Sound();
|
|
117
|
-
const video = new Video_1.Video();
|
|
118
|
-
this.io1 = new RAMBank_1.RAMBank();
|
|
119
|
-
this.io2 = new RAMBank_1.RAMBank();
|
|
120
|
-
this.io3 = rtc;
|
|
121
|
-
this.io4 = storage;
|
|
122
|
-
this.io6 = via;
|
|
123
|
-
this.io7 = sound;
|
|
124
|
-
this.io8 = video;
|
|
125
|
-
// Connect Sound pushSamples callback
|
|
126
|
-
sound.pushSamples = (samples) => {
|
|
127
|
-
if (this.play) {
|
|
128
|
-
this.play(samples);
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
// Create standard GPIO attachments
|
|
132
|
-
this.keyboardMatrixAttachment = new KeyboardMatrixAttachment_1.KeyboardMatrixAttachment(10);
|
|
133
|
-
this.keyboardEncoderAttachment = new KeyboardEncoderAttachment_1.KeyboardEncoderAttachment(20);
|
|
134
|
-
this.joystickAttachmentA = new JoystickAttachment_1.JoystickAttachment(false, 100);
|
|
135
|
-
this.joystickAttachmentB = new JoystickAttachment_1.JoystickAttachment(false, 100);
|
|
136
|
-
// Attach peripherals to GPIO Card
|
|
137
|
-
via.attachToPortA(this.keyboardMatrixAttachment);
|
|
138
|
-
via.attachToPortB(this.keyboardMatrixAttachment);
|
|
139
|
-
via.attachToPortA(this.keyboardEncoderAttachment);
|
|
140
|
-
via.attachToPortB(this.keyboardEncoderAttachment);
|
|
141
|
-
via.attachToPortA(this.joystickAttachmentA);
|
|
142
|
-
via.attachToPortB(this.joystickAttachmentB);
|
|
143
|
-
}
|
|
144
|
-
else if (target === 'vcs') {
|
|
145
|
-
this.io5 = new Empty_1.Empty();
|
|
146
|
-
const via = new VIA_1.VIA();
|
|
147
|
-
const sound = new Sound_1.Sound();
|
|
148
|
-
const video = new Video_1.Video();
|
|
149
|
-
this.io1 = new Empty_1.Empty();
|
|
150
|
-
this.io2 = new Empty_1.Empty();
|
|
151
|
-
this.io3 = new Empty_1.Empty();
|
|
152
|
-
this.io4 = new Empty_1.Empty();
|
|
153
|
-
this.io6 = via;
|
|
154
|
-
this.io7 = sound;
|
|
155
|
-
this.io8 = video;
|
|
156
|
-
// Connect Sound pushSamples callback
|
|
157
|
-
sound.pushSamples = (samples) => {
|
|
158
|
-
if (this.play) {
|
|
159
|
-
this.play(samples);
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
// Create standard GPIO attachments
|
|
163
|
-
this.keyboardMatrixAttachment = new KeyboardMatrixAttachment_1.KeyboardMatrixAttachment(10);
|
|
164
|
-
this.keyboardEncoderAttachment = new KeyboardEncoderAttachment_1.KeyboardEncoderAttachment(20);
|
|
165
|
-
this.joystickAttachmentA = new JoystickAttachment_1.JoystickAttachment(false, 100);
|
|
166
|
-
this.joystickAttachmentB = new JoystickAttachment_1.JoystickAttachment(false, 100);
|
|
167
|
-
// Attach peripherals to GPIO Card
|
|
168
|
-
via.attachToPortA(this.keyboardMatrixAttachment);
|
|
169
|
-
via.attachToPortB(this.keyboardMatrixAttachment);
|
|
170
|
-
via.attachToPortA(this.keyboardEncoderAttachment);
|
|
171
|
-
via.attachToPortB(this.keyboardEncoderAttachment);
|
|
172
|
-
via.attachToPortA(this.joystickAttachmentA);
|
|
173
|
-
via.attachToPortB(this.joystickAttachmentB);
|
|
174
|
-
}
|
|
175
|
-
else if (target === 'cob') {
|
|
176
|
-
const acia = new ACIA_1.ACIA();
|
|
177
|
-
this.io5 = acia;
|
|
178
|
-
// Connect ACIA transmit callback
|
|
179
|
-
acia.transmit = (data) => {
|
|
180
|
-
if (this.transmit) {
|
|
181
|
-
this.transmit(data);
|
|
182
|
-
}
|
|
183
|
-
};
|
|
184
|
-
const rtc = new RTC_1.RTC();
|
|
185
|
-
const storage = new Storage_1.Storage();
|
|
186
|
-
const via = new VIA_1.VIA();
|
|
187
|
-
const sound = new Sound_1.Sound();
|
|
188
|
-
const video = new Video_1.Video();
|
|
189
|
-
this.io1 = new RAMBank_1.RAMBank();
|
|
190
|
-
this.io2 = new RAMBank_1.RAMBank();
|
|
191
|
-
this.io3 = rtc;
|
|
192
|
-
this.io4 = storage;
|
|
193
|
-
this.io6 = via;
|
|
194
|
-
this.io7 = sound;
|
|
195
|
-
this.io8 = video;
|
|
196
|
-
// Connect Sound pushSamples callback
|
|
197
|
-
sound.pushSamples = (samples) => {
|
|
198
|
-
if (this.play) {
|
|
199
|
-
this.play(samples);
|
|
200
|
-
}
|
|
201
|
-
};
|
|
202
|
-
// Create standard GPIO attachments
|
|
203
|
-
this.keyboardMatrixAttachment = new KeyboardMatrixAttachment_1.KeyboardMatrixAttachment(10);
|
|
204
|
-
this.keyboardEncoderAttachment = new KeyboardEncoderAttachment_1.KeyboardEncoderAttachment(20);
|
|
205
|
-
this.joystickAttachmentA = new JoystickAttachment_1.JoystickAttachment(false, 100);
|
|
206
|
-
this.joystickAttachmentB = new JoystickAttachment_1.JoystickAttachment(false, 100);
|
|
207
|
-
// Attach peripherals to GPIO Card
|
|
208
|
-
via.attachToPortA(this.keyboardMatrixAttachment);
|
|
209
|
-
via.attachToPortB(this.keyboardMatrixAttachment);
|
|
210
|
-
via.attachToPortA(this.keyboardEncoderAttachment);
|
|
211
|
-
via.attachToPortB(this.keyboardEncoderAttachment);
|
|
212
|
-
via.attachToPortA(this.joystickAttachmentA);
|
|
213
|
-
via.attachToPortB(this.joystickAttachmentB);
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
this.io1 = new Empty_1.Empty();
|
|
217
|
-
this.io2 = new Empty_1.Empty();
|
|
218
|
-
this.io3 = new Empty_1.Empty();
|
|
219
|
-
this.io4 = new Empty_1.Empty();
|
|
220
|
-
this.io5 = new Empty_1.Empty();
|
|
221
|
-
this.io6 = new Empty_1.Empty();
|
|
222
|
-
this.io7 = new Empty_1.Empty();
|
|
223
|
-
this.io8 = new Empty_1.Empty();
|
|
224
|
-
}
|
|
65
|
+
configure() {
|
|
66
|
+
const acia = new ACIA_1.ACIA();
|
|
67
|
+
this.io5 = acia;
|
|
68
|
+
// Connect ACIA transmit callback
|
|
69
|
+
acia.transmit = (data) => {
|
|
70
|
+
if (this.transmit) {
|
|
71
|
+
this.transmit(data);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const rtc = new RTC_1.RTC();
|
|
75
|
+
const storage = new Storage_1.Storage();
|
|
76
|
+
const via = new VIA_1.VIA();
|
|
77
|
+
const sound = new Sound_1.Sound();
|
|
78
|
+
const video = new Video_1.Video();
|
|
79
|
+
this.io1 = new RAMBank_1.RAMBank();
|
|
80
|
+
this.io2 = new RAMBank_1.RAMBank();
|
|
81
|
+
this.io3 = rtc;
|
|
82
|
+
this.io4 = storage;
|
|
83
|
+
this.io6 = via;
|
|
84
|
+
this.io7 = sound;
|
|
85
|
+
this.io8 = video;
|
|
86
|
+
// Connect Sound pushSamples callback
|
|
87
|
+
sound.pushSamples = (samples) => {
|
|
88
|
+
if (this.play) {
|
|
89
|
+
this.play(samples);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
// Create standard GPIO attachments
|
|
93
|
+
this.keyboardMatrixAttachment = new KeyboardMatrixAttachment_1.KeyboardMatrixAttachment(10);
|
|
94
|
+
this.keyboardEncoderAttachment = new KeyboardEncoderAttachment_1.KeyboardEncoderAttachment(20);
|
|
95
|
+
this.joystickAttachmentA = new JoystickAttachment_1.JoystickAttachment(false, 100);
|
|
96
|
+
this.joystickAttachmentB = new JoystickAttachment_1.JoystickAttachment(false, 100);
|
|
97
|
+
// Attach peripherals to GPIO Card
|
|
98
|
+
via.attachToPortA(this.keyboardMatrixAttachment);
|
|
99
|
+
via.attachToPortB(this.keyboardMatrixAttachment);
|
|
100
|
+
via.attachToPortA(this.keyboardEncoderAttachment);
|
|
101
|
+
via.attachToPortB(this.keyboardEncoderAttachment);
|
|
102
|
+
via.attachToPortA(this.joystickAttachmentA);
|
|
103
|
+
via.attachToPortB(this.joystickAttachmentB);
|
|
225
104
|
}
|
|
226
105
|
run() {
|
|
227
106
|
this.isRunning = true;
|
|
@@ -284,26 +163,17 @@ class Machine {
|
|
|
284
163
|
}
|
|
285
164
|
}
|
|
286
165
|
onReceive(data) {
|
|
287
|
-
|
|
288
|
-
this.io5.onData(data); // Pass data to Serial card
|
|
289
|
-
}
|
|
166
|
+
this.io5.onData(data); // Pass data to Serial card
|
|
290
167
|
}
|
|
291
168
|
onKeyDown(scancode) {
|
|
292
|
-
var _a, _b
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
297
|
-
(_b = this.keyboardMatrixAttachment) === null || _b === void 0 ? void 0 : _b.updateKey(scancode, true);
|
|
298
|
-
(_c = this.keyboardEncoderAttachment) === null || _c === void 0 ? void 0 : _c.updateKey(scancode, true);
|
|
299
|
-
}
|
|
169
|
+
var _a, _b;
|
|
170
|
+
(_a = this.keyboardMatrixAttachment) === null || _a === void 0 ? void 0 : _a.updateKey(scancode, true);
|
|
171
|
+
(_b = this.keyboardEncoderAttachment) === null || _b === void 0 ? void 0 : _b.updateKey(scancode, true);
|
|
300
172
|
}
|
|
301
173
|
onKeyUp(scancode) {
|
|
302
174
|
var _a, _b;
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
(_b = this.keyboardEncoderAttachment) === null || _b === void 0 ? void 0 : _b.updateKey(scancode, false);
|
|
306
|
-
}
|
|
175
|
+
(_a = this.keyboardMatrixAttachment) === null || _a === void 0 ? void 0 : _a.updateKey(scancode, false);
|
|
176
|
+
(_b = this.keyboardEncoderAttachment) === null || _b === void 0 ? void 0 : _b.updateKey(scancode, false);
|
|
307
177
|
}
|
|
308
178
|
onJoystickA(buttons) {
|
|
309
179
|
var _a;
|
|
@@ -338,14 +208,10 @@ class Machine {
|
|
|
338
208
|
}
|
|
339
209
|
this._accumulatorMs = accumulator;
|
|
340
210
|
}
|
|
341
|
-
if (this.render
|
|
342
|
-
this.
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
else if (this.render && (this.target === 'cob' || this.target === 'vcs')) {
|
|
346
|
-
const Video = this.io8;
|
|
347
|
-
if (Video.frameReady) {
|
|
348
|
-
Video.frameReady = false;
|
|
211
|
+
if (this.render) {
|
|
212
|
+
const video = this.io8;
|
|
213
|
+
if (video.frameReady) {
|
|
214
|
+
video.frameReady = false;
|
|
349
215
|
this.render();
|
|
350
216
|
this.frames += 1;
|
|
351
217
|
}
|
|
@@ -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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"}
|