badline 0.16.1 → 0.18.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 +213 -0
- data/CLAUDE.md +11 -7
- data/CONTRIBUTING.md +7 -1
- data/README.md +265 -26
- data/doc/media.md +5 -2
- data/doc/pinned-behaviour.md +189 -0
- data/doc/snapshot-format.md +616 -74
- data/doc/snapshots.md +192 -24
- data/exe/badline-ruby +5 -0
- data/lib/badline/audio/terminal.rb +34 -2
- data/lib/badline/c128/keyed_state.rb +2 -0
- data/lib/badline/c128.rb +1 -0
- data/lib/badline/c64/keyed_state.rb +2 -0
- data/lib/badline/c64.rb +1 -0
- data/lib/badline/cbm2/acia.rb +10 -0
- data/lib/badline/cbm2/bus.rb +263 -0
- data/lib/badline/cbm2/cpu.rb +58 -0
- data/lib/badline/cbm2/crtc_video.rb +133 -0
- data/lib/badline/cbm2/ieee_drive.rb +18 -0
- data/lib/badline/cbm2/ieee_layout.rb +69 -0
- data/lib/badline/cbm2/ieee_ports.rb +104 -0
- data/lib/badline/cbm2/ieee_traps.rb +81 -0
- data/lib/badline/cbm2/keyboard_ports.rb +60 -0
- data/lib/badline/cbm2/keyed_modules.rb +67 -0
- data/lib/badline/cbm2/keyed_state.rb +95 -0
- data/lib/badline/cbm2/model.rb +44 -0
- data/lib/badline/cbm2/p500/control_ports.rb +80 -0
- data/lib/badline/cbm2/p500/ieee_layout.rb +41 -0
- data/lib/badline/cbm2/p500/keyed_state.rb +85 -0
- data/lib/badline/cbm2/p500/model.rb +39 -0
- data/lib/badline/cbm2/p500/pages.rb +57 -0
- data/lib/badline/cbm2/p500.rb +264 -0
- data/lib/badline/cbm2/sid_page.rb +19 -0
- data/lib/badline/cbm2.rb +270 -0
- data/lib/badline/{plus4 → chips}/acia/frames.rb +1 -1
- data/lib/badline/chips/acia/keyed_state.rb +47 -0
- data/lib/badline/chips/acia.rb +307 -0
- data/lib/badline/chips/cia/timer.rb +2 -2
- data/lib/badline/chips/cpu/instruction_set.rb +1 -1
- data/lib/badline/chips/crtc.rb +3 -2
- 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/fast_forward.rb +72 -0
- data/lib/badline/chips/riot/keyed_parts.rb +69 -0
- data/lib/badline/chips/riot/timer.rb +91 -0
- data/lib/badline/chips/riot.rb +162 -0
- data/lib/badline/chips/rriot/keyed_state.rb +30 -0
- data/lib/badline/chips/rriot.rb +134 -0
- data/lib/badline/chips/sid/filter.rb +4 -4
- data/lib/badline/chips/sid/waveform.rb +6 -6
- data/lib/badline/chips/tpi/keyed_state.rb +38 -0
- data/lib/badline/chips/tpi.rb +233 -0
- data/lib/badline/chips/vic/bank.rb +60 -5
- data/lib/badline/chips/vic/sprite.rb +4 -3
- data/lib/badline/chips/vic_i/keyed_parts.rb +7 -2
- data/lib/badline/chips/vic_i.rb +84 -21
- data/lib/badline/data_path.rb +3 -3
- data/lib/badline/drives/datasette/keyed_state.rb +9 -1
- data/lib/badline/drives/datasette.rb +27 -3
- data/lib/badline/drives/ieee_models.rb +54 -0
- data/lib/badline/drives/model1001.rb +37 -0
- data/lib/badline/drives/model2031.rb +6 -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 +192 -0
- data/lib/badline/drives/model4040/parts.rb +20 -0
- data/lib/badline/drives/model4040.rb +179 -0
- data/lib/badline/drives/model8050/board.rb +77 -0
- data/lib/badline/drives/model8050/disk.rb +163 -0
- data/lib/badline/drives/model8050/dos_board.rb +91 -0
- data/lib/badline/drives/model8050/fdc_bus.rb +102 -0
- data/lib/badline/drives/model8050/idle.rb +181 -0
- data/lib/badline/drives/model8050/ieee_port.rb +147 -0
- data/lib/badline/drives/model8050/ip_bus.rb +93 -0
- data/lib/badline/drives/model8050/keyed_state.rb +163 -0
- data/lib/badline/drives/model8050/mechanism.rb +230 -0
- data/lib/badline/drives/model8050/parts.rb +37 -0
- data/lib/badline/drives/model8050.rb +131 -0
- data/lib/badline/drives/model9060/idle.rb +149 -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 +195 -0
- data/lib/badline/frontend/app.rb +18 -3
- data/lib/badline/frontend/boot.rb +4 -3
- data/lib/badline/frontend/controls.rb +107 -15
- data/lib/badline/frontend/gamepads.rb +3 -3
- data/lib/badline/frontend/keys.rb +97 -2
- 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 +47 -14
- data/lib/badline/frontend/menu/menu_pages.rb +113 -4
- data/lib/badline/frontend/menu/menu_ports.rb +77 -4
- data/lib/badline/frontend/menu/pause_menu.rb +6 -2
- data/lib/badline/frontend/pet_keyboard.rb +45 -7
- 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 +49 -11
- data/lib/badline/frontend.rb +3 -0
- data/lib/badline/kernal_trap/dos/disk_commands.rb +80 -0
- data/lib/badline/kernal_trap/dos/status.rb +3 -0
- data/lib/badline/kernal_trap/dos.rb +18 -5
- data/lib/badline/kernal_trap/ieee.rb +4 -2
- data/lib/badline/kernal_trap/ieee_layout.rb +95 -43
- 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 +116 -0
- data/lib/badline/kim1/teletype.rb +193 -0
- data/lib/badline/kim1.rb +190 -0
- data/lib/badline/machine/ieee_drives.rb +171 -0
- data/lib/badline/machine/keyboard_buffer.rb +20 -3
- data/lib/badline/machine/line_sound.rb +122 -0
- data/lib/badline/machine/settling.rb +4 -0
- data/lib/badline/machine.rb +62 -14
- data/lib/badline/media/cbm2_media.rb +29 -0
- 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/program.rb +6 -3
- data/lib/badline/media/true_drive.rb +51 -25
- data/lib/badline/media.rb +23 -8
- data/lib/badline/options/family.rb +108 -6
- data/lib/badline/options/help.rb +58 -12
- data/lib/badline/options/table.rb +60 -14
- data/lib/badline/options/validation.rb +71 -11
- data/lib/badline/options.rb +46 -13
- data/lib/badline/pet/bus.rb +16 -2
- data/lib/badline/pet/cassettes.rb +22 -1
- data/lib/badline/pet/ieee_drive.rb +5 -64
- data/lib/badline/pet/ieee_ports.rb +7 -0
- 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 +81 -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 +216 -0
- data/lib/badline/pet.rb +33 -6
- data/lib/badline/plus4/acia.rb +4 -298
- data/lib/badline/plus4/keyed_parts.rb +0 -44
- data/lib/badline/plus4/keyed_state.rb +2 -0
- data/lib/badline/plus4.rb +2 -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/8050/dos-2.7.rom +0 -0
- data/lib/badline/roms/8050/fdc-901869-01.rom +0 -0
- data/lib/badline/roms/8050/fdc-901885-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 +277 -0
- data/lib/badline/roms/cbm2/basic128-02b.rom +0 -0
- data/lib/badline/roms/cbm2/basic128.rom +0 -0
- data/lib/badline/roms/cbm2/basic256.rom +0 -0
- data/lib/badline/roms/cbm2/characters-600.rom +0 -0
- data/lib/badline/roms/cbm2/characters-700.rom +0 -0
- data/lib/badline/roms/cbm2/kernal-03b.rom +0 -0
- data/lib/badline/roms/cbm2/kernal-04a.rom +0 -0
- data/lib/badline/roms/cbm2/p500-basic.rom +0 -0
- data/lib/badline/roms/cbm2/p500-kernal.rom +0 -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/cbm2_setup.rb +53 -0
- data/lib/badline/snapshot/container.rb +9 -2
- data/lib/badline/snapshot/field_doc/markdown.rb +4 -2
- data/lib/badline/snapshot/field_doc.rb +59 -3
- data/lib/badline/snapshot/image.rb +65 -9
- 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/cbm2.rb +93 -0
- data/lib/badline/snapshot/vice/cbm2_acia.rb +75 -0
- data/lib/badline/snapshot/vice/cbm2_crtc.rb +127 -0
- data/lib/badline/snapshot/vice/cbm2_mains.rb +49 -0
- data/lib/badline/snapshot/vice/cbm2_mem.rb +75 -0
- data/lib/badline/snapshot/vice/cbm2_restore.rb +204 -0
- data/lib/badline/snapshot/vice/cbm2_tpi.rb +58 -0
- data/lib/badline/snapshot/vice/cias.rb +13 -9
- data/lib/badline/snapshot/vice/p500.rb +96 -0
- data/lib/badline/snapshot/vice/p500_restore.rb +130 -0
- data/lib/badline/snapshot/vice/p500_vicii.rb +166 -0
- data/lib/badline/snapshot/vice/pet.rb +20 -10
- data/lib/badline/snapshot/vice/pet_cpu.rb +42 -5
- data/lib/badline/snapshot/vice/pet_crtc.rb +25 -17
- data/lib/badline/snapshot/vice/pet_drive.rb +180 -0
- data/lib/badline/snapshot/vice/pet_drive8050.rb +336 -0
- data/lib/badline/snapshot/vice/pet_mem.rb +49 -5
- data/lib/badline/snapshot/vice/pet_restore.rb +100 -7
- data/lib/badline/snapshot/vice/pet_via.rb +6 -5
- data/lib/badline/snapshot/vice/sid_registers.rb +2 -1
- data/lib/badline/snapshot/vice/vicii_import.rb +10 -6
- data/lib/badline/snapshot/vice.rb +3 -0
- data/lib/badline/snapshot.rb +15 -3
- data/lib/badline/status.rb +30 -30
- data/lib/badline/storage/crt_file.rb +7 -1
- data/lib/badline/storage/d64_image.rb +7 -0
- data/lib/badline/storage/d67_image.rb +55 -0
- data/lib/badline/storage/d80_image.rb +17 -1
- data/lib/badline/storage/d81_image.rb +14 -0
- data/lib/badline/storage/d90_image.rb +180 -0
- data/lib/badline/storage/disk_image/bam.rb +18 -3
- data/lib/badline/storage/disk_image/formatting.rb +69 -0
- data/lib/badline/storage/disk_image/writing.rb +37 -2
- data/lib/badline/storage/disk_image.rb +2 -0
- data/lib/badline/storage/kim_tape.rb +254 -0
- data/lib/badline/storage/papertape.rb +90 -0
- data/lib/badline/storage.rb +5 -0
- data/lib/badline/support/cbm2_checkpoint.rb +48 -0
- data/lib/badline/support/kim1_checkpoint.rb +41 -0
- data/lib/badline/support/p500_checkpoint.rb +35 -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.rb +26 -12
- data/lib/badline.rb +2 -0
- metadata +148 -2
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "pet_checkpoint"
|
|
4
|
+
|
|
5
|
+
module Badline
|
|
6
|
+
module Support
|
|
7
|
+
# A Checkpoint of a SuperPET: the PET's components (PETCheckpoint), the
|
|
8
|
+
# board's latches and bank RAM, the 6702, the ACIA, the 6809 with
|
|
9
|
+
# whether it has the bus, and the traps on the Waterloo ROM's IEEE-488
|
|
10
|
+
# routines, empty without a disk on device 8.
|
|
11
|
+
module SuperPETCheckpoint
|
|
12
|
+
COMPONENTS = (PETCheckpoint::COMPONENTS + %w[board dongle acia m6809 waterloo]).freeze
|
|
13
|
+
|
|
14
|
+
def self.take(machine)
|
|
15
|
+
pet = PETCheckpoint.take(machine)
|
|
16
|
+
board = machine.board
|
|
17
|
+
dongle = machine.dongle
|
|
18
|
+
acia = machine.acia
|
|
19
|
+
Checkpoint.new(machine.cycles, pet.digests + [
|
|
20
|
+
Checkpoint.fnv1a([board.bank_latch, board.system_latch, board.socket, *board.cells]),
|
|
21
|
+
Checkpoint.fnv1a(dongle.registers + [dongle.latch, dongle.shift_at]),
|
|
22
|
+
Checkpoint.fnv1a([acia.command, acia.control, acia.status, acia.due]),
|
|
23
|
+
Checkpoint.fnv1a(m6809_state(machine.m6809) + [machine.m6809_running? ? 1 : 0]),
|
|
24
|
+
Checkpoint.fnv1a(machine.waterloo_traps&.state || [])
|
|
25
|
+
], COMPONENTS)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def self.m6809_state(cpu)
|
|
29
|
+
[cpu.a, cpu.b, cpu.x, cpu.y, cpu.u, cpu.s, cpu.pc, cpu.dp, cpu.cc, cpu.cycles]
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def self.parse(line) = Checkpoint.parse(line, COMPONENTS)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
data/lib/badline/version.rb
CHANGED
|
@@ -28,7 +28,7 @@ module Badline
|
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
# Raises Snapshot::FormatError for the modules of a VIC-20 with
|
|
31
|
-
# another RAM expansion.
|
|
31
|
+
# another RAM expansion or of another model.
|
|
32
32
|
def load_modules(modules)
|
|
33
33
|
machine = modules.machine
|
|
34
34
|
check_snapshot_setup(Snapshot::Vic20Setup.read_fields(machine))
|
|
@@ -62,9 +62,12 @@ module Badline
|
|
|
62
62
|
end
|
|
63
63
|
|
|
64
64
|
def check_snapshot_setup(setup)
|
|
65
|
-
|
|
65
|
+
unless setup.ram == @ram_configuration
|
|
66
|
+
raise Snapshot::FormatError, "the snapshot is of a VIC-20 with #{setup.ram} RAM, not #{@ram_configuration}"
|
|
67
|
+
end
|
|
68
|
+
return if setup.model == @model
|
|
66
69
|
|
|
67
|
-
raise Snapshot::FormatError, "the snapshot is of a
|
|
70
|
+
raise Snapshot::FormatError, "the snapshot is of a #{setup.model.upcase} VIC-20, not a #{@model.upcase} one"
|
|
68
71
|
end
|
|
69
72
|
end
|
|
70
73
|
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
module Badline
|
|
4
4
|
class Vic20
|
|
5
5
|
# The machine's own fields in a keyed snapshot module (Snapshot::Keyed,
|
|
6
|
-
# BL-MACHINE): the family, its RAM expansion by name, the
|
|
7
|
-
# the RESTORE key's NMI, and the host's typing still to
|
|
8
|
-
# handlers still to run under host.*.
|
|
6
|
+
# BL-MACHINE): the family, its RAM expansion and model by name, the
|
|
7
|
+
# cycle count, the RESTORE key's NMI, and the host's typing still to
|
|
8
|
+
# feed and on_init handlers still to run under host.*.
|
|
9
9
|
module KeyedState
|
|
10
10
|
# How many more on_init handlers the machine a snapshot was taken of had
|
|
11
11
|
# yet to run than this one has. Nil until the machine is restored.
|
|
@@ -20,10 +20,11 @@ module Badline
|
|
|
20
20
|
|
|
21
21
|
def save_machine_fields(out)
|
|
22
22
|
out.text("family", "vic20").text("written_by", VERSION)
|
|
23
|
-
Snapshot::Vic20Setup.new(ram: @ram_configuration).write_fields(out)
|
|
23
|
+
Snapshot::Vic20Setup.new(ram: @ram_configuration, model: @model).write_fields(out)
|
|
24
24
|
out.int("cycles", @cycles).bool("nmi_asserted", @nmi_asserted)
|
|
25
25
|
pending = @pending_keys
|
|
26
26
|
out.ints("host.pending_keys", pending) if pending
|
|
27
|
+
save_init_keys(out)
|
|
27
28
|
out.int("host.init_pending", @cycles <= @init_threshold ? @init_handlers.length : 0)
|
|
28
29
|
end
|
|
29
30
|
|
|
@@ -32,6 +33,7 @@ module Badline
|
|
|
32
33
|
@nmi_asserted = input.bool("nmi_asserted", @nmi_asserted)
|
|
33
34
|
pending = input.ints("host.pending_keys", [])
|
|
34
35
|
@pending_keys = pending.empty? ? nil : pending.dup
|
|
36
|
+
load_init_keys(input)
|
|
35
37
|
@init_handlers_lost = [input.int("host.init_pending", 0) - @init_handlers.length, 0].max
|
|
36
38
|
end
|
|
37
39
|
|
data/lib/badline/vic20.rb
CHANGED
|
@@ -11,8 +11,8 @@ require "badline/vic20/keyed_state"
|
|
|
11
11
|
require "badline/vic20/keyed_modules"
|
|
12
12
|
|
|
13
13
|
module Badline
|
|
14
|
-
# The Commodore VIC-20 with the PAL 6561: a 6502 at
|
|
15
|
-
# VIC-I and two 6522 VIAs. VIA 1, at $9110, pulls NMI, and VIA 2, at
|
|
14
|
+
# The Commodore VIC-20, with the PAL 6561 or the NTSC 6560: a 6502 at
|
|
15
|
+
# the VIC's clock, the VIC-I and two 6522 VIAs. VIA 1, at $9110, pulls NMI, and VIA 2, at
|
|
16
16
|
# $9120, pulls IRQ. Nothing else interrupts the CPU, and nothing halts
|
|
17
17
|
# it: the VIC fetches in the half of the cycle the CPU leaves alone.
|
|
18
18
|
#
|
|
@@ -34,6 +34,14 @@ module Badline
|
|
|
34
34
|
# The RAM expansion it was built with, a key of Bus::RAM_CONFIGURATIONS.
|
|
35
35
|
attr_reader :ram_configuration
|
|
36
36
|
|
|
37
|
+
# The model it was built as, one of MODELS.
|
|
38
|
+
attr_reader :model
|
|
39
|
+
|
|
40
|
+
# The models, by xvic's names for its video standards: the PAL one with
|
|
41
|
+
# the 6561 and KERNAL 901486-07, and the NTSC one with the 6560 and
|
|
42
|
+
# KERNAL 901486-06.
|
|
43
|
+
MODELS = %w[pal ntsc].freeze
|
|
44
|
+
|
|
37
45
|
def ram = @bus.ram
|
|
38
46
|
|
|
39
47
|
# Reads and writes memory as the CPU sees it, through the bus.
|
|
@@ -50,10 +58,14 @@ module Badline
|
|
|
50
58
|
# No pot device plugs in yet.
|
|
51
59
|
def control_ports = nil
|
|
52
60
|
|
|
53
|
-
# +ram+ names the RAM expansion, one of Bus::RAM_CONFIGURATIONS
|
|
54
|
-
|
|
61
|
+
# +ram+ names the RAM expansion, one of Bus::RAM_CONFIGURATIONS, and
|
|
62
|
+
# +model+ the model, one of MODELS.
|
|
63
|
+
def initialize(ram: :unexpanded, model: "pal", debug: false)
|
|
55
64
|
@ram_configuration = ram
|
|
56
|
-
@
|
|
65
|
+
@model = model
|
|
66
|
+
raise ArgumentError, "no VIC-20 model named #{model}" unless MODELS.include?(model)
|
|
67
|
+
|
|
68
|
+
@vic = Chips::VICI.new(model == "ntsc" ? Chips::VICI::NTSC : Chips::VICI::PAL)
|
|
57
69
|
@keyboard = Input::Keyboard.new(matrix: KeyboardVIAPorts::MATRIX)
|
|
58
70
|
@joystick1 = Input::Joystick.new
|
|
59
71
|
@iec_bus = Drives::SerialBus.new
|
|
@@ -63,7 +75,8 @@ module Badline
|
|
|
63
75
|
keyboard_ports = KeyboardVIAPorts.new(keyboard: @keyboard, joystick: @joystick1)
|
|
64
76
|
@via2 = Chips::VIA.new(start: 0x9000, peripheral: keyboard_ports)
|
|
65
77
|
keyboard_ports.connect(@via2)
|
|
66
|
-
@bus = Bus.new(vic: @vic, via1: @via1, via2: @via2, blocks: Bus::RAM_CONFIGURATIONS.fetch(ram)
|
|
78
|
+
@bus = Bus.new(vic: @vic, via1: @via1, via2: @via2, blocks: Bus::RAM_CONFIGURATIONS.fetch(ram),
|
|
79
|
+
kernal: "vic20/kernal-#{model}.rom")
|
|
67
80
|
@vic.connect(@bus)
|
|
68
81
|
@cpu = CPU.new(@bus, debug:)
|
|
69
82
|
@cycles = 0
|
|
@@ -72,6 +85,7 @@ module Badline
|
|
|
72
85
|
@nmi_asserted = false
|
|
73
86
|
@init_handlers = []
|
|
74
87
|
@pending_keys = nil
|
|
88
|
+
@init_keys = nil
|
|
75
89
|
@dos = nil
|
|
76
90
|
@serial_trap = nil
|
|
77
91
|
@save_trap = nil
|
|
@@ -109,18 +123,18 @@ module Badline
|
|
|
109
123
|
# #drain_samples.
|
|
110
124
|
def sound_source = @sound
|
|
111
125
|
|
|
112
|
-
# The
|
|
113
|
-
#
|
|
114
|
-
# The VIC draws 4 pixels a cycle,
|
|
115
|
-
#
|
|
116
|
-
# xvic draws them.
|
|
126
|
+
# The VIC's clock and raster, and the part of the display xvic shows:
|
|
127
|
+
# every pixel of a line, from line 28, below the VIC's vertical blank,
|
|
128
|
+
# 284 lines on PAL and 233 on NTSC. The VIC draws 4 pixels a cycle,
|
|
129
|
+
# half as many as the C64's VIC-II on about the same clock, so each
|
|
130
|
+
# pixel shows two window pixels wide, as xvic draws them.
|
|
117
131
|
def timing
|
|
118
132
|
profile = @vic.profile
|
|
119
133
|
width = profile.cycles_per_line * Chips::VICI::PIXELS_PER_CYCLE
|
|
120
134
|
blanked = profile.blanked_lines
|
|
121
135
|
Timing.new(clock_hz: profile.clock_hz, cycles_per_line: profile.cycles_per_line,
|
|
122
136
|
lines_per_frame: profile.lines_per_frame,
|
|
123
|
-
crop: [0, blanked, width, profile.
|
|
137
|
+
crop: [0, blanked, width, profile.shown_lines], pixel_width: 2, dots: 1)
|
|
124
138
|
end
|
|
125
139
|
|
|
126
140
|
# The RESTORE key pulls VIA 1's CA1 low while it is held. The KERNAL
|
data/lib/badline.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: badline
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.18.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Inge Jørgensen
|
|
@@ -140,7 +140,30 @@ files:
|
|
|
140
140
|
- lib/badline/c64/reu/ram.rb
|
|
141
141
|
- lib/badline/c64/reu/trigger.rb
|
|
142
142
|
- lib/badline/c64/true_drives.rb
|
|
143
|
+
- lib/badline/cbm2.rb
|
|
144
|
+
- lib/badline/cbm2/acia.rb
|
|
145
|
+
- lib/badline/cbm2/bus.rb
|
|
146
|
+
- lib/badline/cbm2/cpu.rb
|
|
147
|
+
- lib/badline/cbm2/crtc_video.rb
|
|
148
|
+
- lib/badline/cbm2/ieee_drive.rb
|
|
149
|
+
- lib/badline/cbm2/ieee_layout.rb
|
|
150
|
+
- lib/badline/cbm2/ieee_ports.rb
|
|
151
|
+
- lib/badline/cbm2/ieee_traps.rb
|
|
152
|
+
- lib/badline/cbm2/keyboard_ports.rb
|
|
153
|
+
- lib/badline/cbm2/keyed_modules.rb
|
|
154
|
+
- lib/badline/cbm2/keyed_state.rb
|
|
155
|
+
- lib/badline/cbm2/model.rb
|
|
156
|
+
- lib/badline/cbm2/p500.rb
|
|
157
|
+
- lib/badline/cbm2/p500/control_ports.rb
|
|
158
|
+
- lib/badline/cbm2/p500/ieee_layout.rb
|
|
159
|
+
- lib/badline/cbm2/p500/keyed_state.rb
|
|
160
|
+
- lib/badline/cbm2/p500/model.rb
|
|
161
|
+
- lib/badline/cbm2/p500/pages.rb
|
|
162
|
+
- lib/badline/cbm2/sid_page.rb
|
|
143
163
|
- lib/badline/chips.rb
|
|
164
|
+
- lib/badline/chips/acia.rb
|
|
165
|
+
- lib/badline/chips/acia/frames.rb
|
|
166
|
+
- lib/badline/chips/acia/keyed_state.rb
|
|
144
167
|
- lib/badline/chips/cia.rb
|
|
145
168
|
- lib/badline/chips/cia/fast_forward.rb
|
|
146
169
|
- lib/badline/chips/cia/interrupt_register.rb
|
|
@@ -171,9 +194,27 @@ files:
|
|
|
171
194
|
- lib/badline/chips/cpu/traps.rb
|
|
172
195
|
- lib/badline/chips/crtc.rb
|
|
173
196
|
- lib/badline/chips/crtc/keyed_state.rb
|
|
197
|
+
- lib/badline/chips/m6809.rb
|
|
198
|
+
- lib/badline/chips/m6809/arithmetic.rb
|
|
199
|
+
- lib/badline/chips/m6809/bus_steps.rb
|
|
200
|
+
- lib/badline/chips/m6809/core.rb
|
|
201
|
+
- lib/badline/chips/m6809/indexed.rb
|
|
202
|
+
- lib/badline/chips/m6809/interrupts.rb
|
|
203
|
+
- lib/badline/chips/m6809/keyed_state.rb
|
|
204
|
+
- lib/badline/chips/m6809/opcodes.rb
|
|
205
|
+
- lib/badline/chips/m6809/operations.rb
|
|
206
|
+
- lib/badline/chips/m6809/plans.rb
|
|
207
|
+
- lib/badline/chips/m6809/registers.rb
|
|
208
|
+
- lib/badline/chips/m6809/stack.rb
|
|
174
209
|
- lib/badline/chips/pia.rb
|
|
175
210
|
- lib/badline/chips/pia/control_lines.rb
|
|
176
211
|
- lib/badline/chips/pia/keyed_parts.rb
|
|
212
|
+
- lib/badline/chips/riot.rb
|
|
213
|
+
- lib/badline/chips/riot/fast_forward.rb
|
|
214
|
+
- lib/badline/chips/riot/keyed_parts.rb
|
|
215
|
+
- lib/badline/chips/riot/timer.rb
|
|
216
|
+
- lib/badline/chips/rriot.rb
|
|
217
|
+
- lib/badline/chips/rriot/keyed_state.rb
|
|
177
218
|
- lib/badline/chips/sid.rb
|
|
178
219
|
- lib/badline/chips/sid/catch_up.rb
|
|
179
220
|
- lib/badline/chips/sid/decimator.rb
|
|
@@ -196,6 +237,8 @@ files:
|
|
|
196
237
|
- lib/badline/chips/ted/sound/output.rb
|
|
197
238
|
- lib/badline/chips/ted/timers.rb
|
|
198
239
|
- lib/badline/chips/tia.rb
|
|
240
|
+
- lib/badline/chips/tpi.rb
|
|
241
|
+
- lib/badline/chips/tpi/keyed_state.rb
|
|
199
242
|
- lib/badline/chips/vdc.rb
|
|
200
243
|
- lib/badline/chips/vdc/keyed_parts.rb
|
|
201
244
|
- lib/badline/chips/vdc/memory.rb
|
|
@@ -270,6 +313,8 @@ files:
|
|
|
270
313
|
- lib/badline/drives/engine/vias.rb
|
|
271
314
|
- lib/badline/drives/engine/watch.rb
|
|
272
315
|
- lib/badline/drives/ieee_bus.rb
|
|
316
|
+
- lib/badline/drives/ieee_models.rb
|
|
317
|
+
- lib/badline/drives/model1001.rb
|
|
273
318
|
- lib/badline/drives/model1541.rb
|
|
274
319
|
- lib/badline/drives/model1541/bus.rb
|
|
275
320
|
- lib/badline/drives/model1541/byte_ready.rb
|
|
@@ -318,6 +363,30 @@ files:
|
|
|
318
363
|
- lib/badline/drives/model2031/ieee_port.rb
|
|
319
364
|
- lib/badline/drives/model2031/keyed_state.rb
|
|
320
365
|
- lib/badline/drives/model2031/parts.rb
|
|
366
|
+
- lib/badline/drives/model4040.rb
|
|
367
|
+
- lib/badline/drives/model4040/disk.rb
|
|
368
|
+
- lib/badline/drives/model4040/ip_bus.rb
|
|
369
|
+
- lib/badline/drives/model4040/keyed_state.rb
|
|
370
|
+
- lib/badline/drives/model4040/mechanism.rb
|
|
371
|
+
- lib/badline/drives/model4040/parts.rb
|
|
372
|
+
- lib/badline/drives/model8050.rb
|
|
373
|
+
- lib/badline/drives/model8050/board.rb
|
|
374
|
+
- lib/badline/drives/model8050/disk.rb
|
|
375
|
+
- lib/badline/drives/model8050/dos_board.rb
|
|
376
|
+
- lib/badline/drives/model8050/fdc_bus.rb
|
|
377
|
+
- lib/badline/drives/model8050/idle.rb
|
|
378
|
+
- lib/badline/drives/model8050/ieee_port.rb
|
|
379
|
+
- lib/badline/drives/model8050/ip_bus.rb
|
|
380
|
+
- lib/badline/drives/model8050/keyed_state.rb
|
|
381
|
+
- lib/badline/drives/model8050/mechanism.rb
|
|
382
|
+
- lib/badline/drives/model8050/parts.rb
|
|
383
|
+
- lib/badline/drives/model9060.rb
|
|
384
|
+
- lib/badline/drives/model9060/idle.rb
|
|
385
|
+
- lib/badline/drives/model9060/keyed_state.rb
|
|
386
|
+
- lib/badline/drives/model9060/parts.rb
|
|
387
|
+
- lib/badline/drives/model9060/sasi_bus.rb
|
|
388
|
+
- lib/badline/drives/model9060/sasi_commands.rb
|
|
389
|
+
- lib/badline/drives/model9060/sasi_target.rb
|
|
321
390
|
- lib/badline/drives/serial_bus.rb
|
|
322
391
|
- lib/badline/ffi.rb
|
|
323
392
|
- lib/badline/frontend.rb
|
|
@@ -332,9 +401,11 @@ files:
|
|
|
332
401
|
- lib/badline/frontend/frame_report.rb
|
|
333
402
|
- lib/badline/frontend/gamepads.rb
|
|
334
403
|
- lib/badline/frontend/keys.rb
|
|
404
|
+
- lib/badline/frontend/kim1_panel.rb
|
|
335
405
|
- lib/badline/frontend/machine_window.rb
|
|
336
406
|
- lib/badline/frontend/media_slots.rb
|
|
337
407
|
- lib/badline/frontend/menu/confirmation.rb
|
|
408
|
+
- lib/badline/frontend/menu/drive_types.rb
|
|
338
409
|
- lib/badline/frontend/menu/file_browser.rb
|
|
339
410
|
- lib/badline/frontend/menu/menu_dialogs.rb
|
|
340
411
|
- lib/badline/frontend/menu/menu_media.rb
|
|
@@ -365,6 +436,7 @@ files:
|
|
|
365
436
|
- lib/badline/frontend/screenshot.rb
|
|
366
437
|
- lib/badline/frontend/snapshots.rb
|
|
367
438
|
- lib/badline/frontend/sound.rb
|
|
439
|
+
- lib/badline/frontend/teletype_pane.rb
|
|
368
440
|
- lib/badline/frontend/timeline.rb
|
|
369
441
|
- lib/badline/input.rb
|
|
370
442
|
- lib/badline/input/control_ports.rb
|
|
@@ -380,6 +452,7 @@ files:
|
|
|
380
452
|
- lib/badline/kernal_trap/dos/block_commands.rb
|
|
381
453
|
- lib/badline/kernal_trap/dos/channel.rb
|
|
382
454
|
- lib/badline/kernal_trap/dos/channels.rb
|
|
455
|
+
- lib/badline/kernal_trap/dos/disk_commands.rb
|
|
383
456
|
- lib/badline/kernal_trap/dos/memory.rb
|
|
384
457
|
- lib/badline/kernal_trap/dos/parameters.rb
|
|
385
458
|
- lib/badline/kernal_trap/dos/status.rb
|
|
@@ -396,15 +469,31 @@ files:
|
|
|
396
469
|
- lib/badline/kernal_trap/save.rb
|
|
397
470
|
- lib/badline/kernal_trap/serial.rb
|
|
398
471
|
- lib/badline/kernal_trap/steps.rb
|
|
472
|
+
- lib/badline/kim1.rb
|
|
473
|
+
- lib/badline/kim1/bus.rb
|
|
474
|
+
- lib/badline/kim1/cpu.rb
|
|
475
|
+
- lib/badline/kim1/host_terminal.rb
|
|
476
|
+
- lib/badline/kim1/key_entry.rb
|
|
477
|
+
- lib/badline/kim1/keyed_modules.rb
|
|
478
|
+
- lib/badline/kim1/keyed_state.rb
|
|
479
|
+
- lib/badline/kim1/panel.rb
|
|
480
|
+
- lib/badline/kim1/rriots.rb
|
|
481
|
+
- lib/badline/kim1/sound.rb
|
|
482
|
+
- lib/badline/kim1/tape.rb
|
|
483
|
+
- lib/badline/kim1/teletype.rb
|
|
399
484
|
- lib/badline/machine.rb
|
|
400
485
|
- lib/badline/machine/clocking.rb
|
|
486
|
+
- lib/badline/machine/ieee_drives.rb
|
|
401
487
|
- lib/badline/machine/keyboard_buffer.rb
|
|
488
|
+
- lib/badline/machine/line_sound.rb
|
|
402
489
|
- lib/badline/machine/settling.rb
|
|
403
490
|
- lib/badline/media.rb
|
|
404
491
|
- lib/badline/media/boot_disk.rb
|
|
492
|
+
- lib/badline/media/cbm2_media.rb
|
|
405
493
|
- lib/badline/media/disk_list.rb
|
|
406
494
|
- lib/badline/media/disk_set.rb
|
|
407
495
|
- lib/badline/media/extensions.rb
|
|
496
|
+
- lib/badline/media/kim1_media.rb
|
|
408
497
|
- lib/badline/media/not_disk.rb
|
|
409
498
|
- lib/badline/media/pet_media.rb
|
|
410
499
|
- lib/badline/media/plus4_media.rb
|
|
@@ -442,11 +531,18 @@ files:
|
|
|
442
531
|
- lib/badline/pet/model.rb
|
|
443
532
|
- lib/badline/pet/rom_sets.rb
|
|
444
533
|
- lib/badline/pet/sound.rb
|
|
534
|
+
- lib/badline/pet/superpet.rb
|
|
535
|
+
- lib/badline/pet/superpet/acia.rb
|
|
536
|
+
- lib/badline/pet/superpet/board.rb
|
|
537
|
+
- lib/badline/pet/superpet/dongle.rb
|
|
538
|
+
- lib/badline/pet/superpet/keyed_modules.rb
|
|
539
|
+
- lib/badline/pet/superpet/keyed_parts.rb
|
|
540
|
+
- lib/badline/pet/superpet/m6809.rb
|
|
541
|
+
- lib/badline/pet/superpet/waterloo_traps.rb
|
|
445
542
|
- lib/badline/pet/via.rb
|
|
446
543
|
- lib/badline/pet/via_ports.rb
|
|
447
544
|
- lib/badline/plus4.rb
|
|
448
545
|
- lib/badline/plus4/acia.rb
|
|
449
|
-
- lib/badline/plus4/acia/frames.rb
|
|
450
546
|
- lib/badline/plus4/bus.rb
|
|
451
547
|
- lib/badline/plus4/cassette_sense.rb
|
|
452
548
|
- lib/badline/plus4/cpu.rb
|
|
@@ -463,12 +559,32 @@ files:
|
|
|
463
559
|
- lib/badline/plus4/user_port.rb
|
|
464
560
|
- lib/badline/region.rb
|
|
465
561
|
- lib/badline/rom.rb
|
|
562
|
+
- lib/badline/roms/1001/fdc-251257-02a.rom
|
|
563
|
+
- lib/badline/roms/4040/dos-1.2.rom
|
|
564
|
+
- lib/badline/roms/4040/dos-2.1-rev.rom
|
|
565
|
+
- lib/badline/roms/4040/dos-2.1.rom
|
|
566
|
+
- lib/badline/roms/4040/fdc-901466-02.rom
|
|
567
|
+
- lib/badline/roms/4040/fdc-901466-04.rom
|
|
568
|
+
- lib/badline/roms/8050/dos-2.7.rom
|
|
569
|
+
- lib/badline/roms/8050/fdc-901869-01.rom
|
|
570
|
+
- lib/badline/roms/8050/fdc-901885-04.rom
|
|
571
|
+
- lib/badline/roms/9060/dos-3.0.rom
|
|
572
|
+
- lib/badline/roms/9060/sasi-300515-revb.rom
|
|
466
573
|
- lib/badline/roms/README
|
|
467
574
|
- lib/badline/roms/basic.rom
|
|
468
575
|
- lib/badline/roms/c128/basic.rom
|
|
469
576
|
- lib/badline/roms/c128/character.rom
|
|
470
577
|
- lib/badline/roms/c128/kernal.rom
|
|
471
578
|
- lib/badline/roms/c64gs.rom
|
|
579
|
+
- lib/badline/roms/cbm2/basic128-02b.rom
|
|
580
|
+
- lib/badline/roms/cbm2/basic128.rom
|
|
581
|
+
- lib/badline/roms/cbm2/basic256.rom
|
|
582
|
+
- lib/badline/roms/cbm2/characters-600.rom
|
|
583
|
+
- lib/badline/roms/cbm2/characters-700.rom
|
|
584
|
+
- lib/badline/roms/cbm2/kernal-03b.rom
|
|
585
|
+
- lib/badline/roms/cbm2/kernal-04a.rom
|
|
586
|
+
- lib/badline/roms/cbm2/p500-basic.rom
|
|
587
|
+
- lib/badline/roms/cbm2/p500-kernal.rom
|
|
472
588
|
- lib/badline/roms/character.rom
|
|
473
589
|
- lib/badline/roms/dos1541.rom
|
|
474
590
|
- lib/badline/roms/dos1551.rom
|
|
@@ -481,10 +597,13 @@ files:
|
|
|
481
597
|
- lib/badline/roms/kernal-pet64.rom
|
|
482
598
|
- lib/badline/roms/kernal-sx64.rom
|
|
483
599
|
- lib/badline/roms/kernal.rom
|
|
600
|
+
- lib/badline/roms/kim1/6530-002.rom
|
|
601
|
+
- lib/badline/roms/kim1/6530-003.rom
|
|
484
602
|
- lib/badline/roms/pet/basic1.rom
|
|
485
603
|
- lib/badline/roms/pet/basic2.rom
|
|
486
604
|
- lib/badline/roms/pet/basic4.rom
|
|
487
605
|
- lib/badline/roms/pet/characters-din.rom
|
|
606
|
+
- lib/badline/roms/pet/characters-superpet.rom
|
|
488
607
|
- lib/badline/roms/pet/characters1.rom
|
|
489
608
|
- lib/badline/roms/pet/characters2.rom
|
|
490
609
|
- lib/badline/roms/pet/editor1.rom
|
|
@@ -501,6 +620,10 @@ files:
|
|
|
501
620
|
- lib/badline/roms/pet/kernal1.rom
|
|
502
621
|
- lib/badline/roms/pet/kernal2.rom
|
|
503
622
|
- lib/badline/roms/pet/kernal4.rom
|
|
623
|
+
- lib/badline/roms/pet/superpet-a000.rom
|
|
624
|
+
- lib/badline/roms/pet/superpet-c000.rom
|
|
625
|
+
- lib/badline/roms/pet/superpet-e000-50hz.rom
|
|
626
|
+
- lib/badline/roms/pet/superpet-e000.rom
|
|
504
627
|
- lib/badline/roms/plus4/basic.rom
|
|
505
628
|
- lib/badline/roms/plus4/function-high.rom
|
|
506
629
|
- lib/badline/roms/plus4/function-low.rom
|
|
@@ -520,6 +643,7 @@ files:
|
|
|
520
643
|
- lib/badline/snapshot.rb
|
|
521
644
|
- lib/badline/snapshot/c128_setup.rb
|
|
522
645
|
- lib/badline/snapshot/c64_setup.rb
|
|
646
|
+
- lib/badline/snapshot/cbm2_setup.rb
|
|
523
647
|
- lib/badline/snapshot/container.rb
|
|
524
648
|
- lib/badline/snapshot/field_doc.rb
|
|
525
649
|
- lib/badline/snapshot/field_doc/markdown.rb
|
|
@@ -531,6 +655,7 @@ files:
|
|
|
531
655
|
- lib/badline/snapshot/keyed/recorder.rb
|
|
532
656
|
- lib/badline/snapshot/keyed/report.rb
|
|
533
657
|
- lib/badline/snapshot/keyed/writer.rb
|
|
658
|
+
- lib/badline/snapshot/kim1_setup.rb
|
|
534
659
|
- lib/badline/snapshot/machine_state.rb
|
|
535
660
|
- lib/badline/snapshot/pet_setup.rb
|
|
536
661
|
- lib/badline/snapshot/plus4_setup.rb
|
|
@@ -538,14 +663,26 @@ files:
|
|
|
538
663
|
- lib/badline/snapshot/vic20_setup.rb
|
|
539
664
|
- lib/badline/snapshot/vice.rb
|
|
540
665
|
- lib/badline/snapshot/vice/c64_mem.rb
|
|
666
|
+
- lib/badline/snapshot/vice/cbm2.rb
|
|
667
|
+
- lib/badline/snapshot/vice/cbm2_acia.rb
|
|
668
|
+
- lib/badline/snapshot/vice/cbm2_crtc.rb
|
|
669
|
+
- lib/badline/snapshot/vice/cbm2_mains.rb
|
|
670
|
+
- lib/badline/snapshot/vice/cbm2_mem.rb
|
|
671
|
+
- lib/badline/snapshot/vice/cbm2_restore.rb
|
|
672
|
+
- lib/badline/snapshot/vice/cbm2_tpi.rb
|
|
541
673
|
- lib/badline/snapshot/vice/cias.rb
|
|
542
674
|
- lib/badline/snapshot/vice/cias_import.rb
|
|
543
675
|
- lib/badline/snapshot/vice/fields.rb
|
|
544
676
|
- lib/badline/snapshot/vice/main_cpu.rb
|
|
677
|
+
- lib/badline/snapshot/vice/p500.rb
|
|
678
|
+
- lib/badline/snapshot/vice/p500_restore.rb
|
|
679
|
+
- lib/badline/snapshot/vice/p500_vicii.rb
|
|
545
680
|
- lib/badline/snapshot/vice/peripherals.rb
|
|
546
681
|
- lib/badline/snapshot/vice/pet.rb
|
|
547
682
|
- lib/badline/snapshot/vice/pet_cpu.rb
|
|
548
683
|
- lib/badline/snapshot/vice/pet_crtc.rb
|
|
684
|
+
- lib/badline/snapshot/vice/pet_drive.rb
|
|
685
|
+
- lib/badline/snapshot/vice/pet_drive8050.rb
|
|
549
686
|
- lib/badline/snapshot/vice/pet_mem.rb
|
|
550
687
|
- lib/badline/snapshot/vice/pet_pias.rb
|
|
551
688
|
- lib/badline/snapshot/vice/pet_restore.rb
|
|
@@ -561,27 +698,36 @@ files:
|
|
|
561
698
|
- lib/badline/storage.rb
|
|
562
699
|
- lib/badline/storage/crt_file.rb
|
|
563
700
|
- lib/badline/storage/d64_image.rb
|
|
701
|
+
- lib/badline/storage/d67_image.rb
|
|
564
702
|
- lib/badline/storage/d71_image.rb
|
|
565
703
|
- lib/badline/storage/d80_image.rb
|
|
566
704
|
- lib/badline/storage/d81_image.rb
|
|
567
705
|
- lib/badline/storage/d82_image.rb
|
|
706
|
+
- lib/badline/storage/d90_image.rb
|
|
568
707
|
- lib/badline/storage/disk_image.rb
|
|
569
708
|
- lib/badline/storage/disk_image/bam.rb
|
|
570
709
|
- lib/badline/storage/disk_image/catalog.rb
|
|
571
710
|
- lib/badline/storage/disk_image/directory.rb
|
|
711
|
+
- lib/badline/storage/disk_image/formatting.rb
|
|
572
712
|
- lib/badline/storage/disk_image/writing.rb
|
|
573
713
|
- lib/badline/storage/g64_image.rb
|
|
574
714
|
- lib/badline/storage/host_directory.rb
|
|
715
|
+
- lib/badline/storage/kim_tape.rb
|
|
575
716
|
- lib/badline/storage/listing.rb
|
|
576
717
|
- lib/badline/storage/p00.rb
|
|
718
|
+
- lib/badline/storage/papertape.rb
|
|
577
719
|
- lib/badline/storage/t64.rb
|
|
578
720
|
- lib/badline/storage/tap.rb
|
|
579
721
|
- lib/badline/storage/unavailable.rb
|
|
580
722
|
- lib/badline/support.rb
|
|
581
723
|
- lib/badline/support/c128_checkpoint.rb
|
|
724
|
+
- lib/badline/support/cbm2_checkpoint.rb
|
|
582
725
|
- lib/badline/support/checkpoint.rb
|
|
726
|
+
- lib/badline/support/kim1_checkpoint.rb
|
|
727
|
+
- lib/badline/support/p500_checkpoint.rb
|
|
583
728
|
- lib/badline/support/pet_checkpoint.rb
|
|
584
729
|
- lib/badline/support/plus4_checkpoint.rb
|
|
730
|
+
- lib/badline/support/superpet_checkpoint.rb
|
|
585
731
|
- lib/badline/support/vic20_checkpoint.rb
|
|
586
732
|
- lib/badline/timing.rb
|
|
587
733
|
- lib/badline/version.rb
|