Thomas Harte
e2414af901
Test with debug builds.
2024-01-21 22:08:48 -05:00
Thomas Harte
977c961824
Update Z80 access interface.
2024-01-21 21:24:58 -05:00
Thomas Harte
2e5636a879
Merge branch 'master' into Z80Tests
2024-01-21 21:17:39 -05:00
Thomas Harte
9361f29479
Merge pull request #1314 from ryandesign/nullptr_t
2024-01-21 19:02:42 -05:00
Thomas Harte
981f8a9aac
Merge pull request #1316 from TomHarte/SMSScrolling
2024-01-21 19:01:32 -05:00
Thomas Harte
295d5ae0c3
Ensure Master System horizontal scroll is latched every line.
2024-01-21 17:09:51 -05:00
Ryan Carsten Schmidt
070efd99e0
Include <cstddef> and use std::nullptr_t not nullptr_t
...
Fixes "error: use of undeclared identifier 'nullptr_t'; did you mean
'nullptr'?" when compiling with Xcode 12.4.
2024-01-20 19:17:18 -06:00
Thomas Harte
789c4a080f
Merge pull request #1312 from TomHarte/BetterLogging
...
Switch to a better logging interface.
2024-01-20 15:40:49 -05:00
Thomas Harte
8eb38ac437
Make use of bound_shader.
2024-01-19 22:34:42 -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
b5e3858c46
Update logging.
2024-01-19 15:38:40 -05:00
Thomas Harte
a1df2ef401
Use updated logger.
2024-01-19 14:24: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
6497cae39d
Attempt a full listing.
2024-01-19 14:00:53 -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
119b45001c
Add SCC source.
2024-01-19 10:47:21 -05:00
Thomas Harte
70a753d8a8
Update to latest logging.
2024-01-19 10:41:59 -05:00
Thomas Harte
bdfbf779fa
Promote source to a template paramter, to unify cases.
2024-01-19 10:41:47 -05:00
Thomas Harte
1d6537c3a9
Switch to newer logging interface.
2024-01-19 10:36:09 -05:00
Thomas Harte
e6ee8acfd6
Use an enum for source, for compile-time disabling.
2024-01-19 10:35:34 -05:00
Thomas Harte
07fe219148
Sketch out saner logging interface.
2024-01-18 16:37:07 -05:00
Thomas Harte
e8917cd294
Merge pull request #1310 from TomHarte/MoreUniquePtr
...
Remove macros and raw pointers from static analyser.
2024-01-18 13:32:30 -05:00
Thomas Harte
16add86372
Eliminate final macro.
2024-01-18 12:02:38 -05:00
Thomas Harte
9cc572ee7f
Unstage temporary Qt build files.
2024-01-18 11:56:42 -05:00
Thomas Harte
c619e353bd
Remove one further macro.
2024-01-18 11:36:30 -05:00
Thomas Harte
ab4ecccf57
Avoid raw pointers.
2024-01-17 14:59:36 -05:00
Thomas Harte
3ee81efe40
Merge pull request #1309 from TomHarte/TypeWarnings
...
Resolve minor dangling type conversion warnings.
2024-01-17 10:22: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
1ccb2e72fc
Eliminate a few further macros.
2024-01-17 09:43:33 -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
Thomas Harte
e8d43a28f1
Merge pull request #1306 from TomHarte/FewerMacros
...
Reduce use of macros.
2024-01-17 09:22:34 -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
fafe43f013
Give value a type.
2024-01-16 23:42:04 -05:00
Thomas Harte
108c584ddb
Comment out unused macros.
2024-01-16 23:40:52 -05:00
Thomas Harte
53d6d311a7
Use constexpr functions in preference to macros.
2024-01-16 23:40:40 -05:00
Thomas Harte
a3d37640aa
Switch include guards to #pragma once
.
2024-01-16 23:34:46 -05:00
Thomas Harte
a1f6f2c7f7
Eliminate remaining macros.
2024-01-16 22:42:20 -05:00
Thomas Harte
d85afc0caf
Convert bus access macros.
2024-01-16 22:36:52 -05:00
Thomas Harte
112f3d1e73
Convert 6502 Personality
-related macros.
2024-01-16 22:30:35 -05:00
Thomas Harte
dc53d6e6fa
Convert check_schedule
and bus_access
macros.
2024-01-16 22:28:15 -05:00
Thomas Harte
30bf187119
Transcribe GetMediaAndPlatforms
away from macros.
2024-01-16 22:17:19 -05:00
Thomas Harte
baac0768b8
Creep towards eliminating all macros.
2024-01-16 16:46:31 -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
8c436c2df8
Eliminate BLOCK macro.
2024-01-16 14:22:15 -05:00
Thomas Harte
ca30cf6376
Eliminate surviving uses of old naming convention.
2024-01-16 14:18:29 -05:00
Thomas Harte
980ccbd45b
Eliminate repetition macros.
2024-01-16 14:17:31 -05:00
Thomas Harte
cc635fd3ea
Eliminate set_decimal_rotate_flags entirely.
2024-01-16 13:59:03 -05:00
Thomas Harte
fe34083ab8
Demacroise set_shift_flags, reduce casting.
2024-01-16 13:51:16 -05:00
Thomas Harte
ea4cc4c9b3
Convert set_rotate_flags and decline_conditional macros.
2024-01-16 13:40:44 -05:00
Thomas Harte
5b5ae69a18
Convert set_logical_flags
and set_arithmetic_flags
to lambdas.
2024-01-16 10:13:30 -05:00
Thomas Harte
de038fe28f
Eliminate easy macros from Z80 implementation.
2024-01-16 09:43:41 -05:00
Thomas Harte
9990725cfb
Merge pull request #1305 from TomHarte/LessRaw
...
Avoid use of raw pointers in machine creation.
2024-01-12 22:35:35 -05:00
Thomas Harte
3ab6953246
Avoid use of raw pointers in machine creation.
2024-01-12 22:03:19 -05:00
Thomas Harte
ad3632cbe4
Merge pull request #1304 from TomHarte/CRTCEGA
...
Use named fields during CRTC execution.
2024-01-11 22:14:17 -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
177e741bca
Fix test.
2024-01-09 21:19:44 -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
0cfd29fafc
Merge pull request #1303 from TomHarte/IIgsCleanliness
...
Clean up what there currently is of a IIgs.
2024-01-04 12:36:40 -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
9bceb59f6c
Merge pull request #1302 from TomHarte/IIgsShadowingAgain
...
Be consistent in shadowing IIgs *physical* addresses.
2024-01-03 15:23:40 -05:00
Thomas Harte
cf00a709ec
Be consistent in shadowing physical addresses.
2024-01-03 15:02:54 -05:00
Thomas Harte
ad31c50dfd
Merge pull request #1301 from TomHarte/MoreIIgsPaging
...
Normalise IIgs memory map interface.
2024-01-03 14:04:14 -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
439535e44b
Merge pull request #1300 from TomHarte/ElectronPaging
...
Don't page if acknowleding interrupts.
2024-01-02 22:34:11 -05:00
Thomas Harte
2447029631
Don't page if acknowleding interrupts.
2024-01-02 22:23:40 -05:00
Thomas Harte
ce2337f91e
Merge pull request #1299 from TomHarte/SpectreNIB
...
Mildly clean up around NIBs.
2024-01-02 09:52:55 -05:00
Thomas Harte
db4c802003
Make references to constant non-specific.
2024-01-02 09:26:47 -05:00
Thomas Harte
e69c777373
Merge branch 'master' into SpectreNIB
2024-01-02 09:17:37 -05:00
Thomas Harte
2db83acb98
Merge pull request #1298 from TomHarte/CRTC16bit
...
Make CRTC model part of type.
2024-01-01 22:57:29 -05:00
Thomas Harte
8c0ac6158c
Adjust indentation.
2024-01-01 22:45:11 -05:00
Thomas Harte
34b98be6d4
Merge branch 'master' into CRTC16bit
2024-01-01 22:34:48 -05:00
Thomas Harte
8a85ef8426
Merge pull request #1297 from TomHarte/InverseText
...
Fix Apple II inverse text errors.
2024-01-01 22:18:11 -05:00
Thomas Harte
344fec0683
Fix Apple II inverse text errors.
2024-01-01 22:08:06 -05:00
Thomas Harte
afa2dad2e2
Merge pull request #1292 from TomHarte/KeyRepeat
...
Indicate whether a keypress is a repeat. Treat appropriately in the Apple II.
2024-01-01 15:27:25 -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
b7e1ac840f
Add necessary Qt change.
2023-12-31 16:43:32 -05:00
Thomas Harte
a58f643b4d
Improve repeat behaviour.
2023-12-31 15:21:20 -05:00
Thomas Harte
4f846ef8d0
Remove absolute path.
2023-12-31 15:11:45 -05:00
Thomas Harte
7f26cb0ecf
Merge branch 'KeyRepeat' of github.com:TomHarte/CLK into KeyRepeat
2023-12-31 15:03:52 -05:00
Thomas Harte
a1da6db0ee
Merge pull request #1296 from TomHarte/Qt5Too
...
Reintroduce Qt5 support.
2023-12-30 23:08:07 -05:00
Thomas Harte
a7fda83ea5
Reintroduce shortcuts; eliminate bad auto-UI additions.
2023-12-30 23:05:49 -05:00
Thomas Harte
c1778a8fee
Reintroduce Qt5 support.
2023-12-30 23:03:15 -05:00
Thomas Harte
7cb40f5d45
Merge pull request #1293 from TomHarte/Qt6
...
Update to Qt 6.
2023-12-29 23:05:43 -05:00
Thomas Harte
0c770c474b
Add PC startup options.
2023-12-29 22:55:34 -05:00
Thomas Harte
134a11b948
Mildly circuitously, accept ROM images.
2023-12-29 22:38:08 -05:00
Thomas Harte
09059ab869
Apply de minimis adaptations to get to build under Qt6.
2023-12-29 22:04:24 -05:00
Thomas Harte
051cdc63b8
Fix SDL build.
2023-12-29 14:54:47 -05:00
Thomas Harte
1b5b3e575c
Add repeat-only functionality.
2023-12-29 14:45:48 -05:00
Thomas Harte
21e6f4d823
Update SDL intermediate struct.
2023-12-28 15:12:06 -05:00
Thomas Harte
2baae216ea
This TODO is also already dispatched.
2023-12-28 15:09:45 -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
74bee31a78
Update version number.
2023-12-28 10:41:52 -05:00
Thomas Harte
96bcbc741f
Merge pull request #1291 from TomHarte/LoneDensityParser
...
Avoid erroneous early Parser exit.
2023-12-28 10:27:43 -05:00
Thomas Harte
54ddbb6b2b
Avoid erroneous early exit.
2023-12-28 10:06:18 -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
be8994a7b4
Merge pull request #1289 from TomHarte/BuildWarnings
...
Resolve macOS/SDL build warnings.
2023-12-27 11:44:32 -05:00
Thomas Harte
574de0dbf3
Further reduce state.
2023-12-27 11:25:47 -05:00
Thomas Harte
518cd69d5c
Merge pull request #1288 from TomHarte/EGAVGAROMs
...
Add EGA and VGA ROM references; mildly clean up PC.
2023-12-27 11:14:38 -05:00
Thomas Harte
3793fbd978
Remove much unused storage; add virtual destructor.
2023-12-27 11:14:08 -05:00
Thomas Harte
eca0984739
Resolve switch-statement warnings.
2023-12-27 10:58:13 -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
088445575e
'Corresponding' better refers back, I think.
2023-12-27 10:12:46 -05:00
Thomas Harte
180ff2f0a7
Fix capitalisation.
2023-12-27 10:10:59 -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
f83c3e7af0
Name repeated constant.
...
(... and, I think, four is enough)
2023-12-27 10:00:01 -05:00
Thomas Harte
7b343b25cc
Mildly reduce bit count weight; eliminate !!s.
2023-12-26 14:13:01 -05:00
Thomas Harte
497ae935d6
Bump version number.
2023-12-26 10:43:47 -05:00
Thomas Harte
acee513cd3
Merge pull request #1287 from TomHarte/ResettingKeyboard
...
Treat XT keyboard reset as a continuing state.
2023-12-25 19:01: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
35f000f93c
Merge pull request #1286 from TomHarte/CMOSRAM
...
Adds RAM to the PC RTC.
2023-12-25 15:06:28 -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
a15d4610f7
Merge pull request #1285 from TomHarte/24HourRTC
...
Default to 24-hour mode.
2023-12-24 18:11:40 -05:00
Thomas Harte
f58ab0d00d
Default to 24-hour mode.
2023-12-24 17:37:52 -05:00
Thomas Harte
e0a07ad22f
Merge pull request #1284 from TomHarte/SomeWarnings
...
Resolve outstanding x86-related warnings.
2023-12-24 15:48:17 -05:00
Thomas Harte
795529ef97
Resolve sizing types.
2023-12-24 14:26:15 -05:00
Thomas Harte
cbd4f7965b
Acknowledge one further 16-bit assumption.
2023-12-24 14:22:26 -05:00
Thomas Harte
bf9743cb38
Keep as regular int.
2023-12-24 14:16:12 -05:00
Thomas Harte
13631fb7bc
Resolve various 32->16 conversion warnings.
2023-12-24 14:14:53 -05:00
Thomas Harte
3e328bed61
Be overt about jump size, albeit without internal rigour.
2023-12-24 14:11:41 -05:00
Thomas Harte
a3e4d38be3
Merge pull request #1283 from TomHarte/RedundantMove
...
Remove pointless — and damaging — `std::move`.
2023-12-23 22:09:11 -05:00
Thomas Harte
62410a04ef
Remove pointless — and damaging — std::move
.
2023-12-23 21:44:10 -05:00
Thomas Harte
8b4cabd228
Merge pull request #1280 from TomHarte/More68000Op
...
Move fact of fixed operations into type.
2023-12-22 19:59:00 -05:00
Thomas Harte
54f1c31c94
Apply changes on trailing edges only.
2023-12-22 18:38:43 -05:00
Thomas Harte
66bc1fd6fd
Don't mix constructor delegation and variable instantiation.
2023-12-22 12:29:27 -05:00
Thomas Harte
c07f8d8ef8
Switch ordering.
2023-12-22 10:50:49 -05:00
Thomas Harte
e6ed45cb71
Merge pull request #1281 from ryandesign/TargetConditionals
...
Include TargetConditionals.h where needed
2023-12-22 10:49:23 -05:00
Thomas Harte
dbb14467ec
Remove redundant using, add extra comment.
2023-12-22 10:48:35 -05:00
Thomas Harte
c266639a0c
Improve commentary; use specialised types for TAS.
2023-12-22 10:46:10 -05:00
Ryan Carsten Schmidt
5e87692102
Include TargetConditionals.h where needed
...
Fixes build failure "error: 'TARGET_OS_IPHONE' is not defined, evaluates
to 0" on macOS with newer versions of clang.
2023-12-21 23:33:58 -06:00
Thomas Harte
5b43ea82f3
Lock down interrupt cycle types.
2023-12-21 23:12:14 -05:00
Thomas Harte
7c28a77b2b
Fill in assignment operator.
2023-12-21 23:09:42 -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
6c4905d961
Merge pull request #1279 from TomHarte/NoMoreEmuTOS
...
Eliminate use of EmuTOS.
2023-12-21 15:43:34 -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
3616a943a5
Merge pull request #1278 from TomHarte/AdmitToPC
...
Formalise the PC in macOS and under SDL.
2023-12-21 13:31:28 -05:00
Thomas Harte
98be6e690f
Fully expose the PC to SDL, etc.
2023-12-21 13:01:41 -05:00
Thomas Harte
09867e1e6d
Unhide the PC.
2023-12-21 12:59:53 -05:00
Thomas Harte
dc03b2c03b
Merge pull request #1226 from TomHarte/65c02STAAbsX
...
Adjust 65c02 STA abs,x behaviour.
2023-12-21 12:31:39 -05:00
Thomas Harte
1f2fbccf1f
Update documentation.
2023-12-20 22:05:45 -05:00
Thomas Harte
356d8f469a
Correct various throaway -> throwaway.
2023-12-20 22:02:51 -05:00
Thomas Harte
60bd81c4cc
Use X.
2023-12-20 22:02:51 -05:00
Thomas Harte
38c3d302a3
Restore JMP (abs, x) length.
2023-12-20 22:02:51 -05:00
Thomas Harte
24c80060c8
Revise guess on JMP (abs, x).
2023-12-20 22:02:51 -05:00
Thomas Harte
d33deb676f
Adjust (abs, y) addressing.
2023-12-20 22:02:19 -05:00
Thomas Harte
bf5ed98f35
Generalise 65c02 behaviour.
...
Partly to convince myself:
1. this change alters behaviour of `CycleAddXToAddressLowRead`
2. which affects only `AbsoluteXw` and the 65c02-specific `JMP (abs, x)`;
3. `AbsoluteXw` is then used only by `AbsoluteXWrite` and `AbsoluteXReadModifyWrite`;
4. `AbsoluteXWrite` is used for abs, x addressing by `SHY`, `STA` and `STZ`;
5. `AbsoluteXReadModifyWrite` is used for `ASL`, `ASO`, `ROL`, `RLA`, `LSR`, `LSE`, `ROR`, `RRA`, `DEC`, `DCP`, `INC` and `INS`.
... though many of the latter are replaced by instance of `FastAbsoluteXReadModifyWrite` for the 65c02 which don't include a dummy
access at all if the page boundary is crossed so the issue is moot.
2023-12-20 22:02:14 -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
be7e776fa4
Merge pull request #1276 from TomHarte/AppleIIColourText
...
Don't disable the colour burst in mixed mode.
2023-12-18 21:53:07 -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
Ryan Carsten Schmidt
cd4498a36a
Improve macOS SDL Macintosh video & Apple II colors
...
Hacks in AppleII/Video.cpp, AppleII/Video.hpp, and Macintosh/Video.cpp
assume that building on macOS means building for Metal unless
IGNORE_APPLE is defined. By defining this in the macOS SDL build,
Macintosh video is now sized and positioned correctly and Apple II
colors are now just as wrong as they are on other OpenGL builds instead
of being wrong in a unique way.
See #872
2023-12-15 01:27:28 -06:00
Ryan Carsten Schmidt
d31ecd8986
Link with OpenGL framework on macOS
...
Fixes "ld: library not found for -lGL"
2023-12-15 01:27:28 -06:00
Ryan Carsten Schmidt
bb030fc141
Silence macOS OpenGL deprecation warnings
2023-12-15 01:27:28 -06:00
Ryan Carsten Schmidt
778544b36e
Link with Accelerate framework on macOS
...
Fixes "Undefined symbols for architecture x86_64: '_vDSP_dotpr_s1_15'"
2023-12-15 01:27:28 -06:00
Ryan Carsten Schmidt
dc657bdd51
Use the right include path for SDL.h
...
Fixes "main.cpp:22:10: fatal error: 'SDL2/SDL.h' file not found" when
SDL2 is not in a standard system include directory.
2023-12-15 01:27:28 -06:00
Ryan Carsten Schmidt
2352b4e6d8
Import PATH into scons environment
...
Fixes "/bin/sh: sdl2-config: command not found" when sdl2-config is not
in a standard system bin directory.
2023-12-15 01:27:28 -06:00
Ryan Carsten Schmidt
8256500877
Update GitHub workflow: also build SDL UI on macOS
2023-12-15 01:27:28 -06:00
Thomas Harte
def1f90d86
Merge pull request #1268 from TomHarte/EOI
...
Support auto-EOI.
2023-12-13 10:52:00 -05:00
Thomas Harte
5033d2046a
Support auto-EOI.
2023-12-12 14:02:46 -05:00
Thomas Harte
b12ae263a3
Merge pull request #1267 from TomHarte/EOI
...
Support 8259 PIC specific EOIs.
2023-12-12 12:42:34 -05:00
Thomas Harte
a49a3da21c
Merge branch 'master' into EOI
2023-12-12 12:15:13 -05:00
Thomas Harte
02b2b9d47e
Merge pull request #1265 from TomHarte/PCHD
...
Introduce high-density tracks.
2023-12-12 12:14:48 -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
bfd6543067
Defaults
can now be private.
2023-12-11 19:12:49 -05:00
Thomas Harte
50b4132db7
Merge pull request #1259 from TomHarte/NIBSlipBits
...
NIB: switch to a strategy supporting non-standard formats.
2023-12-11 10:33:22 -05:00
Thomas Harte
e79727d30d
Enhance to support 'try-any' density.
2023-12-11 10:32:13 -05:00
Thomas Harte
a40ae08248
Be const correct; drop get_
.
2023-12-11 09:58:24 -05:00
Thomas Harte
05bfab47d2
Merge branch 'master' into PCHD
2023-12-10 23:15:33 -05:00
Thomas Harte
44a19e8306
Merge pull request #1266 from TomHarte/DayOfMonth
...
Fix RTC day of the month, turbo keyboard resets.
2023-12-10 23:11:57 -05:00
Thomas Harte
ad6fe75296
Add yucky disk speed coupling.
2023-12-10 23:07:02 -05:00
Thomas Harte
d658e00f26
Add exposition, expand recorded data.
2023-12-10 22:59:50 -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
dae8a5cda2
Fix namespace.
2023-12-10 22:40:07 -05:00
Thomas Harte
98e05fb0e3
Introduce high-density tracks.
2023-12-10 22:17:23 -05:00
Thomas Harte
ada627d027
Decline to try to surface tracks past the end of the disk.
2023-12-09 15:36:47 -05:00
Thomas Harte
cbe5e69aa1
Add exposition.
2023-12-08 23:56:43 -05:00
Thomas Harte
39f2c8097e
Remove second semicolon.
2023-12-08 23:55:27 -05:00
Thomas Harte
28cb0ad029
Try permitting a single sync section only.
2023-12-08 23:44:26 -05:00
Thomas Harte
371f109a84
Fix mark locations.
2023-12-08 23:41:14 -05:00
Thomas Harte
3c3cff568a
Remove dead variable.
2023-12-08 23:25:56 -05:00
Thomas Harte
c481577f9f
Simplify, and attempt to avoid reconversions.
2023-12-08 23:12:41 -05:00
Thomas Harte
0dfaca2a20
Merge branch 'master' into NIBSlipBits
2023-12-08 22:19:46 -05:00
Thomas Harte
671e59b27a
Merge pull request #1263 from TomHarte/IMDFiles
...
Add read-only support for IMD files.
2023-12-08 16:50:19 -05:00
Thomas Harte
42291cd789
Add documentation reference.
2023-12-08 15:38:05 -05:00
Thomas Harte
9ef28da322
Add read-only support for IMD images.
2023-12-08 15:37:13 -05:00
Thomas Harte
2a0176dde6
Merge pull request #1262 from TomHarte/PCTurbo
...
Add turbo option for PC execution.
2023-12-08 14:47:19 -05:00
Thomas Harte
f823310fe3
Add an appropriate crop.
2023-12-08 14:29:23 -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
0bf453199c
Default to 'fast'.
2023-12-08 12:51:55 -05:00
Thomas Harte
604fca7fb1
Revise colour burst phase guess.
2023-12-08 11:55:00 -05:00
Thomas Harte
2ee873d1a1
This isn't intended to be exact.
2023-12-08 11:07:14 -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
e55a09962f
Merge pull request #1260 from TomHarte/QuietPC
...
Mostly silence PC.
2023-12-07 22:12:12 -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
ba91f461fa
Merge pull request #1257 from TomHarte/CGABorderColour
...
Switch back to yellow for composite.
2023-12-07 21:56:38 -05:00
Thomas Harte
d8d33ac419
Add a backup strategy for non-standard formats.
2023-12-07 21:52:51 -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
ac47b93542
Merge pull request #1256 from TomHarte/CGABorderColour
...
CGA: reduce repetition, map dark yellow to brown, support border colour.
2023-12-07 14:13:14 -05:00
Thomas Harte
c5745f71f6
Reduce repetition, map dark yellow to brown.
2023-12-07 13:11:20 -05:00
Thomas Harte
48d1fa7eab
Merge pull request #1255 from TomHarte/CGAClock
...
Revise CGA clock rate downward.
2023-12-07 12:28:44 -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
d94791a82d
Merge pull request #1254 from TomHarte/BordersAplenty
...
Unify repeated setup/execution of output_level.
2023-12-07 11:45:42 -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
Thomas Harte
eb4a8bfef9
Merge pull request #1253 from TomHarte/RTC
...
Add some small portion of the AT real-time clock.
2023-12-07 10:52:45 -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
d696c15be5
Merge pull request #1252 from TomHarte/CGAAddresses
...
Revise guess as to CGA address wrapping.
2023-12-06 22:32:54 -05:00
Thomas Harte
b385e6edad
Revise guess as to address wrapping.
2023-12-06 22:03:24 -05:00
Thomas Harte
327dc51ece
Merge pull request #1250 from TomHarte/CGATarget
...
Add CGA emulation.
2023-12-06 16:23:10 -05:00
Thomas Harte
a44ffa769b
Merge pull request #1251 from TomHarte/PCScreenshots
...
Add PC screenshots, mention.
2023-12-06 16:21:51 -05:00
Thomas Harte
87438a3019
Add PC screenshots, mention.
2023-12-06 16:20:31 -05:00
Thomas Harte
1f976b8ccb
Complete loop for macOS display selection.
2023-12-06 14:49:34 -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
d88c7ae148
Switch to CGA as default.
2023-12-06 09:59:21 -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
2216fc37a1
Add CGA font.
2023-12-06 09:34:25 -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
084efdeb2d
Resolve further type conversion warnings.
2023-12-05 16:54:11 -05:00
Thomas Harte
fd8afb6668
Devolve memory location and font ROM decision.
2023-12-05 16:46:39 -05:00
Thomas Harte
dd04909d58
Resolve some further warnings.
2023-12-05 16:43:55 -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
6659a1dec5
Exit on EOP.
2023-12-05 15:37:25 -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
dc7ba11dff
Merge pull request #1246 from ryandesign/DidNotLoad
...
Disk II: Don't overwrite data bus when not asked to
2023-12-05 15:01:23 -05:00
Thomas Harte
6c0a746470
Merge pull request #1248 from TomHarte/FAT12Analyser
...
Add something of a FAT12 analyser.
2023-12-05 14:58:18 -05:00
Thomas Harte
c78a2c71d7
Merge pull request #1247 from ryandesign/ci
...
CI improvements
2023-12-05 14:57:56 -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
711575bf69
Avoid having two PC targets.
2023-12-05 14:18:10 -05:00
Ryan Carsten Schmidt
2ee062ea9e
Rename workflow to Build
2023-12-05 12:11:22 -06:00
Ryan Carsten Schmidt
452e32ca4e
Add macOS build job to workflow
...
Closes #1244
2023-12-05 12:10:35 -06:00
Ryan Carsten Schmidt
54f25b3e4e
Split workflow step commands onto two lines
2023-12-05 12:10:35 -06:00
Ryan Carsten Schmidt
b1b4404b48
Use checkout@v4 in workflow
2023-12-05 12:10:35 -06:00
Ryan Carsten Schmidt
d1bfbac59e
Rename workflow job step to Checkout
2023-12-05 12:10:34 -06:00
Ryan Carsten Schmidt
0a45e26c50
Rename workflow job to Build SDL UI
2023-12-05 12:10:34 -06:00
Thomas Harte
40de0189d9
Add some notes to self (now and future).
2023-12-05 12:50:53 -05:00
Thomas Harte
7ca9a0841f
Add a text search to recognise common boot sectors.
2023-12-05 12:24:53 -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
2d75fbe1bf
Add nonfunctional FAT12 analyser.
2023-12-05 10:46:06 -05: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
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
8103f8e682
Switch interpretation to support cursor on/off.
2023-12-04 15:54:56 -05:00
Thomas Harte
3523278057
Merge pull request #1243 from TomHarte/FDCInfiniteLoop
...
Avoid potential FDC infinite loop; clear cache on disk change.
2023-12-04 13:03:42 -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
9cbc991510
Merge pull request #1240 from ryandesign/patch-1
...
Remove invalid uef.gz file type from Info.plist
2023-12-04 12:12:27 -05:00
Thomas Harte
d476a17275
Merge pull request #1241 from ryandesign/patch-2
...
Fix typos in comments
2023-12-04 12:12:16 -05:00
Ryan Carsten Schmidt
896632b9b6
Fix typos in comments
2023-12-04 10:39:03 -06: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
9b23984d35
Merge pull request #1238 from TomHarte/MissingIncludes
...
Add 6845/MDA cursor.
2023-12-04 10:36:44 -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
5845ce0a39
Ameliorate for race condition.
2023-12-04 09:56:06 -05: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
606a04b0b8
Merge pull request #1236 from TomHarte/MissingIncludes
...
Add missing <array> #includes
2023-12-03 18:07:35 -05:00
Thomas Harte
15868eea24
Merge branch 'master' into MissingIncludes
2023-12-03 18:07:11 -05:00
Thomas Harte
881f9bc824
Merge pull request #1235 from TomHarte/MissingKeys
...
Add missing key mappings, queue, cursor
2023-12-03 18:06:53 -05:00
Thomas Harte
37c46d579d
Add missing array imports.
2023-12-03 18:06:09 -05:00
Thomas Harte
5d8666b837
Enable the cursor signal; no blink action yet.
2023-12-03 17:57:19 -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
41bd5298b7
Signal only changes in modifiers.
2023-12-02 22:25:19 -05:00
Thomas Harte
596267f62d
Merge pull request #1232 from TomHarte/8237TC
...
Improves 8237 TC/EOP support enough for some multisector reads
2023-12-02 22:24:58 -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
ef134e13a1
Merge pull request #1230 from TomHarte/Warnings
...
Avoid illegal reads in Enterprise Nick
2023-12-02 13:29:12 -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
0bae14be8f
Merge pull request #1229 from TomHarte/DiskClassification
...
Appropriately route 180kb non-FAT12 PC booters.
2023-12-02 10:42:51 -05:00
Thomas Harte
dde58faaf1
Add additional 8-sector format.
2023-12-02 00:00:57 -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
ebe1d53220
Expand range of recognised formats.
2023-12-01 22:44:13 -05:00
Thomas Harte
bc89cb7d06
Hack attack: ignore TC.
2023-12-01 17:30:32 -05:00
Thomas Harte
b16e3de170
Accept what look like raw booters.
2023-12-01 17:23:13 -05:00
Thomas Harte
5693b3add3
Merge pull request #1228 from TomHarte/PCDiskImages
2023-12-01 16:11:01 -05:00
Thomas Harte
f50c45cc1a
Treat 'invalid' as a silent failure.
2023-12-01 15:35:51 -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
ec39c4a5f0
Merge pull request #1225 from TomHarte/PCDiskImages
...
Add enough for FAT12 IMA images to get to the PC.
2023-11-29 16:11:33 -05:00
Thomas Harte
edc36bf3f4
Include the PC target and analyser.
2023-11-29 15:59:42 -05:00
Thomas Harte
f7acecfbff
Protect set_geometry.
2023-11-29 15:56:07 -05:00
Thomas Harte
07b32844af
Remove outdated comment.
2023-11-29 15:55:51 -05:00
Thomas Harte
7f0bb716f7
Grab sector contents, ready for more FDC work.
2023-11-29 15:55:37 -05:00
Thomas Harte
f25aaf2bb3
Adjust 65c02 STA abs,x behaviour.
2023-11-29 15:32:02 -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
ddf38595ff
Add enough for FAT12 IMA images to get to the PC.
2023-11-29 14:54:33 -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
ab586b9965
Merge pull request #1224 from ryandesign/patch-3
...
Handle C, E, F operations in Disk II state machine
2023-11-29 12:48:39 -05:00
Thomas Harte
cd2567d868
Merge pull request #1222 from ryandesign/patch-1
...
Fix typo in comment in AppleDSK.hpp
2023-11-29 12:48:10 -05:00
Thomas Harte
c07ae43980
Merge pull request #1221 from TomHarte/More68000TemplateActions
...
Enable further compile-time optimisations.
2023-11-29 12:47:48 -05:00
Thomas Harte
4e10ef2816
Merge pull request #1223 from ryandesign/patch-2
...
Fix typo in comment in WOZ.cpp
2023-11-29 12:40:22 -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
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
Ryan Carsten Schmidt
2e314e7a08
Fix typo in comment in WOZ.cpp
2023-11-29 03:42:39 -06:00
Thomas Harte
3827a084ad
Code to GlaBIOS expectations.
2023-11-28 23:18:22 -05:00
Ryan Carsten Schmidt
afc62f3d94
Fix typo in comment in AppleDSK.hpp
2023-11-28 22:09:35 -06: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
7171e24ccf
Enable further compile-time optimisations.
2023-11-28 13:50:53 -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
b07cc5c2ec
Merge pull request #1219 from TomHarte/68000TemplatedPerform
...
Sometimes provide 68000 bus operations at compile time.
2023-11-27 21:54:24 -05:00
Thomas Harte
36a4629ce0
Explain new semantics.
2023-11-27 21:49:57 -05:00
Thomas Harte
87eec47b79
Mildly reduce cost of 8-byte ROM overlay.
2023-11-27 15:48: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
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
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
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
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
ed31cfd80a
Merge pull request #1216 from TomHarte/ReduceNoise
...
Limit extraneous printing.
2023-11-23 23:05:46 -05:00
Thomas Harte
89423f28ef
Limit extraneous printing.
2023-11-23 22:47:31 -05:00
Thomas Harte
593c32f621
Merge pull request #1215 from TomHarte/PCKeyboard
...
Attempt to implement the XT keyboard controller.
2023-11-23 22:26:09 -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
b3c07b76ee
Merge pull request #1214 from TomHarte/MDAOutput
...
Add basic MDA text output.
2023-11-22 15:04:21 -05:00
Thomas Harte
e0f72f2048
Tidy up.
2023-11-22 14:18:58 -05:00
Thomas Harte
825f3184eb
Explain provenance.
2023-11-22 14:18:50 -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
8993a9c4c1
Import MDA font.
2023-11-22 14:04:26 -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
2af6259963
Merge pull request #1213 from TomHarte/PITClock
...
Standardise on the PIT clock as the definition of time.
2023-11-21 22:51:14 -05:00
Thomas Harte
24d0caf8e7
Fix Swift conditionality.
2023-11-21 22:48:26 -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
0344af986c
Try to avoid having to edit this constantly.
2023-11-21 22:02:36 -05:00
Thomas Harte
6329a1208a
Adopt PIT-centric timing.
2023-11-21 22:02:24 -05:00
Thomas Harte
c11d3b61d6
Merge pull request #1209 from TomHarte/SupportChipsAplenty
...
Add various other PC chips into the mix.
2023-11-21 21:53:29 -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
a26bfd938e
Merge pull request #1210 from ryandesign/patch-1
...
Fix typos in Apple II ROM images readme.txt
2023-11-19 16:12:08 -05:00
Thomas Harte
8844812910
Merge branch 'SupportChipsAplenty' of github.com:TomHarte/CLK into SupportChipsAplenty
2023-11-19 16:08:38 -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
56aa9d101a
Decode PIT mode writes.
2023-11-19 14:59:52 -05:00
Thomas Harte
2b69081fff
Start sketching the PIT.
2023-11-19 07:15:30 -05:00
Ryan Carsten Schmidt
c0eed0fe78
Fix typos in Apple II ROM images readme.txt
2023-11-19 04:59:43 -06: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
9bc33c716e
Merge pull request #1208 from TomHarte/80286BIOS
...
Add an 80286 BIOS, for later.
2023-11-17 17:19:57 -05:00
Thomas Harte
f0ac62566c
Add an 80286 BIOS, for later.
2023-11-17 17:15:57 -05:00
Thomas Harte
3843102609
Merge pull request #1207 from TomHarte/PhoneyPC
...
Start sketching out a PC compatible machine.
2023-11-17 17:12:10 -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
Thomas Harte
626e4fe6b3
Just pull requests will do.
2023-11-17 10:45:32 -05:00
Thomas Harte
ac12b256d4
Tweak syntax.
2023-11-17 10:44:52 -05:00
Thomas Harte
f4b1279342
Try a different GCC version.
2023-11-17 10:43:50 -05:00
Thomas Harte
a0ca5e6cdc
Remove outdated comment.
2023-11-17 10:38:11 -05:00
Thomas Harte
83c8f9996e
Switch back to the natural type.
2023-11-17 10:27:38 -05:00
Thomas Harte
f2fdfe86ec
Reduce repetition.
2023-11-17 09:13:45 -05:00
Thomas Harte
3f27338b2c
New guess: the definition of size_t varies?
2023-11-16 23:46:22 -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
4b730c26d0
Satisfy GCC warning.
2023-11-16 23:31:51 -05:00
Thomas Harte
8af173c4bc
Remove hopeful hit.
2023-11-16 15:48:27 -05:00
Thomas Harte
e1541543c3
Play hit and hope.
2023-11-16 15:40:47 -05:00
Thomas Harte
33486e69bf
Remove CI trap.
2023-11-16 15:30:43 -05:00
Thomas Harte
1c7bb6d759
Add CI diagnosis trap.
2023-11-16 15:25:42 -05:00
Thomas Harte
99e7de5a8b
Colocate memory.
2023-11-16 15:24:35 -05:00
Thomas Harte
095359017f
Log first unhandled port.
2023-11-16 13:02:35 -05:00
Thomas Harte
25f0a373f3
Don't sign-extend ports (!).
2023-11-16 11:17:12 -05:00
Thomas Harte
233ec7b818
Soften some warnings.
2023-11-16 10:57:17 -05:00
Thomas Harte
832e31f7e5
Add note to self.
2023-11-16 10:34:24 -05:00
Thomas Harte
164a7fe848
Log port IO.
2023-11-16 06:48:24 -05:00
Thomas Harte
62b6219763
Install BIOS, albeit in writeable storage.
2023-11-15 22:02:53 -05:00
Thomas Harte
2bc9dfbef9
Albeit with no BIOS present, execute.
2023-11-15 16:10:37 -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
af7069ac21
Include and fetch a BIOS.
2023-11-15 11:32:23 -05:00
Thomas Harte
7323af0b41
Avoid shadowing template parameter.
2023-11-15 11:10:01 -05:00
Thomas Harte
1676ed9850
Add to SDL and Qt builds.
2023-11-15 11:02:44 -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
f83d2a8740
Take a swing at ENTER.
2023-11-14 16:23:24 -05:00
Thomas Harte
a22ac2f88b
Move towards privacy.
2023-11-14 11:39:44 -05:00
Thomas Harte
aafa7de536
Implement LEAVE, almost.
2023-11-14 11:39:36 -05:00
Thomas Harte
2533fd2da9
Fix segment comparisons.
2023-11-14 11:14:28 -05:00
Thomas Harte
29169ffed7
Merge pull request #1203 from ryandesign/apple-ii-floating-bus-3
...
Fix Apple II/II+/IIe floating bus first eight non-hbl vbl bytes
2023-11-14 10:59:29 -05:00
Thomas Harte
d2187a0442
Merge pull request #1206 from ryandesign/gui-wording
...
Minor Mac UI wording changes
2023-11-14 10:57:21 -05:00
Thomas Harte
ac826f90c3
Formalise a separate manager of segments.
2023-11-14 10:56:00 -05:00
Thomas Harte
6c405680f2
Implement PUSHA, POPA.
2023-11-14 10:42:06 -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
1552500b10
Implement BOUND.
2023-11-13 22:33:46 -05:00
Thomas Harte
60cec9fc67
Expand commentary.
2023-11-13 11:45:17 -05:00
Ryan Carsten Schmidt
234292f163
Fix Apple II/II+/IIe first eight non-hbl vbl bytes
...
Closes #1196
2023-11-13 00:51:34 -06:00
Thomas Harte
03a2d4df80
Merge pull request #1202 from TomHarte/8088SegmentRegisters
...
Add means for tracking segment register changes.
2023-11-10 23:07:37 -05: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
7abd4d9b38
Fix AAA/AAS carry outcome.
2023-11-10 22:47:50 -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
a230274306
Merge pull request #1201 from TomHarte/IDIVYuck
...
Improve IDIV marginally; require acceptable failures to have a reason.
2023-11-09 13:38:48 -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
800c76a4fe
Capture and respond to IDIV_REP.
2023-11-09 11:55:04 -05:00
Thomas Harte
bf179e8933
Merge pull request #1200 from TomHarte/MoreDAA
...
Correct 8086 DAA and DAS; unify those and AAA/AAS.
2023-11-08 22:45:26 -05:00
Thomas Harte
9e61d3e8cf
Combine AAA and AAS.
2023-11-08 22:38:52 -05:00
Thomas Harte
5f1ea6c04c
Unify AAA and AAS.
2023-11-08 22:30:39 -05:00
Thomas Harte
8d2a2bcf4a
Unify DAA and DAS.
2023-11-08 22:26:48 -05:00
Thomas Harte
6b666bc92a
Simplify DAS.
2023-11-08 22:19:51 -05:00
Thomas Harte
38933aa079
Bring fully into 8086 conformance.
2023-11-08 22:16:12 -05:00
Thomas Harte
502b9d2023
Simplify implementation of DAA.
2023-11-08 22:06:58 -05:00
Thomas Harte
da7582d4b5
Merge pull request #1199 from TomHarte/8088Groupings
...
Split up the ungainly PerformImplementation.hpp.
2023-11-08 19:02:59 -05:00
Thomas Harte
ec4a60b7da
Further universalise function layout.
2023-11-08 11:30:33 -05:00
Thomas Harte
d7bb1a9ee1
Tidy up and comment a little further.
2023-11-08 11:23:21 -05:00
Thomas Harte
9566a8de67
Split up the ungainly PerformImplementation.hpp.
2023-11-08 10:52:36 -05:00
Thomas Harte
0fee3ff92c
Merge pull request #1198 from TomHarte/DirectWrite
...
Add compiler assistance on access types
2023-11-07 22:23:41 -05:00
Thomas Harte
b927cf4159
Resolve new decoding errors.
2023-11-07 22:08:44 -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
91b7d55871
Get strict about writeables.
2023-11-07 10:13:18 -05:00
Thomas Harte
e56e49a318
Fix SUB/SBB writes.
2023-11-07 10:09:04 -05:00
Thomas Harte
0262875088
Claw back to building.
2023-11-07 09:58:42 -05:00
Thomas Harte
2bed2c2c5c
Further simplify syntax.
2023-11-07 09:14: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
7f4fa914dd
Merge pull request #1195 from TomHarte/8088Flags
...
Commute: Status -> Flags as per usual x86 naming.
2023-11-02 17:05:13 -04:00
Thomas Harte
ebdf10525c
Fix parameter case.
2023-11-02 17:00:22 -04:00
Thomas Harte
83850d7596
Commute: Status -> Flags as per usual x86 naming.
2023-11-02 16:55:38 -04:00
Thomas Harte
18820644b0
Merge pull request #1193 from TomHarte/8088Intentions
...
Work towards x86 access violations.
2023-11-02 16:46:36 -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
430c60111e
CMP doesn't write.
2023-10-31 22:42:39 -04:00
Thomas Harte
2432396eaa
Fix SETMOC.
2023-10-31 22:04:26 -04:00
Thomas Harte
da2aea94e3
Fix CMPS.
2023-10-31 21:58:32 -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
724e08d4f1
Update commentary on semantics.
2023-10-31 15:09:21 -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
3dc9b625a1
Partly dodge British/American spelling issue; slightly tighten otherwise.
2023-10-30 11:43:07 -04:00
Thomas Harte
444c5b94b9
Add summary of accepted failures.
2023-10-29 16:55:07 -04:00
Thomas Harte
1cd1bbd26c
Make a first pass of access types.
2023-10-29 16:19:10 -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
Thomas Harte
8153cec455
Merge branch 'master' into 8088Intentions
2023-10-28 15:57:05 -04:00
Thomas Harte
3ee0fcaaeb
Hatch an appropriate enum.
2023-10-28 15:56:37 -04:00
Thomas Harte
b98f54545f
Merge pull request #1182 from ryandesign/apple-ii-floating-bus-2
...
Fix Apple II/II+/IIe floating bus issues
2023-10-28 15:46:35 -04:00
Thomas Harte
0a5c24be19
Merge pull request #1192 from ryandesign/ryandesign-rpath
...
Fix LD_RUNPATH_SEARCH_PATHS for High Sierra
2023-10-28 15:41:10 -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
b9891d25ee
Merge pull request #1184 from TomHarte/CompactInstruction
...
Compact normalised x86 instructions.
2023-10-27 16:40:11 -04:00
Thomas Harte
6da0add100
Permit 1654 failures, the current amount.
2023-10-27 16:30:30 -04:00
Thomas Harte
f9d1a4dd8f
Add Repetition::Rep to unify repeat logic.
2023-10-27 16:27:24 -04:00
Thomas Harte
66cee41b99
Fix port.
2023-10-27 14:04:23 -04:00
Thomas Harte
a30cad5e8a
Rearrange class for clarity.
2023-10-27 14:02:53 -04:00
Thomas Harte
f9d98ed219
Fix packing_size
.
2023-10-27 13:46:14 -04:00
Thomas Harte
2d70b44303
Boil down segment ahead of time.
2023-10-27 12:54:42 -04:00
Thomas Harte
5b0d2d754f
Update comments.
2023-10-26 23:27:56 -04:00
Thomas Harte
11b032fb06
Eliminate length extension.
2023-10-26 23:19:31 -04:00
Thomas Harte
8e35a56ff7
Include repetition in operation; simplify Instruction constructor.
2023-10-26 23:08:07 -04:00
Thomas Harte
167b52c4ff
Merge pull request #1171 from TomHarte/8088Execution
...
Add first seeds of x86 execution.
2023-10-26 22:20:38 -04:00
Thomas Harte
dafb134cdc
Eliminate dead detour.
2023-10-25 22:27:44 -04:00
Thomas Harte
6ac66dad0c
Remove stale notes.
2023-10-25 22:22:20 -04:00
Thomas Harte
de230fb6be
Resolve for work factored out.
2023-10-25 22:21:23 -04:00
Thomas Harte
29a921f764
Remove TODO, add exposition.
2023-10-25 16:15:08 -04:00
Thomas Harte
a2826cdee5
Propagate address size.
2023-10-25 16:00:01 -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
6cecb84878
Add #include.
2023-10-25 09:09:51 -04:00
Ryan Schmidt
18ed36d090
Update get_last_read_value source documentation
2023-10-25 03:25:52 -05:00
Ryan Schmidt
c206c7e2cb
Fix Apple II/II+ text/lores hbl read addresses
...
Closes #1181
2023-10-25 03:25:48 -05:00
Ryan Schmidt
98730f1f90
Fix Apple II/II+/IIe first hbl byte read addresses
...
Closes #1180
2023-10-25 03:21:22 -05:00
Ryan Schmidt
c272632b5a
Fix Apple II/II+/IIe hbl row < 64 read addresses
...
See #1180
2023-10-25 03:21:17 -05:00
Ryan Schmidt
577b01e80b
Fix Apple II/II+/IIe vbl rows read addresses
...
See #1180
2023-10-25 03:21:06 -05:00
Thomas Harte
239ce75db6
Fix IN and OUT conversion.
2023-10-24 22:35:13 -04:00
Thomas Harte
cc9e8117ab
Add note.
2023-10-24 16:43:22 -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
7a4d74b8e4
Correct copy and paste error: 0x27 is DAA.
2023-10-23 10:07:57 -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
bcebb2e520
Further reduce repetition overhead.
2023-10-20 17:08:11 -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
387a952328
Reduce repetition.
2023-10-19 14:21:08 -04:00
Thomas Harte
f715cd89a9
Attempt CMPS, changing storage of direction; add flags check.
2023-10-19 14:07:59 -04:00
Thomas Harte
14851f407c
Merge pull request #1177 from omimakhare/patch-1
...
Remove Typo
2023-10-18 22:52:36 -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
Thomas Harte
90f49a6e73
Implement JMP.
2023-10-18 13:15:00 -04:00
OMKAR MAKHARE
47c535414b
Update README.md
...
Corrected "generlaly" to "generally" in the README.md file.
2023-10-17 23:35:19 +05:30
Thomas Harte
440f3bdb10
Further improve error reporting.
2023-10-16 15:47:06 -04:00
Thomas Harte
89743f0ba0
Implement RET, IRET.
2023-10-16 15:40:24 -04:00
Thomas Harte
f1779e6067
Implement SHR.
2023-10-16 12:34:11 -04:00
Thomas Harte
e38fe7dffc
Implement SAL, SAR.
2023-10-14 21:42:33 -04:00
Thomas Harte
f1cba4eb78
Implement remaining rolls.
2023-10-13 22:03:54 -04:00
Thomas Harte
f45d8bcbdb
Implement RCR.
2023-10-13 21:44:48 -04:00
Thomas Harte
6f7991f54a
Avoid loop.
2023-10-13 21:32:35 -04:00
Thomas Harte
6ec291d96f
Move ownership of mask test.
2023-10-13 15:34:06 -04:00
Thomas Harte
1a0f848b21
Implement RCL.
2023-10-13 14:44:22 -04:00
Thomas Harte
bf832768e6
Implement XLAT.
2023-10-12 21:12:03 -04:00
Thomas Harte
d35377c776
Implement SALC, SETMO, SETMOC.
2023-10-12 15:52:05 -04:00
Thomas Harte
97d3a9fa78
Implement MOV.
2023-10-12 15:34:46 -04:00
Thomas Harte
da029ee344
Implement LEA.
2023-10-12 14:31:25 -04:00
Thomas Harte
cf846f501a
Implement LDS, LES.
2023-10-12 14:24:28 -04:00
Thomas Harte
e948a67814
Implement SAHF, LAHF.
2023-10-12 13:54:51 -04:00
Thomas Harte
56e639e09a
Add INT (including INT3), INTO.
2023-10-11 16:01:09 -04:00
Thomas Harte
e75ef70c96
Further generalise.
2023-10-11 15:08:04 -04:00
Thomas Harte
a768b101f8
Further clean up copy-and-paste mess.
2023-10-11 14:36:42 -04:00
Thomas Harte
7159366360
Collapse all flags accesses behind setters and getters.
2023-10-11 12:35:17 -04:00
Thomas Harte
033ba75376
Standardise repetitive sign/zero/parity sets.
2023-10-11 11:15:59 -04:00
Thomas Harte
fbd647080d
Start factoring out useful ALU stuff.
2023-10-11 11:06:20 -04:00
Thomas Harte
4a803e2d43
Reduce ADD/ADC/SUB/SBB repetition.
2023-10-10 22:43:06 -04:00
Thomas Harte
7753497a93
Add header for std::swap.
2023-10-10 22:35:25 -04:00
Thomas Harte
a83b43a1ae
Implement XCHG.
2023-10-10 22:34:42 -04:00
Thomas Harte
5125907048
Implement TEST.
2023-10-10 22:28:10 -04:00
Thomas Harte
08867f4970
Implement CMP.
2023-10-10 22:15:33 -04:00
Thomas Harte
d0a9b5cb81
Implement NEG, NOT.
2023-10-10 22:09:10 -04:00
Thomas Harte
0ecc319ee6
Add OR, XOR.
2023-10-10 17:12:06 -04:00
Thomas Harte
de95026076
Implement Jcc.
2023-10-10 16:27:06 -04:00
Thomas Harte
ec982444f7
Add getters to obscure internal flag storage.
2023-10-10 16:14:20 -04:00
Thomas Harte
f083eab011
Implement INC, DEC.
2023-10-10 15:57:33 -04:00
Thomas Harte
3d08953103
Add TODO.
2023-10-10 12:43:41 -04:00
Thomas Harte
dbf7d07609
Add DIV, faulty IDIV.
2023-10-10 10:34:18 -04:00
Thomas Harte
b420d4cbd7
Collect TODOs.
2023-10-09 22:22:06 -04:00
Thomas Harte
0412890923
Add STC, STD, STI.
2023-10-09 22:16:37 -04:00
Thomas Harte
5e830781cc
Implement IMUL, improve test memory footprint.
2023-10-09 22:12:15 -04:00
Thomas Harte
ff6573dd02
Implement MUL.
2023-10-09 21:50:17 -04:00
Thomas Harte
e46e42d896
This is the same test either way around.
2023-10-09 16:47:02 -04:00
Thomas Harte
1cb26cb141
Pull add/sub distinction into templates.
2023-10-09 16:40:50 -04:00
Thomas Harte
f74ca8aee1
Fix SBB.
2023-10-09 16:32:01 -04:00
Thomas Harte
58aa1da649
Fix SUB. SBB still failing.
2023-10-09 16:30:47 -04:00
Thomas Harte
67d364cc89
Add faulty SUB, SBB.
2023-10-09 16:21:04 -04:00
Thomas Harte
d24fa381c7
'Implement' ESC, NOP.
2023-10-09 15:03:01 -04:00
Thomas Harte
fe6e2eb0a1
Generalise CBW.
2023-10-09 15:00:04 -04:00
Thomas Harte
08aed3bac5
Implement CWD.
2023-10-09 14:54:14 -04:00
Thomas Harte
6bbd896c34
Add DAS with a manageable number of failures.
2023-10-09 14:47:39 -04:00
Thomas Harte
0bf2099a70
Improve DAA.
2023-10-09 14:42:32 -04:00
Thomas Harte
1b9e6e8c8e
Add DAA, which doesn't yet pass all tests.
2023-10-09 14:27:02 -04:00
Thomas Harte
59521f9d38
Implement CBW, CLC, CLD, CLI, CMC.
2023-10-09 11:59:38 -04:00
Thomas Harte
769aed10ea
Reduce repetition.
2023-10-09 11:49:38 -04:00
Thomas Harte
5a77f0c93c
Implement CALL
.
2023-10-09 11:46:59 -04:00
Thomas Harte
4f14210ee0
Remove ideas discarded.
2023-10-08 22:27:01 -04:00
Thomas Harte
f618ca6046
Implement, test AND.
2023-10-08 22:18:40 -04:00
Thomas Harte
0a0d53103d
Enable tests for all implemented operations.
...
Only the various AAM 00hs are failing, which I've yet to understand.
2023-10-08 22:12:22 -04:00
Thomas Harte
e3b18708c7
Handle segment-boundary word accesses.
...
With all ADDs and ADCs enabled, no remaining failures.
2023-10-08 22:11:05 -04:00
Thomas Harte
bd0b62232f
Consider that displacements may always be signed.
...
Down to 1 failure.
2023-10-08 21:41:36 -04:00
Thomas Harte
dbfaef632a
Fix DataPointer reference.
...
Down from 4521 to 1248 failures within 00.json.gz
2023-10-08 15:59:30 -04:00
Thomas Harte
6808f2c778
Attempt to catch illegal accesses ahead of time.
2023-10-08 15:44:11 -04:00
Thomas Harte
0d2af80f7f
Avoid access issues if there's no index.
2023-10-08 13:50:36 -04:00
Thomas Harte
6f768d9a3d
Start climbing towards address resolution.
2023-10-08 13:47:43 -04:00
Thomas Harte
dd3cc1f510
Fix ADD and ADC sign flags.
2023-10-08 13:39:46 -04:00
Thomas Harte
a4b1d2b00a
Float out data resolution.
2023-10-08 13:34:28 -04:00
Thomas Harte
a5523c9feb
Fail at scale.
...
108,645 current failures (!)
2023-10-07 14:37:12 -04:00
Thomas Harte
6e465b9159
Merge branch 'master' into 8088Execution
2023-10-07 14:31:09 -04:00
Thomas Harte
90f0e937e8
Merge pull request #1172 from TomHarte/AddNeskellBinaries
...
Import Neskell binaries.
2023-10-07 14:30:56 -04:00
Thomas Harte
6d1dd218d4
Import Neskell binaries.
2023-10-07 14:29:53 -04:00
Thomas Harte
6abc3b6cd7
Collate all failures for printing at the end.
2023-10-07 14:28:44 -04:00
Thomas Harte
7d093d71b3
Avoid allocating and reallocating per test.
2023-10-07 14:23:47 -04:00
Thomas Harte
ade5828035
Add a clear
, in the hope of not recreating Memory
every test.
...
It's a big allocation, and therefore likely the bottleneck on test running.
2023-10-07 13:39:23 -04:00
Thomas Harte
5c62606154
Simplify parity logic.
2023-10-07 13:38:36 -04:00
Thomas Harte
16bf7c6f26
Fix include guard.
2023-10-07 13:31:35 -04:00
Thomas Harte
cf4603cb33
Attempt to check defined flags only.
2023-10-06 16:32:35 -04:00
Thomas Harte
b6d000ac5e
Add enough wiring to consolidate failure on lazy handling of flags.
2023-10-06 13:22:35 -04:00
Thomas Harte
82f0cd790f
Find first failing execution, note reason.
2023-10-06 11:43:18 -04:00
Thomas Harte
2d17d9d316
Execute some tests at some facile level.
2023-10-06 11:31:45 -04:00
Thomas Harte
a0ca0bb3c0
Mark non-templates as inline.
2023-10-06 11:11:29 -04:00
Thomas Harte
c6b311b84a
Explain source of comments.
2023-10-06 11:10:54 -04:00
Thomas Harte
28c7d27cac
Establish some proportion of state, ready to execute _something_.
2023-10-06 11:07:33 -04:00
Thomas Harte
90a8999b4b
Fix typo.
2023-10-05 22:29:15 -04:00
Thomas Harte
6d392852d2
Hack on through to something that builds.
2023-10-05 22:27:52 -04:00
Thomas Harte
f7d9116811
Merge branch 'master' into 8088Execution
2023-10-05 17:13:50 -04:00
Thomas Harte
451c687441
Merge pull request #1168 from TomHarte/8088Tests
...
Verify and correct 8086 instruction decoding.
2023-10-05 17:13:22 -04:00
Thomas Harte
f411a961a3
Create a central location for avoiding segment conditionality.
2023-10-05 17:12:38 -04:00
Thomas Harte
ada411c0d8
It's differing mildly from DataPointResolver, but segue towards a world of real data.
2023-10-05 17:06:00 -04:00
Thomas Harte
eb100e3b29
Start reforming; data size plus register aren't independent in finding a source.
2023-10-05 16:49:02 -04:00
Thomas Harte
15acb1fc7c
Add ADC and ADD.
2023-10-05 15:49:07 -04:00
Thomas Harte
09b2cfad8a
Add AAM and AAS.
2023-10-05 14:52:24 -04:00
Thomas Harte
059f300500
Start fleshing out x86 performance.
2023-10-05 14:37:58 -04:00
Thomas Harte
524e4ae65c
Tidy up just slightly more.
2023-10-05 11:26:52 -04:00
Thomas Harte
488fceb42b
Clean up, add a TODO.
2023-10-05 11:23:58 -04:00
Thomas Harte
01851874ea
I guess this is what a perform
looks like.
2023-10-05 11:23:41 -04:00
Thomas Harte
7f6e3cf8b7
Define the available flags.
2023-10-05 10:51:55 -04:00
Thomas Harte
2d20175472
Explain absence.
2023-10-05 09:27:02 -04:00
Thomas Harte
6597283c34
Simplify roll/shift case.
2023-10-05 09:26:12 -04:00
Thomas Harte
f6fd49d950
Relocate all text wrangling; this isn't really test-specific.
2023-10-04 22:35:52 -04:00
Thomas Harte
40af162214
Be overt about what's here to aid with printing only.
2023-10-04 22:15:13 -04:00
Thomas Harte
92c46faf84
Add SETMO and SETMOC.
2023-09-29 22:28:23 -04:00
Thomas Harte
ff9237be9f
Decode SALC.
2023-09-29 22:06:42 -04:00
Thomas Harte
6cbb434482
Deal with all dangling aliases.
...
Leaves just five undocumented instructions.
2023-09-29 15:36:34 -04:00
Thomas Harte
9fe6e354a6
Determine what I'm up against re: outstanding unofficial opcodes.
2023-09-29 15:29:35 -04:00
Thomas Harte
103f42f0b0
Introduce FF.7 alias.
2023-09-29 15:26:25 -04:00
Thomas Harte
f2732962d0
Add 6x 8086 aliases.
2023-09-29 15:22:05 -04:00
Thomas Harte
ef5ee8cf94
Include missing context on JMP/CALL far.
...
Zero failing tests amongst official opcodes.
2023-09-29 14:57:08 -04:00
Thomas Harte
1a6c8a2aed
Add outputters for IN and OUT.
...
2 failures remaining.
2023-09-29 09:39:51 -04:00
Thomas Harte
b76899f2bc
Undo broken extension-word DS assumption.
...
8 failures.
2023-09-28 22:17:14 -04:00
Thomas Harte
a24e17c320
Simplify debugging hook; remove outdated notes.
2023-09-28 22:04:59 -04:00
Thomas Harte
245919e67d
Resolve REPNE and whitespace issues.
2023-09-28 22:01:12 -04:00
Thomas Harte
6936cf1819
Handle special case of INT3.
...
10 failures.
2023-09-28 15:34:33 -04:00
Thomas Harte
ae4a588de3
Adjust semantics to avoid culling end of relevant RETs.
2023-09-28 15:24:15 -04:00
Thomas Harte
960cca163e
Make better guess at CALL/JMP size; apply same sizing-logic as offset for disassembly matching.
...
13 failures.
2023-09-28 14:52:42 -04:00
Thomas Harte
86f12f4d4c
Adopt test-set's preferred pointer type for LES and LDS.
...
15 failures.
2023-09-28 14:16:47 -04:00
Thomas Harte
249da884a7
Trim trailing space.
2023-09-28 13:59:41 -04:00
Thomas Harte
035a1265f6
Map invalid reg numbers properly for the 8086.
...
17 failures.
2023-09-28 13:11:15 -04:00
Thomas Harte
ff4d79e77e
Add test synonym, fix operand size.
...
19 failures.
2023-09-28 09:43:26 -04:00
Thomas Harte
95df9bcb1e
Accept SHL as a synonym of SAL.
...
20 failures.
2023-09-28 09:31:10 -04:00
Thomas Harte
78cb39ad67
Also fix AddrReg.
...
24 failures.
2023-09-27 22:47:14 -04:00
Thomas Harte
9207de4164
Fix RegAddr macro.
...
26 failures.
2023-09-27 22:44:10 -04:00
Thomas Harte
c20e7ed9b6
Fix TEST.
...
28 failures.
2023-09-27 22:30:40 -04:00
Thomas Harte
11c747e3c4
Defer worrying about immediate sign extensions.
2023-09-27 22:18:05 -04:00
Thomas Harte
02aeec0173
Prepare for greater nuance on testing sign extensions by text.
2023-09-27 17:06:34 -04:00
Thomas Harte
2d882d2153
Switch shift/roll semantics to reduce extension words and for sanity generally.
...
37 failures.
2023-09-27 16:40:46 -04:00
Thomas Harte
638f3d3a53
Add special case for shifts and rolls.
2023-09-27 11:10:21 -04:00
Thomas Harte
b59eae3676
Adopt normative ESC decoding.
...
55 failures.
2023-09-27 10:32:22 -04:00
Thomas Harte
2cc60563e0
Resolve rep vs repe.
...
63 failures.
2023-09-26 17:36:22 -04:00
Thomas Harte
5368f789f6
Shuffle list slightly.
2023-09-26 17:30:27 -04:00
Thomas Harte
b03b408984
Give the decoder responsibility for sanity-checking repetitions.
...
This may avoid some spurious extension words.
2023-09-26 17:29:20 -04:00
Thomas Harte
cd072e1b57
LEA implies a word. Otherwise add TODOs.
...
So that's now 69 failures.
2023-09-26 15:41:51 -04:00
Thomas Harte
f16ac603f2
Deal with printing segment:offset.
...
70 failing files remaining.
2023-09-26 15:28:51 -04:00
Thomas Harte
0a0051eb59
I've just been inconsistent with POP. Stop being so.
...
71 failures from 288 tests.
2023-09-26 15:16:41 -04:00
Thomas Harte
92c8e1ca93
Add missing #include.
2023-09-26 14:52:08 -04:00
Thomas Harte
4a38e6b4b5
Take si/di confusion and offset length off the table.
...
Now 74 failures of 288 tests.
2023-09-26 13:21:24 -04:00
Thomas Harte
e56a5899bd
Ensure test order is deterministic.
2023-09-25 12:28:34 -04:00
Thomas Harte
87097c44b9
Curate list of known failures; apply easiest fixes.
...
Now at 157 failures of 288 applicable tests.
2023-09-25 11:39:12 -04:00
Thomas Harte
7fadf01e4e
BP in isolation acts as a base.
2023-09-24 18:06:53 -04:00
Thomas Harte
0d65bf0c1f
Take offset length off the table as a spurious cause of failures.
2023-09-24 15:26:58 -04:00
Thomas Harte
d2b9c435e5
Allow for non-sign-extended offsets/displacements.
2023-09-24 15:00:16 -04:00
Thomas Harte
d36f785428
Include file name in error.
2023-09-22 23:04:26 -04:00
Thomas Harte
5fd98e9833
Add an ignore list.
...
Leaves 180 failures amongst the valid 306 instructions.
2023-09-22 22:56:33 -04:00
Thomas Harte
787e9e770e
Retain baseless addresses correctly.
2023-09-22 17:27:27 -04:00
Thomas Harte
c8c0c3ca6d
Default segment is ::DS if there was no base.
2023-09-22 17:03:40 -04:00
Thomas Harte
5a5f71e703
JMPs imply their size.
2023-09-22 17:00:10 -04:00
Thomas Harte
587ec81900
Improve string output, better to find actual errors.
...
Still at 194/324 failures, but a lot of them seem reasonable.
2023-09-22 11:24:33 -04:00
Thomas Harte
9f63db991c
Capture default segments, fix base/index confusion.
2023-09-22 11:07:09 -04:00
Thomas Harte
13f49fe8bf
Merge branch 'master' into 8088Tests
2023-09-22 10:45:55 -04:00
Thomas Harte
5f95b32799
Merge pull request #1170 from TomHarte/NeskellTests
...
6502: fix SH[S/X/Y/A]
2023-09-21 21:35:33 -04:00
Thomas Harte
873b1122ab
Correct SHA, SHX, SHY, SHS when page boundary crossed.
2023-09-21 15:31:04 -04:00
Thomas Harte
4c32fc9b11
These tests appear to be against a real 6502.
2023-09-21 10:22:04 -04:00
Thomas Harte
4a87aa06a5
Add use of AHX/TAS/SHX/SHY pagecross test. Which fails.
2023-09-21 10:07:09 -04:00
Thomas Harte
5731ab75a6
Test stack result, pass first test.
2023-09-21 10:00:26 -04:00
Thomas Harte
797ce89a26
Correct test trailer.
2023-09-21 09:52:38 -04:00
Thomas Harte
4dc7b1840c
Start attempting to digest Neskell's NES 6502 tests.
2023-09-21 09:47:29 -04:00
Thomas Harte
3db21b0bed
Merge pull request #1169 from TomHarte/NESARR
...
Don't necessarily apply D for ARR.
2023-09-20 22:09:20 -04:00
Thomas Harte
74b5ad93c4
Don't necessarily apply D for ARR.
2023-09-20 10:17:00 -04:00
Thomas Harte
7ebecd2f41
Add notes to self, finally figuring out segment issue.
2023-09-19 23:27:42 -04:00
Thomas Harte
406c838c39
Attempt better to print DirectAddress
s.
2023-09-19 22:46:53 -04:00
Thomas Harte
6f5fcf23dc
Add missing substitutions.
2023-09-19 14:00:27 -04:00
Thomas Harte
02fcaf0dbd
JCXZ seems to be preferred over JPCX.
2023-09-19 13:56:48 -04:00
Thomas Harte
a7cf7d3183
Resolve LOOPNE, LOOPE, etc.
2023-09-19 13:55:19 -04:00
Thomas Harte
9b3199d97b
Reduce failures to 205/324.
2023-09-19 13:45:19 -04:00
Thomas Harte
e5dfc882cb
Agree that JZ/JNZ are clearer (for me) of the synonyms.
2023-09-19 13:38:08 -04:00
Thomas Harte
2d928199d6
Clean up, add extra breakpoint points.
2023-09-18 17:10:09 -04:00
Thomas Harte
3582d2c9e3
Start to beef up operand count list.
2023-09-18 16:34:52 -04:00
Thomas Harte
da953fdf0d
Complete 8086 operation list; standardise enum order.
2023-09-18 16:25:04 -04:00
Thomas Harte
710017ada2
Largely resolve the operation-name problem.
2023-09-18 15:57:26 -04:00
Thomas Harte
9d9194f194
Improve dumped information on a mismatch.
2023-09-17 17:09:40 -04:00
Thomas Harte
f8dc5b8ebc
Attempt to get close on index + base addresses.
2023-09-17 17:05:19 -04:00
Thomas Harte
2ee028d74f
Bluff through a few more simple cases.
2023-09-17 16:29:04 -04:00
Thomas Harte
2d2eda6f8c
Bodge my way into passing some comparisons.
2023-09-17 16:22:17 -04:00
Thomas Harte
5b9c5e250d
Increase version number.
2023-09-17 16:04:19 -04:00
Thomas Harte
c95df3cb6c
Move a little towards string formation.
2023-09-15 22:28:30 -04:00
Thomas Harte
f039d44ee3
Fully handle rm = 6, mod = 0.
2023-09-15 22:08:20 -04:00
Thomas Harte
7ee5adc481
Forcing a displacement upon BP reduces to 29 failures.
...
(At the current limited fidelity of testing)
2023-09-15 16:09:04 -04:00
Thomas Harte
8d4393275c
Add optional allow list, for ephemeral whittling.
2023-09-15 15:50:59 -04:00
Thomas Harte
9417996280
Also dump hex form of the instruction.
2023-09-14 15:40:40 -04:00
Thomas Harte
804f80d23c
Provide sorted output.
2023-09-14 12:29:49 -04:00
Thomas Harte
28027385bc
Attempt further to cheer via statistics.
...
Current opcode failure count: 164 out of 324. Just a shade more than 50%.
2023-09-14 09:33:45 -04:00
Thomas Harte
53d8322b46
Contort further for testing.
2023-09-13 16:45:39 -04:00
Thomas Harte
39840feae7
Added text to cheer myself up.
2023-09-13 16:09:58 -04:00
Thomas Harte
57087cc7c6
Provide feedback on prima facie failure.
2023-09-13 16:08:12 -04:00
Thomas Harte
a6abe3a51d
Attempt actually to decode. No comparison yet.
2023-09-13 16:00:16 -04:00
Thomas Harte
aa127d9a9f
Add an empty 8088 suite test class.
2023-09-13 15:53:38 -04:00
Thomas Harte
49ec6d19a5
Merge pull request #1167 from TomHarte/NextSequencePoint
...
Simplify 'get_next_sequence_point' -> 'next_sequence_point'.
2023-09-10 18:08:11 -04:00
Thomas Harte
8efb6a9226
Simplify 'get_next_sequence_point' -> 'next_sequence_point'.
2023-09-10 18:00:49 -04:00
Thomas Harte
211a6e5114
Merge pull request #1166 from TomHarte/6502Exhaustive
2023-09-10 17:02:20 -04:00
Thomas Harte
e42a2578da
Enable 6502 for 'exhaustive' disassembly.
2023-09-10 14:30:39 -04:00
Thomas Harte
34c631ed3b
Avoid ranges entirely in favour of implicit entries.
2023-09-10 14:25:28 -04:00
Thomas Harte
2f5d710441
Keep map small.
2023-09-07 11:09:33 -04:00
Thomas Harte
b7a27fbc6b
Merge pull request #1165 from TomHarte/MSX2Detection
...
Improve MSX cartridge type detection.
2023-09-06 22:50:53 -04:00
Thomas Harte
e98f78316b
Accept a paging scheme if it becomes 60% likely.
2023-09-06 22:40:39 -04:00
Thomas Harte
8c3ebe23f6
Use ranges properly to apply address mapping.
2023-09-06 22:26:15 -04:00
Thomas Harte
251b8e69ad
Attempt to support 'exhaustive' disassemblies (i.e. ones that chase every byte).
2023-09-04 15:13:06 -04:00
Thomas Harte
a21fe92b7a
Merge pull request #1164 from TomHarte/MacOS1013
...
Add manual rpath for macOS 10.13.
2023-09-04 14:45:53 -04:00
Thomas Harte
3d5a351306
Add manual rpath for macOS 10.13.
2023-09-03 15:46:35 -04:00
Thomas Harte
43dfb729d3
Explain even better.
2023-09-02 14:45:53 -04:00
Thomas Harte
ecec9ff6dc
Merge pull request #1162 from TomHarte/65C02BCDTest
...
Extend BCD testing to the 65C02; clean up implementation
2023-09-02 11:45:35 -04:00
Thomas Harte
543be49cf8
Merge branch 'master' into 65C02BCDTest
2023-09-01 16:39:18 -04:00
Thomas Harte
4f0adc4d5d
Merge pull request #1163 from TomHarte/AbsoluteNOPs
...
Fix abs,x NOP length.
2023-09-01 16:38:54 -04:00
Thomas Harte
1fb278c9f1
Fix abs,x NOP length.
2023-09-01 14:31:21 -04:00
Thomas Harte
19ec63b4fb
Add exposition, slightly simplify, unbreak INS.
2023-09-01 09:29:35 -04:00
Thomas Harte
4d6ffa7a2e
With some degree of hit and hope, correct 65C02 results.
2023-08-31 15:28:59 -04:00
Thomas Harte
39ee75d94a
Clean up decimal SBC implementation.
2023-08-31 15:02:17 -04:00
Thomas Harte
13be247495
Comment.
2023-08-30 23:08:42 -04:00
Thomas Harte
cdcac7c11c
Simplify top nibble handling.
2023-08-30 23:07:54 -04:00
Thomas Harte
67cd5dd63b
Simplify top nibble decision.
2023-08-30 23:06:00 -04:00
Thomas Harte
139a1a2acc
Clean up decimal ADC.
2023-08-30 23:04:38 -04:00
Thomas Harte
7b569b1a6c
Merge branch 'master' into 65C02BCDTest
2023-08-29 21:32:25 -04:00
Thomas Harte
3e666a08ae
Merge pull request #1161 from TomHarte/6502Idling
...
6502: add final read cycle to illegal NOPs.
2023-08-29 21:24:04 -04:00
Thomas Harte
74b416f985
Clean up output.
2023-08-29 17:07:35 -04:00
Thomas Harte
c160482b0a
Exploit test's 65C02 abilities.
2023-08-29 17:04:52 -04:00
Thomas Harte
ec8f1b0fe0
Vary seed between processors.
2023-08-29 16:55:39 -04:00
Thomas Harte
5dae726857
Differentiate non-fetching and fetching NOPs.
2023-08-29 16:50:39 -04:00
Thomas Harte
598a889c6d
Merge pull request #1160 from TomHarte/ADBKeyboard
...
Avoid flurry of startup events, repeats.
2023-08-22 09:42:03 -04:00
Thomas Harte
e5d3140cd1
Avoid flurry of startup events, repeats.
2023-08-22 09:28:57 -04:00
Thomas Harte
525e5ce8b0
Merge pull request #1159 from TomHarte/PixelOrder
...
Flip order of byte usage in double high res mono.
2023-08-21 22:21:18 -04:00
Thomas Harte
79e9de34b6
Flip order of byte usage in double high res mono.
2023-08-21 22:20:42 -04:00
Thomas Harte
0a547355db
Merge pull request #1158 from TomHarte/FasterMouse
...
Switch to maximal signalling rate.
2023-08-21 22:13:39 -04:00
Thomas Harte
2b58f64161
Switch to maximal signalling rate.
2023-08-21 22:12:55 -04:00
Thomas Harte
6cbd152ff5
Merge pull request #1157 from TomHarte/ADBRate
...
Add basic ADB controller interrupts.
2023-08-21 20:22:51 -04:00
Thomas Harte
a5038259bc
Add admission.
2023-08-21 19:30:34 -04:00
Thomas Harte
bb84a5a474
Enable various ADB-controller interrupts.
2023-08-21 15:35:13 -04:00
Thomas Harte
b5dc84c431
Merge pull request #1156 from TomHarte/IIgsMouseMystery
...
Without rhythm or rhyme, fix IIgs GSOS mouse movement.
2023-08-20 16:19:04 -04:00
Thomas Harte
357a324e87
Add exposition.
2023-08-20 15:34:40 -04:00
Thomas Harte
fa82fb46b9
Acknowledge ever-revolving earth.
2023-08-20 15:33:47 -04:00
Thomas Harte
b8e7c2b8ac
Remove printf.
2023-08-20 15:33:30 -04:00
Thomas Harte
3e2a82b638
Add delta capper.
2023-08-20 15:32:48 -04:00
Thomas Harte
1125286b96
Add note to self.
2023-08-20 15:03:28 -04:00
Thomas Harte
17f1f05064
Hit and hope appears to have fixed mouse input.
2023-08-20 15:02:25 -04:00
Thomas Harte
ae56da2b0d
Merge pull request #1155 from TomHarte/Templates
...
Show failing operations in human form.
2023-08-19 15:58:15 -04:00
Thomas Harte
90f16026bc
Merge branch 'master' into Templates
2023-08-19 15:57:37 -04:00
Thomas Harte
d0284917cf
Merge pull request #1154 from TomHarte/65816StackAgain
...
Clarify SH=1 upon TCS.
2023-08-19 15:56:30 -04:00
Thomas Harte
7815d18676
Merge branch 'master' into 65816StackAgain
2023-08-19 15:55:45 -04:00
Thomas Harte
222f6e92fb
Merge pull request #1153 from TomHarte/IIgsInterrupts
...
IIgS: abstract VGC interrupt register; fix clearing bug.
2023-08-18 22:14:13 -04:00
Thomas Harte
b34403164e
Abstract out VGC interrupt register; fix clearing bug.
2023-08-18 14:30:40 -04:00
Thomas Harte
3bd931937f
Merge pull request #1152 from TomHarte/New6502TestGenerator
...
Generalise 65816 test generator to handle all 6502esques.
2023-08-18 11:28:57 -04:00
Thomas Harte
d207c13b6b
Merge pull request #1151 from TomHarte/STopByteAgain
...
Fix S top byte overwrite.
2023-08-18 11:28:51 -04:00
Thomas Harte
ca75822dbe
Fix restart_operation_fetch.
2023-08-17 15:42:34 -04:00
Thomas Harte
d9df568dab
Add faulty restart_operation_fetch.
2023-08-17 15:38:28 -04:00
Thomas Harte
26343148ae
Use simplified control lines when appropriate.
2023-08-17 15:32:02 -04:00
Thomas Harte
fd0fe66851
Omit unsupported registers and flags.
2023-08-17 15:24:08 -04:00
Thomas Harte
c41ed191dc
Fix S top byte overwrite.
2023-08-17 14:51:13 -04:00
Thomas Harte
833613b68a
Fix S top byte overwrite.
2023-08-17 14:50:55 -04:00
Thomas Harte
0a336baae2
Perform minor generalisation.
2023-08-17 14:50:43 -04:00
Thomas Harte
b9bd3f9b8c
Merge pull request #1150 from TomHarte/65816Setter
...
Don't allow setting of an invalid S.
2023-08-07 09:19:59 -04:00
Thomas Harte
42024c1573
Don't allow setting of an invalid S.
2023-08-07 09:19:20 -04:00
Thomas Harte
0222dcf5ce
Merge pull request #1149 from TomHarte/65816StackAgain
...
Add a between-instructions enforcement of SH = 1.
2023-08-05 15:14:53 -04:00
Thomas Harte
54103f1f34
Fix SH=1 reset; appropriate TCS.
2023-08-05 15:06:18 -04:00
Thomas Harte
c0eb401d04
Add a between-instructions enforcement of SH = 1.
2023-08-05 14:57:43 -04:00
Thomas Harte
3927ebf763
Merge branch 'master' into Z80Tests
2022-10-20 10:33:33 -04:00
Thomas Harte
ad5047dbd5
Show failing operations as strings.
2022-10-19 22:25:09 -04:00
Thomas Harte
7a8674f0d7
Start being more granular on data/address timing.
2022-10-10 10:43:18 -04:00
Thomas Harte
ef0fb5d16f
Prepare provisionally to offer instantaneous Z80 bus sampling.
2022-09-29 22:04:16 -04:00
Thomas Harte
c50c98ebad
Fix parsing of recorded address and data.
2022-09-27 16:10:11 -04:00
Thomas Harte
34e9870c3c
Switch away from enum
.
2022-09-27 16:09:48 -04:00
Thomas Harte
47c1e98e91
Make a first pass at bus state comparison.
2022-09-26 22:10:42 -04:00
Thomas Harte
b0d0ea9f92
Take a const ref.
2022-09-26 21:57:42 -04:00
Thomas Harte
02638b7963
Improve alignment for all RegisterPair
s.
2022-09-26 13:28:41 -04:00
Thomas Harte
3455f6393a
Add but disable multithreaded runner.
2022-09-26 13:18:17 -04:00
Thomas Harte
f806eb7ae2
Capture bus activity; install I and R correctly.
2022-09-22 15:34:46 -04:00
Thomas Harte
152ffbcbb6
Update permit[/current failure] list.
2022-09-20 20:04:47 -04:00
Thomas Harte
de33ee3e46
Log all digressions.
2022-09-20 15:08:55 -04:00
Thomas Harte
42aae39f35
Fix effect on flags of DD- and FD-page SCF and CCF.
2022-09-20 14:43:21 -04:00
Thomas Harte
e84c6a4e60
Apply and verify 'Q' status.
2022-09-20 14:42:52 -04:00
Thomas Harte
bda2ab47e9
Expose flag adjustment history.
2022-09-20 14:37:47 -04:00
Thomas Harte
277cdb858b
Extend notes.
2022-09-20 12:20:28 -04:00
Thomas Harte
382af4fa3f
Use std::swap rather than reimplementing a subset of it.
2022-09-20 12:20:10 -04:00
Thomas Harte
bf2e879798
Attempt proper IO replay, correcting 26 tests.
2022-09-20 11:55:29 -04:00
Thomas Harte
9b1d4bcf87
Sort permit list, ensure future outputs are sorted.
2022-09-20 11:20:07 -04:00
Thomas Harte
7922920094
Add initial 200 failures to the permit list.
2022-09-20 11:16:10 -04:00
Thomas Harte
a8092c73ac
Fully revoke use of exceptions.
2022-09-19 22:05:53 -04:00
Thomas Harte
7f6c2e84d3
Stop a file upon any failure.
2022-09-19 22:03:55 -04:00
Thomas Harte
ec2184894d
Test final register state; carve out option for permit list.
2022-09-19 22:01:49 -04:00
Thomas Harte
b67f9d4205
Mask addresses, prepare for a compact summary.
2022-09-19 16:08:16 -04:00
Thomas Harte
89b5daa160
Start attempting to apply JSMoo tests.
2022-09-19 15:44:35 -04:00