Thomas Harte
42731be11f
Remove non-functional EGA switches.
2024-01-11 22:00:48 -05:00
Thomas Harte
e919386c79
Grab cursor type.
2024-01-11 15:10:43 -05:00
Thomas Harte
22b4b4d4e3
Switch to named values for everything except blink mode.
2024-01-09 22:03:24 -05:00
Thomas Harte
5f00d29297
Subsume vertical sync position.
2024-01-08 22:28:46 -05:00
Thomas Harte
f1453d9363
Introduce some vertical metrics.
2024-01-08 21:49:24 -05:00
Thomas Harte
8290220657
Begin process of meaningful naming.
...
This is in part for readability, but primarily because the differences in VGA/EGA register definitions are better handled at set rather than during execution.
2024-01-08 15:35:44 -05:00
Thomas Harte
e69c777373
Merge branch 'master' into SpectreNIB
2024-01-02 09:17:37 -05:00
Thomas Harte
8c0ac6158c
Adjust indentation.
2024-01-01 22:45:11 -05:00
Thomas Harte
99351ee2de
Extend refresh address to 16-bit in 'EGA' mode.
2023-12-27 16:17:25 -05:00
Thomas Harte
a617f7305a
Move personality into type.
2023-12-27 16:15:52 -05:00
Thomas Harte
3793fbd978
Remove much unused storage; add virtual destructor.
2023-12-27 11:14:08 -05:00
Thomas Harte
7b343b25cc
Mildly reduce bit count weight; eliminate !!s.
2023-12-26 14:13:01 -05:00
Thomas Harte
ad6fe75296
Add yucky disk speed coupling.
2023-12-10 23:07:02 -05:00
Thomas Harte
1985d7da6a
Do something on a write rather than nothing.
2023-12-07 16:45:21 -05:00
Thomas Harte
017fd84f36
Also use output level for CRAM dots.
2023-12-07 11:05:10 -05:00
Thomas Harte
fc63fcb751
Unify usages of output_level
for border.
2023-12-07 11:04:18 -05:00
Ryan Carsten Schmidt
01cf7462d5
Disk II: Don't overwrite data bus when not asked to
...
Return DidNotLoad rather than 0xff from read_address on odd-numbered
addresses so that the data bus is not overwritten with 0xff on those
accesses.
2023-12-05 10:03:52 -06:00
Thomas Harte
e9420fc48d
Merge pull request #1245 from TomHarte/MDANoCursor
...
MDA: implement no cursor, blink attribute.
2023-12-04 22:10:12 -05:00
Thomas Harte
9601c69e12
Implement blinking text.
2023-12-04 22:02:38 -05:00
Thomas Harte
790e744bde
Merge pull request #1239 from ryandesign/sense-write-protect
...
Fix Disk II sense-write-protect clocking preference
2023-12-04 21:47:26 -05:00
Thomas Harte
8103f8e682
Switch interpretation to support cursor on/off.
2023-12-04 15:54:56 -05:00
Ryan Carsten Schmidt
b91a791e01
Fix Disk II sense-write-protect clocking preference
...
Ensure we're actually in the sense-write-protect loop before deciding
that we don't need to process anymore.
Closes #1218
2023-12-04 09:19:52 -06:00
Thomas Harte
646c6b08f7
Make cursor blink.
2023-12-04 09:52:46 -05:00
Thomas Harte
0d7646d42a
Add a cursor-type template parameter.
2023-12-04 09:45:32 -05:00
Ryan Carsten Schmidt
ab608178f3
Consider Disk II state machine state C to be a NOP
...
Continuation of #1224
2023-12-04 08:13:32 -06:00
Thomas Harte
5d8666b837
Enable the cursor signal; no blink action yet.
2023-12-03 17:57:19 -05:00
Thomas Harte
66b95a8b54
Merge pull request #1217 from TomHarte/PCFDC
...
Sketch the outline of a high-level emulation of the PC FDC
2023-11-29 12:48:55 -05:00
Thomas Harte
439104c73a
Add missing space.
2023-11-29 09:49:05 -05:00
Thomas Harte
fbbe3ab7f1
Include seek ended flag.
2023-11-29 09:45:45 -05:00
Thomas Harte
6e2e67fd46
Sculpt out enough to get to a read data command.
2023-11-29 09:42:43 -05:00
Ryan Carsten Schmidt
3293ab48ce
Handle C, E, F operations in Disk II state machine
...
This shouldn't matter since these operations are not requested by the
state machine but this is what those operations should do according to
Understanding the Apple II, Table 9.3, page 9-15.
2023-11-29 05:50:20 -06:00
Thomas Harte
3827a084ad
Code to GlaBIOS expectations.
2023-11-28 23:18:22 -05:00
Thomas Harte
301442a0b1
Fix meaning of flag, use correctly.
2023-11-28 22:34:34 -05:00
Thomas Harte
b860fba0a3
Make an attempt at providing varied sense interrupt statuses.
2023-11-28 14:12:39 -05:00
Thomas Harte
bffe3ffa25
Add an 8272 results phase.
2023-11-27 23:05:37 -05:00
Thomas Harte
993366ac5a
Merge branch 'master' into PCFDC
2023-11-27 22:16:30 -05:00
Thomas Harte
2a0375e9c2
Mildly adjust layout of inner loop.
2023-11-27 15:16:22 -05:00
Thomas Harte
032eeb4757
Eliminate runtime switch.
2023-11-27 14:57:41 -05:00
Thomas Harte
d2203484cc
Avoid name duplication.
2023-11-26 15:29:08 -05:00
Thomas Harte
003c494aac
Factor out a large number of status-related facts.
2023-11-26 15:04:10 -05:00
Thomas Harte
9bd75464b5
Proceed to receiving a sense interrupt status.
2023-11-25 18:15:37 -05:00
Thomas Harte
0bb048e24b
Start formalising/extracting 8272 status.
2023-11-25 18:10:49 -05:00
Thomas Harte
af70c8847d
Factor out the stuff of accumulating and dissecting commands.
2023-11-24 18:24:58 -05:00
Thomas Harte
8efb6a9226
Simplify 'get_next_sequence_point' -> 'next_sequence_point'.
2023-09-10 18:00:49 -04:00
Thomas Harte
40d5bd4e58
Switch to purposive name.
2023-05-19 14:22:22 -04:00
Thomas Harte
c75efb7dac
Also allow for a potential Grauw conversion in Yamaha land.
2023-05-19 13:43:28 -04:00
Thomas Harte
d117a44069
Allow for potential Grauw offset in TMS and SMS.
2023-05-19 11:46:49 -04:00
Thomas Harte
dc425a03d3
Partially resolve.
2023-05-18 16:55:17 -04:00
Thomas Harte
ce8bd011d7
Add commentary, and TODOs.
2023-05-18 16:50:46 -04:00
Thomas Harte
c76048bff9
Formalise the idea of Grauw as a separate clock.
2023-05-18 16:37:48 -04:00
Thomas Harte
4cb7abe13d
Update old comment.
2023-05-18 16:28:05 -04:00
Thomas Harte
5c51bae605
Remove unused variable.
2023-05-16 16:46:36 -04:00
Thomas Harte
8578dfbf22
Eliminate various other errant spaces.
2023-05-16 16:40:09 -04:00
Thomas Harte
f821b60430
Remove stray space.
2023-05-16 16:16:10 -04:00
Thomas Harte
8ca0d9e13a
Add a hook for when I think mode latching should occur.
2023-05-16 16:14:37 -04:00
Thomas Harte
3014c957e7
Relocate Yamaha line interrupt.
2023-05-16 13:01:23 -04:00
Thomas Harte
a1a7c0e253
Apply maybe_unused judiciously.
2023-05-15 10:17:04 -04:00
Thomas Harte
50343dec43
Eliminate all whitespace-only lines.
2023-05-12 14:16:39 -04:00
Thomas Harte
28c79b2885
Eliminate redundant [space][tab] pairs.
2023-05-12 14:14:45 -04:00
Thomas Harte
56de9c418f
Improve comments.
2023-05-12 13:59:52 -04:00
Thomas Harte
5bcb5fb832
Also sever command-engine state.
2023-05-12 13:57:50 -04:00
Thomas Harte
abeb361441
Gift all generators to YamahaFetcher.
2023-05-12 13:54:07 -04:00
Thomas Harte
f9cc2013a8
Start to cleave off Yamaha fetch tables.
2023-05-12 13:49:53 -04:00
Thomas Harte
e7c40eead9
Have Fetch and Draw be overt about namespaces.
2023-05-12 13:46:35 -04:00
Thomas Harte
c29d80006e
Start to organise.
2023-05-12 13:33:02 -04:00
Thomas Harte
596661bfbe
Remove errant newline.
2023-05-12 13:25:11 -04:00
Thomas Harte
7e319374b6
Consolidate StandardTiming into LineLayout.
2023-05-11 23:49:12 -04:00
Thomas Harte
2b56b7be0d
Simplify namespace syntax.
2023-05-10 16:02:18 -05:00
Thomas Harte
992a47c196
Add fallthrough annotations to Duff-esque loops.
2023-05-10 09:38:42 -05:00
Thomas Harte
8540e7a953
Add missing #include.
2023-05-10 09:37:21 -05:00
Thomas Harte
e94b9f695a
Move interrupt away from buggy position.
...
Since I don't know where it's supposed to go anyway.
2023-05-08 09:50:05 -04:00
Thomas Harte
3797968870
Expose line interrupt status only when enabled.
2023-05-08 09:45:54 -04:00
Thomas Harte
561e2b774e
Unify numbered and named slots.
2023-04-30 17:24:14 -04:00
Thomas Harte
6552d962ab
Fix base for Master System fetching.
2023-04-30 16:43:03 -04:00
Thomas Harte
6c0feeedb4
Update Master System horizontal counter.
2023-04-26 22:49:46 -04:00
Thomas Harte
b5d9586362
Clean up some dangling timing changes.
2023-04-25 23:16:21 -04:00
Thomas Harte
e49e98d309
Support horizontal offsets.
2023-04-24 22:43:11 -04:00
Thomas Harte
1b4df01a28
Fix missing right blank.
2023-04-24 22:23:09 -04:00
Thomas Harte
dbddcd109c
Add mention of text mode.
2023-04-23 22:38:42 -04:00
Thomas Harte
efa7d659bc
Subsume right erase.
2023-04-23 22:21:22 -04:00
Thomas Harte
5daec050dd
Adopt proper pixel-content placement.
2023-04-23 22:18:36 -04:00
Thomas Harte
f5c8eba843
Reduce duplication.
2023-04-23 22:02:41 -04:00
Thomas Harte
e5b0e666cc
Realign fetching.
2023-04-23 21:16:04 -04:00
Thomas Harte
96896f838c
Adjust layout inner loop.
2023-04-23 12:17:55 -04:00
Thomas Harte
f22aa6eb36
Simplify all namespace usages.:wq
2023-04-23 12:08:07 -04:00
Thomas Harte
6d092e0633
Restore missing semicolon.
2023-04-23 12:06:07 -04:00
Thomas Harte
6651a9c323
Use established test.
2023-04-23 12:01:33 -04:00
Thomas Harte
12bcc2dee7
Make reasonable guesses at colour burst placement.
2023-04-22 23:11:01 -04:00
Thomas Harte
d587d80616
Transcribe Grauw's line timings.
2023-04-22 22:58:23 -04:00
Thomas Harte
e66c015b43
Eliminate regress
for now.
2023-04-13 23:30:52 -04:00
Thomas Harte
9d99cc6115
Fix external slot placement.
2023-04-12 22:35:01 -04:00
Thomas Harte
383770515e
Avoid null dereference.
2023-04-10 23:13:36 -04:00
Thomas Harte
024b7960cb
Overtly link line and sprite buffers.
2023-04-10 23:03:39 -04:00
Thomas Harte
e0a5d9f31c
Reorient sequencers around HSYNC.
2023-04-08 15:28:49 -04:00
Thomas Harte
224c79c492
Move state.
2023-04-06 00:05:19 -04:00
Thomas Harte
278e7ba9b0
Take ownership of test choice.
2023-04-05 23:33:42 -04:00
Thomas Harte
20c1c6fdcd
Add sanity check on sprite fetches versus draws.
2023-04-03 22:46:49 -04:00
Thomas Harte
514022204e
Attempt to avoid lingering sprite elements.
2023-04-02 22:45:02 -04:00
Thomas Harte
564ee1a5cb
Fix sprites on first line of display.
2023-03-30 23:45:19 -04:00
Thomas Harte
f3c2c0ffa9
Synchronise fetch and draw sprite buffer usage.
2023-03-30 19:11:00 -04:00