Thomas Harte
|
f8e8f18be5
|
Switch to std::clamp .
|
2021-11-26 18:10:29 -05:00 |
|
Thomas Harte
|
8b38c567d2
|
Add missing #include for std::clamp.
|
2021-11-26 18:08:39 -05:00 |
|
Thomas Harte
|
cd53e42d79
|
Resolve operator precedence.
|
2021-11-26 18:08:10 -05:00 |
|
Thomas Harte
|
bea6cf2038
|
Move mouse and joystick into a separate file, give a common parent.
|
2021-11-26 17:50:47 -05:00 |
|
Thomas Harte
|
eca80f1425
|
Sprites: avoid magic constants, ensure proper DMA resumption.
|
2021-11-26 16:02:18 -05:00 |
|
Thomas Harte
|
1c0962e53c
|
Move sprites into their own source file.
|
2021-11-26 15:30:31 -05:00 |
|
Thomas Harte
|
4b21549ff4
|
Add a couple of static asserts.
|
2021-11-26 15:23:54 -05:00 |
|
Thomas Harte
|
30d7b0129b
|
Correct sprite ordering within pairs.
|
2021-11-26 11:58:50 -05:00 |
|
Thomas Harte
|
ce6877d6e4
|
Sprites: infer part of DMA state from slot, no access during blank.
Also sets the proper vertical blank length.
|
2021-11-26 09:37:52 -05:00 |
|
Thomas Harte
|
0ab5177637
|
Allow DMAState::FetchStopAndControl on y == v_stop_.
|
2021-11-25 14:29:12 -05:00 |
|
Thomas Harte
|
276cbfa505
|
Simplify sprite state machine.
This now better matches the explanation given on Page 133 of the Amiga System Programmer's Guide.
|
2021-11-25 14:08:55 -05:00 |
|
Thomas Harte
|
610c85a354
|
Correct test logic.
All tests now pass.
|
2021-11-25 04:11:20 -05:00 |
|
Thomas Harte
|
012084b37b
|
Fix exclusive fill, sizing, eliminate ECS call-ins.
The clock test now proceeds further, but still doesn't seem to pass.
|
2021-11-24 17:25:32 -05:00 |
|
Thomas Harte
|
55af6681af
|
Avoid unnecessary get_port_input calls.
|
2021-11-24 17:15:48 -05:00 |
|
Thomas Harte
|
2a7a42ff8f
|
Add header for assert .
|
2021-11-24 16:28:18 -05:00 |
|
Thomas Harte
|
7af5737ec5
|
Switch to LOG .
|
2021-11-24 16:15:40 -05:00 |
|
Thomas Harte
|
0ad1529f3f
|
Retain delegate bit length for non-self-clocked data.
|
2021-11-24 16:15:27 -05:00 |
|
Thomas Harte
|
0df8173536
|
Merge branch 'master' into Amiga
|
2021-11-24 08:58:03 -05:00 |
|
Thomas Harte
|
b517811e2f
|
Merge pull request #988 from TomHarte/HeaderOnly6502
Moves the 6502 towards being a header-only dependency.
|
2021-11-24 08:57:45 -05:00 |
|
Thomas Harte
|
83d3a9c6dd
|
Merge branch 'master' into HeaderOnly6502
|
2021-11-24 08:48:36 -05:00 |
|
Thomas Harte
|
d0402261e6
|
Merge pull request #993 from TomHarte/PushAudio
Adds a push route for lowpass-filtered audio.
|
2021-11-24 08:47:10 -05:00 |
|
Thomas Harte
|
6f6e09d200
|
Correct: load -> store .
|
2021-11-22 15:18:12 -05:00 |
|
Thomas Harte
|
24e2fd4184
|
Avoid implicit conversion.
|
2021-11-22 11:28:02 -05:00 |
|
Thomas Harte
|
1aada996dc
|
Correct const ing.
|
2021-11-22 11:18:17 -05:00 |
|
Thomas Harte
|
f5d3d6bcea
|
Splits the lowpass filter into push and pull variants.
|
2021-11-21 15:37:29 -05:00 |
|
Thomas Harte
|
a8a99f647f
|
Further improves framing.
|
2021-11-21 08:13:55 -05:00 |
|
Thomas Harte
|
ff68b26c44
|
Push HSYNC 11 slots over, to its proper position, and add a frame crop.
|
2021-11-20 12:39:50 -05:00 |
|
Thomas Harte
|
a94b4f62fd
|
Takes a stab at attached sprites.
|
2021-11-19 14:19:47 -05:00 |
|
Thomas Harte
|
bcc959d938
|
Sprites: deconflate vertical and modification flags; disarm on CTL not POS.
|
2021-11-19 08:03:10 -05:00 |
|
Thomas Harte
|
cf25d8a378
|
Increase logging (but leave it disabled).
|
2021-11-19 08:01:23 -05:00 |
|
Thomas Harte
|
c750bdafd5
|
Switch to a saturating conversion.
|
2021-11-18 18:01:30 -05:00 |
|
Thomas Harte
|
693d46f8ea
|
Mask by index, not colour.
|
2021-11-18 05:36:38 -05:00 |
|
Thomas Harte
|
3496ebd1d7
|
Constrain sprite fetches to Chip RAM.
|
2021-11-17 17:49:42 -05:00 |
|
Thomas Harte
|
be763cf7fe
|
Expose joystick to the world.
|
2021-11-17 15:33:46 -05:00 |
|
Thomas Harte
|
c3b4bee210
|
Adds a joystick class.
|
2021-11-17 14:26:51 -05:00 |
|
Thomas Harte
|
6df0227ab1
|
Hacks in a basic effort at dual playfields.
|
2021-11-16 18:26:27 -05:00 |
|
Thomas Harte
|
2a3a7fa8a0
|
Reset will_request_interrupt .
|
2021-11-15 16:00:35 -05:00 |
|
Thomas Harte
|
50a6496399
|
Avoids over-greedy DMA.
|
2021-11-15 12:31:15 -05:00 |
|
Thomas Harte
|
c99dee86dd
|
Adds missing low -> high actions, implements more transitions.
|
2021-11-15 12:29:32 -05:00 |
|
Thomas Harte
|
0c5bb9626b
|
Separates state transitions and tests.
|
2021-11-15 05:29:28 -05:00 |
|
Thomas Harte
|
a9971917f5
|
Attempts a translation of Commodore's documentation.
|
2021-11-14 14:54:33 -05:00 |
|
Thomas Harte
|
4c62611da3
|
Adds enough state machine to get into the near-incomprehensible stuff on the right.
|
2021-11-14 10:48:50 -05:00 |
|
Thomas Harte
|
47f36f08fb
|
Switches to a synchronous audio state machine; renames advance -> advance_dma.
I can worry about how to just-in-time things once I better understand the hardware in general.
|
2021-11-13 15:53:41 -05:00 |
|
Thomas Harte
|
f906bab1a5
|
Provides feedback on interrupt flags, starts on state machine.
|
2021-11-13 11:05:39 -05:00 |
|
Thomas Harte
|
fffc03c4e4
|
Propagates time to the audio subsystem.
|
2021-11-12 15:30:52 -05:00 |
|
Thomas Harte
|
0f6934a131
|
This uses Cycles and HalfCycles, so should include ClockReceiver.
|
2021-11-11 09:24:32 -05:00 |
|
Thomas Harte
|
0a94184d6b
|
Provides a greater wealth of audio data.
|
2021-11-11 09:24:15 -05:00 |
|
Thomas Harte
|
7be3578497
|
Adds a target for audio writes.
|
2021-11-09 07:11:23 -05:00 |
|
Thomas Harte
|
eeaccb8ac0
|
Implements clear_all_keys .
|
2021-11-08 17:49:09 -05:00 |
|
Thomas Harte
|
8ef9a932aa
|
Adds inclusive fill test; fixes inclusive fills.
|
2021-11-07 14:26:13 -08:00 |
|