badline 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +35 -0
  3. data/CLAUDE.md +10 -5
  4. data/README.md +59 -24
  5. data/doc/pinned-behaviour.md +221 -0
  6. data/exe/badline-ruby +8 -4
  7. data/lib/badline/address_bus/ultimax_pages.rb +38 -0
  8. data/lib/badline/address_bus.rb +19 -29
  9. data/lib/badline/audio/cli.rb +2 -1
  10. data/lib/badline/audio/jukebox.rb +6 -4
  11. data/lib/badline/audio/machine_player.rb +10 -6
  12. data/lib/badline/cartridge/kcs_power.rb +3 -3
  13. data/lib/badline/cia.rb +5 -1
  14. data/lib/badline/computer.rb +86 -7
  15. data/lib/badline/cpu.rb +39 -0
  16. data/lib/badline/drive1541/bus.rb +134 -0
  17. data/lib/badline/drive1541/disk.rb +256 -0
  18. data/lib/badline/drive1541/disk_via.rb +33 -0
  19. data/lib/badline/drive1541/gcr.rb +57 -0
  20. data/lib/badline/drive1541/idle.rb +184 -0
  21. data/lib/badline/drive1541/mechanism.rb +277 -0
  22. data/lib/badline/drive1541/rotation.rb +111 -0
  23. data/lib/badline/drive1541/sector_reader.rb +76 -0
  24. data/lib/badline/drive1541/serial_port.rb +67 -0
  25. data/lib/badline/drive1541/track.rb +98 -0
  26. data/lib/badline/drive1541.rb +218 -0
  27. data/lib/badline/gui/application.rb +24 -7
  28. data/lib/badline/gui/drive_led_pane.rb +29 -0
  29. data/lib/badline/gui.rb +1 -0
  30. data/lib/badline/iec_bus.rb +93 -0
  31. data/lib/badline/kernal_trap/channel.rb +9 -1
  32. data/lib/badline/kernal_trap/serial.rb +9 -3
  33. data/lib/badline/media/true_drive.rb +54 -0
  34. data/lib/badline/media.rb +22 -1
  35. data/lib/badline/options.rb +30 -4
  36. data/lib/badline/region.rb +35 -10
  37. data/lib/badline/reu/dma.rb +228 -0
  38. data/lib/badline/reu/ram.rb +65 -0
  39. data/lib/badline/reu/trigger.rb +32 -0
  40. data/lib/badline/reu.rb +276 -0
  41. data/lib/badline/roms/README +10 -0
  42. data/lib/badline/roms/dos1541.rom +0 -0
  43. data/lib/badline/sdl/functions.rb +1 -0
  44. data/lib/badline/storage/d64_image.rb +18 -9
  45. data/lib/badline/storage/d81_image.rb +1 -0
  46. data/lib/badline/storage/disk_image/catalog.rb +52 -0
  47. data/lib/badline/storage/disk_image/writing.rb +16 -0
  48. data/lib/badline/storage/disk_image.rb +2 -0
  49. data/lib/badline/storage/g64_image.rb +222 -0
  50. data/lib/badline/storage/host_directory.rb +21 -1
  51. data/lib/badline/storage/listing.rb +118 -0
  52. data/lib/badline/storage/t64.rb +14 -0
  53. data/lib/badline/storage.rb +2 -0
  54. data/lib/badline/traps.rb +4 -0
  55. data/lib/badline/version.rb +1 -1
  56. data/lib/badline/via/control_lines.rb +3 -0
  57. data/lib/badline/via/fast_forward.rb +38 -0
  58. data/lib/badline/via/shift_register.rb +8 -3
  59. data/lib/badline/via/timer1.rb +30 -0
  60. data/lib/badline/via/timer2.rb +25 -0
  61. data/lib/badline/via.rb +2 -0
  62. data/lib/badline/vic/display_state.rb +7 -7
  63. data/lib/badline/vic/sprite/internal_bus.rb +11 -7
  64. data/lib/badline/vic/sprite/shifter.rb +10 -15
  65. data/lib/badline/vic/sprite/timing.rb +60 -0
  66. data/lib/badline/vic/sprite.rb +14 -12
  67. data/lib/badline/vic/sprites.rb +2 -2
  68. data/lib/badline/vic.rb +86 -39
  69. data/lib/badline.rb +3 -0
  70. metadata +26 -1
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.1
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inge Jørgensen
@@ -47,6 +47,7 @@ files:
47
47
  - exe/badline-ruby
48
48
  - lib/badline.rb
49
49
  - lib/badline/address_bus.rb
50
+ - lib/badline/address_bus/ultimax_pages.rb
50
51
  - lib/badline/addressable.rb
51
52
  - lib/badline/audio.rb
52
53
  - lib/badline/audio/aiff.rb
@@ -107,8 +108,20 @@ files:
107
108
  - lib/badline/cycleable.rb
108
109
  - lib/badline/datasette.rb
109
110
  - lib/badline/debug_register.rb
111
+ - lib/badline/drive1541.rb
112
+ - lib/badline/drive1541/bus.rb
113
+ - lib/badline/drive1541/disk.rb
114
+ - lib/badline/drive1541/disk_via.rb
115
+ - lib/badline/drive1541/gcr.rb
116
+ - lib/badline/drive1541/idle.rb
117
+ - lib/badline/drive1541/mechanism.rb
118
+ - lib/badline/drive1541/rotation.rb
119
+ - lib/badline/drive1541/sector_reader.rb
120
+ - lib/badline/drive1541/serial_port.rb
121
+ - lib/badline/drive1541/track.rb
110
122
  - lib/badline/gui.rb
111
123
  - lib/badline/gui/application.rb
124
+ - lib/badline/gui/drive_led_pane.rb
112
125
  - lib/badline/gui/gamepads.rb
113
126
  - lib/badline/gui/joy_map.rb
114
127
  - lib/badline/gui/key_map.rb
@@ -116,6 +129,7 @@ files:
116
129
  - lib/badline/gui/pane.rb
117
130
  - lib/badline/gui/screen_pane.rb
118
131
  - lib/badline/gui/window.rb
132
+ - lib/badline/iec_bus.rb
119
133
  - lib/badline/input.rb
120
134
  - lib/badline/input/mouse1351.rb
121
135
  - lib/badline/input/paddles.rb
@@ -150,6 +164,7 @@ files:
150
164
  - lib/badline/keyboard.rb
151
165
  - lib/badline/keyboard_buffer.rb
152
166
  - lib/badline/media.rb
167
+ - lib/badline/media/true_drive.rb
153
168
  - lib/badline/memory.rb
154
169
  - lib/badline/options.rb
155
170
  - lib/badline/ram_expansion.rb
@@ -158,10 +173,15 @@ files:
158
173
  - lib/badline/ram_expansion/plus60k.rb
159
174
  - lib/badline/ram_expansion/unexpanded.rb
160
175
  - lib/badline/region.rb
176
+ - lib/badline/reu.rb
177
+ - lib/badline/reu/dma.rb
178
+ - lib/badline/reu/ram.rb
179
+ - lib/badline/reu/trigger.rb
161
180
  - lib/badline/rom.rb
162
181
  - lib/badline/roms/README
163
182
  - lib/badline/roms/basic.rom
164
183
  - lib/badline/roms/character.rom
184
+ - lib/badline/roms/dos1541.rom
165
185
  - lib/badline/roms/eapi/LICENSE.md
166
186
  - lib/badline/roms/eapi/README
167
187
  - lib/badline/roms/eapi/eapi-am29f040-14
@@ -187,9 +207,12 @@ files:
187
207
  - lib/badline/storage/d81_image.rb
188
208
  - lib/badline/storage/disk_image.rb
189
209
  - lib/badline/storage/disk_image/bam.rb
210
+ - lib/badline/storage/disk_image/catalog.rb
190
211
  - lib/badline/storage/disk_image/directory.rb
191
212
  - lib/badline/storage/disk_image/writing.rb
213
+ - lib/badline/storage/g64_image.rb
192
214
  - lib/badline/storage/host_directory.rb
215
+ - lib/badline/storage/listing.rb
193
216
  - lib/badline/storage/p00.rb
194
217
  - lib/badline/storage/sid_file.rb
195
218
  - lib/badline/storage/song_lengths.rb
@@ -200,6 +223,7 @@ files:
200
223
  - lib/badline/version.rb
201
224
  - lib/badline/via.rb
202
225
  - lib/badline/via/control_lines.rb
226
+ - lib/badline/via/fast_forward.rb
203
227
  - lib/badline/via/interrupt_register.rb
204
228
  - lib/badline/via/shift_register.rb
205
229
  - lib/badline/via/timer1.rb
@@ -219,6 +243,7 @@ files:
219
243
  - lib/badline/vic/sprite.rb
220
244
  - lib/badline/vic/sprite/internal_bus.rb
221
245
  - lib/badline/vic/sprite/shifter.rb
246
+ - lib/badline/vic/sprite/timing.rb
222
247
  - lib/badline/vic/sprites.rb
223
248
  - packaging/homebrew/badline.rb
224
249
  - vendor/.gitkeep