Thomas Harte
dd65074bbf
Add named getters, resolving composition bug.
2023-02-25 10:32:47 -06: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
091c1b0f45
Correct sprite attribute and colour table addresses.
2023-02-21 19:34:26 -05:00
Thomas Harte
2e45422b03
Make a further attempt at sprite colour.
2023-02-20 22:39:34 -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
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
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
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
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
c1457cc5e0
Attempt text mode data collection.
2023-02-13 22:20:47 -05:00
Thomas Harte
5143960970
Add notes to self on how to collect text.
2023-02-13 21:09:31 -05:00
Thomas Harte
7cb51c021b
Observation: offset is needed only ephemerally.
2023-02-06 21:45:35 -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
002d27d9c2
Resolve various type conversion errors, and reduce duplication.
2023-02-01 14:17:49 -05:00
Thomas Harte
700470915a
Add pixel serialisation for Yamaha graphics mode 5.
2023-01-24 23:07:29 -05:00
Thomas Harte
f8b42d4107
While being lazy with types, implement 4/5/6/7 fetching.
2023-01-24 13:15:00 -05:00
Thomas Harte
63bd0f918d
Be overt about buffer target and vertical position.
2023-01-24 12:46:09 -05:00
Thomas Harte
445b34933a
Edge further towards actual fetching.
2023-01-23 23:19:04 -05:00
Thomas Harte
91047e5b3a
Start attempting to use table-based Yamaha fetch.
2023-01-22 22:00:28 -05:00
Thomas Harte
c6dd7d4726
Transcribe no-sprite event list.
2023-01-22 20:19:21 -05:00
Thomas Harte
b7d80f5ed1
Copy in some notes, expand line buffer.
2023-01-21 23:04:48 -05:00
Thomas Harte
a5765abbad
Route into the Yamaha fetcher.
...
Albeit that it doesn't yet fetch.
2023-01-21 22:47:16 -05:00
Thomas Harte
9b7a925816
Give clearer names to the two pointers.
2023-01-20 20:29:15 -05:00
Thomas Harte
392b0acb58
Pull everything out of master_system_
struct.
...
Now that it's inherently collected in the relevant `Storage`.
2023-01-19 15:09:16 -05:00
Thomas Harte
4b7606894e
Move Master System state, and start simplifying.
2023-01-19 14:09:31 -05:00
Thomas Harte
fd14829992
Avoid hand-writing all the various conversions.
2023-01-09 22:34:56 -05:00
Thomas Harte
c0fe88a5bb
Apply clock conversion to existing usages of do_external_slot.
2023-01-09 13:54:49 -05:00
Thomas Harte
4d9d684618
Add TODO on dangling hard-coded conversion.
2023-01-08 21:44:25 -05:00
Thomas Harte
27d37f71ec
Generalise and better factor bit reversal and TMS drawing.
2023-01-05 13:18:10 -05:00
Thomas Harte
c4a5a9763e
Minor indentation improvement.
2023-01-02 15:04:50 -05:00
Thomas Harte
dc3f8f5e42
These are the three fetchers to implement.
...
They'll look fairly different from the TMS and SMS fetchers, I think, owing to the greater irregularity that comes with the smarter RAM accesses. I might need to play around for a while.
2023-01-01 22:44:06 -05:00
Thomas Harte
27812fd0e2
Separate fetchers into their own header.
2023-01-01 22:26:50 -05:00