badline 0.5.1 → 0.6.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 +52 -0
- data/CLAUDE.md +10 -9
- data/README.md +82 -10
- data/doc/pinned-behaviour.md +131 -30
- data/exe/badline-ruby +20 -23
- data/lib/badline/address_bus/saved_state.rb +72 -0
- data/lib/badline/address_bus.rb +11 -1
- data/lib/badline/audio/cli.rb +18 -5
- data/lib/badline/audio/console.rb +2 -1
- data/lib/badline/audio.rb +0 -3
- data/lib/badline/cartridge/action_replay.rb +15 -0
- data/lib/badline/cartridge/comal80.rb +8 -0
- data/lib/badline/cartridge/dinamic.rb +8 -0
- data/lib/badline/cartridge/easy_flash.rb +20 -1
- data/lib/badline/cartridge/epyx_fastload.rb +8 -0
- data/lib/badline/cartridge/final_cartridge3.rb +12 -0
- data/lib/badline/cartridge/flash.rb +41 -0
- data/lib/badline/cartridge/fun_play.rb +8 -0
- data/lib/badline/cartridge/g_mod2.rb +12 -0
- data/lib/badline/cartridge/game_system.rb +8 -0
- data/lib/badline/cartridge/geo_ram.rb +16 -0
- data/lib/badline/cartridge/magic_desk.rb +8 -0
- data/lib/badline/cartridge/ocean.rb +8 -0
- data/lib/badline/cartridge/pagefox.rb +12 -0
- data/lib/badline/cartridge/retro_replay.rb +44 -1
- data/lib/badline/cartridge/rgcd.rb +10 -0
- data/lib/badline/cartridge/super_games.rb +10 -0
- data/lib/badline/cartridge/zaxxon.rb +16 -0
- data/lib/badline/cartridge.rb +72 -0
- data/lib/badline/cia/interrupt_register.rb +17 -0
- data/lib/badline/cia/serial.rb +44 -0
- data/lib/badline/cia/state.rb +47 -0
- data/lib/badline/cia/timer.rb +33 -0
- data/lib/badline/cia.rb +8 -0
- data/lib/badline/computer/attachments.rb +132 -0
- data/lib/badline/computer/saved_state.rb +116 -0
- data/lib/badline/computer.rb +13 -33
- data/lib/badline/cpu/boundary.rb +54 -0
- data/lib/badline/cpu/core.rb +165 -0
- data/lib/badline/cpu/microcode.rb +8 -0
- data/lib/badline/cpu/saved_state.rb +115 -0
- data/lib/badline/cpu.rb +3 -212
- data/lib/badline/datasette.rb +27 -0
- data/lib/badline/drive1541/bus.rb +13 -0
- data/lib/badline/drive1541/cpu.rb +29 -0
- data/lib/badline/drive1541/disk.rb +7 -2
- data/lib/badline/drive1541/disk_state.rb +80 -0
- data/lib/badline/drive1541/mechanism.rb +2 -0
- data/lib/badline/drive1541/mechanism_state.rb +67 -0
- data/lib/badline/drive1541/rotation.rb +10 -0
- data/lib/badline/drive1541/serial_port.rb +10 -0
- data/lib/badline/drive1541.rb +35 -0
- data/lib/badline/ffi.rb +157 -0
- data/lib/badline/frontend/app.rb +225 -0
- data/lib/badline/frontend/audio_sink.rb +72 -0
- data/lib/badline/frontend/boot.rb +52 -0
- data/lib/badline/frontend/controls.rb +163 -0
- data/lib/badline/frontend/drive_led.rb +51 -0
- data/lib/badline/frontend/frame_rate.rb +83 -0
- data/lib/badline/frontend/gamepads.rb +76 -0
- data/lib/badline/frontend/keys.rb +48 -0
- data/lib/badline/frontend/pacer.rb +100 -0
- data/lib/badline/frontend/pad_port.rb +61 -0
- data/lib/badline/frontend/screen.rb +65 -0
- data/lib/badline/frontend/screenshot.rb +22 -0
- data/lib/badline/frontend/snapshots.rb +60 -0
- data/lib/badline/frontend/sound.rb +153 -0
- data/lib/badline/frontend/timeline.rb +171 -0
- data/lib/badline/frontend.rb +18 -0
- data/lib/badline/kernal_trap/channel.rb +27 -0
- data/lib/badline/kernal_trap/drive/channels.rb +25 -0
- data/lib/badline/kernal_trap/drive/memory.rb +9 -0
- data/lib/badline/kernal_trap/drive/status.rb +8 -0
- data/lib/badline/kernal_trap/drive/write_file.rb +21 -0
- data/lib/badline/kernal_trap/drive.rb +19 -0
- data/lib/badline/kernal_trap/save.rb +8 -0
- data/lib/badline/kernal_trap/serial.rb +16 -0
- data/lib/badline/memory.rb +8 -0
- data/lib/badline/options/event.rb +94 -0
- data/lib/badline/options/help.rb +78 -0
- data/lib/badline/options/option.rb +29 -0
- data/lib/badline/options/table.rb +62 -0
- data/lib/badline/options.rb +181 -144
- data/lib/badline/ram_expansion/plus256k.rb +16 -0
- data/lib/badline/ram_expansion/plus60k.rb +12 -0
- data/lib/badline/ram_expansion/unexpanded.rb +6 -0
- data/lib/badline/reu/dma/saved_state.rb +50 -0
- data/lib/badline/reu/dma.rb +56 -11
- data/lib/badline/reu/ram.rb +15 -0
- data/lib/badline/reu/saved_state.rb +53 -0
- data/lib/badline/reu.rb +23 -10
- data/lib/badline/sdl.rb +123 -51
- data/lib/badline/sid/envelope/state.rb +68 -0
- data/lib/badline/sid/envelope.rb +7 -0
- data/lib/badline/sid/filter.rb +38 -0
- data/lib/badline/sid/voice.rb +10 -0
- data/lib/badline/sid/waveform/noise_writeback.rb +33 -11
- data/lib/badline/sid/waveform/state.rb +66 -0
- data/lib/badline/sid/waveform.rb +4 -3
- data/lib/badline/sid.rb +34 -0
- data/lib/badline/snapshot/container.rb +117 -0
- data/lib/badline/snapshot/fields.rb +54 -0
- data/lib/badline/snapshot/image.rb +70 -0
- data/lib/badline/snapshot/machine_state.rb +77 -0
- data/lib/badline/snapshot/setup.rb +58 -0
- data/lib/badline/snapshot/state.rb +178 -0
- data/lib/badline/snapshot/vice/c64_mem.rb +53 -0
- data/lib/badline/snapshot/vice/cias.rb +89 -0
- data/lib/badline/snapshot/vice/cias_import.rb +70 -0
- data/lib/badline/snapshot/vice/main_cpu.rb +76 -0
- data/lib/badline/snapshot/vice/peripherals.rb +47 -0
- data/lib/badline/snapshot/vice/restore.rb +125 -0
- data/lib/badline/snapshot/vice/sid_extended.rb +96 -0
- data/lib/badline/snapshot/vice/sid_registers.rb +46 -0
- data/lib/badline/snapshot/vice/vicii.rb +119 -0
- data/lib/badline/snapshot/vice/vicii_import.rb +131 -0
- data/lib/badline/snapshot/vice.rb +74 -0
- data/lib/badline/snapshot.rb +52 -0
- data/lib/badline/storage/crt_file.rb +9 -3
- data/lib/badline/storage/d64_image.rb +2 -0
- data/lib/badline/storage/d71_image.rb +2 -0
- data/lib/badline/storage/d81_image.rb +2 -0
- data/lib/badline/storage/disk_image.rb +11 -2
- data/lib/badline/storage/host_directory.rb +5 -0
- data/lib/badline/storage/t64.rb +6 -0
- data/lib/badline/storage/tap.rb +10 -1
- data/lib/badline/storage/unavailable.rb +20 -0
- data/lib/badline/storage.rb +34 -0
- data/lib/badline/time_of_day.rb +56 -0
- data/lib/badline/version.rb +1 -1
- data/lib/badline/via/control_lines.rb +15 -0
- data/lib/badline/via/interrupt_register.rb +9 -0
- data/lib/badline/via/shift_register.rb +13 -0
- data/lib/badline/via/state.rb +42 -0
- data/lib/badline/via/timer1.rb +13 -0
- data/lib/badline/via/timer2.rb +18 -0
- data/lib/badline/via.rb +2 -0
- data/lib/badline/vic/bank.rb +21 -0
- data/lib/badline/vic/border_mask.rb +10 -0
- data/lib/badline/vic/collisions.rb +11 -0
- data/lib/badline/vic/color_patches.rb +11 -0
- data/lib/badline/vic/display_state.rb +29 -1
- data/lib/badline/vic/graphics_shifter.rb +26 -0
- data/lib/badline/vic/register_log.rb +18 -0
- data/lib/badline/vic/registers.rb +13 -2
- data/lib/badline/vic/sequencer.rb +12 -0
- data/lib/badline/vic/sequencer_state.rb +89 -0
- data/lib/badline/vic/sprite/internal_bus.rb +11 -0
- data/lib/badline/vic/sprite/saved_state.rb +64 -0
- data/lib/badline/vic/sprite.rb +2 -0
- data/lib/badline/vic/sprites.rb +3 -0
- data/lib/badline/vic/sprites_state.rb +57 -0
- data/lib/badline/vic.rb +109 -16
- data/lib/badline.rb +1 -0
- metadata +59 -18
- data/.claude/hooks/session-start.sh +0 -57
- data/.claude/settings.json +0 -14
- data/lib/badline/audio/sdl_sink.rb +0 -70
- data/lib/badline/audio/stream.rb +0 -117
- data/lib/badline/gui/application.rb +0 -216
- data/lib/badline/gui/drive_led_pane.rb +0 -29
- data/lib/badline/gui/gamepads.rb +0 -97
- data/lib/badline/gui/joy_map.rb +0 -27
- data/lib/badline/gui/key_map.rb +0 -39
- data/lib/badline/gui/palette.rb +0 -35
- data/lib/badline/gui/pane.rb +0 -36
- data/lib/badline/gui/screen_pane.rb +0 -46
- data/lib/badline/gui/window.rb +0 -61
- data/lib/badline/gui.rb +0 -13
- data/lib/badline/sdl/events.rb +0 -47
- data/lib/badline/sdl/functions.rb +0 -74
- data/vendor/.gitkeep +0 -0
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Badline
|
|
4
|
-
module SDL
|
|
5
|
-
INIT_AUDIO = 0x10
|
|
6
|
-
INIT_VIDEO = 0x20
|
|
7
|
-
INIT_GAMECONTROLLER = 0x2000
|
|
8
|
-
INIT_EVENTS = 0x4000
|
|
9
|
-
|
|
10
|
-
WINDOWPOS_CENTERED = 0x2fff_0000
|
|
11
|
-
WINDOW_RESIZABLE = 0x20
|
|
12
|
-
RENDERER_ACCELERATED = 0x02
|
|
13
|
-
RENDERER_PRESENTVSYNC = 0x04
|
|
14
|
-
|
|
15
|
-
AUDIO_S16SYS = [1].pack("s").getbyte(0) == 1 ? 0x8010 : 0x9010
|
|
16
|
-
AUDIO_ALLOW_FREQUENCY_CHANGE = 0x01
|
|
17
|
-
|
|
18
|
-
CONTROLLER_AXIS_LEFTX = 0
|
|
19
|
-
CONTROLLER_AXIS_LEFTY = 1
|
|
20
|
-
CONTROLLER_BUTTON_A = 0
|
|
21
|
-
CONTROLLER_BUTTON_B = 1
|
|
22
|
-
CONTROLLER_BUTTON_X = 2
|
|
23
|
-
CONTROLLER_BUTTON_Y = 3
|
|
24
|
-
CONTROLLER_BUTTON_LEFTSHOULDER = 9
|
|
25
|
-
CONTROLLER_BUTTON_RIGHTSHOULDER = 10
|
|
26
|
-
CONTROLLER_BUTTON_DPAD_UP = 11
|
|
27
|
-
CONTROLLER_BUTTON_DPAD_DOWN = 12
|
|
28
|
-
CONTROLLER_BUTTON_DPAD_LEFT = 13
|
|
29
|
-
CONTROLLER_BUTTON_DPAD_RIGHT = 14
|
|
30
|
-
|
|
31
|
-
InitSubSystem = function("SDL_InitSubSystem", [UINT32], INT)
|
|
32
|
-
QuitSubSystem = function("SDL_QuitSubSystem", [UINT32], VOID)
|
|
33
|
-
GetError = function("SDL_GetError", [], STRING)
|
|
34
|
-
SetHint = function("SDL_SetHint", [STRING, STRING], INT)
|
|
35
|
-
|
|
36
|
-
CreateWindow = function("SDL_CreateWindow", [STRING, INT, INT, INT, INT, UINT32], POINTER)
|
|
37
|
-
SetWindowTitle = function("SDL_SetWindowTitle", [POINTER, STRING], VOID)
|
|
38
|
-
DestroyWindow = function("SDL_DestroyWindow", [POINTER], VOID)
|
|
39
|
-
GetCurrentDisplayMode = function("SDL_GetCurrentDisplayMode", [INT, POINTER], INT)
|
|
40
|
-
CreateRenderer = function("SDL_CreateRenderer", [POINTER, INT, UINT32], POINTER)
|
|
41
|
-
DestroyRenderer = function("SDL_DestroyRenderer", [POINTER], VOID)
|
|
42
|
-
RenderSetLogicalSize = function("SDL_RenderSetLogicalSize", [POINTER, INT, INT], INT)
|
|
43
|
-
SetRenderDrawColor = function("SDL_SetRenderDrawColor", [POINTER, UINT8, UINT8, UINT8, UINT8], INT)
|
|
44
|
-
RenderClear = function("SDL_RenderClear", [POINTER], INT)
|
|
45
|
-
RenderFillRect = function("SDL_RenderFillRect", [POINTER, POINTER], INT)
|
|
46
|
-
RenderCopy = function("SDL_RenderCopy", [POINTER, POINTER, POINTER, POINTER], INT)
|
|
47
|
-
RenderPresent = function("SDL_RenderPresent", [POINTER], VOID)
|
|
48
|
-
CreateRGBSurfaceFrom = function("SDL_CreateRGBSurfaceFrom",
|
|
49
|
-
[POINTER, INT, INT, INT, INT, UINT32, UINT32, UINT32, UINT32], POINTER)
|
|
50
|
-
FreeSurface = function("SDL_FreeSurface", [POINTER], VOID)
|
|
51
|
-
CreateTextureFromSurface = function("SDL_CreateTextureFromSurface", [POINTER, POINTER], POINTER)
|
|
52
|
-
DestroyTexture = function("SDL_DestroyTexture", [POINTER], VOID)
|
|
53
|
-
|
|
54
|
-
PollEvent = function("SDL_PollEvent", [POINTER], INT)
|
|
55
|
-
PushEvent = function("SDL_PushEvent", [POINTER], INT)
|
|
56
|
-
GetKeyName = function("SDL_GetKeyName", [INT], STRING)
|
|
57
|
-
SetRelativeMouseMode = function("SDL_SetRelativeMouseMode", [INT], INT)
|
|
58
|
-
|
|
59
|
-
NumJoysticks = function("SDL_NumJoysticks", [], INT)
|
|
60
|
-
IsGameController = function("SDL_IsGameController", [INT], INT)
|
|
61
|
-
GameControllerOpen = function("SDL_GameControllerOpen", [INT], POINTER)
|
|
62
|
-
GameControllerName = function("SDL_GameControllerName", [POINTER], STRING)
|
|
63
|
-
GameControllerGetButton = function("SDL_GameControllerGetButton", [POINTER, INT], UINT8)
|
|
64
|
-
GameControllerGetAxis = function("SDL_GameControllerGetAxis", [POINTER, INT], INT16)
|
|
65
|
-
GameControllerClose = function("SDL_GameControllerClose", [POINTER], VOID)
|
|
66
|
-
|
|
67
|
-
OpenAudioDevice = function("SDL_OpenAudioDevice", [STRING, INT, POINTER, POINTER, INT], UINT32)
|
|
68
|
-
CloseAudioDevice = function("SDL_CloseAudioDevice", [UINT32], VOID)
|
|
69
|
-
PauseAudioDevice = function("SDL_PauseAudioDevice", [UINT32, INT], VOID)
|
|
70
|
-
QueueAudio = function("SDL_QueueAudio", [UINT32, POINTER, UINT32], INT)
|
|
71
|
-
GetQueuedAudioSize = function("SDL_GetQueuedAudioSize", [UINT32], UINT32)
|
|
72
|
-
ClearQueuedAudio = function("SDL_ClearQueuedAudio", [UINT32], VOID)
|
|
73
|
-
end
|
|
74
|
-
end
|
data/vendor/.gitkeep
DELETED
|
File without changes
|