1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-11 15:49:38 +00:00
Commit Graph

1533 Commits

Author SHA1 Message Date
Thomas Harte
1e877c7563 Add a clock to the 6522s, enable interrupts. 2024-02-14 22:01:03 -05:00
Thomas Harte
0dcceff410 There's actually two AYs. 2024-02-14 14:31:38 -05:00
Thomas Harte
3ba2618547 Fix formatting, add comment. 2024-02-13 13:48:31 -05:00
Thomas Harte
a3e104f8e2 Clean up commentary. 2024-02-13 13:46:27 -05:00
Thomas Harte
1bb82189e9 Add better exposition. 2024-02-13 10:57:22 -05:00
Thomas Harte
e06a66644c Eliminate a macro. 2024-02-13 10:54:53 -05:00
Thomas Harte
6dcc13921f Make first sweep at converting AY to a SampleSource. 2024-02-13 10:51:33 -05:00
Thomas Harte
d49c07687c Unify [get_/skip_]samples, adding a third option for in-place mixing. 2024-02-12 10:55:52 -05:00
Thomas Harte
609d81d75d Distinguish sources of samples and of whole buffers. 2024-02-09 14:25:40 -05:00
Thomas Harte
c105acf1c7 Adopt a full type for stereo samples, gaining + and +=. 2024-02-09 10:48:42 -05:00
Thomas Harte
f3d0827d14 Introduce [Mono/Stereo]Sample types. 2024-02-09 09:15:48 -05:00
Thomas Harte
a4a983eb81 Promote stereo status to template parameter. 2024-02-08 15:21:47 -05:00
Thomas Harte
c6c9be0b08 Adopt CRTP for SampleSource. 2024-02-01 21:47:44 -05:00
Thomas Harte
fd73c24fc3 Use std::fill; update volume with slider. 2024-02-01 21:32:16 -05:00
Thomas Harte
ce0d53b277 Clean up SampleSource's getters. 2024-02-01 21:29:00 -05:00
Thomas Harte
295d5ae0c3 Ensure Master System horizontal scroll is latched every line. 2024-01-21 17:09:51 -05:00
Thomas Harte
b61317ba7e Continue conversion of logging. 2024-01-19 22:02:26 -05:00
Thomas Harte
b5e3858c46 Update logging. 2024-01-19 15:38:40 -05:00
Thomas Harte
2200940efe Update logging. 2024-01-19 14:22:23 -05:00
Thomas Harte
7e47329e2a Update use of logger. 2024-01-19 14:16:13 -05:00
Thomas Harte
54aae60c92 Update logging. 2024-01-19 14:01:10 -05:00
Thomas Harte
55d7a7e5f6 Flood the zone with sources; work incomplete. 2024-01-19 11:45:29 -05:00
Thomas Harte
040f276bf1 Update logging interface. 2024-01-19 10:57:30 -05:00
Thomas Harte
70a753d8a8 Update to latest logging. 2024-01-19 10:41:59 -05:00
Thomas Harte
1d6537c3a9 Switch to newer logging interface. 2024-01-19 10:36:09 -05:00
Thomas Harte
a3d37640aa Switch include guards to #pragma once. 2024-01-16 23:34:46 -05:00
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