1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-06-29 00:29:34 +00:00
Commit Graph

3379 Commits

Author SHA1 Message Date
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