Thomas Harte
|
931d2373a4
|
Attempt to make outer loop sole owner of line/sprite buffer selection.
|
2023-03-30 00:20:03 -04:00 |
|
Thomas Harte
|
de3cd9c286
|
Simplify namespace declaration.
|
2023-03-25 23:22:34 -04:00 |
|
Thomas Harte
|
655638656f
|
Elide the two fills; fix address masking.
|
2023-03-21 20:05:34 -04:00 |
|
Thomas Harte
|
2bf2abf4b2
|
Be more overt about masking.
|
2023-03-19 23:00:41 -04:00 |
|
Thomas Harte
|
235d54bb67
|
Attempt but retreat from proper treatment of width.
|
2023-03-18 23:13:06 -04:00 |
|
Thomas Harte
|
e66a92d6cb
|
Fill in and use some parts of mode description.
|
2023-03-18 23:07:33 -04:00 |
|
Thomas Harte
|
a6251f436a
|
Provide commands with [unpopulated] mode parameters.
|
2023-03-18 13:39:47 -04:00 |
|
Thomas Harte
|
4a5b2fd9ba
|
Eliminate logged TODOs that I don't intend to action soon.
|
2023-03-16 22:00:47 -04:00 |
|
Thomas Harte
|
a5a36cb08e
|
Add missing status storage; capture mode 2 sprite collision locations.
|
2023-03-15 23:06:32 -04:00 |
|
Thomas Harte
|
aa4582956f
|
Add TODO.
|
2023-03-15 22:37:47 -04:00 |
|
Thomas Harte
|
f26dee16bf
|
Update comment.
|
2023-03-13 23:21:19 -04:00 |
|
Thomas Harte
|
131784d007
|
Generalise PointSet to read or write.
|
2023-03-13 22:51:01 -04:00 |
|
Thomas Harte
|
e703fa9cf8
|
Fetch colours in TMS character mode.
|
2023-03-12 23:33:29 -04:00 |
|
Thomas Harte
|
cc04349618
|
Reestablish relationship between fetch and output.
|
2023-03-11 22:24:11 -05:00 |
|
Thomas Harte
|
d46f869276
|
Minor style improvement.
|
2023-03-10 21:14:52 -05:00 |
|
Thomas Harte
|
da944fde92
|
Eliminate data-type assumption.
|
2023-03-10 21:04:35 -05:00 |
|
Thomas Harte
|
c9124f13cd
|
Add suggested brackets.
|
2023-03-09 22:25:09 -05:00 |
|
Thomas Harte
|
ca7d34ad04
|
Fix ambiguous using .
|
2023-03-09 22:24:53 -05:00 |
|
Thomas Harte
|
2913368a06
|
Attempt YMMM.
|
2023-03-08 23:12:02 -05:00 |
|
Thomas Harte
|
82659e7924
|
Unify existing moves.
|
2023-03-08 22:36:06 -05:00 |
|
Thomas Harte
|
f3a84021ed
|
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
|
2023-03-08 18:28:17 -05:00 |
|
Thomas Harte
|
555d883227
|
Yamaha fetches don't require an outer switch.
|
2023-03-08 18:28:13 -05:00 |
|
Thomas Harte
|
020d9604c6
|
Better judge when to rotate addresses.
|
2023-03-08 18:27:59 -05:00 |
|
Thomas Harte
|
6845008fd4
|
Place end-of-frame interrupt appropriately.
|
2023-03-07 22:12:06 -05:00 |
|
Thomas Harte
|
cc7b209e1a
|
Adjust visible Y9938 area; clamp scrolled y; use proper mode 2 terminator.
|
2023-03-07 18:19:08 -05:00 |
|
Thomas Harte
|
e8404bdcc0
|
TODO is done, probably.
|
2023-03-06 22:57:53 -05:00 |
|
Thomas Harte
|
f8eb2199c2
|
Fix relative offset.
|
2023-03-06 22:49:21 -05:00 |
|
Thomas Harte
|
a13905acf9
|
Attempt to incorporate scroll offset into line interrupt.
|
2023-03-06 21:41:43 -05:00 |
|
Thomas Harte
|
5471979f8d
|
Eliminate stale TODOs.
|
2023-03-05 21:34:10 -05:00 |
|
Thomas Harte
|
5b8a5755f0
|
Use correct mode-7 sprite palette.
|
2023-03-05 21:29:04 -05:00 |
|
Thomas Harte
|
caaba836ba
|
Correct GR7 rasterisation and 6/7 collection.
|
2023-03-05 13:43:53 -05:00 |
|
Thomas Harte
|
8fc043247c
|
Fix column addressing in modes 6 and 7.
|
2023-03-04 21:39:00 -05:00 |
|
Thomas Harte
|
e58a488add
|
Rotate command-engine addresses in modes 6 and 7.
|
2023-03-03 23:06:52 -05:00 |
|
Thomas Harte
|
0ea1da10d6
|
Attempt to generalise moving from CPU.
|
2023-03-03 21:40:48 -05:00 |
|
Thomas Harte
|
3381e6b5aa
|
Switch to Duff's device.
|
2023-03-02 22:16:18 -05:00 |
|
Thomas Harte
|
4c1973adc8
|
Fill in missing rasterisers.
|
2023-03-01 23:19:33 -05:00 |
|
Thomas Harte
|
318cfab67d
|
Attempt ongoing state for vertical on/off.
|
2023-02-28 22:28:14 -05:00 |
|
Thomas Harte
|
1ef34b1f18
|
Clarify meaning of STOP.
|
2023-02-26 14:28:24 -05:00 |
|
Thomas Harte
|
12bd71cfe1
|
Allow that the next interrupt line might be in the next frame.
|
2023-02-26 14:23:38 -05:00 |
|
Thomas Harte
|
c7128f4206
|
Reduce logging.
|
2023-02-26 14:01:23 -05:00 |
|
Thomas Harte
|
95fd5a52ba
|
Use redirected palette in bitmap modes.
|
2023-02-26 13:59:17 -05:00 |
|
Thomas Harte
|
bfa167fcdf
|
Make attempt at the TP background-colour bit.
|
2023-02-26 13:42:59 -05:00 |
|
Thomas Harte
|
b948761f30
|
Detect mode 2 collisions, albeit without proper reporting.
|
2023-02-25 10:42:44 -06:00 |
|
Thomas Harte
|
dd65074bbf
|
Add named getters, resolving composition bug.
|
2023-02-25 10:32:47 -06:00 |
|
Thomas Harte
|
9debed25e8
|
Fix meaning of 'origin'.
|
2023-02-25 08:53:00 -06:00 |
|
Thomas Harte
|
1bdf9a50e6
|
Take a shot at Mode 2 sprite output.
|
2023-02-25 08:48:16 -06:00 |
|
Thomas Harte
|
2592dfd78f
|
Pile on the TODOs.
|
2023-02-21 22:33:47 -05:00 |
|
Thomas Harte
|
ef5d05db53
|
Scale down new-mode coordinates; add note to self.
|
2023-02-21 22:28:39 -05:00 |
|
Thomas Harte
|
6a2cda7074
|
Pull out and partially generalise sprite output.
This also provides the intended route to supporting Mode 2.
|
2023-02-21 22:00:00 -05:00 |
|
Thomas Harte
|
62d381065e
|
Change 9938 identification number.
|
2023-02-21 19:35:11 -05:00 |
|
Thomas Harte
|
091c1b0f45
|
Correct sprite attribute and colour table addresses.
|
2023-02-21 19:34:26 -05:00 |
|
Thomas Harte
|
a28b5bdeea
|
Only on the Sega are line interrupts disabled by a read of S#0.
|
2023-02-20 23:43:23 -05:00 |
|
Thomas Harte
|
2e45422b03
|
Make a further attempt at sprite colour.
|
2023-02-20 22:39:34 -05:00 |
|
Thomas Harte
|
3606f5befe
|
Add expansion RAM to command engine, as far as it goes.
|
2023-02-20 22:32:36 -05:00 |
|
Thomas Harte
|
44ac948bb2
|
Add expansion RAM, albeit not yet into the command engine.
|
2023-02-20 22:27:30 -05:00 |
|
Thomas Harte
|
4bac782121
|
One final (?) time with colour.
|
2023-02-19 22:15:59 -05:00 |
|
Thomas Harte
|
318109b7d5
|
Try again with colour.
|
2023-02-19 22:14:18 -05:00 |
|
Thomas Harte
|
6990ba9242
|
Fetch colour from before attribute table.
|
2023-02-19 22:10:22 -05:00 |
|
Thomas Harte
|
54be424159
|
Include sprite index in SpriteY event.
|
2023-02-19 22:04:38 -05:00 |
|
Thomas Harte
|
8d900cf636
|
Attempt a full collection of Mode 2 sprite properties.
|
2023-02-19 21:52:10 -05:00 |
|
Thomas Harte
|
6db939f48f
|
Create a dedicated sprite fetcher.
|
2023-02-19 21:37:24 -05:00 |
|
Thomas Harte
|
5eae11434a
|
Sprite mode 2: select sprites, fetch locations and names.
|
2023-02-18 22:56:05 -05:00 |
|
Thomas Harte
|
7aa8728b39
|
Reimagine G3 for sprite mode 2.
|
2023-02-18 21:50:12 -05:00 |
|
Thomas Harte
|
270c5dfe85
|
Eliminate data_block_ entirely.
|
2023-02-18 21:41:22 -05:00 |
|
Thomas Harte
|
d6e4f12fdc
|
Merge DataBlock and Pattern.
|
2023-02-18 21:34:09 -05:00 |
|
Thomas Harte
|
4e3e4806b9
|
Eliminate assert; events have overtaken this.
|
2023-02-17 23:01:42 -05:00 |
|
Thomas Harte
|
ebc596820e
|
Obtain the background graphics, at least, for G3.
|
2023-02-17 22:47:15 -05:00 |
|
Thomas Harte
|
b62e899039
|
Avoid need for shortcuts.
|
2023-02-17 22:34:52 -05:00 |
|
Thomas Harte
|
a123ef151c
|
Eliminate further magic ORs.
|
2023-02-17 22:31:21 -05:00 |
|
Thomas Harte
|
5b31db700b
|
Deduplicate 40-column text fetching.
|
2023-02-17 22:23:10 -05:00 |
|
Thomas Harte
|
8af0a2313c
|
Formally distinguish fetchers and sequencing.
|
2023-02-17 22:20:38 -05:00 |
|
Thomas Harte
|
88eaa4ff02
|
[Mostly] avoid magic address constants; avoid duplication of TMS fetching logic.
|
2023-02-17 21:59:39 -05:00 |
|
Thomas Harte
|
c140f370fe
|
Attempt to copy and paste my way to working type-1 sprites.
|
2023-02-16 22:46:19 -05:00 |
|
Thomas Harte
|
023da1970a
|
Label all character events with IDs.
|
2023-02-16 22:21:24 -05:00 |
|
Thomas Harte
|
211e145230
|
Make room for an ID field on Event.
|
2023-02-16 22:10:16 -05:00 |
|
Thomas Harte
|
bbccc5d6d6
|
Route other holdover TMS modes through the Yamaha logic.
|
2023-02-16 22:07:18 -05:00 |
|
Thomas Harte
|
dbfc9a14aa
|
Introduce SMS fetcher, eliminating all macros.
|
2023-02-16 22:01:20 -05:00 |
|
Thomas Harte
|
9630a1bc39
|
Use a fetcher for character modes.
|
2023-02-16 13:15:18 -05:00 |
|
Thomas Harte
|
3847c9c281
|
Add missing underscore.
|
2023-02-15 21:22:51 -05:00 |
|
Thomas Harte
|
3f2a5929a3
|
Consolidate text output and support blinking; add sprites-enabled flag.
|
2023-02-15 20:18:56 -05:00 |
|
Thomas Harte
|
9b71f42375
|
Collect colours.
|
2023-02-14 21:18:10 -05:00 |
|
Thomas Harte
|
9c43776392
|
Fix 80-column address generation.
|
2023-02-14 21:14:35 -05:00 |
|
Thomas Harte
|
35a0a1447e
|
Further clarify different usages of storage.
|
2023-02-14 20:23:17 -05:00 |
|
Thomas Harte
|
bf0ed2813c
|
Make faulty attempt at 80-column text.
|
2023-02-14 20:13:51 -05:00 |
|
Thomas Harte
|
5c7367b262
|
Route Yamaha 40-column text mode appropriately.
|
2023-02-13 22:24:39 -05:00 |
|
Thomas Harte
|
c1457cc5e0
|
Attempt text mode data collection.
|
2023-02-13 22:20:47 -05:00 |
|
Thomas Harte
|
169d7a7418
|
Fix[/revert]: the fetch pointer should be _ahead_.
|
2023-02-13 21:10:14 -05:00 |
|
Thomas Harte
|
5143960970
|
Add notes to self on how to collect text.
|
2023-02-13 21:09:31 -05:00 |
|
Thomas Harte
|
40894964bc
|
Move VerticalState to live with ScreenMode and FetchMode.
|
2023-02-13 09:54:29 -05:00 |
|
Thomas Harte
|
927e61484f
|
Map all events lists appropriately.
|
2023-02-12 23:02:51 -05:00 |
|
Thomas Harte
|
dce04e7219
|
Add a generator for character modes.
|
2023-02-12 22:54:08 -05:00 |
|
Thomas Harte
|
f5814b4c75
|
Add text-mode events list.
|
2023-02-12 22:45:11 -05:00 |
|
Thomas Harte
|
815a75d9b6
|
Extend generator to handle sprite collection.
|
2023-02-12 22:28:34 -05:00 |
|
Thomas Harte
|
4ad84e5047
|
Use generator for no-sprite events list.
|
2023-02-12 22:12:23 -05:00 |
|
Thomas Harte
|
8665dca7f0
|
Permit generator-based event-table generation.
|
2023-02-12 21:58:50 -05:00 |
|
Thomas Harte
|
41d57e03a6
|
Split out LineBuffer and Storage to make 9918Base more manageable.
|
2023-02-12 12:58:46 -05:00 |
|
Thomas Harte
|
914a9e0c84
|
Yamaha: don't touch address at all unless a RAM access.
|
2023-02-11 22:43:29 -05:00 |
|
Thomas Harte
|
8768ee1504
|
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
|
2023-02-11 22:40:03 -05:00 |
|
Thomas Harte
|
8e6c36bb15
|
Yamaha: don't part-modify address.
|
2023-02-11 10:35:42 -05:00 |
|
Thomas Harte
|
c6401f0444
|
Add TODO.
|
2023-02-07 22:28:18 -05:00 |
|
Thomas Harte
|
3c3efe3e22
|
Don't be so fussy.
|
2023-02-06 22:16:42 -05:00 |
|
Thomas Harte
|
7028bdd05d
|
Limit to 14 bits in old modes.
|
2023-02-06 22:16:31 -05:00 |
|
Thomas Harte
|
7cb51c021b
|
Observation: offset is needed only ephemerally.
|
2023-02-06 21:45:35 -05:00 |
|
Thomas Harte
|
a3df106f92
|
Reset write phase only upon traditional register accesses.
|
2023-02-06 20:32:24 -05:00 |
|
Thomas Harte
|
b538407386
|
Introduce separate state for palette entries.
|
2023-02-06 19:12:02 -05:00 |
|
Thomas Harte
|
c04d292c8e
|
Make this more obviously correct, albeit arbitrarily.
Comparing just a single bit would do.
|
2023-02-05 22:53:08 -05:00 |
|
Thomas Harte
|
f9c88fd598
|
Fix memory mask; mildly improve commentary.
|
2023-02-05 22:51:16 -05:00 |
|
Thomas Harte
|
7fcb1b29dd
|
Keep source within rectangle.
This gives something vaguely recognisable, sort of, for the test program I'm using.
|
2023-02-04 21:37:08 -05:00 |
|
Thomas Harte
|
6786e3e78c
|
Initialise to zero, for completeness.
|
2023-02-04 21:32:31 -05:00 |
|
Thomas Harte
|
67755c3811
|
Attempt [H/L]MMM.
|
2023-02-04 21:29:44 -05:00 |
|
Thomas Harte
|
c6372295c5
|
Complete ReadSourcePixel & ReadSourceByte paths.
|
2023-02-04 21:23:41 -05:00 |
|
Thomas Harte
|
a2786e6266
|
Invest Colour with its own logic, including potential emptiness.
|
2023-02-04 21:14:20 -05:00 |
|
Thomas Harte
|
a892523c09
|
Advance to the next breaking point.
|
2023-02-04 11:43:06 -05:00 |
|
Thomas Harte
|
ab595f5e8d
|
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
|
2023-02-04 11:02:10 -05:00 |
|
Thomas Harte
|
38950fe241
|
Sketch out remaining necessary @c AccessTypes.
|
2023-02-04 11:02:02 -05:00 |
|
Thomas Harte
|
46d009f27b
|
Add logical fill.
|
2023-02-04 10:31:41 -05:00 |
|
Thomas Harte
|
34722bae89
|
Start pivoting to a more natural expression of TMS patterns.
|
2023-02-03 23:06:27 -05:00 |
|
Thomas Harte
|
d41081c59f
|
Fix sections.
|
2023-02-02 21:55:00 -05:00 |
|
Thomas Harte
|
ec227ce021
|
Generalise rectangular operations.
|
2023-02-02 21:49:05 -05:00 |
|
Thomas Harte
|
83f6d1cda3
|
Prepare for source/destination operations.
|
2023-02-02 21:16:24 -05:00 |
|
Thomas Harte
|
6d315b4660
|
Switch to specifying number of bits, to reduce potential error.
|
2023-02-02 12:12:11 -05:00 |
|
Thomas Harte
|
debdad350d
|
Don't allow a disabled screen to interfere with Yamaha addressing.
|
2023-02-02 12:03:33 -05:00 |
|
Thomas Harte
|
0d4dc214fb
|
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
|
2023-02-02 11:38:45 -05:00 |
|
Thomas Harte
|
5d4c49c913
|
Attempt to enable high-speed fill.
|
2023-02-01 22:57:33 -05:00 |
|
Thomas Harte
|
8f5c7fcabc
|
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
|
2023-02-01 22:25:12 -05:00 |
|
Thomas Harte
|
115acf835e
|
Vertical state is actually tristate.
|
2023-02-01 22:25:00 -05:00 |
|
Thomas Harte
|
c0fec8db15
|
Clean up macro.
|
2023-02-01 15:05:21 -05:00 |
|
Thomas Harte
|
f0e70f18fd
|
Fix seeding of output_pointer_.
|
2023-02-01 14:59:42 -05:00 |
|
Thomas Harte
|
9d2841bf6a
|
Reenable full ram pointer capture. Thanks @PatrickvL !
|
2023-02-01 14:55:33 -05:00 |
|
Thomas Harte
|
4cc34fd557
|
Resolve GCC complaint.
|
2023-02-01 14:28:19 -05:00 |
|
Thomas Harte
|
3636383b1f
|
Silence abstract/non-virtual-destructor warning.
|
2023-02-01 14:20:11 -05:00 |
|
Thomas Harte
|
1264600bab
|
Shorten long lines.
|
2023-02-01 14:18:36 -05:00 |
|
Thomas Harte
|
002d27d9c2
|
Resolve various type conversion errors, and reduce duplication.
|
2023-02-01 14:17:49 -05:00 |
|
Thomas Harte
|
90e8ce3253
|
Fix lines.
TODO: determine whether I really need `location` as distinct from `.destination`.
|
2023-01-31 21:33:57 -05:00 |
|
Thomas Harte
|
a315384e30
|
Provide context for byte-by-byte commands.
|
2023-01-31 21:29:55 -05:00 |
|
Thomas Harte
|
c5c722ae56
|
Generalise axis steps; begin HMMV.
|
2023-01-31 13:35:39 -05:00 |
|
Thomas Harte
|
872b9e5021
|
Predict Yamaha horizontal retrace interrupts.
|
2023-01-30 21:33:47 -05:00 |
|
Thomas Harte
|
492a170b20
|
Implement much of Yamaha line interrupts.
|
2023-01-30 21:24:53 -05:00 |
|
Thomas Harte
|
30a2b1611f
|
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
|
2023-01-30 21:06:23 -05:00 |
|
Thomas Harte
|
29af5542f8
|
Make an effort at doing _something_ for G4.
|
2023-01-30 21:06:04 -05:00 |
|
Thomas Harte
|
bc4c54800e
|
Type out just a little of status register 1.
|
2023-01-30 20:20:33 -05:00 |
|
Thomas Harte
|
8f20cb93e9
|
Note missed status accesses.
|
2023-01-29 21:20:50 -05:00 |
|
Thomas Harte
|
73e79b14ea
|
Use Yamaha palette pervasively.
|
2023-01-29 21:17:00 -05:00 |
|
Thomas Harte
|
3142f5c21d
|
Be overt about what replaces LineMode.
|
2023-01-29 21:04:15 -05:00 |
|
Thomas Harte
|
6d7f189ce7
|
Attempt the full panoply of logical pixel modes, across all graphics modes.
|
2023-01-29 18:28:49 -05:00 |
|
Thomas Harte
|
a91a5b8d07
|
Refer to actual field.
|
2023-01-29 18:02:09 -05:00 |
|
Thomas Harte
|
4cdcd3ac7d
|
Retain logical operation, take colour combination outside the loop.
|
2023-01-29 13:29:19 -05:00 |
|
Thomas Harte
|
0576451102
|
Be overt about colour direction.
|
2023-01-29 13:22:56 -05:00 |
|
Thomas Harte
|
3f12a28f4f
|
Locate first pixel correctly.
|
2023-01-28 22:50:04 -05:00 |
|
Thomas Harte
|
41ba883fb6
|
Honour direction, start transfer immediately.
|
2023-01-28 22:47:27 -05:00 |
|