1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-12-12 08:30:05 +00:00
Commit Graph

3491 Commits

Author SHA1 Message Date
Thomas Harte
fdef8901ab Double down on uint32_t. 2024-03-08 14:13:34 -05:00
Thomas Harte
a46ec4cffb Up clock rate to 24Mhz. 2024-03-07 22:16:58 -05:00
Thomas Harte
9bb5dc3c2b Fix inclusive range. 2024-03-07 19:40:34 -05:00
Thomas Harte
f6ea442606 Include various debugging detritus. 2024-03-07 14:28:39 -05:00
Thomas Harte
15ee84b2eb Fix MUL ambiguity. 2024-03-07 11:45:39 -05:00
Thomas Harte
d380cecdb7 Add timers that count. 2024-03-07 11:39:26 -05:00
Thomas Harte
ae3cd924e8 Add a 2Mhz tick for timers. 2024-03-07 11:12:40 -05:00
Thomas Harte
a0f0f73bde Fix MOV as unconditional branch. 2024-03-07 10:31:26 -05:00
Thomas Harte
7cdceb7b4f Add a specific shout-out on prefetch abort, for debugging. 2024-03-07 10:23:46 -05:00
Thomas Harte
38b5624639 Add a little more VIDC detail. 2024-03-07 10:05:22 -05:00
Thomas Harte
3405b3b287 Add power-on bit, moving problems forward. 2024-03-06 22:14:56 -05:00
Thomas Harte
173fc9329a Add a little protection logic. 2024-03-06 22:00:34 -05:00
Thomas Harte
691a42d81e Attempt some logical mapping. 2024-03-06 21:51:19 -05:00
Thomas Harte
4059905f85 Slightly reorder messaging. 2024-03-06 16:45:17 -05:00
Thomas Harte
bbb520fd12 Transcribe some notes. 2024-03-06 15:31:07 -05:00
Thomas Harte
108a056f1c Execution now runs into a prefetch abort loop. 2024-03-06 15:05:24 -05:00
Thomas Harte
ed92e98ca2 Start looking at address translation. 2024-03-06 14:56:06 -05:00
Thomas Harte
0d666f9935 Get a bit more rigorous about reporting. 2024-03-06 09:54:39 -05:00
Thomas Harte
387791635e Start to establish a memory map. 2024-03-04 21:43:06 -05:00
Thomas Harte
b7a1363add Add an incorrect execution loop. 2024-03-04 21:09:24 -05:00
Thomas Harte
1f43047de8 Loop the ARM executor into the build. 2024-03-04 12:08:46 -05:00
Thomas Harte
6f0ad0ab71 Add an empty Archimedes shell. 2024-03-04 12:06:43 -05:00
Thomas Harte
3e80651a0e Collect 'Electron' under 'Acorn'. 2024-03-04 11:31:25 -05:00
Thomas Harte
e27312c980 Add to machine lists. 2024-03-04 10:19:06 -05:00
Thomas Harte
c0dd96eb7c Add a catalogue entry for RISC OS. 2024-03-02 21:44:27 -05:00
Thomas Harte
1449b2a2a6
Merge pull request #1347 from TomHarte/AppleIIFlashRate
Double Apple II flash rate.
2024-02-28 22:21:05 -05:00
Thomas Harte
0f691766ee Double flash rate. 2024-02-28 22:13:22 -05:00
Thomas Harte
98f5d0cdb7 Propagate reset to the auxiliary switches. 2024-02-28 21:36:55 -05:00
Thomas Harte
bc5727af14 Switch to = default. 2024-02-16 21:50:15 -05:00
Thomas Harte
e8036127fe Add some commentary. 2024-02-16 09:19:22 -05:00
Thomas Harte
17abd87791 Remove further !!s. 2024-02-16 08:57:43 -05:00
Thomas Harte
35545451fe Apply applicable deferred actions before lookahead. 2024-02-16 08:56:01 -05:00
Thomas Harte
fadd3bc6fc Eliminate 'unused' error. 2024-02-15 13:57:11 -05:00
Thomas Harte
d9ec11c62e Use logger instead of printf. 2024-02-15 13:55:46 -05:00
Thomas Harte
093a029b8c Further reduce printf footprint. 2024-02-15 13:41:35 -05:00
Thomas Harte
be99183f1d Remove outdated TODO. 2024-02-15 13:26:03 -05:00
Thomas Harte
a09457dab5 Fix IOSEL and DEVSEL assignments. 2024-02-15 10:29:30 -05:00
Thomas Harte
51de1892c0 With minor infrastructure fixes, switch Mockingboard to stereo. 2024-02-15 09:42:33 -05:00
Thomas Harte
cb22278c7f Switch meaning of bit 2. 2024-02-15 08:54:52 -05:00
Thomas Harte
809bc9d6a8 Add TODO. 2024-02-14 22:46:57 -05:00
Thomas Harte
be11f31d5d Support reset. 2024-02-14 22:22:42 -05:00
Thomas Harte
0103761b7b Corrects AY audio tone. 2024-02-14 22:16:37 -05:00
Thomas Harte
3ac5fdafab Enables AY audio, albeit underclocked. 2024-02-14 22:15:21 -05:00
Thomas Harte
1e877c7563 Add a clock to the 6522s, enable interrupts. 2024-02-14 22:01:03 -05:00
Thomas Harte
07c11e8268 Begin 6522 wiring. 2024-02-14 15:18:19 -05:00
Thomas Harte
0dcceff410 There's actually two AYs. 2024-02-14 14:31:38 -05:00
Thomas Harte
2a684ab302 Include a single AY in the mix if appropriate. 2024-02-14 10:55:53 -05:00
Thomas Harte
27059233b3 Use sample source to simplify stretching AY. 2024-02-13 22:38:18 -05:00
Thomas Harte
7f84d5ac6f Merge branch 'master' into Mockingboard 2024-02-13 14:46:59 -05:00
Thomas Harte
6dcc13921f Make first sweep at converting AY to a SampleSource. 2024-02-13 10:51:33 -05:00
Thomas Harte
f14e45f93e Remove various instances of ';;'. 2024-02-12 14:23:54 -05:00
Thomas Harte
1895b4ee5d Remove empty implementation, the better for debugging. 2024-02-12 13:59:03 -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
228012cd0c Make a further deployment of std::fill. 2024-02-01 22:03:13 -05:00
Thomas Harte
c6c9be0b08 Adopt CRTP for SampleSource. 2024-02-01 21:47:44 -05:00
Thomas Harte
ce0d53b277 Clean up SampleSource's getters. 2024-02-01 21:29:00 -05:00
Thomas Harte
17cad73177 Attempt an implementation of StretchedAudioSource. 2024-01-29 16:45:20 -05:00
Thomas Harte
15b5a62e01 Mockingboard: start sketching out intermediate clocking. 2024-01-23 22:05:30 -05:00
Thomas Harte
d3cea4a10f Note that arguments may be unused. 2024-01-21 21:19:51 -05:00
Thomas Harte
a6df20ff84 Eliminate printf. 2024-01-21 21:19:38 -05:00
Thomas Harte
7122a9ee16 Add missing include of cstdint. 2024-01-21 21:08:04 -05:00
Thomas Harte
b08c7f8b68 Remove dangling LOG_PREFIXs. 2024-01-19 22:19:35 -05:00
Thomas Harte
0c2a4f442e Resolve all commented-out old logging references. 2024-01-19 22:17:35 -05:00
Thomas Harte
18814f7b2c Update use of logging. 2024-01-19 22:14:24 -05:00
Thomas Harte
b61317ba7e Continue conversion of logging. 2024-01-19 22:02:26 -05:00
Thomas Harte
7e47329e2a Update use of logger. 2024-01-19 14:16:13 -05:00
Thomas Harte
a402e30edf Combine all per-bank information into a single struct.
(while fixing the indexing type)
2024-01-17 09:44:07 -05:00
Thomas Harte
16baa05aec Correct type. 2024-01-17 09:43:44 -05:00
Thomas Harte
108c584ddb Comment out unused macros. 2024-01-16 23:40:52 -05:00
Thomas Harte
a3d37640aa Switch include guards to #pragma once. 2024-01-16 23:34:46 -05:00
Thomas Harte
a315deb60c Eliminate palette macro. 2024-01-16 14:32:04 -05:00
Thomas Harte
9ea71c97db Consolidate on std::array. 2024-01-16 14:28:15 -05:00
Thomas Harte
a047c6493a Eliminate joystick macros. 2024-01-16 14:26:55 -05:00
Thomas Harte
3ab6953246 Avoid use of raw pointers in machine creation. 2024-01-12 22:03:19 -05:00
Thomas Harte
ed91956c30 Add missing #include. 2024-01-04 11:21:32 -05:00
Thomas Harte
24d64bf788 ROM is never shadowed; also add assert. 2024-01-04 11:17:20 -05:00
Thomas Harte
386f572e9a Add assert. 2024-01-04 11:11:26 -05:00
Thomas Harte
dae80217bc Adjust names of the newly-private. 2024-01-04 10:36:33 -05:00
Thomas Harte
bfbaebb661 Improve const correctness. 2024-01-04 10:29:38 -05:00
Thomas Harte
4affbe7556 Relocate using. 2024-01-04 10:28:41 -05:00
Thomas Harte
c151a73059 Remove dead srand. 2024-01-04 10:25:39 -05:00
Thomas Harte
ae48f05c80 Shuffle most of the MemoryMap ugliness into a source file. 2024-01-04 10:25:27 -05:00
Thomas Harte
cd7a152bed Remove a lot of dead logging detritus. 2024-01-04 09:59:46 -05:00
Thomas Harte
9cc37945b7 Avoid over-logging. 2024-01-04 09:57:01 -05:00
Thomas Harte
cf00a709ec Be consistent in shadowing physical addresses. 2024-01-03 15:02:54 -05:00
Thomas Harte
bbaaa520c8 Eliminate MemoryMap access macros, fix tests target. 2024-01-03 13:21:39 -05:00
Thomas Harte
d01c306187 Pull PagingType::Main to top, eliminate macros. 2024-01-03 11:40:04 -05:00
Thomas Harte
2447029631 Don't page if acknowleding interrupts. 2024-01-02 22:23:40 -05:00
Thomas Harte
34b98be6d4 Merge branch 'master' into CRTC16bit 2024-01-01 22:34:48 -05:00
Thomas Harte
344fec0683 Fix Apple II inverse text errors. 2024-01-01 22:08:06 -05:00
Thomas Harte
26123bf399 Mostly hide state. 2024-01-01 15:15:40 -05:00
Thomas Harte
2698ac2d0f Comment and clarify. 2024-01-01 09:33:20 -05:00
Thomas Harte
a58f643b4d Improve repeat behaviour. 2023-12-31 15:21:20 -05:00
Thomas Harte
1b5b3e575c Add repeat-only functionality. 2023-12-29 14:45:48 -05:00
Thomas Harte
ffb992d04a Erase done TODO. 2023-12-28 15:07:39 -05:00
Thomas Harte
9344f6a824 Indicate whether a keypress is a repeat. Treat appropriately in the Apple II. 2023-12-28 15:05:55 -05:00
Thomas Harte
a617f7305a Move personality into type. 2023-12-27 16:15:52 -05:00
Thomas Harte
574de0dbf3 Further reduce state. 2023-12-27 11:25:47 -05:00
Thomas Harte
3793fbd978 Remove much unused storage; add virtual destructor. 2023-12-27 11:14:08 -05:00
Thomas Harte
d6073e0407 Fix typo, add bonus comment. 2023-12-27 10:52:43 -05:00
Thomas Harte
001b161568 Treat speed as more of a runtime selection. 2023-12-27 10:44:51 -05:00
Thomas Harte
11c7f2ee6e Make GlaTICK optional. 2023-12-27 10:10:42 -05:00
Thomas Harte
29ed449373 Add EGA and VGA ROMs. 2023-12-27 10:05:41 -05:00
Thomas Harte
14e9ae014c Remove caveman log. 2023-12-25 18:44:11 -05:00
Thomas Harte
16b646ad2e Treat reset as a continuing state. 2023-12-25 18:43:35 -05:00
Thomas Harte
fc9bea5b32 Iterate forwards. 2023-12-25 14:58:01 -05:00
Thomas Harte
0537e59486 Add RAM. 2023-12-25 14:35:24 -05:00
Thomas Harte
f58ab0d00d Default to 24-hour mode. 2023-12-24 17:37:52 -05:00
Thomas Harte
bf9743cb38 Keep as regular int. 2023-12-24 14:16:12 -05:00
Thomas Harte
3e328bed61 Be overt about jump size, albeit without internal rigour. 2023-12-24 14:11:41 -05:00
Thomas Harte
54f1c31c94 Apply changes on trailing edges only. 2023-12-22 18:38:43 -05:00
Thomas Harte
85f814c632 Attempt to build fixed operations into type.
This simplifies callees and should make all helper functions automatically able to optimise themselves for fixed operations.
2023-12-21 23:08:18 -05:00
Thomas Harte
213dfe037d Shift operation stuff into its own namespace, making data_select_active a free function. 2023-12-21 16:03:53 -05:00
Thomas Harte
faaa89bb67 Eliminate all reference to EmuTOS. 2023-12-21 15:28:45 -05:00
Thomas Harte
98be6e690f Fully expose the PC to SDL, etc. 2023-12-21 13:01:41 -05:00
Thomas Harte
abea3d10cc
Merge pull request #1270 from ryandesign/MacSDL
SDL build improvements
2023-12-18 21:58:30 -05:00
Thomas Harte
a779b4668e
Merge pull request #1269 from ryandesign/typos
Fix typos
2023-12-18 21:56:23 -05:00
Thomas Harte
08287edd61 Don't disable the colour burst in mixed mode. 2023-12-18 16:26:02 -05:00
Ryan Carsten Schmidt
5ef6b190af Fix typos 2023-12-16 03:53:07 -06:00
Ryan Carsten Schmidt
d12316dfcf Change phase from int to uint8_t
output_colour_burst expects a uint8_t so may as well make that clear.
2023-12-15 04:49:13 -06:00
Ryan Carsten Schmidt
81ad864659 Fix OpenGL Apple II colors
Adjust phase by 90 degress.

Closes #872
2023-12-15 04:48:32 -06:00
Thomas Harte
5033d2046a Support auto-EOI. 2023-12-12 14:02:46 -05:00
Thomas Harte
2db04eb671 Add TODO list. 2023-12-12 10:59:43 -05:00
Thomas Harte
0c98a78bb5 Support specific EOIs. 2023-12-12 10:55:49 -05:00
Thomas Harte
d523242e08 Add TODO. 2023-12-12 09:35:05 -05:00
Thomas Harte
070f8d8bc3 Simplify control flow. 2023-12-12 09:29:28 -05:00
Thomas Harte
add3257258 Switch to using a Parser rather than duplicating one. 2023-12-11 19:13:37 -05:00
Thomas Harte
05bfab47d2 Merge branch 'master' into PCHD 2023-12-10 23:15:33 -05:00
Thomas Harte
7b9cc2332e Extend amount of time it takes keyboard to reset. 2023-12-10 22:44:24 -05:00
Thomas Harte
04d75a3ab8 Return proper day-of-the-month value. 2023-12-10 22:44:08 -05:00
Thomas Harte
98e05fb0e3 Introduce high-density tracks. 2023-12-10 22:17:23 -05:00
Thomas Harte
f823310fe3 Add an appropriate crop. 2023-12-08 14:29:23 -05:00
Thomas Harte
604fca7fb1 Revise colour burst phase guess. 2023-12-08 11:55:00 -05:00
Thomas Harte
e703721271 Tie snow avoidance to avoiding DEN. 2023-12-08 11:02:41 -05:00
Thomas Harte
664890cead Expose speed as an option. 2023-12-08 10:46:59 -05:00
Thomas Harte
3a103217d1 Add a compiletime 'turbo' flag for sort-of-80286 speeds. 2023-12-08 09:38:55 -05:00
Thomas Harte
4bfde2f30f Mostly silence PC. 2023-12-07 22:11:49 -05:00
Thomas Harte
2966a82690
Merge pull request #1258 from TomHarte/DiskWrite
Respond appropriately if a write is attempted.
2023-12-07 22:08:07 -05:00
Thomas Harte
d61d80afec It seems that write protection ends in not-ready. 2023-12-07 16:50:12 -05:00
Thomas Harte
1985d7da6a Do something on a write rather than nothing. 2023-12-07 16:45:21 -05:00
Thomas Harte
75b6030516 Don't lose brown upon a blink. 2023-12-07 14:53:59 -05:00
Thomas Harte
e691cc8723 Retain dark yellow for composite output. 2023-12-07 14:21:09 -05:00
Thomas Harte
c5745f71f6 Reduce repetition, map dark yellow to brown. 2023-12-07 13:11:20 -05:00
Thomas Harte
71069bef0f Correct get_scaled_scan_status. 2023-12-07 12:18:03 -05:00
Thomas Harte
8608f0f89d Adjust CGA clocking down by 1/7th. 2023-12-07 12:05:15 -05:00
Thomas Harte
fc63fcb751 Unify usages of output_level for border. 2023-12-07 11:04:18 -05:00
Thomas Harte
ad78a03300 Default to CGA40 if starting a new composite PC. 2023-12-07 10:14:06 -05:00
Thomas Harte
0f22ee5de4 Add TODO. 2023-12-07 10:08:43 -05:00
Thomas Harte
83cfacc0a5 Update TODOs. 2023-12-07 10:03:52 -05:00
Thomas Harte
ef0c3549d2 Attempt but fail to indicate PM. 2023-12-06 23:28:16 -05:00
Thomas Harte
e3119a4904 Hack in read-only versions of the main registers. 2023-12-06 23:25:34 -05:00
Thomas Harte
5fde3b8d5d Wire up a stub RTC plus appropriate option ROM. 2023-12-06 22:56:09 -05:00
Thomas Harte
b385e6edad Revise guess as to address wrapping. 2023-12-06 22:03:24 -05:00
Thomas Harte
8645a4b7b1 Walk further towards user display configuration. 2023-12-06 14:44:59 -05:00
Thomas Harte
ff000a5792 Support remainder of colour control. 2023-12-06 14:38:43 -05:00
Thomas Harte
1c7f8841f4 Avoid potential lengthy startup; work towards display option. 2023-12-06 13:55:41 -05:00
Thomas Harte
fd298ffbe9 Remove dead TODO. 2023-12-06 13:15:36 -05:00
Thomas Harte
987a5dbfbf Honour monochrome flag. 2023-12-06 13:15:17 -05:00
Thomas Harte
0bb74f405f Ensure lines are in-phase with the NTSC colour subcarrier. 2023-12-06 13:12:58 -05:00
Thomas Harte
1aa168054e Add a phoney colour burst. 2023-12-06 13:10:28 -05:00
Thomas Harte
6d7c6de32f Fix flush_pixels for 640px mode. 2023-12-06 11:50:16 -05:00
Thomas Harte
d3021e8c90 Attempt _something_ for 640px mode. 2023-12-06 11:42:35 -05:00
Thomas Harte
6adaf89934 Make first attempt at palette support. 2023-12-06 11:19:04 -05:00
Thomas Harte
bf49f745bf Attempt to distinguish clocks. 2023-12-06 10:41:20 -05:00
Thomas Harte
c5aa3fc75c Start mangling towards pixel output. 2023-12-06 10:30:30 -05:00
Thomas Harte
f455f07ba2 Support half-clocked mode. 2023-12-06 09:59:14 -05:00
Thomas Harte
561e50a24d Implement most of CGA text mode. 2023-12-06 09:42:22 -05:00
Thomas Harte
23bdf0c2a2 Add CGA font references. 2023-12-06 09:34:04 -05:00
Thomas Harte
24eaf95e9d Limit to eight pixels per fetch, to produce stable video. 2023-12-06 09:13:47 -05:00
Thomas Harte
e43f960934 Produce incorrect output from proper clock; capture mode. 2023-12-05 23:01:08 -05:00
Thomas Harte
fdd599e71a Unify CRTC routing. 2023-12-05 23:00:43 -05:00
Thomas Harte
84ee683ad3 Remove redundant, false comment. 2023-12-05 23:00:21 -05:00
Thomas Harte
b2b05b590f Clone the MDA class to CGA. 2023-12-05 22:37:33 -05:00
Thomas Harte
c5ec9ae171 Adjust MDA clock; it's slightly slower than my guess. 2023-12-05 22:31:37 -05:00
Thomas Harte
5576588c2d Fix drive enables, go back to FF for non-existent ports. 2023-12-05 22:02:41 -05:00
Thomas Harte
fd8afb6668 Devolve memory location and font ROM decision. 2023-12-05 16:46:39 -05:00
Thomas Harte
bdf9c4765b Loosen the assumption of MDA. 2023-12-05 16:38:09 -05:00
Thomas Harte
6659a1dec5 Exit on EOP. 2023-12-05 15:37:25 -05:00
Thomas Harte
23c60ae9bc Supply video adaptor type. 2023-12-05 15:19:58 -05:00
Thomas Harte
4265455c31 Unify DMA interface. 2023-12-05 14:52:14 -05:00
Thomas Harte
0bcb17985b Eliminate further warnings. 2023-12-05 14:44:20 -05:00
Thomas Harte
9601c69e12 Implement blinking text. 2023-12-04 22:02:38 -05:00
Thomas Harte
9f65587a1d Correct scan status scaling; rearrange FDC marginally. 2023-12-04 21:46:03 -05:00
Thomas Harte
b0d1dedb65 Support MDA control: display enable. 2023-12-04 16:34:46 -05:00
Thomas Harte
bf8a4b7efe Ensure sector cache is cleared upon disk change. 2023-12-04 12:28:29 -05:00
Thomas Harte
edef0732ac Avoid potential infinite read loops. 2023-12-04 12:19:21 -05:00
Thomas Harte
0d7646d42a Add a cursor-type template parameter. 2023-12-04 09:45:32 -05:00
Thomas Harte
37c46d579d Add missing array imports. 2023-12-03 18:06:09 -05:00
Thomas Harte
4957ae7de1 Support cursor at point of output. 2023-12-02 22:44:26 -05:00
Thomas Harte
e77f4457c2 Map various missing keys. 2023-12-02 22:40:05 -05:00
Thomas Harte
c6b989d85b Add an input queue, to avoid key drops. 2023-12-02 22:29:49 -05:00
Thomas Harte
92913b7455 Fix mapping of Z. 2023-12-02 18:46:22 -05:00
Thomas Harte
208846a166 Attempt proper EOP semantics; multisector reads. 2023-12-02 18:38:26 -05:00
Thomas Harte
c31ee968df TC: start tending towards meaning. 2023-12-02 15:24:47 -05:00
Thomas Harte
ad9e0b664a
Merge pull request #1231 from TomHarte/DiskClassification
Improve format support; log more.
2023-12-02 15:11:24 -05:00
Thomas Harte
1b7e109047 Remove nonsense comment. 2023-12-02 13:25:08 -05:00
Thomas Harte
6c10611150 Avoid potential out-of-bounds read. 2023-12-02 13:23:48 -05:00
Thomas Harte
aa15fd1fff Comment more. 2023-12-02 00:00:44 -05:00
Thomas Harte
691d1cce9e Simplify and fix track caching. 2023-12-01 23:35:11 -05:00
Thomas Harte
7072a1661c Flag floppy as present. 2023-12-01 22:44:21 -05:00
Thomas Harte
bc89cb7d06 Hack attack: ignore TC. 2023-12-01 17:30:32 -05:00
Thomas Harte
33a0c40c02 Support HLT. 2023-12-01 13:15:01 -05:00
Thomas Harte
365b62b4a7 Add TODO. 2023-12-01 09:50:11 -05:00
Thomas Harte
4d1e976b55 Flag drive as interrupting. 2023-12-01 09:49:50 -05:00
Thomas Harte
4429448815 Make some effort at terminating appropriate if no sector. 2023-12-01 09:47:52 -05:00
Thomas Harte
88e67d9ad6 Return some status after reading. Seemingly wrong. 2023-12-01 09:37:30 -05:00
Thomas Harte
d101483714 Hack in enough that disk contents end up in RAM. 2023-12-01 09:34:31 -05:00
Thomas Harte
5feac8ef14 Avoid duplicate symbol. 2023-12-01 07:36:12 -05:00
Thomas Harte
a96cb1ebd6 Decommit debugging hook. 2023-12-01 06:46:00 -05:00
Thomas Harte
2da2240d34 Remove errant break. 2023-12-01 06:45:29 -05:00
Thomas Harte
ef37b09a78 Seed all transfers as complete. 2023-11-30 22:47:38 -05:00
Thomas Harte
9fc0d411fd Further flesh out DMA, breaking POST. 2023-11-30 22:45:40 -05:00
Thomas Harte
0dc44e8efd Adjust audio formulation.
Probably still not right, but less wrong with the current input.
2023-11-30 14:37:13 -05:00
Thomas Harte
c076636df1 Fix typo. 2023-11-30 14:26:26 -05:00
Thomas Harte
c397da3e5a Add TODOs. 2023-11-30 12:52:08 -05:00
Thomas Harte
5f6bbec741 Capture DMA high bytes, add actor for accesses. 2023-11-30 12:47:50 -05:00
Thomas Harte
7f0bb716f7 Grab sector contents, ready for more FDC work. 2023-11-29 15:55:37 -05:00
Thomas Harte
b7d3633b38 Log slightly more. 2023-11-29 15:30:47 -05:00
Thomas Harte
05504c8389 Accept and keep hold of disk images. 2023-11-29 15:20:14 -05:00
Thomas Harte
8d01829fa7 Adopt PC-style naming, limit to one drive. 2023-11-29 11:35:21 -05:00
Thomas Harte
be842ee2f1 Add drive indicator lights. 2023-11-29 11:31:37 -05:00
Thomas Harte
e034daa6c8 Capture motor state. 2023-11-29 09:52:16 -05:00
Thomas Harte
ce4bcf9064 Improve comment. 2023-11-29 09:50:08 -05:00
Thomas Harte
a992ae37b1 Mildly rearrange, to match enum order. 2023-11-29 09:49:15 -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
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
dd4bcf68bf Load up on debugging logs. 2023-11-28 15:09:57 -05:00
Thomas Harte
b860fba0a3 Make an attempt at providing varied sense interrupt statuses. 2023-11-28 14:12:39 -05:00
Thomas Harte
c19c356c10 Add disabled longer serialisation. 2023-11-27 23:23:00 -05:00
Thomas Harte
8fec9bef11 Attempt IRQ logic. 2023-11-27 23:16:24 -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
87eec47b79 Mildly reduce cost of 8-byte ROM overlay. 2023-11-27 15:48:30 -05:00
Thomas Harte
032eeb4757 Eliminate runtime switch. 2023-11-27 14:57:41 -05:00
Thomas Harte
5c7f94d2ef Introduce the possibility of operation type as a template parameter.
It's already proven possible to provide this for instruction fetch, so I think it'll immediately be a win. But more importantly it opens a path forwards for further improvement.
2023-11-27 11:48:34 -05:00
Thomas Harte
291723e85e Insert notes to self, trying to tie down FloppyController interface. 2023-11-27 10:27:36 -05:00
Thomas Harte
a6a464c240 Add printed TODO. 2023-11-25 21:40:13 -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
8c70317d31 Introduce interrupt. 2023-11-24 23:06:52 -05:00
Thomas Harte
dd135bf3fe Start experimenting with a possible end-of-reset interrupt? 2023-11-24 22:41:33 -05:00
Thomas Harte
2efb5236f7 Add an agent for floppy control. 2023-11-24 22:19:39 -05:00
Thomas Harte
d5c30e3175 Add enough keyboard support to be able to bypass the initial FDC BIOS failure report. 2023-11-24 13:38:06 -05:00
Thomas Harte
89423f28ef Limit extraneous printing. 2023-11-23 22:47:31 -05:00
Thomas Harte
019d987623 Clear buffer on read. 2023-11-23 22:16:08 -05:00
Thomas Harte
7e8020df59 Avoid a spurious initial interrupt. 2023-11-23 22:15:20 -05:00
Thomas Harte
44d602e0f6 Seriously attempt a keyboard controller. 2023-11-23 22:10:51 -05:00
Thomas Harte
0674da0325 Flip IRQ priority. 2023-11-23 15:41:24 -05:00
Thomas Harte
113fc9f757 Add further TODO. 2023-11-23 15:29:43 -05:00
Thomas Harte
2c31452629 Add TODO, as exposition. 2023-11-23 15:19:31 -05:00
Thomas Harte
505df78108 Add column duplication, switch to green. 2023-11-23 15:18:28 -05:00
Thomas Harte
d92d0e87ac Honour MDA attributes. 2023-11-23 14:51:32 -05:00
Thomas Harte
df9e9c2c4d Start accumulating notes. 2023-11-22 15:21:45 -05:00
Thomas Harte
e0f72f2048 Tidy up. 2023-11-22 14:18:58 -05:00
Thomas Harte
a293a3a816 Document the future. 2023-11-22 14:14:53 -05:00
Thomas Harte
b22b489380 Mask into 4kb; I don't know whether hardware scrolling is in use. 2023-11-22 14:12:57 -05:00
Thomas Harte
231de8440e Add text display. 2023-11-22 14:11:22 -05:00
Thomas Harte
381537fde9 Get as far as MDA being able to fetch. 2023-11-22 13:52:28 -05:00
Thomas Harte
f249e4ada6 Maintain an actual pixel buffer. 2023-11-22 13:40:50 -05:00
Thomas Harte
12179e486f Create a solid white rectangle. 2023-11-22 13:18:39 -05:00
Thomas Harte
80b2ccd418 Attempt to wire in a CRTC. 2023-11-22 12:53:09 -05:00
Thomas Harte
1828a10885 Use less branchy inner loop. 2023-11-21 22:42:53 -05:00
Thomas Harte
bcd4a2216a Improve clocking. 2023-11-21 22:36:11 -05:00
Thomas Harte
3da3401125 Attempt full audio output. 2023-11-21 22:28:33 -05:00
Thomas Harte
972d1d1ddd Add audio pipeline. 2023-11-21 22:11:32 -05:00
Thomas Harte
6329a1208a Adopt PIT-centric timing. 2023-11-21 22:02:24 -05:00
Thomas Harte
375a9f9ff5 Pull out the PIC, DMA. 2023-11-21 15:50:38 -05:00
Thomas Harte
a1e118a1ff Do some interrupt work. 2023-11-21 15:46:31 -05:00
Thomas Harte
83ca9b3af5 Hack in some MDA text logging. Boot seems to complete? 2023-11-21 11:37:36 -05:00
Thomas Harte
acdf32e820 Handle low/high switches. 2023-11-21 11:25:53 -05:00
Thomas Harte
931e6e7a56 Add, disable, logging detritus. 2023-11-21 11:19:47 -05:00
Thomas Harte
058080f6de Prove to my caveman self that no text is being written. 2023-11-20 23:11:27 -05:00
Thomas Harte
c4e9f75709 Edge towards but don't quite reach interrupt. 2023-11-20 22:52:20 -05:00
Thomas Harte
695282b838 PIT output now reaches the PIC. 2023-11-20 22:36:05 -05:00
Thomas Harte
f0e2ef5e28 Attempt to implement square-wave mode. 2023-11-20 22:19:18 -05:00
Thomas Harte
ee6012f6e9 Evict the PIT. 2023-11-20 19:00:16 -05:00
Thomas Harte
d3e90ce006 Capture some basics.
BIOS now seems to get as far as expecting channel 0 to trigger an interrupt, which never comes.
2023-11-20 15:36:52 -05:00
Thomas Harte
18ddc2c83a Route traffic. 2023-11-20 15:11:22 -05:00
Thomas Harte
abf0eead7a Add a functionless PIC. 2023-11-20 13:53:44 -05:00
Thomas Harte
a689f2b63e Relocate comment. 2023-11-20 12:22:30 -05:00
Thomas Harte
a3066fc040 Advance to the missing PIC. 2023-11-20 12:21:37 -05:00
Thomas Harte
7eed254de9 Bring an 8255 into the mix. 2023-11-20 12:13:42 -05:00
Thomas Harte
55f466f2fa Add enough of the DMA subsystem to trip over in PPI world. 2023-11-19 22:55:29 -05:00
Thomas Harte
119c83eb18 Fix field decoding. 2023-11-19 21:51:27 -05:00
Thomas Harte
4e077701c9 Exit without further modification upon latch. 2023-11-19 16:37:47 -05:00
Thomas Harte
a8f1c72f5c Take a caveman run at debugging. 2023-11-19 16:05:44 -05:00
Thomas Harte
05e93f0eb3 Implementing counting for a couple of PIT modes. 2023-11-19 15:52:32 -05:00
Thomas Harte
af885ccf08 Decode PIT mode writes. 2023-11-19 15:01:21 -05:00
Thomas Harte
2b69081fff Start sketching the PIT. 2023-11-19 07:15:30 -05:00
Thomas Harte
a91449555f Add link for future self. 2023-11-17 17:38:17 -05:00
Thomas Harte
afc0ca3f1b Add XT roadmap. 2023-11-17 17:35:11 -05:00
Thomas Harte
f0ac62566c Add an 80286 BIOS, for later. 2023-11-17 17:15:57 -05:00
Thomas Harte
d202cfc2ca Add TODO. 2023-11-17 17:09:20 -05:00
Thomas Harte
ec2d878e3f End run around the template.
I have yet to get any insight whatsoever on the reason for GCC's failure here and won't have access to a suitable test
machine for a while so all I have for testing is the arduous CI cycle.
2023-11-17 17:02:46 -05:00