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

2903 Commits

Author SHA1 Message Date
Thomas Harte
6d49b2e66b Merge branch 'master' into MSX2 2023-03-17 21:25:51 -04:00
Thomas Harte
363fd0f781 Add 6809 to Xcode project. 2023-03-17 21:25:31 -04:00
Thomas Harte
315e0b4545 Add experimental 6809 opcode decoder.
Just a pleasant distraction, for now.
2023-03-17 21:20:35 -04:00
Thomas Harte
d36c8df0c9 Eliminate redundant init. 2023-03-14 22:27:46 -04:00
Thomas Harte
41d57e03a6 Split out LineBuffer and Storage to make 9918Base more manageable. 2023-02-12 12:58:46 -05:00
Thomas Harte
0c8815d6a0 Retain command-engine context. 2023-01-26 11:59:27 -05:00
Thomas Harte
f6e601daff Introduce a template for numeric coding. 2023-01-17 13:26:11 -05:00
Thomas Harte
f57c2a961f Add to further project files. 2023-01-14 14:20:29 -05:00
Thomas Harte
48a4355592 Start sketching out an RP5C01. 2023-01-14 14:17:28 -05:00
Thomas Harte
5f85074caa Restore repeated lookup of timed machine.
This restores culling of abandoned parallel machines during dynamic analysis.
2023-01-13 22:02:15 -05:00
Thomas Harte
2e7e5ea12b Fleshes out most of a cleaner memory slot layout. 2023-01-12 23:01:11 -05:00
Thomas Harte
9085ba4081 Update SMS VDP tests. 2023-01-09 22:58:12 -05:00
Thomas Harte
ebc1264c2c Create a common home for timing information. 2023-01-06 22:39:46 -05:00
Thomas Harte
27d37f71ec Generalise and better factor bit reversal and TMS drawing. 2023-01-05 13:18:10 -05:00
Thomas Harte
27812fd0e2 Separate fetchers into their own header. 2023-01-01 22:26:50 -05:00
Thomas Harte
5729ece7bb Incompletely transitions towards more flexible clock ratios. 2023-01-01 14:20:45 -05:00
Thomas Harte
151f60958e Relocate the 9918 implementation file. 2023-01-01 14:01:19 -05:00
Thomas Harte
3f3c9f7491 Update version number. 2022-11-25 15:45:44 -05:00
Thomas Harte
8ccb803b08 Ensure no dangling modifiers upon shortcut keyboard switch. 2022-11-24 15:33:30 -05:00
Thomas Harte
e6ae35638b Add HDV to Info.plist. 2022-11-15 15:20:12 -05:00
Thomas Harte
9b235a8f64 Create a specific container for HDV files. 2022-11-15 13:18:54 -05:00
Thomas Harte
005f38dbff Merge branch 'master' into 68020 2022-11-11 20:35:35 -05:00
Thomas Harte
ae8f0d339e Remove usage of sprintf. 2022-11-11 20:29:59 -05:00
Thomas Harte
ccadf69630 Add test of operand_flags and operand_size; add entries for missing 68000 and 68010 instructions. 2022-10-31 15:15:05 -04:00
Thomas Harte
bbd2cd47ea Decode [MUL/DIV][U/S].l. 2022-10-30 11:32:36 -04:00
Thomas Harte
63ad2e8263 Decode EXTB.l. 2022-10-30 11:20:43 -04:00
Thomas Harte
23e4a47f8b Accept CHK.l and LINK.l decodings. 2022-10-30 11:16:32 -04:00
Thomas Harte
6ad1d74ddd Parse and record duality of CHK2/CMP2. 2022-10-29 21:32:48 -04:00
Thomas Harte
12ca79e645 Decode CAS2. 2022-10-28 14:02:49 -04:00
Thomas Harte
85df54ee7d Decode CAS. 2022-10-28 13:57:00 -04:00
Thomas Harte
2b220659dd Incorporate PACK and UNPK. 2022-10-28 13:37:30 -04:00
Thomas Harte
e79388fc02 Codify RTM, TST, TRAPcc, Bcc, BF*. 2022-10-28 13:17:35 -04:00
Thomas Harte
041eb79bf8 Move 68010 up into the verified area. 2022-10-27 10:52:26 -04:00
Thomas Harte
adbd23eaea Having verified manually, lock in 68010 instruction set. 2022-10-27 09:55:02 -04:00
Thomas Harte
8ddf20b36a Provide cleaner output. 2022-10-25 22:33:25 -04:00
Thomas Harte
fd20323c25 Refactor to permit newer-chip testing. 2022-10-25 21:27:01 -04:00
Thomas Harte
9a56d053f8 Introduce/extend 68k enums to cover 68020 instruction set. 2022-10-22 15:20:30 -04:00
Thomas Harte
7c328edd4a Use built-in install build trigger. 2022-10-21 15:28:50 -04:00
Thomas Harte
9be9e1ab0c Use built-in install build trigger. 2022-10-21 15:28:11 -04:00
Thomas Harte
ad5047dbd5 Show failing operations as strings. 2022-10-19 22:25:09 -04:00
Thomas Harte
df7f94f362 Include MacintoshVolume in test build. 2022-10-19 14:41:08 -04:00
Thomas Harte
a364499d17 Revert inadvertent commits. 2022-10-17 23:15:45 -04:00
Thomas Harte
1f19141746 Eliminate BiggerInt. 2022-10-11 16:19:47 -04:00
Thomas Harte
4d3221fc55 Enable dead code stripping; allow Xcode 14 to tag. 2022-09-16 19:53:36 -04:00
Thomas Harte
59388230a6 Record new macOS version number. 2022-09-16 16:14:59 -04:00
Thomas Harte
dc35ec8fa0 Merge branch 'master' into AppleIISCSI 2022-09-15 12:05:58 -04:00
Thomas Harte
0f017302ce Fix tests. 2022-09-13 16:33:44 -04:00
Thomas Harte
dad1d7744e Disable test generation. 2022-09-08 16:41:10 -04:00
Thomas Harte
de8ce3380c Record only 8 bits for byte accesses. 2022-09-06 20:49:45 -04:00
Thomas Harte
b848b1389a Include gaps in captured transactions, better collect final RAM state. 2022-09-06 15:08:35 -04:00
Thomas Harte
2c44ddfa95 Better bucket, and attempt to cover exceptions. 2022-09-06 11:26:38 -04:00
Thomas Harte
0fe94b2e6d Capture ::SameAddress versus ::NewAddress, for TAS recognition. 2022-09-05 22:26:30 -04:00
Thomas Harte
93c1f7fc90 Include prefetch in 68000 state. 2022-09-05 22:00:04 -04:00
Thomas Harte
b6da1019bd Bucket tests by operation, aim for ~1,000,000 total. 2022-09-05 21:52:48 -04:00
Thomas Harte
cee3f78059 Attempt to output only relevant RAM. 2022-09-03 15:45:06 -04:00
Thomas Harte
68f810883d Begin process of creating on-disk tests. 2022-09-02 16:52:27 -04:00
Thomas Harte
cd7671e8fa Merge branch 'master' into AppleIISCSI 2022-08-29 11:47:48 -04:00
Thomas Harte
330d852686 Adopt same format as the master. 2022-08-29 11:46:53 -04:00
Thomas Harte
303ea496f1 Incorporate new additional padding. 2022-08-29 11:45:11 -04:00
Thomas Harte
722e3a141d Fix types, introduce Apple II mapper. 2022-08-24 12:00:03 -04:00
Thomas Harte
22a3f4de2c Merge branch 'master' into AppleIISCSI 2022-08-23 20:00:02 -04:00
Thomas Harte
4ff2e7f546 Tweak info box copyright text: include symbol and newline. 2022-08-23 19:45:03 -04:00
Thomas Harte
cf356c59aa Switch the Macintosh mapper to use Apple::PartitionMap. 2022-08-23 19:39:47 -04:00
Thomas Harte
1555b51d99 Begin a stumbling effort to generalise my implementation of the Apple Partition Map. 2022-08-23 16:46:47 -04:00
Thomas Harte
017f55390a Better represent on-disk structure. 2022-08-23 16:19:04 -04:00
Thomas Harte
e9771ce540 Merge branch 'master' into AppleIISCSI 2022-08-22 21:43:39 -04:00
Thomas Harte
02f65cb7db Commit new macOS version number. 2022-08-22 21:39:45 -04:00
Thomas Harte
246bd5a6ac Merge branch 'master' into AppleIISCSI 2022-08-22 17:09:57 -04:00
Thomas Harte
1b197d0bb2 Resolve crash of machines that require the ROM requester. 2022-08-22 17:02:09 -04:00
Thomas Harte
4c38fa8ad3 Resolve crash of machines that require the ROM requester. 2022-08-22 17:01:41 -04:00
Thomas Harte
3d234147a6 Add in collected specs. 2022-08-22 10:22:19 -04:00
Thomas Harte
f30f13f0bc Add overt include. 2022-08-22 10:03:24 -04:00
Thomas Harte
a6b8285d9c Factor out the blitter sequencer. 2022-08-19 16:38:15 -04:00
Thomas Harte
ce46ec4d3e Clean up, marginally. 2022-08-19 16:12:39 -04:00
Thomas Harte
43c6db3610 Remove various other redundancies. 2022-08-19 16:12:05 -04:00
Thomas Harte
175314cd16 Accept whatever Apple thinks is an appropriate optimisation level. 2022-08-19 15:58:14 -04:00
Thomas Harte
bb54ac14b8 Prove that new output errors are [probably] external to the Blitter. 2022-08-15 11:10:17 -04:00
Thomas Harte
856e3d97bf Merge branch 'master' into SerialisedBlitter 2022-08-15 10:54:36 -04:00
Thomas Harte
c7373a5d3e Overtly treat .ST images as FAT12. 2022-08-13 10:09:34 -04:00
Thomas Harte
69f92963f9 Add Atari ST RAM size to Qt UI. 2022-08-10 15:39:55 -04:00
Thomas Harte
6b001e3106 Add ST RAM size selection to the macOS UI. 2022-08-10 14:58:19 -04:00
Thomas Harte
4c90a4ec93 Remove 'Faulty peek' JSON breakages. 2022-08-08 15:22:18 -04:00
Thomas Harte
f58f7102f7 Provide more context when JSON decoding fails. 2022-08-08 15:18:03 -04:00
Thomas Harte
adf3405e6b Be overt about performance side effect. 2022-08-08 15:17:04 -04:00
Thomas Harte
8d34d9a06a Add missing paramter. 2022-08-08 11:01:07 -04:00
Thomas Harte
0d540fd211 Merge branch 'SerialisedBlitter' of github.com:TomHarte/CLK into SerialisedBlitter 2022-08-08 10:59:50 -04:00
Thomas Harte
025c79ca65 Factor out GZip shenanigans. 2022-08-08 10:52:55 -04:00
Thomas Harte
868d179132 Compress all Blitter logs. 2022-08-07 21:55:33 -04:00
Thomas Harte
cfccfd48e5 Allow for GZipped tests. 2022-08-07 21:53:19 -04:00
Thomas Harte
2f3dfdcc67 Add Spindizzy test. 2022-08-07 21:27:11 -04:00
Thomas Harte
7f423e39ed Resolve type warning. 2022-08-07 19:03:56 -04:00
Thomas Harte
e6505dc985 Recognise that some of these traces don't capture all bus transactions. 2022-08-07 19:03:14 -04:00
Thomas Harte
bcdb2d135d Remove partially-captured head. 2022-08-06 22:35:18 -04:00
Thomas Harte
c5d1cffad2 Include bus activity. 2022-08-06 22:21:02 -04:00
Thomas Harte
54b4a0771d Provide better exposition. 2022-08-06 21:52:26 -04:00
Thomas Harte
85f75ab1f3 Introduce Addams Family test case. 2022-08-06 21:47:36 -04:00
Thomas Harte
668332f6c7 Any one failure will do. 2022-08-06 14:59:13 -04:00
Thomas Harte
021ddb3565 Ensure pipeline is fully flushed before registers are accessed. 2022-08-06 14:55:31 -04:00
Thomas Harte
6981bc8a82 Add yet more context. 2022-08-06 14:47:24 -04:00
Thomas Harte
7030646671 Avoid infinite loop. 2022-08-06 14:42:09 -04:00
Thomas Harte
3781b5eb0e Provide further context. 2022-08-06 14:40:12 -04:00
Thomas Harte
e897cd99f9 Fix transcription of write. 2022-08-06 10:11:26 -04:00
Thomas Harte
cc9b6bbc61 Stop after a first mismatch. 2022-08-06 10:10:19 -04:00
Thomas Harte
318cea4ccd Attempt a full bus-transaction comparison. 2022-08-06 10:06:49 -04:00
Thomas Harte
93d2a612ee Add an explicit flush-pipeline step; some tests now pass. 2022-07-29 16:33:46 -04:00
Thomas Harte
1ac0a4e924 Provide a loop count directly from the sequencer.
This avoids the caller having to take a guess at iterations.
2022-07-29 12:14:59 -04:00
Thomas Harte
d85d70a133 Add documentation, formal begin function. 2022-07-26 22:01:43 -04:00
Thomas Harte
76979c8059 Add missing tests. 2022-07-26 21:47:02 -04:00
Thomas Harte
86246e4f45 Introduce partial Blitter sequencer test. 2022-07-26 21:28:12 -04:00
Thomas Harte
3e4044c7a0 Use softer-edged luminance. 2022-07-25 13:24:08 -04:00
Thomas Harte
146e739390 $ACTION seems to be the thing outside of Xcode Cloud. 2022-07-25 13:16:28 -04:00
Thomas Harte
f204162986 Use valid version numbers, only for archive builds. 2022-07-25 10:33:15 -04:00
Thomas Harte
8679854c91 Update copyright year, use valid version numbers. 2022-07-25 10:21:25 -04:00
Thomas Harte
0383d0333e Add build date (i.e. version) into Info.plist. 2022-07-25 10:15:48 -04:00
Thomas Harte
0c6d7e07ee
Merge pull request #1072 from TomHarte/BetterAppDelegate
Eliminate purposeless AppDelegate instance storage.
2022-07-18 10:15:25 -04:00
Thomas Harte
b28a3ebb4d Eliminate purposeless instance storage. 2022-07-18 09:35:38 -04:00
Thomas Harte
28a7dc194c Increase saturation. 2022-07-17 22:01:30 -04:00
Thomas Harte
a943a0b59a Make sharpening slightly more aggressive. 2022-07-17 19:22:09 -04:00
Thomas Harte
68480530fe Remove refernce to .cpp Concurrency files from Qt. 2022-07-17 14:39:15 -04:00
Thomas Harte
eadfa71b49 Remove refernce to .cpp Concurrency files from SDL. 2022-07-17 14:38:42 -04:00
Thomas Harte
8f2e94a1d8 Switch name back to emphasise _async_. 2022-07-16 14:41:04 -04:00
Thomas Harte
3de1e762b7 Avoid retain cycles. 2022-07-15 15:22:12 -04:00
Thomas Harte
ee7ef81054 Avoid potential attempt to free enqueued buffers at dealloc. 2022-07-15 15:21:58 -04:00
Thomas Harte
bae47fca20 Free buffers before disposing of queue. 2022-07-15 15:13:21 -04:00
Thomas Harte
60f997a52c Fix stereo buffering, various audio asserts. 2022-07-14 21:59:40 -04:00
Thomas Harte
bf03bda314 Generalise AsyncTaskQueue, DeferringAsyncTaskQueue and AsyncUpdater into a single template. 2022-07-14 16:39:26 -04:00
Thomas Harte
9133e25a7b Allocate buffers once, ahead of time, and reuse. 2022-07-14 14:44:10 -04:00
Thomas Harte
ddfc2e4ca4 Provide sample length ahead of time. 2022-07-14 14:34:11 -04:00
Thomas Harte
4c031bd335 Don't use kAudioQueueProperty_IsRunning as it seems not to be trustworthy. 2022-07-13 22:22:19 -04:00
Thomas Harte
6a509c1280 Improve comments, marginally reduce dynamic_casting. 2022-07-13 18:36:40 -04:00
Thomas Harte
dcb68c16fe Eliminate AudioQueueBufferMaxLength. 2022-07-13 15:24:43 -04:00
Thomas Harte
10108303e7 Eliminate AudioQueueStop, which is very slow, use AudioQueueStart only as required. 2022-07-13 15:04:58 -04:00
Thomas Harte
b7ad94c676 Attempt to get a bit more rigorous in diagnosing queue stoppages. 2022-07-12 21:43:33 -04:00
Thomas Harte
1c537a877e Remove unnecessary lock. 2022-07-12 16:22:19 -04:00
Thomas Harte
4b9d92929a Tweak logic. 2022-07-12 16:02:30 -04:00
Thomas Harte
5b69324ee9 Tidy up comments. 2022-07-12 15:58:16 -04:00
Thomas Harte
df15d60b9e Switch to AudioQueueNewOutputWithDispatchQueue, reducing runloop contention. 2022-07-12 15:03:35 -04:00
Thomas Harte
a0e01d4c34 Add overt flushes to the SDL target. 2022-07-12 11:03:58 -04:00
Thomas Harte
59da143e6a Add overt flushes to the SDL target. 2022-07-12 10:57:22 -04:00
Thomas Harte
4ddbf095f3 Fully banish flush from the processors. 2022-07-12 10:49:53 -04:00
Thomas Harte
4e9ae65459 Reintroduce sync matching. 2022-07-12 09:56:13 -04:00
Thomas Harte
d16dc3a5d7 Move limit up to 20fps. 2022-07-12 07:45:07 -04:00
Thomas Harte
a1544f3033 Do a better job of keeping the queue populated. 2022-07-11 20:50:02 -04:00
Thomas Harte
f2fb9cf596 Avoid unnecessary queue jump. 2022-07-10 21:35:05 -04:00
Thomas Harte
6dabdaca45 Switch to int; attempt to do a better job of initial audio filling. 2022-07-09 13:33:46 -04:00
Thomas Harte
51ed3f2ed0 Reduce modal-related thread hopping. 2022-07-09 13:03:45 -04:00
Thomas Harte
b03d91d5dd Permit granular specification of what to flush. 2022-07-08 15:38:29 -04:00
Thomas Harte
07ce0f0133 Attempt safe shutdown. 2022-07-07 16:56:10 -04:00
Thomas Harte
96189bde4b Loop the Master System into the experiment. 2022-07-07 16:46:08 -04:00
Thomas Harte
3e2a6ef3f4 Hacks up an [unsafe] return to something best-effort-updater-esque.
For profiling, mainly.
2022-07-07 16:35:45 -04:00