1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-23 03:32:32 +00:00
Commit Graph

2967 Commits

Author SHA1 Message Date
Thomas Harte
481b6d0e69 Sketch out some status flags. 2024-02-25 22:01:51 -05:00
Thomas Harte
a88d41bf00 List the flags. 2024-02-25 15:21:54 -05:00
Thomas Harte
56a5df3783 Do the least possible manual test. 2024-02-22 10:48:19 -05:00
Thomas Harte
d205e538e1 Accept the C++ I'm in; clarify and simplify interface. 2024-02-22 10:16:54 -05:00
Thomas Harte
f9cbec668b Add empty shell for tests. 2024-02-21 15:43:24 -05:00
Thomas Harte
6577f68efc Complete instruction set; consolidate mapper. 2024-02-21 15:32:27 -05:00
Thomas Harte
e986ae2878 Add coprocessor data operations and register transfers. 2024-02-21 15:25:57 -05:00
Thomas Harte
bd0a15c054 Start working on ARM2 decoding. 2024-02-16 21:36:07 -05:00
Thomas Harte
1c8261dc09 Add Mockingboard to macOS UI. 2024-02-15 09:10:19 -05:00
Thomas Harte
07c11e8268 Begin 6522 wiring. 2024-02-14 15:18:19 -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
Ryan Carsten Schmidt
d811501421 Compatibility fixes in Markdown files.
Improve compatibility with some Markdown readers like MacDown by adding
blank lines before lists. Blank lines around headers were added for
consistency. One header level was fixed. One code block was fixed.
2024-01-27 13:24:35 -06:00
Thomas Harte
8a1a14ba4c Switch trailing files to #pragma once. 2024-01-21 21:49:59 -05:00
Thomas Harte
31cbcb206f Commit new version number. 2024-01-21 21:25:27 -05:00
Thomas Harte
8eb38ac437 Make use of bound_shader. 2024-01-19 22:34:42 -05:00
Thomas Harte
ab4ecccf57 Avoid raw pointers. 2024-01-17 14:59:36 -05:00
Thomas Harte
20c1f4f0e5
Merge pull request #1308 from ryandesign/no-preferredDevice
Fix color video performance on macOS 10.15+
2024-01-17 09:23:49 -05:00
Ryan Carsten Schmidt
c74305be56 Fix color video performance on macOS 10.15+
Closes #1178
2024-01-17 01:33:00 -06:00
Thomas Harte
a3d37640aa Switch include guards to #pragma once. 2024-01-16 23:34:46 -05:00
Thomas Harte
3ab6953246 Avoid use of raw pointers in machine creation. 2024-01-12 22:03:19 -05:00
Thomas Harte
177e741bca Fix test. 2024-01-09 21:19:44 -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
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
4f846ef8d0 Remove absolute path. 2023-12-31 15:11:45 -05:00
Thomas Harte
051cdc63b8 Fix SDL build. 2023-12-29 14:54:47 -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
74bee31a78 Update version number. 2023-12-28 10:41:52 -05:00
Thomas Harte
497ae935d6 Bump version number. 2023-12-26 10:43:47 -05:00
Thomas Harte
3e328bed61 Be overt about jump size, albeit without internal rigour. 2023-12-24 14:11:41 -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
160fec2439 Eliminate trace. 2023-12-21 15:31:09 -05:00
Thomas Harte
faaa89bb67 Eliminate all reference to EmuTOS. 2023-12-21 15:28:45 -05:00
Thomas Harte
09867e1e6d Unhide the PC. 2023-12-21 12:59:53 -05:00
Ryan Carsten Schmidt
5ef6b190af Fix typos 2023-12-16 03:53:07 -06:00
Thomas Harte
9ef28da322 Add read-only support for IMD images. 2023-12-08 15:37:13 -05:00
Thomas Harte
1c47c64bcb Connect option to macOS UI. 2023-12-08 14:23:27 -05:00
Thomas Harte
fbf79c142a Undo accidental build-type switch. 2023-12-08 14:03:29 -05:00
Thomas Harte
664890cead Expose speed as an option. 2023-12-08 10:46:59 -05:00
Thomas Harte
5fde3b8d5d Wire up a stub RTC plus appropriate option ROM. 2023-12-06 22:56:09 -05:00
Thomas Harte
1f976b8ccb Complete loop for macOS display selection. 2023-12-06 14:49:34 -05:00
Thomas Harte
b2b05b590f Clone the MDA class to CGA. 2023-12-05 22:37:33 -05:00
Thomas Harte
736a3841ce Wire up adaptor selection. 2023-12-05 16:42:55 -05:00
Thomas Harte
bdf9c4765b Loosen the assumption of MDA. 2023-12-05 16:38:09 -05:00
Thomas Harte
f97e6095df Adjust option name. 2023-12-05 15:26:32 -05:00
Thomas Harte
23c60ae9bc Supply video adaptor type. 2023-12-05 15:19:58 -05:00
Thomas Harte
2d75fbe1bf Add nonfunctional FAT12 analyser. 2023-12-05 10:46:06 -05:00
Ryan Carsten Schmidt
5ccd232541
Remove invalid uef.gz file type from Info.plist
Closes #1194
2023-12-04 10:25:35 -06:00
Thomas Harte
41bd5298b7 Signal only changes in modifiers. 2023-12-02 22:25:19 -05:00
Thomas Harte
b16e3de170 Accept what look like raw booters. 2023-12-01 17:23:13 -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
ddf38595ff Add enough for FAT12 IMA images to get to the PC. 2023-11-29 14:54:33 -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
032eeb4757 Eliminate runtime switch. 2023-11-27 14:57:41 -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
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
24d0caf8e7 Fix Swift conditionality. 2023-11-21 22:48:26 -05:00
Thomas Harte
0344af986c Try to avoid having to edit this constantly. 2023-11-21 22:02:36 -05:00
Thomas Harte
375a9f9ff5 Pull out the PIC, DMA. 2023-11-21 15:50:38 -05:00
Thomas Harte
ee6012f6e9 Evict the PIT. 2023-11-20 19:00:16 -05:00
Thomas Harte
f2fdfe86ec Reduce repetition. 2023-11-17 09:13:45 -05:00
Thomas Harte
fbe02e3ad5 Randomly try a different explicit instantiation. 2023-11-16 23:37:37 -05:00
Thomas Harte
effddcaf65 Hide PC option by default. 2023-11-16 23:33:42 -05:00
Thomas Harte
3b84299a05 Edge closer to PCCompatible doing _something_. 2023-11-15 15:58:49 -05:00
Thomas Harte
6f48ffba16 Add enough of a ScanProducer to run. 2023-11-15 14:30:30 -05:00
Thomas Harte
1a3b2b0620 Add necessary wiring for File -> New... 2023-11-15 14:27:04 -05:00
Thomas Harte
e927fd00d8 Do just enough to include x86 code in the main build. 2023-11-15 11:01:28 -05:00
Thomas Harte
70a4d59517
Merge pull request #1205 from TomHarte/80286Preparation
Clear a path towards implementing the 80286
2023-11-15 10:41:26 -05:00
Thomas Harte
a22ac2f88b Move towards privacy. 2023-11-14 11:39:44 -05:00
Thomas Harte
2533fd2da9 Fix segment comparisons. 2023-11-14 11:14:28 -05:00
Thomas Harte
ac826f90c3 Formalise a separate manager of segments. 2023-11-14 10:56:00 -05:00
Ryan Carsten Schmidt
39df6daf3e Add ellipsis at end of New menu item
Menu items that elicit a dialog box in which further choices must be
made should end with an ellipsis.
2023-11-14 02:13:23 -06:00
Ryan Carsten Schmidt
480b5bef95 Add period at end of sentence 2023-11-14 02:11:00 -06:00
Ryan Carsten Schmidt
6bb85c98ba Change "Exit" button to "Quit" 2023-11-14 02:10:55 -06:00
Thomas Harte
08d9cc3bd3 Restore permitted IDIV miss. 2023-11-10 23:02:32 -05:00
Thomas Harte
47fc276afc Add note to future self. 2023-11-10 23:01:46 -05:00
Thomas Harte
3a782faaf3 Ensure shoutouts upon LDS, LES and any far jump/call/int. 2023-11-10 22:58:59 -05:00
Thomas Harte
19a61f867f Eliminate final misuse of 'selector'. 2023-11-10 22:56:00 -05:00
Thomas Harte
2551e73be1 Fully test segment registers. 2023-11-10 22:54:10 -05:00
Thomas Harte
e61dc0466f Add callout for tracking segment register changes. 2023-11-10 22:22:32 -05:00
Thomas Harte
79b126e6bb Add route for tracking segment register changes. 2023-11-10 22:11:52 -05:00
Thomas Harte
e78e5c8101 Add remaining acceptable error cases. 2023-11-09 12:26:40 -05:00
Thomas Harte
ed3922e458 Switch to accepting failures only with a reason. 2023-11-09 11:55:36 -05:00
Thomas Harte
9e61d3e8cf Combine AAA and AAS. 2023-11-08 22:38:52 -05:00
Thomas Harte
8d2a2bcf4a Unify DAA and DAS. 2023-11-08 22:26:48 -05:00
Thomas Harte
9566a8de67 Split up the ungainly PerformImplementation.hpp. 2023-11-08 10:52:36 -05:00
Thomas Harte
f608153c1a Don't bother prepropulating for writes. 2023-11-07 14:38:23 -05:00
Thomas Harte
413e7b7de1 Switch Memory to using accessors. 2023-11-07 14:03:20 -05:00
Thomas Harte
0262875088 Claw back to building. 2023-11-07 09:58:42 -05:00
Thomas Harte
2af774601f Temporarily disentangle Memory and access internals; start to be overt in PerformImplementation. 2023-11-06 16:04:31 -05:00
Thomas Harte
797c9fe129 Temporarily avoid use of Writeable. 2023-11-05 21:47:52 -05:00
Thomas Harte
009915f4de Start promotion of ReturnType. 2023-11-05 21:42:22 -05:00
Thomas Harte
f96c33102a Add documentation. 2023-11-04 22:22:50 -04:00
Thomas Harte
5739862dbb Add specific entryway for preauthorised writes. 2023-11-03 15:36:30 -04:00
Thomas Harte
83850d7596 Commute: Status -> Flags as per usual x86 naming. 2023-11-02 16:55:38 -04:00
Thomas Harte
770803b073 Be more careful as to authorisation. 2023-11-02 15:37:59 -04:00
Thomas Harte
8d0deeb20e Clean up Memory. 2023-11-02 14:25:13 -04:00
Thomas Harte
e4fdf09149 Fix PUSH SP, far call. Further simplify FlowController. 2023-11-01 23:39:52 -04:00
Thomas Harte
acb55aa4e2 Subsume repetition of arguments into a single context.
Albeit that it (temporarily?) loses some context used during test validation.
2023-11-01 17:03:23 -04:00
Thomas Harte
bc095bb9ce Slim down the flow controller. 2023-11-01 14:49:30 -04:00
Thomas Harte
097b328075 Split the preauthorised tracks. 2023-11-01 14:31:42 -04:00
Thomas Harte
ef83ac855a Fix spelling of Preauthorised, think further on return types. 2023-11-01 14:11:10 -04:00
Thomas Harte
78df0d19e4 Start experimenting with varying return types. 2023-11-01 10:03:31 -04:00
Thomas Harte
9538491ee9 Fix pushes and pops. 2023-10-31 21:55:30 -04:00
Thomas Harte
8be03be529 Add test of ::Write mode. 2023-10-31 20:28:37 -04:00
Thomas Harte
1d479ec2d7 Ensure that reads can only read, accept that source is sometimes written to. E.g. XCHG. 2023-10-31 15:06:19 -04:00
Thomas Harte
02af08ffd2 Fix counts. 2023-10-30 12:32:44 -04:00
Thomas Harte
444c5b94b9 Add summary of accepted failures. 2023-10-29 16:55:07 -04:00
Thomas Harte
8ecc9835f8 Merge branch 'master' into 8088Intentions 2023-10-29 16:10:21 -04:00
Thomas Harte
39e803aa71 Commit updated macOS version. 2023-10-29 14:47:09 -04:00
Thomas Harte
7a886f938a Propagate access types, even if incorrect. 2023-10-29 14:33:39 -04:00
Ryan Carsten Schmidt
764a7b60f4 Fix LD_RUNPATH_SEARCH_PATHS for High Sierra
See #1118
See #1143
Closes #1191
2023-10-28 08:42:26 -05:00
Thomas Harte
6da0add100 Permit 1654 failures, the current amount. 2023-10-27 16:30:30 -04:00
Thomas Harte
2d70b44303 Boil down segment ahead of time. 2023-10-27 12:54:42 -04:00
Thomas Harte
11b032fb06 Eliminate length extension. 2023-10-26 23:19:31 -04:00
Thomas Harte
3b62638b30 Remove dead DataPointerResolver and extra-conditional version of source(). 2023-10-25 14:43:58 -04:00
Thomas Harte
0c09c14baa Incorporate instruction length into offsets. 2023-10-25 13:02:43 -04:00
Thomas Harte
6dd5628dd6 Provide full pair for string conversion. 2023-10-25 11:21:11 -04:00
Thomas Harte
239ce75db6 Fix IN and OUT conversion. 2023-10-24 22:35:13 -04:00
Thomas Harte
26c2a29b99 Fix int3 mapping. 2023-10-24 15:09:25 -04:00
Thomas Harte
e36274e5c2 Add segment prefix for MOVS, LODS, etc. 2023-10-24 15:07:53 -04:00
Thomas Harte
0e027445d4 Don't offer repne for reps; print far CALLs and JMPs as h-suffix rather than 0x prefix. 2023-10-24 11:01:38 -04:00
Thomas Harte
20d7079006 Start adaptation to new test disassembly form. 2023-10-23 16:37:27 -04:00
Thomas Harte
49d87c9f27 Fix 16-bit accesses that overlap memory's end.
1654 failures remaining.
2023-10-23 10:41:58 -04:00
Thomas Harte
82c66e7433 Fix far jump with immediate operand.
1655 failures remaining.
2023-10-23 10:07:19 -04:00
Thomas Harte
569cf8bf34 Focus on remaining files with issues. 2023-10-23 10:02:13 -04:00
Thomas Harte
817a30332c Take a swing at LEA r16, r16. 2023-10-22 22:15:27 -04:00
Thomas Harte
599c123b36 Reenable all tests. 2023-10-21 22:55:10 -04:00
Thomas Harte
e3cdf113d1 Implement INS, OUTS. 2023-10-21 22:52:50 -04:00
Thomas Harte
aade91f043 Implement IN, OUT. 2023-10-21 22:37:25 -04:00
Thomas Harte
bf6fd8e5e4 Shuffle down TODO. 2023-10-20 21:57:03 -04:00
Thomas Harte
c2ebbe5ad9 Implement STOS with one failure. 2023-10-20 21:54:30 -04:00
Thomas Harte
4efc181f07 Fix memory handler, STOS. 2023-10-20 21:49:34 -04:00
Thomas Harte
93e90b09a0 Implement MOVS, STOS, revealing an issue in the memory handler. 2023-10-20 21:46:47 -04:00
Thomas Harte
dab3dcaafb Fix LODS: REP is not REPE. 2023-10-20 21:36:50 -04:00
Thomas Harte
8caad8b99d Document slightly. 2023-10-20 17:25:27 -04:00
Thomas Harte
bee094eba1 Add LODS; somehow manage to fail some of its tests. 2023-10-20 17:13:56 -04:00
Thomas Harte
0f5e0e17a4 Fix address manipulation. 2023-10-20 17:03:23 -04:00
Thomas Harte
49ac2d8e0c Improve error reporting, remove some dead TODOs. 2023-10-20 17:00:32 -04:00
Thomas Harte
a71db54212 Simplify flow slightly; uncover issues in CMPSW. 2023-10-20 16:52:47 -04:00
Thomas Harte
efb854ddfa Fix repetition. Sufficient for tests. 2023-10-19 14:40:03 -04:00
Thomas Harte
f715cd89a9 Attempt CMPS, changing storage of direction; add flags check. 2023-10-19 14:07:59 -04:00
Thomas Harte
617be7cba7 Implement PUSHes and POPs. 2023-10-18 15:59:39 -04:00
Thomas Harte
02cea3047e Implement LOOP, LOOPE, LOOPNE. 2023-10-18 14:04:21 -04:00
Thomas Harte
a8c7871b0c Implement JCXZ. 2023-10-18 13:20:28 -04:00