badline 0.17.0 → 0.19.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +193 -0
- data/CLAUDE.md +19 -7
- data/CONTRIBUTING.md +11 -1
- data/README.md +178 -26
- data/doc/library.md +5 -1
- data/doc/media.md +3 -2
- data/doc/pinned-behaviour.md +169 -1
- data/doc/snapshot-format.md +302 -35
- data/doc/snapshots.md +97 -26
- data/doc/vice.md +344 -0
- data/exe/badline-ruby +5 -0
- data/lib/badline/audio/renderer.rb +4 -8
- data/lib/badline/audio/terminal.rb +34 -2
- data/lib/badline/c128/keyed_state.rb +2 -0
- data/lib/badline/c128.rb +5 -0
- data/lib/badline/c64/bus/fittings.rb +6 -0
- data/lib/badline/c64/keyed_state.rb +2 -0
- data/lib/badline/c64.rb +7 -0
- data/lib/badline/cbm2/keyed_state.rb +4 -0
- data/lib/badline/cbm2/p500.rb +9 -3
- data/lib/badline/cbm2.rb +10 -3
- data/lib/badline/chips/cia/timer.rb +2 -2
- data/lib/badline/chips/cpu/core.rb +29 -4
- data/lib/badline/chips/cpu/instruction_set.rb +1 -1
- data/lib/badline/chips/cpu/interrupts.rb +9 -0
- data/lib/badline/chips/cpu/keyed_state.rb +15 -9
- data/lib/badline/chips/cpu/microcode.rb +10 -0
- data/lib/badline/chips/m6809/arithmetic.rb +140 -0
- data/lib/badline/chips/m6809/bus_steps.rb +223 -0
- data/lib/badline/chips/m6809/core.rb +149 -0
- data/lib/badline/chips/m6809/indexed.rb +82 -0
- data/lib/badline/chips/m6809/interrupts.rb +159 -0
- data/lib/badline/chips/m6809/keyed_state.rb +147 -0
- data/lib/badline/chips/m6809/opcodes.rb +159 -0
- data/lib/badline/chips/m6809/operations.rb +258 -0
- data/lib/badline/chips/m6809/plans.rb +143 -0
- data/lib/badline/chips/m6809/registers.rb +82 -0
- data/lib/badline/chips/m6809/stack.rb +140 -0
- data/lib/badline/chips/m6809.rb +13 -0
- data/lib/badline/chips/riot/timer.rb +14 -3
- data/lib/badline/chips/rriot.rb +8 -3
- data/lib/badline/chips/sid/decimator.rb +1 -1
- data/lib/badline/chips/sid/filter.rb +4 -4
- data/lib/badline/chips/sid/keyed_parts.rb +51 -18
- data/lib/badline/chips/sid/waveform.rb +6 -6
- data/lib/badline/chips/sid.rb +6 -2
- data/lib/badline/chips/vic_i/keyed_parts.rb +12 -2
- data/lib/badline/chips/vic_i/light_pen.rb +89 -0
- data/lib/badline/chips/vic_i.rb +91 -23
- data/lib/badline/data_path.rb +3 -3
- data/lib/badline/drives/ieee_models.rb +54 -0
- data/lib/badline/drives/model1001.rb +37 -0
- data/lib/badline/drives/model1541/sector_reader.rb +20 -3
- data/lib/badline/drives/model1541.rb +1 -0
- data/lib/badline/drives/model1551.rb +1 -0
- data/lib/badline/drives/model1571.rb +1 -0
- data/lib/badline/drives/model1581.rb +1 -0
- data/lib/badline/drives/model2031.rb +7 -0
- data/lib/badline/drives/model4040/disk.rb +62 -0
- data/lib/badline/drives/model4040/ip_bus.rb +46 -0
- data/lib/badline/drives/model4040/keyed_state.rb +57 -0
- data/lib/badline/drives/model4040/mechanism.rb +195 -0
- data/lib/badline/drives/model4040/parts.rb +20 -0
- data/lib/badline/drives/model4040.rb +195 -0
- data/lib/badline/drives/model8050/board.rb +79 -0
- data/lib/badline/drives/model8050/dos_board.rb +134 -0
- data/lib/badline/drives/model8050/fdc_bus.rb +7 -0
- data/lib/badline/drives/model8050/idle.rb +148 -31
- data/lib/badline/drives/model8050/keyed_state.rb +5 -2
- data/lib/badline/drives/model8050.rb +32 -130
- data/lib/badline/drives/model9060/idle.rb +169 -0
- data/lib/badline/drives/model9060/keyed_state.rb +123 -0
- data/lib/badline/drives/model9060/parts.rb +98 -0
- data/lib/badline/drives/model9060/sasi_bus.rb +88 -0
- data/lib/badline/drives/model9060/sasi_commands.rb +168 -0
- data/lib/badline/drives/model9060/sasi_target.rb +161 -0
- data/lib/badline/drives/model9060.rb +197 -0
- data/lib/badline/frontend/app.rb +8 -0
- data/lib/badline/frontend/boot.rb +3 -2
- data/lib/badline/frontend/controls.rb +62 -6
- data/lib/badline/frontend/keys.rb +36 -0
- data/lib/badline/frontend/kim1_panel.rb +208 -0
- data/lib/badline/frontend/media_slots.rb +8 -1
- data/lib/badline/frontend/menu/drive_types.rb +56 -0
- data/lib/badline/frontend/menu/menu_dialogs.rb +61 -14
- data/lib/badline/frontend/menu/menu_media.rb +42 -12
- data/lib/badline/frontend/menu/menu_pages.rb +97 -2
- data/lib/badline/frontend/menu/menu_ports.rb +38 -1
- data/lib/badline/frontend/menu/pause_menu.rb +5 -1
- data/lib/badline/frontend/pet_keyboard.rb +23 -1
- data/lib/badline/frontend/screen.rb +1 -1
- data/lib/badline/frontend/screens.rb +40 -2
- data/lib/badline/frontend/teletype_pane.rb +152 -0
- data/lib/badline/frontend/timeline.rb +31 -2
- data/lib/badline/frontend.rb +3 -0
- data/lib/badline/input/joystick.rb +15 -2
- data/lib/badline/kim1/bus.rb +117 -0
- data/lib/badline/kim1/cpu.rb +25 -0
- data/lib/badline/kim1/host_terminal.rb +74 -0
- data/lib/badline/kim1/key_entry.rb +74 -0
- data/lib/badline/kim1/keyed_modules.rb +53 -0
- data/lib/badline/kim1/keyed_state.rb +133 -0
- data/lib/badline/kim1/panel.rb +176 -0
- data/lib/badline/kim1/rriots.rb +28 -0
- data/lib/badline/kim1/sound.rb +29 -0
- data/lib/badline/kim1/tape.rb +118 -0
- data/lib/badline/kim1/teletype.rb +193 -0
- data/lib/badline/kim1.rb +194 -0
- data/lib/badline/machine/ieee_drives.rb +94 -117
- data/lib/badline/machine/keyboard_buffer.rb +20 -3
- data/lib/badline/machine/line_sound.rb +122 -0
- data/lib/badline/machine.rb +49 -15
- data/lib/badline/media/extensions.rb +8 -4
- data/lib/badline/media/kim1_media.rb +150 -0
- data/lib/badline/media/pet_media.rb +3 -1
- data/lib/badline/media/true_drive.rb +52 -45
- data/lib/badline/media/vic20_media.rb +4 -2
- data/lib/badline/media.rb +16 -6
- data/lib/badline/memory.rb +2 -4
- data/lib/badline/options/family.rb +98 -8
- data/lib/badline/options/help.rb +44 -12
- data/lib/badline/options/table.rb +44 -12
- data/lib/badline/options/validation.rb +44 -8
- data/lib/badline/options.rb +27 -8
- data/lib/badline/pet/bus.rb +16 -2
- data/lib/badline/pet/keyboard_ports.rb +9 -2
- data/lib/badline/pet/keyed_state.rb +4 -0
- data/lib/badline/pet/model.rb +11 -2
- data/lib/badline/pet/rom_sets.rb +1 -0
- data/lib/badline/pet/sound.rb +5 -105
- data/lib/badline/pet/superpet/acia.rb +12 -0
- data/lib/badline/pet/superpet/board.rb +221 -0
- data/lib/badline/pet/superpet/dongle.rb +92 -0
- data/lib/badline/pet/superpet/keyed_modules.rb +63 -0
- data/lib/badline/pet/superpet/keyed_parts.rb +76 -0
- data/lib/badline/pet/superpet/m6809.rb +32 -0
- data/lib/badline/pet/superpet/waterloo_traps.rb +199 -0
- data/lib/badline/pet/superpet.rb +221 -0
- data/lib/badline/pet.rb +23 -3
- data/lib/badline/plus4/keyed_state.rb +2 -0
- data/lib/badline/plus4.rb +5 -0
- data/lib/badline/roms/1001/fdc-251257-02a.rom +0 -0
- data/lib/badline/roms/4040/dos-1.2.rom +0 -0
- data/lib/badline/roms/4040/dos-2.1-rev.rom +0 -0
- data/lib/badline/roms/4040/dos-2.1.rom +0 -0
- data/lib/badline/roms/4040/fdc-901466-02.rom +0 -0
- data/lib/badline/roms/4040/fdc-901466-04.rom +0 -0
- data/lib/badline/roms/9060/dos-3.0.rom +0 -0
- data/lib/badline/roms/9060/sasi-300515-revb.rom +0 -0
- data/lib/badline/roms/README +176 -0
- data/lib/badline/roms/kim1/6530-002.rom +0 -0
- data/lib/badline/roms/kim1/6530-003.rom +0 -0
- data/lib/badline/roms/pet/characters-superpet.rom +0 -0
- data/lib/badline/roms/pet/superpet-a000.rom +0 -0
- data/lib/badline/roms/pet/superpet-c000.rom +0 -0
- data/lib/badline/roms/pet/superpet-e000-50hz.rom +0 -0
- data/lib/badline/roms/pet/superpet-e000.rom +0 -0
- data/lib/badline/snapshot/container.rb +8 -4
- data/lib/badline/snapshot/field_doc/markdown.rb +1 -1
- data/lib/badline/snapshot/field_doc.rb +35 -10
- data/lib/badline/snapshot/image.rb +19 -7
- data/lib/badline/snapshot/kim1_setup.rb +28 -0
- data/lib/badline/snapshot/pet_setup.rb +27 -11
- data/lib/badline/snapshot/storage_setup.rb +4 -1
- data/lib/badline/snapshot/vic20_setup.rb +11 -7
- data/lib/badline/snapshot/vice/pet.rb +14 -7
- data/lib/badline/snapshot/vice/pet_cpu.rb +39 -5
- data/lib/badline/snapshot/vice/pet_crtc.rb +15 -2
- data/lib/badline/snapshot/vice/pet_dongle.rb +72 -0
- data/lib/badline/snapshot/vice/pet_drive8050.rb +188 -68
- data/lib/badline/snapshot/vice/pet_mem.rb +55 -5
- data/lib/badline/snapshot/vice/pet_restore.rb +40 -11
- data/lib/badline/snapshot/vice/vic20.rb +70 -0
- data/lib/badline/snapshot/vice/vic20_cpu.rb +61 -0
- data/lib/badline/snapshot/vice/vic20_mem.rb +85 -0
- data/lib/badline/snapshot/vice/vic20_restore.rb +124 -0
- data/lib/badline/snapshot/vice/vic20_vici.rb +200 -0
- data/lib/badline/snapshot/vice.rb +1 -0
- data/lib/badline/snapshot.rb +8 -4
- data/lib/badline/status.rb +30 -30
- data/lib/badline/storage/d67_image.rb +55 -0
- data/lib/badline/storage/d90_image.rb +180 -0
- data/lib/badline/storage/kim_tape.rb +254 -0
- data/lib/badline/storage/papertape.rb +90 -0
- data/lib/badline/storage.rb +4 -0
- data/lib/badline/support/kim1_checkpoint.rb +41 -0
- data/lib/badline/support/superpet_checkpoint.rb +35 -0
- data/lib/badline/version.rb +1 -1
- data/lib/badline/vic20/keyed_modules.rb +6 -3
- data/lib/badline/vic20/keyed_state.rb +6 -4
- data/lib/badline/vic20/port_wiring.rb +11 -0
- data/lib/badline/vic20.rb +30 -12
- data/lib/badline.rb +1 -0
- metadata +85 -1
data/doc/snapshot-format.md
CHANGED
|
@@ -23,11 +23,11 @@ key only some of them have names them.
|
|
|
23
23
|
|
|
24
24
|
## BL-MACHINE
|
|
25
25
|
|
|
26
|
-
Written by the C64, VIC-20, C128, Plus/4, PET, CBM-II.
|
|
26
|
+
Written by the C64, VIC-20, C128, Plus/4, PET, CBM-II, KIM-1.
|
|
27
27
|
|
|
28
28
|
| Key | Type | Default |
|
|
29
29
|
| --- | --- | --- |
|
|
30
|
-
| `family` | text: c64 vic20 c128 plus4 pet cbm2 | "c64" |
|
|
30
|
+
| `family` | text: c64 vic20 c128 plus4 pet cbm2 kim1 | "c64" |
|
|
31
31
|
| `region` | text: pal ntsc ntscold drean | C64: "pal" |
|
|
32
32
|
| `vic_model` | text: mos6569 mos8565 mos8566 mos8564 | C64: "mos6569" |
|
|
33
33
|
| `cia_model` | text: mos6526 mos6526a | C64: "mos6526" |
|
|
@@ -45,19 +45,20 @@ Written by the C64, VIC-20, C128, Plus/4, PET, CBM-II.
|
|
|
45
45
|
| `freeze_writes` | int | C64: 0 |
|
|
46
46
|
| `dma` | bool | C64: false |
|
|
47
47
|
| `host.pending_keys` | ints | [] |
|
|
48
|
+
| `host.init_keys` | ints | C64: []; VIC-20: []; C128: []; Plus/4: []; PET: []; CBM-II: [] |
|
|
48
49
|
| `host.init_pending` | int | 0 |
|
|
49
50
|
| `written_by` | text | "" |
|
|
50
|
-
| `ram` | text: unexpanded 3k 8k 16k 24k 32k all | VIC-20: "unexpanded" |
|
|
51
|
+
| `ram` | text: unexpanded 3k 8k 16k 24k 32k all | VIC-20: "unexpanded"; KIM-1: "1k" |
|
|
52
|
+
| `model` | text: pal ntsc | VIC-20: "pal"; C128: "c128"; Plus/4: "plus4"; PET: "8032"; CBM-II: "610" |
|
|
51
53
|
| `bus.data` | byte | VIC-20: 253; C128: 255 |
|
|
52
54
|
| `bus.video_data` | byte | VIC-20: 0 |
|
|
53
|
-
| `model` | text: c128 c128ntsc c128dcr c128dcrntsc | C128: "c128"; Plus/4: "plus4"; PET: "8032"; CBM-II: "610" |
|
|
54
55
|
| `mode` | text: c64 c128 | C128: "c64" |
|
|
55
56
|
| `bus.address` | word | C128: 65533 |
|
|
56
57
|
| `clock_bits` | int | C128: 0 |
|
|
57
58
|
| `z80_ahead` | int | C128: 0 |
|
|
58
59
|
| `chips_ahead` | int | C128: 0 |
|
|
59
60
|
| `cpu_reset_pending` | bool | C128: true |
|
|
60
|
-
| `host.typing` | bool | C128: false |
|
|
61
|
+
| `host.typing` | bool | C128: false; KIM-1: false |
|
|
61
62
|
| `host.holding_commodore` | bool | C128: false |
|
|
62
63
|
| `host.typist.code` | int, optional | C128: absent |
|
|
63
64
|
| `host.typist.wait` | int | C128: 0 |
|
|
@@ -71,22 +72,29 @@ Written by the C64, VIC-20, C128, Plus/4, PET, CBM-II.
|
|
|
71
72
|
| `rom.basic` | text | PET: "pet/basic4.rom" or "pet/basic1.rom" |
|
|
72
73
|
| `rom.editor` | text | PET: "pet/editor4-80-b-50hz.rom" or "pet/editor1.rom" or "pet/editor4-80-b-50hz-8296.rom" |
|
|
73
74
|
| `rom.kernal` | text | PET: "pet/kernal4.rom" or "pet/kernal1.rom" |
|
|
74
|
-
| `rom.characters` | text | PET: "pet/characters2.rom" or "pet/characters1.rom" |
|
|
75
|
+
| `rom.characters` | text | PET: "pet/characters2.rom" or "pet/characters1.rom" or "pet/characters-superpet.rom" |
|
|
75
76
|
| `jumpers` | text | PET: "" |
|
|
76
77
|
| `vertical_drive` | bool | PET: true |
|
|
78
|
+
| `host.ieee_drive_model` | text: 2031 8050 8250 1001 4040 3040 2040 9060 9090 | PET: "2031"; CBM-II: "2031" |
|
|
79
|
+
| `cpu_switch` | text: 6502 6809 prog | PET: "6502" |
|
|
80
|
+
| `ram_switch` | text: rw read prog | PET: "rw" |
|
|
77
81
|
| `mains_hz` | int | CBM-II: 50 |
|
|
78
82
|
| `dram_refresh` | bool | CBM-II: true |
|
|
79
83
|
| `mains_countdown` | int | CBM-II: varies |
|
|
80
84
|
| `mains_high` | bool | CBM-II: true |
|
|
81
85
|
| `refresh` | int | CBM-II: 0 |
|
|
86
|
+
| `sst` | bool | KIM-1: false |
|
|
87
|
+
| `irq_wired` | bool | KIM-1: false |
|
|
88
|
+
| `host.key_down` | bool | KIM-1: false |
|
|
89
|
+
| `host.next_key_at` | int | KIM-1: 0 |
|
|
82
90
|
|
|
83
91
|
## BL-RAM
|
|
84
92
|
|
|
85
|
-
Written by the C64, VIC-20, C128, Plus/4, PET, CBM-II.
|
|
93
|
+
Written by the C64, VIC-20, C128, Plus/4, PET, KIM-1, CBM-II.
|
|
86
94
|
|
|
87
95
|
| Key | Type | Default |
|
|
88
96
|
| --- | --- | --- |
|
|
89
|
-
| `ram` | bytes | C64: 65536 values; VIC-20: 49152 values; C128: 131072 values; Plus/4: 65536 × 0 or 16384 × 0; PET: 32768 × 0 or 8192 × 0 |
|
|
97
|
+
| `ram` | bytes | C64: 65536 values; VIC-20: 49152 values; C128: 131072 values; Plus/4: 65536 × 0 or 16384 × 0; PET: 32768 × 0 or 8192 × 0; KIM-1: 1024 × 0 or 57344 × 0 |
|
|
90
98
|
| `bus.low_bank` | int & 0x3 | Plus/4: 0 |
|
|
91
99
|
| `bus.high_bank` | int & 0x3 | Plus/4: 0 |
|
|
92
100
|
| `bus.rom_selected` | bool | Plus/4: true |
|
|
@@ -99,7 +107,7 @@ Written by the C64, VIC-20, C128, Plus/4, PET, CBM-II.
|
|
|
99
107
|
| `segment<N>` | bytes | CBM-II: 65536 × 0 |
|
|
100
108
|
| `execution_segment` | int & 0xf | CBM-II: 15 |
|
|
101
109
|
| `indirect_segment` | int & 0xf | CBM-II: 15 |
|
|
102
|
-
| `data` | byte | CBM-II: 249 |
|
|
110
|
+
| `data` | byte | CBM-II: 249; KIM-1: 28 |
|
|
103
111
|
| `cartridge.addresses` | ints | CBM-II: [] |
|
|
104
112
|
| `cartridge.8192` | bytes | CBM-II: [] |
|
|
105
113
|
|
|
@@ -114,19 +122,19 @@ Written by the C64, VIC-20, CBM-II, C128.
|
|
|
114
122
|
|
|
115
123
|
## BL-CPU
|
|
116
124
|
|
|
117
|
-
Written by the C64, C128, Plus/4, VIC-20, PET, CBM-II.
|
|
125
|
+
Written by the C64, C128, Plus/4, VIC-20, PET, CBM-II, KIM-1.
|
|
118
126
|
|
|
119
127
|
| Key | Type | Default |
|
|
120
128
|
| --- | --- | --- |
|
|
121
129
|
| `port.ddr` | byte | C64: 0; C128: 0; Plus/4: 0 |
|
|
122
130
|
| `port.data` | byte | C64: 0; C128: 0; Plus/4: 0 |
|
|
123
131
|
| `port.floating` | byte | C64: 0; C128: 0 |
|
|
124
|
-
| `pc` | word | C64:
|
|
125
|
-
| `sp` | byte | 255 |
|
|
132
|
+
| `pc` | word | C64: 0; VIC-20: 0; C128: 65341; Plus/4: 0; PET: 0; CBM-II: 0; KIM-1: 0 |
|
|
133
|
+
| `sp` | byte | C64: 0; VIC-20: 0; C128: 255; Plus/4: 0; PET: 0; CBM-II: 0; KIM-1: 0 |
|
|
126
134
|
| `a` | byte | 0 |
|
|
127
135
|
| `x` | byte | 0 |
|
|
128
136
|
| `y` | byte | 0 |
|
|
129
|
-
| `p` | byte | 32 |
|
|
137
|
+
| `p` | byte | C64: 36; VIC-20: 36; C128: 32; Plus/4: 36; PET: 36; CBM-II: 36; KIM-1: 36 |
|
|
130
138
|
| `nmi` | bool | false |
|
|
131
139
|
| `so_high` | bool | true |
|
|
132
140
|
| `irq.sample` | bool | false |
|
|
@@ -139,7 +147,17 @@ Written by the C64, C128, Plus/4, VIC-20, PET, CBM-II.
|
|
|
139
147
|
| `cycles` | int | 0 |
|
|
140
148
|
| `instructions` | int | 0 |
|
|
141
149
|
| `stalled` | int, optional | absent |
|
|
142
|
-
| `pos.seq` | text: boundary op interrupt jam | "boundary" |
|
|
150
|
+
| `pos.seq` | text: boundary op interrupt jam reset | "boundary" |
|
|
151
|
+
| `pos.crossed` | bool | PET: false |
|
|
152
|
+
| `pos.t` | int | PET: 0 |
|
|
153
|
+
| `pos.branch_taken` | bool | PET: false |
|
|
154
|
+
| `pos.brk` | bool | PET: false |
|
|
155
|
+
| `pos.vector` | int, optional | PET: absent |
|
|
156
|
+
| `pos.address` | int, optional | PET: absent |
|
|
157
|
+
| `pos.dummy_address` | int, optional | PET: absent |
|
|
158
|
+
| `pos.value` | int, optional | PET: absent |
|
|
159
|
+
| `pos.rmw` | int, optional | PET: absent |
|
|
160
|
+
| `pos.pointer` | int, optional | PET: absent |
|
|
143
161
|
|
|
144
162
|
## BL-VIC
|
|
145
163
|
|
|
@@ -441,6 +459,13 @@ Written by the C64, C128, Plus/4, CBM-II.
|
|
|
441
459
|
| `ext.lowpass` | int | 0 |
|
|
442
460
|
| `ext.highpass` | int | 0 |
|
|
443
461
|
| `ext.output` | int | 0 |
|
|
462
|
+
| `rec.rate` | int | 0 |
|
|
463
|
+
| `rec.clock_hz` | int | C64: 985248 |
|
|
464
|
+
| `rec.phase` | int | C64: 0 |
|
|
465
|
+
| `rec.sum` | int | C64: 0 |
|
|
466
|
+
| `rec.count` | int | C64: 0 |
|
|
467
|
+
| `rec.cycles_to_close` | int | C64: 23 |
|
|
468
|
+
| `rec.filter_chunk` | int | C64: 4 |
|
|
444
469
|
|
|
445
470
|
## BL-TAPE
|
|
446
471
|
|
|
@@ -572,7 +597,7 @@ Written by the C64, PET, CBM-II.
|
|
|
572
597
|
|
|
573
598
|
| Key | Type | Default |
|
|
574
599
|
| --- | --- | --- |
|
|
575
|
-
| `storage.kind` | text: directory d64 d71 d81 t64 d80 d82 | "directory" |
|
|
600
|
+
| `storage.kind` | text: directory d64 d71 d81 t64 d80 d82 d67 | "directory" |
|
|
576
601
|
| `storage.path` | text | "" |
|
|
577
602
|
| `storage.bytes` | bytes | [] |
|
|
578
603
|
| `storage.read_only` | bool | false |
|
|
@@ -601,6 +626,11 @@ Written by the C64, PET, CBM-II.
|
|
|
601
626
|
| `ieee.talk_channel` | int, optional | PET: absent; CBM-II: absent |
|
|
602
627
|
| `ieee.frame` | int | PET: 240; CBM-II: 240 |
|
|
603
628
|
| `ieee.buffer` | bytes | PET: []; CBM-II: [] |
|
|
629
|
+
| `waterloo.listening` | bool | PET: false |
|
|
630
|
+
| `waterloo.talking` | bool | PET: false |
|
|
631
|
+
| `waterloo.channel` | int | PET: 0 |
|
|
632
|
+
| `waterloo.frame` | byte | PET: 0 |
|
|
633
|
+
| `waterloo.buffer` | ints | PET: [] |
|
|
604
634
|
|
|
605
635
|
## BL-D8
|
|
606
636
|
|
|
@@ -608,7 +638,7 @@ Written by the C64, C128, Plus/4, PET.
|
|
|
608
638
|
|
|
609
639
|
| Key | Type | Default |
|
|
610
640
|
| --- | --- | --- |
|
|
611
|
-
| `model` | text: 1541 1551 1571 1581 | C64: "1541" or "1581"; C128: "1541" or "1571"; Plus/4: "1541" or "1551"; PET:
|
|
641
|
+
| `model` | text: 1541 1551 1571 1581 | C64: "1541" or "1581"; C128: "1541" or "1571"; Plus/4: "1541" or "1551"; PET: varies |
|
|
612
642
|
| `phase` | int | 0 |
|
|
613
643
|
| `cycles` | int | 0 |
|
|
614
644
|
| `so_pending` | bool | false |
|
|
@@ -617,8 +647,11 @@ Written by the C64, C128, Plus/4, PET.
|
|
|
617
647
|
| `irq_timer` | int | Plus/4: 16660 |
|
|
618
648
|
| `latched_byte` | byte | Plus/4: 0 |
|
|
619
649
|
| `ieee.host` | int | PET: 0 |
|
|
620
|
-
| `ip_data` | byte | PET: 242 |
|
|
650
|
+
| `ip_data` | byte | PET: 242 or 211 |
|
|
621
651
|
| `fdc_data` | byte | PET: 252 |
|
|
652
|
+
| `sasi_data` | byte | PET: 248 |
|
|
653
|
+
| `sasi.ack_high` | bool | PET: true |
|
|
654
|
+
| `sasi.reset_high` | bool | PET: false |
|
|
622
655
|
|
|
623
656
|
## BL-D8-RAM
|
|
624
657
|
|
|
@@ -731,12 +764,12 @@ Written by the C64, C128, Plus/4, PET.
|
|
|
731
764
|
|
|
732
765
|
| Key | Type | Default |
|
|
733
766
|
| --- | --- | --- |
|
|
734
|
-
| `pc` | word |
|
|
735
|
-
| `sp` | byte |
|
|
767
|
+
| `pc` | word | 0 |
|
|
768
|
+
| `sp` | byte | 0 |
|
|
736
769
|
| `a` | byte | 0 |
|
|
737
770
|
| `x` | byte | 0 |
|
|
738
771
|
| `y` | byte | 0 |
|
|
739
|
-
| `p` | byte |
|
|
772
|
+
| `p` | byte | 36 |
|
|
740
773
|
| `nmi` | bool | false |
|
|
741
774
|
| `so_high` | bool | true |
|
|
742
775
|
| `irq.sample` | bool | false |
|
|
@@ -749,7 +782,18 @@ Written by the C64, C128, Plus/4, PET.
|
|
|
749
782
|
| `cycles` | int | 0 |
|
|
750
783
|
| `instructions` | int | 0 |
|
|
751
784
|
| `stalled` | int, optional | absent |
|
|
752
|
-
| `pos.seq` | text: boundary op interrupt jam | "boundary" |
|
|
785
|
+
| `pos.seq` | text: boundary op interrupt jam reset | "boundary" |
|
|
786
|
+
| `pos.op` | byte | C64: 234; Plus/4: 234 |
|
|
787
|
+
| `pos.crossed` | bool | C64: false; C128: false; Plus/4: false |
|
|
788
|
+
| `pos.t` | int | C64: 1; C128: 0; Plus/4: 1 |
|
|
789
|
+
| `pos.branch_taken` | bool | C64: false; C128: false; Plus/4: false |
|
|
790
|
+
| `pos.brk` | bool | C64: false; C128: false; Plus/4: false |
|
|
791
|
+
| `pos.vector` | int, optional | C64: absent; C128: absent; Plus/4: absent |
|
|
792
|
+
| `pos.address` | int, optional | C64: absent; C128: absent; Plus/4: absent |
|
|
793
|
+
| `pos.dummy_address` | int, optional | C64: absent; C128: absent; Plus/4: absent |
|
|
794
|
+
| `pos.value` | int, optional | C64: absent; C128: absent; Plus/4: absent |
|
|
795
|
+
| `pos.rmw` | int, optional | C64: absent; C128: absent; Plus/4: absent |
|
|
796
|
+
| `pos.pointer` | int, optional | C64: absent; C128: absent; Plus/4: absent |
|
|
753
797
|
|
|
754
798
|
## BL-D8-DISK
|
|
755
799
|
|
|
@@ -765,7 +809,7 @@ Written by the C64, C128, Plus/4, PET.
|
|
|
765
809
|
| `track<N>.zone` | int, optional | absent |
|
|
766
810
|
| `written` | ints | [] |
|
|
767
811
|
| `changed` | ints | C64: [] |
|
|
768
|
-
| `image.format` | text: d80 d82 | PET: "d80" |
|
|
812
|
+
| `image.format` | text: d80 d82 | PET: "d80" or "d64" |
|
|
769
813
|
| `track<N>` | ints | PET: [] |
|
|
770
814
|
|
|
771
815
|
## BL-D8-MECH
|
|
@@ -779,7 +823,7 @@ Written by the C64, C128, Plus/4, PET.
|
|
|
779
823
|
| `side` | int | C64: 0 or 1; C128: 85; Plus/4: 0; PET: 0 |
|
|
780
824
|
| `zone` | int & 0x3 | C64: 3; C128: 3; Plus/4: 3 or 0; PET: 3 |
|
|
781
825
|
| `time` | int | 0 |
|
|
782
|
-
| `read_clock_in` | int | 2097152 |
|
|
826
|
+
| `read_clock_in` | int | C64: -3145728; C128: 2097152; Plus/4: -4194304 or 2097152; PET: -3145728 |
|
|
783
827
|
| `clocks` | int | 0 |
|
|
784
828
|
| `shift` | int | 0 |
|
|
785
829
|
| `ones` | int | 0 |
|
|
@@ -807,6 +851,7 @@ Written by the C64, C128, Plus/4, PET.
|
|
|
807
851
|
| `so_pending` | bool | PET: false |
|
|
808
852
|
| `ca1_low` | bool | PET: false |
|
|
809
853
|
| `data_in` | byte | PET: 255 |
|
|
854
|
+
| `half_tracks` | ints | PET: [0, 0] |
|
|
810
855
|
|
|
811
856
|
## BL-D8-CIA
|
|
812
857
|
|
|
@@ -959,6 +1004,7 @@ Written by the C64.
|
|
|
959
1004
|
| `ext.lowpass` | int | 0 |
|
|
960
1005
|
| `ext.highpass` | int | 0 |
|
|
961
1006
|
| `ext.output` | int | 0 |
|
|
1007
|
+
| `rec.rate` | int | 0 |
|
|
962
1008
|
|
|
963
1009
|
## BL-VICI
|
|
964
1010
|
|
|
@@ -969,6 +1015,8 @@ Written by the VIC-20.
|
|
|
969
1015
|
| `registers` | bytes | 16 × 0 |
|
|
970
1016
|
| `raster` | int | 0 |
|
|
971
1017
|
| `column` | int | 0 |
|
|
1018
|
+
| `frame_lines` | int | 312 |
|
|
1019
|
+
| `long_field` | bool | true |
|
|
972
1020
|
| `window_open` | bool | false |
|
|
973
1021
|
| `window_done` | bool | false |
|
|
974
1022
|
| `row_start` | int | 0 |
|
|
@@ -978,6 +1026,9 @@ Written by the VIC-20.
|
|
|
978
1026
|
| `fetch_from` | int | 0 |
|
|
979
1027
|
| `fetched` | int | 0 |
|
|
980
1028
|
| `code` | byte | 0 |
|
|
1029
|
+
| `pen.x` | byte | 0 |
|
|
1030
|
+
| `pen.y` | byte | 0 |
|
|
1031
|
+
| `pen.low` | bool | false |
|
|
981
1032
|
| `line.layout` | int | 0 |
|
|
982
1033
|
| `display` | bytes | 88608 × 0 |
|
|
983
1034
|
| `line.row` | int | 311 |
|
|
@@ -990,8 +1041,8 @@ Written by the VIC-20.
|
|
|
990
1041
|
| `sound.shift_registers` | ints | [0, 0, 0, 255] |
|
|
991
1042
|
| `sound.lfsr` | int & 0xffff | 65535 |
|
|
992
1043
|
| `sound.level` | int | 0 |
|
|
993
|
-
| `sound.ran_ago` | int |
|
|
994
|
-
| `sound.next_shifts` | ints | [
|
|
1044
|
+
| `sound.ran_ago` | int | 5 |
|
|
1045
|
+
| `sound.next_shifts` | ints | [2043, 1019, 507, 251] |
|
|
995
1046
|
|
|
996
1047
|
## BL-VIA1
|
|
997
1048
|
|
|
@@ -1206,7 +1257,7 @@ Written by the Plus/4.
|
|
|
1206
1257
|
| `voice<N>.phase` | int & 0x1 | 1 |
|
|
1207
1258
|
| `voice<N>.toggle_in` | int, optional | absent |
|
|
1208
1259
|
| `noise` | byte | 255 |
|
|
1209
|
-
| `ran_ago` | int |
|
|
1260
|
+
| `ran_ago` | int | 6 |
|
|
1210
1261
|
|
|
1211
1262
|
## BL-KEYPORT
|
|
1212
1263
|
|
|
@@ -1226,7 +1277,7 @@ Written by the Plus/4.
|
|
|
1226
1277
|
|
|
1227
1278
|
## BL-ACIA
|
|
1228
1279
|
|
|
1229
|
-
Written by the Plus/4, CBM-II.
|
|
1280
|
+
Written by the Plus/4, PET, CBM-II.
|
|
1230
1281
|
|
|
1231
1282
|
| Key | Type | Default |
|
|
1232
1283
|
| --- | --- | --- |
|
|
@@ -1533,12 +1584,12 @@ Written by the PET.
|
|
|
1533
1584
|
|
|
1534
1585
|
| Key | Type | Default |
|
|
1535
1586
|
| --- | --- | --- |
|
|
1536
|
-
| `pc` | word |
|
|
1537
|
-
| `sp` | byte |
|
|
1587
|
+
| `pc` | word | 0 |
|
|
1588
|
+
| `sp` | byte | 0 |
|
|
1538
1589
|
| `a` | byte | 0 |
|
|
1539
1590
|
| `x` | byte | 0 |
|
|
1540
1591
|
| `y` | byte | 0 |
|
|
1541
|
-
| `p` | byte |
|
|
1592
|
+
| `p` | byte | 36 |
|
|
1542
1593
|
| `nmi` | bool | false |
|
|
1543
1594
|
| `so_high` | bool | true |
|
|
1544
1595
|
| `irq.sample` | bool | false |
|
|
@@ -1551,7 +1602,7 @@ Written by the PET.
|
|
|
1551
1602
|
| `cycles` | int | 0 |
|
|
1552
1603
|
| `instructions` | int | 0 |
|
|
1553
1604
|
| `stalled` | int, optional | absent |
|
|
1554
|
-
| `pos.seq` | text: boundary op interrupt jam | "boundary" |
|
|
1605
|
+
| `pos.seq` | text: boundary op interrupt jam reset | "boundary" |
|
|
1555
1606
|
|
|
1556
1607
|
## BL-D8-FDCCPU
|
|
1557
1608
|
|
|
@@ -1559,12 +1610,12 @@ Written by the PET.
|
|
|
1559
1610
|
|
|
1560
1611
|
| Key | Type | Default |
|
|
1561
1612
|
| --- | --- | --- |
|
|
1562
|
-
| `pc` | word |
|
|
1563
|
-
| `sp` | byte |
|
|
1613
|
+
| `pc` | word | 0 |
|
|
1614
|
+
| `sp` | byte | 0 |
|
|
1564
1615
|
| `a` | byte | 0 |
|
|
1565
1616
|
| `x` | byte | 0 |
|
|
1566
1617
|
| `y` | byte | 0 |
|
|
1567
|
-
| `p` | byte |
|
|
1618
|
+
| `p` | byte | 36 |
|
|
1568
1619
|
| `nmi` | bool | false |
|
|
1569
1620
|
| `so_high` | bool | true |
|
|
1570
1621
|
| `irq.sample` | bool | false |
|
|
@@ -1577,7 +1628,7 @@ Written by the PET.
|
|
|
1577
1628
|
| `cycles` | int | 0 |
|
|
1578
1629
|
| `instructions` | int | 0 |
|
|
1579
1630
|
| `stalled` | int, optional | absent |
|
|
1580
|
-
| `pos.seq` | text: boundary op interrupt jam | "boundary" |
|
|
1631
|
+
| `pos.seq` | text: boundary op interrupt jam reset | "boundary" |
|
|
1581
1632
|
|
|
1582
1633
|
## BL-D8-VIA
|
|
1583
1634
|
|
|
@@ -1646,6 +1697,125 @@ Written by the PET.
|
|
|
1646
1697
|
| `timer.irq_enabled` | bool | false |
|
|
1647
1698
|
| `timer.fired` | bool | false |
|
|
1648
1699
|
|
|
1700
|
+
## BL-D8-SASICPU
|
|
1701
|
+
|
|
1702
|
+
Written by the PET.
|
|
1703
|
+
|
|
1704
|
+
| Key | Type | Default |
|
|
1705
|
+
| --- | --- | --- |
|
|
1706
|
+
| `pc` | word | 0 |
|
|
1707
|
+
| `sp` | byte | 0 |
|
|
1708
|
+
| `a` | byte | 0 |
|
|
1709
|
+
| `x` | byte | 0 |
|
|
1710
|
+
| `y` | byte | 0 |
|
|
1711
|
+
| `p` | byte | 36 |
|
|
1712
|
+
| `nmi` | bool | false |
|
|
1713
|
+
| `so_high` | bool | true |
|
|
1714
|
+
| `irq.sample` | bool | false |
|
|
1715
|
+
| `irq.pending` | bool | false |
|
|
1716
|
+
| `irq.boundary` | bool | false |
|
|
1717
|
+
| `nmi.sample` | bool | false |
|
|
1718
|
+
| `nmi.pending` | bool | false |
|
|
1719
|
+
| `nmi.boundary` | bool | false |
|
|
1720
|
+
| `skip_poll` | bool | false |
|
|
1721
|
+
| `cycles` | int | 0 |
|
|
1722
|
+
| `instructions` | int | 0 |
|
|
1723
|
+
| `stalled` | int, optional | absent |
|
|
1724
|
+
| `pos.seq` | text: boundary op interrupt jam reset | "boundary" |
|
|
1725
|
+
|
|
1726
|
+
## BL-D8-SASIRAM
|
|
1727
|
+
|
|
1728
|
+
Written by the PET.
|
|
1729
|
+
|
|
1730
|
+
| Key | Type | Default |
|
|
1731
|
+
| --- | --- | --- |
|
|
1732
|
+
| `ram` | bytes | 128 × 0 |
|
|
1733
|
+
|
|
1734
|
+
## BL-D8-SASI
|
|
1735
|
+
|
|
1736
|
+
Written by the PET.
|
|
1737
|
+
|
|
1738
|
+
| Key | Type | Default |
|
|
1739
|
+
| --- | --- | --- |
|
|
1740
|
+
| `phase` | int | 0 |
|
|
1741
|
+
| `request` | bool | false |
|
|
1742
|
+
| `delay` | int | 0 |
|
|
1743
|
+
| `command` | ints | [] |
|
|
1744
|
+
| `buffer` | ints | [] |
|
|
1745
|
+
| `index` | int | 0 |
|
|
1746
|
+
| `writing` | bool | false |
|
|
1747
|
+
| `sense` | ints | [0, 0, 0, 0] |
|
|
1748
|
+
| `last_sense` | ints | [0, 0, 0, 0] |
|
|
1749
|
+
| `fast` | bool | false |
|
|
1750
|
+
| `cycle` | int | 0 |
|
|
1751
|
+
| `cylinder` | int | 0 |
|
|
1752
|
+
| `heads` | int | 4 |
|
|
1753
|
+
| `sectors` | int | 32 |
|
|
1754
|
+
| `block_buffer` | ints | 256 × 0 |
|
|
1755
|
+
| `path` | text | "" |
|
|
1756
|
+
| `read_only` | bool | false |
|
|
1757
|
+
| `disk_heads` | int | 4 |
|
|
1758
|
+
|
|
1759
|
+
## BL-SUPERPET
|
|
1760
|
+
|
|
1761
|
+
Written by the PET.
|
|
1762
|
+
|
|
1763
|
+
| Key | Type | Default |
|
|
1764
|
+
| --- | --- | --- |
|
|
1765
|
+
| `bank_latch` | byte | 0 |
|
|
1766
|
+
| `system_latch` | byte | 0 |
|
|
1767
|
+
| `socket` | int | 0 |
|
|
1768
|
+
| `ram` | bytes | 65536 × 0 |
|
|
1769
|
+
| `dongle.registers` | ints | [0, 0, 0, 0, 0, 0, 0, 0] |
|
|
1770
|
+
| `dongle.latch` | byte | 255 |
|
|
1771
|
+
| `dongle.shift_in` | int, optional | absent |
|
|
1772
|
+
|
|
1773
|
+
## BL-M6809
|
|
1774
|
+
|
|
1775
|
+
Written by the PET.
|
|
1776
|
+
|
|
1777
|
+
| Key | Type | Default |
|
|
1778
|
+
| --- | --- | --- |
|
|
1779
|
+
| `a` | byte | 0 |
|
|
1780
|
+
| `b` | byte | 0 |
|
|
1781
|
+
| `x` | word | 0 |
|
|
1782
|
+
| `y` | word | 0 |
|
|
1783
|
+
| `u` | word | 0 |
|
|
1784
|
+
| `s` | word | 0 |
|
|
1785
|
+
| `pc` | word | 0 |
|
|
1786
|
+
| `dp` | byte | 0 |
|
|
1787
|
+
| `cc` | byte | 80 |
|
|
1788
|
+
| `cycles` | int | 0 |
|
|
1789
|
+
| `irq` | bool | false |
|
|
1790
|
+
| `firq` | bool | false |
|
|
1791
|
+
| `nmi` | bool | false |
|
|
1792
|
+
| `halt` | bool | false |
|
|
1793
|
+
| `irq.latched` | bool | false |
|
|
1794
|
+
| `irq.seen` | bool | false |
|
|
1795
|
+
| `firq.latched` | bool | false |
|
|
1796
|
+
| `firq.seen` | bool | false |
|
|
1797
|
+
| `nmi.edge` | bool | false |
|
|
1798
|
+
| `nmi.latched` | bool | false |
|
|
1799
|
+
| `nmi.seen` | bool | false |
|
|
1800
|
+
| `nmi.armed` | bool | false |
|
|
1801
|
+
| `halt.latched` | bool | false |
|
|
1802
|
+
| `halt.seen` | bool | false |
|
|
1803
|
+
| `ea` | word | 0 |
|
|
1804
|
+
| `value` | word | 0 |
|
|
1805
|
+
| `post` | byte | 0 |
|
|
1806
|
+
| `opcode` | byte | 0 |
|
|
1807
|
+
| `operation` | text: none enter_nmi enter_firq enter_irq neg xnc com lsr ror asr asl rol dec xdec inc tst jmp clr nop sync jsr x18 daa orcc andcc sex exg tfr leax leay leas leau abx mul xres swi nega xnca coma lsra rora asra asla rola deca xdeca inca tsta xclra clra negb xncb comb lsrb rorb asrb aslb rolb decb xdecb incb tstb xclrb clrb suba cmpa sbca subd anda bita lda xsta eora adca ora adda cmpx ldx xstx sta stx subb cmpb sbcb addd andb bitb ldb xstb eorb adcb orb addb ldd ldu xstu stb std stu xswi2 swi2 cmpd xsta2 cmpy ldy xsty sty xaddd xstb2 lds xsts sts xfirq swi3 cmpu cmps xstx2 xaddu xstu2 | "none" |
|
|
1808
|
+
| `page` | int | 1 |
|
|
1809
|
+
| `group` | int | 0 |
|
|
1810
|
+
| `previous_group` | int | 0 |
|
|
1811
|
+
| `alu_word` | int | 0 |
|
|
1812
|
+
| `vector` | word | 65534 |
|
|
1813
|
+
| `interrupt_mask` | byte | 0 |
|
|
1814
|
+
| `stack_u` | bool | false |
|
|
1815
|
+
| `pos.plan` | text | "fetch" |
|
|
1816
|
+
| `pos.tail` | text | "none" |
|
|
1817
|
+
| `pos.index` | int | 0 |
|
|
1818
|
+
|
|
1649
1819
|
## BL-CIA
|
|
1650
1820
|
|
|
1651
1821
|
Written by the CBM-II.
|
|
@@ -1747,3 +1917,100 @@ Written by the CBM-II.
|
|
|
1747
1917
|
| `ca` | bool | false |
|
|
1748
1918
|
| `cb` | bool | false |
|
|
1749
1919
|
| `lines` | int & 0x1f | 31 |
|
|
1920
|
+
|
|
1921
|
+
## BL-U2
|
|
1922
|
+
|
|
1923
|
+
Written by the KIM-1.
|
|
1924
|
+
|
|
1925
|
+
| Key | Type | Default |
|
|
1926
|
+
| --- | --- | --- |
|
|
1927
|
+
| `ram` | bytes | 64 × 0 |
|
|
1928
|
+
| `ora` | byte | 0 |
|
|
1929
|
+
| `orb` | byte | 0 |
|
|
1930
|
+
| `ddra` | byte | 0 |
|
|
1931
|
+
| `ddrb` | byte | 0 |
|
|
1932
|
+
| `timer.counter` | byte | 0 |
|
|
1933
|
+
| `timer.interval` | int & 0x3 | 0 |
|
|
1934
|
+
| `timer.prescale` | int | 1 |
|
|
1935
|
+
| `timer.expired` | bool | true |
|
|
1936
|
+
| `timer.flag` | bool | false |
|
|
1937
|
+
| `timer.irq_enabled` | bool | false |
|
|
1938
|
+
| `timer.fired` | bool | false |
|
|
1939
|
+
|
|
1940
|
+
## BL-U3
|
|
1941
|
+
|
|
1942
|
+
Written by the KIM-1.
|
|
1943
|
+
|
|
1944
|
+
| Key | Type | Default |
|
|
1945
|
+
| --- | --- | --- |
|
|
1946
|
+
| `ram` | bytes | 64 × 0 |
|
|
1947
|
+
| `ora` | byte | 0 |
|
|
1948
|
+
| `orb` | byte | 0 |
|
|
1949
|
+
| `ddra` | byte | 0 |
|
|
1950
|
+
| `ddrb` | byte | 0 |
|
|
1951
|
+
| `timer.counter` | byte | 0 |
|
|
1952
|
+
| `timer.interval` | int & 0x3 | 0 |
|
|
1953
|
+
| `timer.prescale` | int | 1 |
|
|
1954
|
+
| `timer.expired` | bool | true |
|
|
1955
|
+
| `timer.flag` | bool | false |
|
|
1956
|
+
| `timer.irq_enabled` | bool | false |
|
|
1957
|
+
| `timer.fired` | bool | false |
|
|
1958
|
+
|
|
1959
|
+
## BL-PANEL
|
|
1960
|
+
|
|
1961
|
+
Written by the KIM-1.
|
|
1962
|
+
|
|
1963
|
+
| Key | Type | Default |
|
|
1964
|
+
| --- | --- | --- |
|
|
1965
|
+
| `tty` | bool | false |
|
|
1966
|
+
| `held` | int | -1 |
|
|
1967
|
+
| `digit` | int | -1 |
|
|
1968
|
+
| `segments` | int & 0x7f | 0 |
|
|
1969
|
+
| `since` | int | 0 |
|
|
1970
|
+
| `lit` | ints | 42 × 0 |
|
|
1971
|
+
| `shown` | ints | [0, 0, 0, 0, 0, 0] |
|
|
1972
|
+
| `shown_at` | ints | [-20001, -20001, -20001, -20001, -20001, -20001] |
|
|
1973
|
+
|
|
1974
|
+
## BL-DECK
|
|
1975
|
+
|
|
1976
|
+
Written by the KIM-1.
|
|
1977
|
+
|
|
1978
|
+
| Key | Type | Default |
|
|
1979
|
+
| --- | --- | --- |
|
|
1980
|
+
| `tape.gaps` | ints | [] |
|
|
1981
|
+
| `tape.path` | text | "" |
|
|
1982
|
+
| `playing` | bool | false |
|
|
1983
|
+
| `recording` | bool | false |
|
|
1984
|
+
| `position` | int | 0 |
|
|
1985
|
+
| `next_edge` | int | 0 |
|
|
1986
|
+
| `high` | bool | true |
|
|
1987
|
+
| `output_high` | bool | true |
|
|
1988
|
+
|
|
1989
|
+
## BL-TTY
|
|
1990
|
+
|
|
1991
|
+
Written by the KIM-1.
|
|
1992
|
+
|
|
1993
|
+
| Key | Type | Default |
|
|
1994
|
+
| --- | --- | --- |
|
|
1995
|
+
| `baud` | int | 9600 |
|
|
1996
|
+
| `queue` | ints | [] |
|
|
1997
|
+
| `output` | bytes | [] |
|
|
1998
|
+
| `line_high` | bool | true |
|
|
1999
|
+
| `send.byte` | int | 0 |
|
|
2000
|
+
| `send.bits` | int | 11 |
|
|
2001
|
+
| `send.start` | int | 0 |
|
|
2002
|
+
| `quiet_until` | int | 0 |
|
|
2003
|
+
| `receive.busy` | bool | false |
|
|
2004
|
+
| `receive.byte` | int | 0 |
|
|
2005
|
+
| `receive.bits` | int | 0 |
|
|
2006
|
+
| `receive.edge` | int | 0 |
|
|
2007
|
+
| `receive.sample_at` | int | 0 |
|
|
2008
|
+
| `printer_high` | bool | true |
|
|
2009
|
+
|
|
2010
|
+
## BL-SOUND
|
|
2011
|
+
|
|
2012
|
+
Written by the KIM-1.
|
|
2013
|
+
|
|
2014
|
+
| Key | Type | Default |
|
|
2015
|
+
| --- | --- | --- |
|
|
2016
|
+
| `speaker` | bool | false |
|