badline 0.12.0 → 0.12.1
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 +8 -0
- data/lib/badline/address_bus/saved_state.rb +4 -10
- data/lib/badline/address_bus.rb +8 -27
- data/lib/badline/audio/bare_player.rb +1 -1
- data/lib/badline/c128/bus.rb +13 -35
- data/lib/badline/c128/bus_state.rb +5 -5
- data/lib/badline/c128.rb +5 -64
- data/lib/badline/computer/attachments.rb +16 -45
- data/lib/badline/computer/common.rb +34 -0
- data/lib/badline/computer/kernal_traps.rb +65 -5
- data/lib/badline/computer/true_drives.rb +12 -23
- data/lib/badline/computer.rb +5 -68
- data/lib/badline/core.rb +2 -2
- data/lib/badline/cpu_port.rb +112 -0
- data/lib/badline/drive1541/disk.rb +14 -17
- data/lib/badline/drive1541/disk_state.rb +7 -15
- data/lib/badline/drive1581/wd1772.rb +1 -1
- data/lib/badline/frontend/boot.rb +8 -59
- data/lib/badline/kernal_trap/{file.rb → file_routine.rb} +1 -1
- data/lib/badline/kernal_trap/load.rb +1 -1
- data/lib/badline/kernal_trap/save.rb +1 -1
- data/lib/badline/kernal_trap.rb +1 -1
- data/lib/badline/machine/clocking.rb +50 -0
- data/lib/badline/machine.rb +58 -2
- data/lib/badline/media/boot_disk.rb +2 -2
- data/lib/badline/media/disk_list.rb +3 -3
- data/lib/badline/media/disk_set.rb +1 -1
- data/lib/badline/media/extensions.rb +33 -0
- data/lib/badline/media/program.rb +28 -0
- data/lib/badline/media/true_drive.rb +3 -2
- data/lib/badline/media/tune.rb +35 -0
- data/lib/badline/media/vic20_cartridge.rb +1 -7
- data/lib/badline/media/vic20_media.rb +38 -80
- data/lib/badline/media.rb +82 -79
- data/lib/badline/options/event.rb +3 -1
- data/lib/badline/sid.rb +1 -1
- data/lib/badline/snapshot/machine_state.rb +9 -1
- data/lib/badline/snapshot/state.rb +5 -4
- data/lib/badline/snapshot.rb +11 -9
- data/lib/badline/storage/d64_image.rb +15 -7
- data/lib/badline/storage/disk_image/writing.rb +2 -2
- data/lib/badline/storage/disk_image.rb +1 -1
- data/lib/badline/storage/host_directory.rb +1 -1
- data/lib/badline/storage/t64.rb +1 -1
- data/lib/badline/version.rb +1 -1
- data/lib/badline/vic/bank.rb +1 -1
- data/lib/badline/vic/border_mask.rb +1 -1
- data/lib/badline/vic/collisions.rb +1 -1
- data/lib/badline/vic/color_patches.rb +1 -1
- data/lib/badline/vic/display_state.rb +1 -1
- data/lib/badline/vic/graphics_mode.rb +1 -1
- data/lib/badline/vic/graphics_shifter.rb +1 -1
- data/lib/badline/vic/register_log.rb +1 -1
- data/lib/badline/vic/registers.rb +1 -1
- data/lib/badline/vic/sequencer.rb +1 -1
- data/lib/badline/vic/sequencer_output.rb +1 -1
- data/lib/badline/vic/sequencer_state.rb +1 -1
- data/lib/badline/vic/sprite/internal_bus.rb +1 -1
- data/lib/badline/vic/sprite/saved_state.rb +1 -1
- data/lib/badline/vic/sprite/shifter.rb +1 -1
- data/lib/badline/vic/sprite/timing.rb +1 -1
- data/lib/badline/vic/sprite.rb +1 -1
- data/lib/badline/vic/sprites.rb +1 -1
- data/lib/badline/vic/sprites_state.rb +1 -1
- data/lib/badline/vic.rb +6 -5
- data/lib/badline/vic20/attachments.rb +10 -80
- data/lib/badline/vic20/saved_state.rb +0 -30
- data/lib/badline/vic20.rb +1 -37
- metadata +8 -3
- data/lib/badline/cycleable.rb +0 -38
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.12.
|
|
4
|
+
version: 0.12.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Inge Jørgensen
|
|
@@ -133,6 +133,7 @@ files:
|
|
|
133
133
|
- lib/badline/color_memory.rb
|
|
134
134
|
- lib/badline/computer.rb
|
|
135
135
|
- lib/badline/computer/attachments.rb
|
|
136
|
+
- lib/badline/computer/common.rb
|
|
136
137
|
- lib/badline/computer/kernal_traps.rb
|
|
137
138
|
- lib/badline/computer/saved_state.rb
|
|
138
139
|
- lib/badline/computer/true_drives.rb
|
|
@@ -146,7 +147,7 @@ files:
|
|
|
146
147
|
- lib/badline/cpu/operations.rb
|
|
147
148
|
- lib/badline/cpu/saved_state.rb
|
|
148
149
|
- lib/badline/cpu/stack_operations.rb
|
|
149
|
-
- lib/badline/
|
|
150
|
+
- lib/badline/cpu_port.rb
|
|
150
151
|
- lib/badline/data_path.rb
|
|
151
152
|
- lib/badline/datasette.rb
|
|
152
153
|
- lib/badline/debug_register.rb
|
|
@@ -271,7 +272,7 @@ files:
|
|
|
271
272
|
- lib/badline/kernal_trap/drive/status.rb
|
|
272
273
|
- lib/badline/kernal_trap/drive/write_file.rb
|
|
273
274
|
- lib/badline/kernal_trap/drive/writes.rb
|
|
274
|
-
- lib/badline/kernal_trap/
|
|
275
|
+
- lib/badline/kernal_trap/file_routine.rb
|
|
275
276
|
- lib/badline/kernal_trap/layout.rb
|
|
276
277
|
- lib/badline/kernal_trap/load.rb
|
|
277
278
|
- lib/badline/kernal_trap/routine.rb
|
|
@@ -280,13 +281,17 @@ files:
|
|
|
280
281
|
- lib/badline/keyboard.rb
|
|
281
282
|
- lib/badline/keyboard_buffer.rb
|
|
282
283
|
- lib/badline/machine.rb
|
|
284
|
+
- lib/badline/machine/clocking.rb
|
|
283
285
|
- lib/badline/media.rb
|
|
284
286
|
- lib/badline/media/boot_disk.rb
|
|
285
287
|
- lib/badline/media/disk_list.rb
|
|
286
288
|
- lib/badline/media/disk_set.rb
|
|
289
|
+
- lib/badline/media/extensions.rb
|
|
287
290
|
- lib/badline/media/not_disk.rb
|
|
291
|
+
- lib/badline/media/program.rb
|
|
288
292
|
- lib/badline/media/queue.rb
|
|
289
293
|
- lib/badline/media/true_drive.rb
|
|
294
|
+
- lib/badline/media/tune.rb
|
|
290
295
|
- lib/badline/media/vic20_basic.rb
|
|
291
296
|
- lib/badline/media/vic20_cartridge.rb
|
|
292
297
|
- lib/badline/media/vic20_media.rb
|
data/lib/badline/cycleable.rb
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Badline
|
|
4
|
-
class Cycleable
|
|
5
|
-
attr_reader :cycles
|
|
6
|
-
|
|
7
|
-
def initialize
|
|
8
|
-
@loop = Fiber.new { loop { main_loop } }
|
|
9
|
-
@cycles = 0
|
|
10
|
-
@pending_write = false
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
def cycle!
|
|
14
|
-
@loop.resume
|
|
15
|
-
nil
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def pending_write? = @pending_write
|
|
19
|
-
|
|
20
|
-
private
|
|
21
|
-
|
|
22
|
-
def cycle(write: false)
|
|
23
|
-
@pending_write = write
|
|
24
|
-
Fiber.yield
|
|
25
|
-
poll
|
|
26
|
-
result = yield if block_given?
|
|
27
|
-
@cycles += 1
|
|
28
|
-
@pending_write = false
|
|
29
|
-
result
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def poll; end
|
|
33
|
-
|
|
34
|
-
def main_loop
|
|
35
|
-
Fiber.yield
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|