Thomas Harte
bd5a2f240d
Record version number.
2025-10-19 19:51:06 -04:00
Thomas Harte
73054d971c
Merge pull request #1612 from TomHarte/NoCounter
...
Eliminate CompileTimeCounter.
2025-10-19 19:45:52 -04:00
Thomas Harte
8c7f2491d7
Eliminate CompileTimeCounter.
2025-10-19 19:36:36 -04:00
Thomas Harte
564542420b
Merge pull request #1609 from TomHarte/BBCAdvancedDiscToolkit
...
BBC Micro: add ADT ROM if available.
2025-10-18 21:03:07 -04:00
Thomas Harte
3f7e3e6d75
Use the ADT ROM if available.
2025-10-18 09:33:55 -04:00
Thomas Harte
6521d7d02b
Add ADT 1.40 to ROM catalogue.
2025-10-18 09:15:17 -04:00
Thomas Harte
ad162a4e4a
Merge pull request #1607 from TomHarte/MacAudio
...
Correct Mac audio buffering
2025-10-17 21:58:57 -04:00
Thomas Harte
676b1f6fdc
Adopt brackets, as is now a macro.
2025-10-17 21:38:12 -04:00
Thomas Harte
406ef4e16c
Record new version number.
2025-10-17 21:00:11 -04:00
Thomas Harte
217976350b
Merge pull request #1606 from TomHarte/CPCAnalyser
...
Improve file-selection logic.
2025-10-17 18:38:33 -04:00
Thomas Harte
e8f860d6fe
Improve file-selection logic.
2025-10-17 18:25:44 -04:00
Thomas Harte
859e6e2396
Merge pull request #1605 from TomHarte/CompiletimeCounter
...
Add compile-time counter; switch 1770 to using it for sequence points.
2025-10-17 17:44:13 -04:00
Thomas Harte
51186e615f
Add warning.
2025-10-17 16:10:23 -04:00
Thomas Harte
bd8287fda3
Resolve obstructive warning.
2025-10-17 15:21:47 -04:00
Thomas Harte
287ff99bbc
Use Numeric::Counter.
2025-10-17 15:06:05 -04:00
Thomas Harte
0bbfcedabb
Alphabetise includes.
2025-10-17 15:05:52 -04:00
Thomas Harte
812e1e637d
Eliminate magic constant.
2025-10-17 11:22:02 -04:00
Thomas Harte
f20fd38940
Introduce a compile-time counter; use it for 1770 sequencing.
2025-10-17 11:19:21 -04:00
Thomas Harte
b4cfabc005
Merge pull request #1604 from TomHarte/CPCBrightness
...
Apply outputMultiplier in direct RGB output.
2025-10-16 23:42:43 -04:00
Thomas Harte
c49e160501
Apply outputMultiplier in direct RGB output.
2025-10-16 22:44:40 -04:00
Thomas Harte
a0a24902d5
Merge pull request #1603 from TomHarte/JoystickDirection
...
Provide joystick up/down as down = positive again.
2025-10-16 21:58:22 -04:00
Thomas Harte
1047bc8a80
Provide up/down in down = positive again.
2025-10-16 21:30:49 -04:00
Thomas Harte
0eed49c4cb
Merge pull request #1599 from TomHarte/AutoClip
...
Automatically select and zoom to 'interesting' content.
2025-10-16 21:04:23 -04:00
Thomas Harte
e7f09e2ece
Fix first reading.
2025-10-16 20:51:39 -04:00
Thomas Harte
89678f1ea7
Tweak decision process, add maximum scale parameter.
2025-10-16 16:26:16 -04:00
Thomas Harte
e43ec7d549
Correct bias to the left.
2025-10-16 11:50:32 -04:00
Thomas Harte
95395132f0
Make stability threshold modal.
2025-10-16 11:29:41 -04:00
Thomas Harte
89293d8481
Add stability as a prefilter.
2025-10-16 11:26:07 -04:00
Thomas Harte
e6de24557f
Set appropriate BBC bounds.
2025-10-15 23:39:55 -04:00
Thomas Harte
66d76dc36a
Adjust dynamic semantics again.
2025-10-15 23:30:25 -04:00
Thomas Harte
06629def62
Restore some fixed areas, work on API.
2025-10-14 22:51:36 -04:00
Thomas Harte
97aeb5e930
Merge branch 'AutoClip' of github.com:TomHarte/CLK into AutoClip
2025-10-14 22:23:12 -04:00
Thomas Harte
bf45b6e20b
Merge branch 'master' into AutoClip
2025-10-14 22:23:06 -04:00
Thomas Harte
6ad41326b0
Remove errant space.
2025-10-13 23:13:45 -04:00
Thomas Harte
2bbca3c169
Slightly beef up 8272 logging.
2025-10-13 23:09:10 -04:00
Thomas Harte
ae903b0712
Increase consts.
2025-10-13 22:53:52 -04:00
Thomas Harte
a2a7f82716
Merge branch 'master' into AutoClip
2025-10-13 22:51:21 -04:00
Thomas Harte
00456c891a
Merge pull request #1601 from TomHarte/EvenShorterText
...
Even shorter text
2025-10-13 22:50:53 -04:00
Thomas Harte
afd5faaab1
Tweak constraints again.
2025-10-13 13:29:31 -04:00
Thomas Harte
bb33cf0f8d
Shorten text even further.
2025-10-13 13:26:49 -04:00
Thomas Harte
edc510572a
Reorder constraints.
2025-10-13 10:55:23 -04:00
Thomas Harte
bc6cffa95c
Enable full dynamic selection again for the CPC.
2025-10-13 08:54:33 -04:00
Thomas Harte
48ed2912b0
Reenable dynamic framing.
2025-10-12 22:30:37 -04:00
Thomas Harte
a8af262c41
Avoid shadowing, use normal instance suffix.
2025-10-12 21:41:22 -04:00
Thomas Harte
dcf49933bc
Merge branch 'master' into AutoClip
2025-10-12 21:32:22 -04:00
Thomas Harte
9c014001da
Merge pull request #1600 from TomHarte/ShorterOpenDialogue
...
macOS: shorten prompt to File -> Open...
2025-10-12 21:27:07 -04:00
Thomas Harte
4f410088dd
Improve constraints.
2025-10-12 21:17:07 -04:00
Thomas Harte
e1c1b66dc5
Shorten footer text.
2025-10-12 20:55:29 -04:00
Thomas Harte
23c3a1fa99
Lean further overtly towards a state machine.
2025-10-12 08:59:07 -04:00
Thomas Harte
ef6e1b2f74
Unpublish enum, simplify function names.
2025-10-11 15:07:09 -04:00
Thomas Harte
e130ae0a8a
Merge branch 'AutoClip' of github.com:TomHarte/CLK into AutoClip
2025-10-10 22:27:47 -04:00
Thomas Harte
1a1e3281e4
Avoid overlong line; add consts.
2025-10-10 22:27:29 -04:00
Thomas Harte
a4e55c9362
Avoid overlong line.
2025-10-10 22:25:16 -04:00
Thomas Harte
0b4c51eebd
Scale interesting rects once only.
2025-10-10 22:23:22 -04:00
Thomas Harte
1107f0d9a3
For relevant machines: pick different amounts of border to show.
2025-10-10 21:58:03 -04:00
Thomas Harte
775819432b
Apply warm-up for the Apple II and ZX Spectrum.
2025-10-10 21:37:31 -04:00
Thomas Harte
a71a60937f
Prewarm Macintosh; mark RAM as const.
2025-10-10 18:02:46 -04:00
Thomas Harte
5e661fe96b
Add prewarming to the Oric.
2025-10-10 18:00:54 -04:00
Thomas Harte
a9f5b17fcb
Eliminate frame_is_complete_, add prewalming loop.
2025-10-10 17:59:10 -04:00
Thomas Harte
b0c2b55fc9
Fix initial bounds, slightly update breathing space.
2025-10-10 15:44:54 -04:00
Thomas Harte
925832aac5
Include tolerance for interlacing.
2025-10-10 14:29:40 -04:00
Thomas Harte
994131e2ea
Use stability as test for initial frame.
2025-10-10 14:18:25 -04:00
Thomas Harte
f8d27d0ae0
Remove explicit visible area declarations.
2025-10-09 22:17:02 -04:00
Thomas Harte
fc50af0e17
Adjust vertical sync test.
2025-10-09 22:16:43 -04:00
Thomas Harte
087d3535f6
Start focussing on getting a good crop for 'static' machines.
2025-10-09 18:01:46 -04:00
Thomas Harte
e9d310962f
Support an asymmetric 90%.
2025-10-09 14:01:52 -04:00
Thomas Harte
0f9c89d259
Limit to 90%.
2025-10-09 13:59:03 -04:00
Thomas Harte
258c37685b
Fix axis.
2025-10-09 13:53:35 -04:00
Thomas Harte
56f092a0c3
Try a rolling average of 250 frames, subject to thresholding.
2025-10-09 13:51:19 -04:00
Thomas Harte
6c3048ffbf
Relax flywheel response rate again.
2025-10-08 22:12:58 -04:00
Thomas Harte
c58eba61de
Extend required stability window.
2025-10-08 22:00:32 -04:00
Thomas Harte
8a54773f1b
Reduce Metal buffer thrashing.
2025-10-08 21:19:31 -04:00
Thomas Harte
2c483e7b97
Avoid nullptr dereference if there is no activity observer.
2025-10-08 17:42:57 -04:00
Thomas Harte
1027e9ffdc
Add but abandon first attempt at sane limits.
2025-10-08 17:34:54 -04:00
Thomas Harte
85d6957e03
Attempt to do better at startup.
2025-10-08 14:33:49 -04:00
Thomas Harte
c3609b66a9
Attempt a quick snap at startup.
2025-10-08 14:13:34 -04:00
Thomas Harte
605f4a92d7
Use animation curve, try to be fooled less at startup.
2025-10-08 12:58:12 -04:00
Thomas Harte
d395e2bc75
Introduce animated crop.
2025-10-08 12:18:04 -04:00
Thomas Harte
e6ccdc5a97
Edge towards animations.
2025-10-07 23:00:36 -04:00
Thomas Harte
a68c7aa45f
Use filter, attempt to be intelligent about the border.
2025-10-07 22:56:51 -04:00
Thomas Harte
66e959ab65
Temporarily exclude borders.
2025-10-07 22:42:26 -04:00
Thomas Harte
d68b172a40
Introduce preliminary output frame filtering.
2025-10-07 22:36:36 -04:00
Thomas Harte
d3ee778265
Eliminate common black border -> blank mapping.
...
Will move this inside the CRT.
2025-10-07 22:10:14 -04:00
Thomas Harte
da96df7df7
Ensure OpenGL appropriately letterboxes or pillarboxes.
2025-10-07 21:37:22 -04:00
Thomas Harte
4ea82581ec
Factor out zoom logic, start trying to knock OpenGL into shape.
2025-10-07 13:29:21 -04:00
Thomas Harte
4473d3400e
Reformat slightly.
2025-10-07 12:52:55 -04:00
Thomas Harte
2f1f843e48
Correct origin.y minification.
2025-10-07 12:44:03 -04:00
Thomas Harte
53a3d9042e
Switch to multiline strings, shorter comments.
2025-10-06 22:58:50 -04:00
Thomas Harte
6eb32f98b2
Fix rectangle union.
2025-10-06 22:50:29 -04:00
Thomas Harte
0fad97ed48
Apply different axis scales.
2025-10-06 22:36:19 -04:00
Thomas Harte
27246247a2
OpenGL: fix centring.
2025-10-06 20:58:42 -04:00
Thomas Harte
cbc96e2223
Reformat in proximity.
2025-10-06 20:45:20 -04:00
Thomas Harte
8fdf32cde8
Avoid OpenGL churn.
2025-10-06 20:43:12 -04:00
Thomas Harte
03a94e59e2
Merge branch 'master' into AutoClip
2025-10-06 20:29:08 -04:00
Thomas Harte
2c0610fef8
Accumulate union of all pixel-bearing scans.
2025-10-06 20:26:15 -04:00
Thomas Harte
60b3c51085
Merge pull request #1598 from TomHarte/DynamicViewArea
...
Begin move towards automatic cropping.
2025-10-06 19:07:20 -04:00
Thomas Harte
d7b5a45417
Adopt even more aggressive mixing, avoid negative.
2025-10-06 16:20:54 -04:00
Thomas Harte
e11060bde8
Further improve asserting.
2025-10-06 16:16:06 -04:00
Thomas Harte
4653de9161
Pull out and comment on mix, improve asserts.
2025-10-06 16:11:59 -04:00
Thomas Harte
1926ad9215
Normalise and slightly reformat flywheel interface.
2025-10-06 14:53:08 -04:00
Thomas Harte
33d047c703
Add a const.
2025-10-06 14:38:40 -04:00
Thomas Harte
fadda00246
Eliminate flywheel 'get's, hence normalise CRT line lengths.
2025-10-06 14:36:39 -04:00
Thomas Harte
a3fed788d8
Reduce repetition.
2025-10-06 14:27:57 -04:00
Thomas Harte
dde31e8687
Reformat inner loop.
2025-10-06 14:26:03 -04:00
Thomas Harte
190fb009bc
Clean up CRT.hpp for formatting. Switch pointer to reference.
2025-10-06 13:55:03 -04:00
Thomas Harte
62574d04c6
Avoid some redundant parameter names.
2025-10-06 13:32:28 -04:00
Thomas Harte
2496257bcf
Adopt normative public-then-private ordering.
2025-10-06 13:28:04 -04:00
Thomas Harte
ab73b4de6b
Split off the mismatch warner.
2025-10-06 13:27:10 -04:00
Thomas Harte
6c1c32baca
Move flywheels local.
2025-10-04 22:42:56 -04:00
Thomas Harte
239cc15c8f
Introduce cubic timing function.
2025-10-04 22:26:09 -04:00
Thomas Harte
6b437c3907
Merge pull request #1597 from TomHarte/NewShaker
...
Ensure CPCShakerTests is runnable.
2025-10-03 22:33:52 -04:00
Thomas Harte
4756f63169
Ensure CPCShakerTests is runnable.
2025-10-03 22:25:16 -04:00
Thomas Harte
7229acb34f
Merge pull request #1596 from TomHarte/FaultyLineLength
...
Correct collation test, to ensure no accidental buffer mixing.
2025-10-03 18:06:34 -04:00
Thomas Harte
43cb91760a
Update SAA5050 row counter only in teletext mode.
2025-10-03 18:05:36 -04:00
Thomas Harte
7bb4d052d1
Correct collation test, to ensure no accidental buffer mixing.
2025-10-03 17:29:45 -04:00
Thomas Harte
5885bdf0f8
Merge pull request #1595 from TomHarte/BBCSaving
...
Ensure 1770 doesn't get stuck when writing.
2025-10-03 16:51:24 -04:00
Thomas Harte
05042b1859
Remove unnecessary log.
2025-10-03 16:42:04 -04:00
Thomas Harte
3ca2f72184
Merge pull request #1594 from TomHarte/CompoundingTyper
...
Simplify typer logic.
2025-10-03 16:41:43 -04:00
Thomas Harte
b076450b73
Ensure 1770 doesn't get stuck when writing.
2025-10-03 16:39:27 -04:00
Thomas Harte
7a90662c06
Merge branch 'master' into CompoundingTyper
2025-10-03 16:06:47 -04:00
Thomas Harte
eb31aaeb7d
Merge pull request #1593 from TomHarte/FakeLightpen
...
Support CB2 output strobe as triggering lightpen capture.
2025-10-03 16:05:11 -04:00
Thomas Harte
ebfb215246
Support CB2 output strobe as triggering lightpen capture.
2025-10-03 15:39:16 -04:00
Thomas Harte
eb97e4e518
Reserve entire FF page; simplify logic.
2025-10-03 13:10:45 -04:00
Thomas Harte
61d3e65c05
Merge pull request #1591 from TomHarte/BetterTyper
...
BBC typer: properly support lowercase input.
2025-10-03 12:27:32 -04:00
Thomas Harte
0ac5681d13
Confirmed: 'capslock' has yet to become a single word.
2025-10-03 11:37:39 -04:00
Thomas Harte
1e27c5759b
Add missing const.
2025-10-03 09:26:53 -04:00
Thomas Harte
5e71aedc99
Support lowercase typing into the BBC.
2025-10-03 09:25:58 -04:00
Thomas Harte
d0d8c2316b
Bump version number.
2025-10-02 22:55:50 -04:00
Thomas Harte
8f0a5b2191
Merge pull request #1589 from TomHarte/6522PB7
...
Expose PB7 timer regardless.
2025-10-02 22:48:31 -04:00
Thomas Harte
242b180862
Expose PB7 timer regardless.
2025-10-02 22:40:36 -04:00
Thomas Harte
feb4766d7b
Merge pull request #1587 from TomHarte/BetterAnalogue
...
Improve mapping of digital inputs to analogue joysticks.
2025-10-02 21:22:21 -04:00
Thomas Harte
a224eea077
Merge pull request #1586 from TomHarte/SAA5050Split
...
Make centre row the thick one.
2025-10-02 20:59:55 -04:00
Thomas Harte
ecefbc23ae
Resolve ability of analogue joysticks to get stuck with digital input.
2025-10-02 20:52:16 -04:00
Thomas Harte
e5e0cbfc53
Make centre row the thick one.
2025-10-02 20:35:53 -04:00
Thomas Harte
38781c9395
Merge pull request #1585 from TomHarte/BBCJoystick
...
Add BBC joysticks.
2025-10-02 20:21:31 -04:00
Thomas Harte
e70d72b614
Merge pull request #1584 from TomHarte/CursorMask
...
Variously tweak and improve BBC graphics infrastructure.
2025-10-02 17:44:10 -04:00
Thomas Harte
fcf648bbb2
Flip axes, maximise range.
2025-10-02 17:43:33 -04:00
Thomas Harte
a8325b6bce
Add BBC joysticks.
2025-10-02 17:10:27 -04:00
Thomas Harte
22554a9ba4
Incorporate a one-column delay into CPC output.
2025-10-02 15:22:01 -04:00
Thomas Harte
02a10ef651
Fall in line with nonsense.
2025-10-02 15:11:01 -04:00
Thomas Harte
e3ca44f3ca
Reseparate pixels.
2025-10-02 13:24:00 -04:00
Thomas Harte
a9abc0dd5f
Document a little further.
2025-10-02 09:30:33 -04:00
Thomas Harte
cbcc7c718e
SAA: smooth output just in time.
2025-10-02 09:20:58 -04:00
Thomas Harte
4377c79068
Switch blink rates.
2025-10-02 09:10:12 -04:00
Thomas Harte
514993bc2e
Pull out cursor mask as a separate concern.
2025-10-02 07:56:07 -04:00
Thomas Harte
c182176134
Merge pull request #1583 from TomHarte/SizedInt
...
Rename SizedCounter.
2025-10-01 22:23:51 -04:00
Thomas Harte
abd1f10395
Ensure <=> is implemented.
2025-10-01 22:01:35 -04:00
Thomas Harte
f279bebc1a
Reduce redundant masking.
2025-10-01 21:59:40 -04:00
Thomas Harte
4e3fa5a6ff
Use std::popcount.
2025-10-01 21:25:12 -04:00
Thomas Harte
01d355a247
Rename SizedCounter.
2025-10-01 20:58:34 -04:00
Thomas Harte
009f71a186
Update version number.
2025-09-30 21:52:53 -04:00
Thomas Harte
de5c311d84
Merge pull request #1582 from TomHarte/SAAFlash
...
Switch to asymmetric SAA flash interval.
2025-09-30 21:48:16 -04:00
Thomas Harte
eefe34f99e
Merge branch 'master' into SAAFlash
2025-09-30 21:43:32 -04:00
Thomas Harte
82e3c870b3
Merge pull request #1581 from TomHarte/BetterKeyboardMap
...
BBC Micro: add character mapper, other improvements.
2025-09-30 21:43:15 -04:00
Thomas Harte
d44a1d9761
Give SAA flashing an asymmetric appearance.
2025-09-30 21:33:37 -04:00
Thomas Harte
e6fd54c14b
Correct forward slash key.
2025-09-30 21:33:15 -04:00
Thomas Harte
ccb8e90110
Improve naming.
2025-09-30 21:27:34 -04:00
Thomas Harte
a4e66f291a
Avoid ambiguity with new DelaySlot 'key'.
2025-09-30 21:23:30 -04:00
Thomas Harte
3ab3f34bef
If there's only one BASIC file, CHAIN that.
2025-09-30 21:13:38 -04:00
Thomas Harte
99da8c4424
Avoid assuming 0 is not a valid key.
2025-09-30 21:07:02 -04:00
Thomas Harte
9a1bf1cf74
Reduce delay.
2025-09-30 21:06:56 -04:00
Thomas Harte
2256e99157
Attempt to add a typer.
2025-09-30 20:57:28 -04:00
Thomas Harte
3a5f8b4987
Fill in rest of character mapper.
2025-09-29 23:02:51 -04:00
Thomas Harte
6de5fcc980
Simplify test.
2025-09-29 22:52:56 -04:00
Thomas Harte
a454d0d4b7
Begin work on character mapper.
2025-09-29 22:52:48 -04:00
Thomas Harte
67339754e3
Resolve potential crash at startup.
2025-09-29 16:13:56 -04:00
Thomas Harte
7316fe00ee
Support native blink speeds.
2025-09-29 16:13:39 -04:00
Thomas Harte
feb4a7021c
Add enum of BBC key names.
2025-09-29 15:00:56 -04:00
Thomas Harte
5e84b671b6
Merge pull request #1580 from TomHarte/BBCReadme
...
Add BBC Micro to README.
2025-09-28 22:32:20 -04:00
Thomas Harte
bcefef62f9
Add BBC Micro to README.
2025-09-28 22:30:06 -04:00
Thomas Harte
cc953dda34
Merge pull request #1579 from TomHarte/EliteInterrupts
...
6522: avoid handshaking with register F.
2025-09-28 22:25:41 -04:00
Thomas Harte
f9e5b0f0c7
6522: avoid handshaking with register F.
2025-09-28 22:12:53 -04:00
Thomas Harte
578654411e
Merge pull request #1578 from TomHarte/CapsLock
...
Add meta as a synonym of control, option as caps lock.
2025-09-27 22:38:43 -04:00
Thomas Harte
247e92cfa2
Correct mapping of F5.
2025-09-27 22:27:57 -04:00
Thomas Harte
66f605de0f
Add meta as a synonym of control, option as caps lock.
2025-09-27 22:03:27 -04:00
Thomas Harte
709b0efc9b
Merge pull request #1577 from TomHarte/BBCAnalyser
...
Poke around trying to find a way to discern BBC and Electron software.
2025-09-27 08:17:57 -04:00
Thomas Harte
622679f4c2
Slow flash rate (though it's probably asymmetrical?)
2025-09-27 07:58:11 -04:00
Thomas Harte
fdeb421513
Prefer the BBC for DFS media.
2025-09-27 07:49:42 -04:00
Thomas Harte
8fe25cde8d
Add search for 'MODE7'.
2025-09-27 07:41:21 -04:00
Thomas Harte
fbd71451f1
Enable sideways RAM by default.
2025-09-26 22:00:40 -04:00
Thomas Harte
0d91ce8e6a
Add some Electron addresses.
2025-09-26 21:29:49 -04:00
Thomas Harte
d71796c88a
Support automatic disk starting.
2025-09-26 15:55:04 -04:00
Thomas Harte
277748c8f5
Install a basic search for CRTC/etc addresses.
2025-09-26 15:52:20 -04:00
Thomas Harte
8c1358ace9
Generate a BBC target, even though not yet exposed.
2025-09-26 15:37:32 -04:00
Thomas Harte
1254916058
Merge pull request #1576 from TomHarte/ReadmitBBC
...
Permit the BBC to appear in release builds.
2025-09-26 13:51:16 -04:00
Thomas Harte
f228bee4b8
Permit the BBC to appear in release builds.
2025-09-26 13:49:19 -04:00
Thomas Harte
8094477b09
Merge pull request #1575 from TomHarte/CropFactor
...
Introduce a crop, centred on the pixel area.
2025-09-26 12:42:43 -04:00
Thomas Harte
32a5bf76cd
Introduce a crop, centred on the pixel area.
2025-09-26 12:06:44 -04:00
Thomas Harte
0375d000e6
Merge pull request #1574 from TomHarte/SAA5050
...
Add SAA5050 and hence BBC Mode 7.
2025-09-25 23:12:28 -04:00
Thomas Harte
141d43d3e5
Further express smoothing in terms of pixel patterns.
2025-09-25 23:02:33 -04:00
Thomas Harte
823f7b1d2e
Attempt held graphics.
2025-09-25 22:47:13 -04:00
Thomas Harte
6579f011d0
Support flash and conceal.
2025-09-25 22:37:38 -04:00
Thomas Harte
93f768af9b
Bump control codes up in the roster.
2025-09-25 22:18:52 -04:00
Thomas Harte
f8c11bf217
Rejig to ensure SAA output ends.
2025-09-25 21:31:21 -04:00
Thomas Harte
26ccd930c3
Begin tidying.
2025-09-25 17:53:54 -04:00
Thomas Harte
82211c7312
Add some 'graphics' support.
2025-09-25 17:50:26 -04:00
Thomas Harte
2015c154fe
Correctly clear double-height flags.
2025-09-25 13:28:22 -04:00
Thomas Harte
ef17d116a8
Don't permit single-height text on a lower double-height row.
2025-09-25 13:22:25 -04:00
Thomas Harte
46fddc44bf
Support double-height text.
2025-09-25 13:21:49 -04:00
Thomas Harte
0214a77cd7
Add TODO.
2025-09-25 13:10:52 -04:00
Thomas Harte
425ed658f1
Support colour control codes, clarify SAA5050 signalling.
2025-09-25 13:03:55 -04:00
Thomas Harte
a53adb561e
Erase TODO, continue to update state without target.
2025-09-25 09:25:46 -04:00
Thomas Harte
3c3c55090a
Port forward ElectrEm's font smoothing.
2025-09-25 09:22:16 -04:00
Thomas Harte
ebc04c6520
Eliminate warning.
2025-09-24 22:58:50 -04:00
Thomas Harte
8b0e8f5b13
Move all work [near] definitively into the SAA5050.
2025-09-24 22:55:49 -04:00
Thomas Harte
16132a007e
Remove silly call.
2025-09-24 22:26:37 -04:00
Thomas Harte
b6e41ceea7
Hack in low-resolution Mode 7.
2025-09-24 22:25:43 -04:00
Thomas Harte
7015e46227
Put together enough of an interface to expect to see some pixels.
2025-09-24 22:08:04 -04:00
Thomas Harte
cce2607c80
Add file for SAA5050 logic.
2025-09-24 21:43:25 -04:00
Thomas Harte
9dd2ec8bda
Merge pull request #1573 from TomHarte/New6845
...
Improve 6845.
2025-09-24 21:36:16 -04:00
Thomas Harte
068726e0ab
Add TODO.
2025-09-24 21:26:04 -04:00
Thomas Harte
89e86ad9bd
Delay publication of the refresh address.
2025-09-24 21:20:20 -04:00
Thomas Harte
2e49bc2044
Add teletext pixel route, albeit without proper selection.
2025-09-24 20:33:07 -04:00
Thomas Harte
174c8dafbf
Resolve potential out-of-phase line counter.
2025-09-24 17:26:40 -04:00
Thomas Harte
90a96293de
Implement interlace-dependent row addressing.
2025-09-24 17:20:04 -04:00
Thomas Harte
84877c4fec
Reenable the cursor; good enough for now.
2025-09-24 14:37:52 -04:00
Thomas Harte
a7cceb5fa9
Avoid circular state dependency.
2025-09-24 14:30:37 -04:00
Thomas Harte
ca6359a597
Reintroduce pixels, proving myself to be off-by-one.
2025-09-24 14:29:25 -04:00
Thomas Harte
b7c3667be1
Work out inadvertent discrepancies.
2025-09-24 14:11:06 -04:00
Thomas Harte
b6dea59db3
This tests lines, not rows.
2025-09-24 13:56:16 -04:00
Thomas Harte
aa51f13743
Reorder to avoid dependencies upon values that mutate.
2025-09-24 13:54:09 -04:00
Thomas Harte
f34ec03ff0
Attempt to fix off-by-one; adopt fixed pixel pattern.
2025-09-24 13:42:17 -04:00
Thomas Harte
1363be59b7
Formalise field size.
2025-09-24 11:17:47 -04:00
Thomas Harte
622c24ef24
This indicates a line, not a row.
2025-09-23 22:36:56 -04:00
Thomas Harte
539b0e49d4
Start in mode 7, reallow interlaced modes.
2025-09-23 14:45:32 -04:00
Thomas Harte
0c42976312
Add notes to self.
2025-09-23 14:42:16 -04:00
Thomas Harte
3f6b3a4fa0
Don't allow a state to be permanently accumulated.
2025-09-23 14:41:59 -04:00
Thomas Harte
67e1773495
This flag covers rows, not lines.
2025-09-23 14:29:00 -04:00
Thomas Harte
a199b64aa0
Clarify naming, attempt better to conform to FPGA precedent.
2025-09-23 14:27:21 -04:00
Thomas Harte
ebf09aceb2
Further extend. This is becoming more of a SizedInt.
2025-09-23 14:26:58 -04:00
Thomas Harte
ca226e4295
Merge branch 'master' into New6845
2025-09-22 13:28:33 -04:00
Thomas Harte
9261939f62
Switch to working PC for testing.
2025-09-22 13:24:35 -04:00
Thomas Harte
0349931953
Shuffle declare order.
2025-09-22 13:21:48 -04:00
Thomas Harte
d612a385d2
Dig in further on types.
2025-09-22 13:20:10 -04:00
Thomas Harte
ed4f299d55
Start formalising types.
2025-09-22 13:09:30 -04:00
Thomas Harte
7cef789d41
Merge branch 'master' into New6845
2025-09-22 12:47:32 -04:00
Thomas Harte
66bfb86d42
Introduce SizedCounter as start of CRTC reworking.
2025-09-22 12:46:39 -04:00
Thomas Harte
c4a5bc12ef
Merge pull request #1572 from TomHarte/BBCADFS
...
Support ADFS, sideways RAM.
2025-09-20 23:27:15 -04:00
Thomas Harte
557631f6ba
Support ADFS, sideways RAM.
2025-09-20 22:33:08 -04:00
Thomas Harte
362ffaff7f
Merge pull request #1571 from TomHarte/RandomPauses
...
Correct uPD7002 interrupt wiring and behaviour.
2025-09-20 22:08:13 -04:00
Thomas Harte
fb5ef200fb
Correct uPD7002 interrupt wiring.
2025-09-20 21:51:19 -04:00
Thomas Harte
5e78ac3af5
Adjust keyboard map slightly.
2025-09-20 21:35:01 -04:00
Thomas Harte
719a090b34
Retain bit 2.
2025-09-20 20:06:28 -04:00
Thomas Harte
3af85da6e0
Adjust conversion bits in status.
2025-09-20 19:52:47 -04:00
Thomas Harte
8fd62aa525
Disable interrupt at start of conversion.
2025-09-20 19:49:16 -04:00
Thomas Harte
40747f51bd
Disable ADC interrupt, experimentally.
2025-09-20 17:41:22 -04:00
Thomas Harte
f3cef6bd73
Merge pull request #1570 from TomHarte/BBCCursor
...
Add BBC cursor.
2025-09-20 08:42:53 -04:00
Thomas Harte
eef0ee8180
Support cursor to end of row.
2025-09-20 08:27:58 -04:00
Thomas Harte
503e974375
Restrict cursor to visible area, fix width.
2025-09-20 08:15:02 -04:00
Thomas Harte
c959f2fee5
Attempt to show the hardware cursor.
2025-09-20 07:54:37 -04:00
Thomas Harte
7d5e434cba
Merge pull request #1569 from TomHarte/BBCActivityIndicators
...
Add activity indicators.
2025-09-19 23:51:18 -04:00
Thomas Harte
2720bcdf18
Retrench to static inline const.
2025-09-19 23:40:30 -04:00
Thomas Harte
c513b7262b
Hit up two further strings for constexpr.
2025-09-19 23:37:11 -04:00
Thomas Harte
57a795df96
Add keyboard LEDs.
2025-09-19 23:34:51 -04:00
Thomas Harte
6bdd9e4543
Add drive activity indicators.
2025-09-19 23:26:50 -04:00
Thomas Harte
ede3def37f
Merge pull request #1568 from TomHarte/BBC1770
...
Add 1770 DFS support.
2025-09-19 23:20:29 -04:00
Thomas Harte
87d9022280
Collapse operations.
2025-09-19 23:03:11 -04:00
Thomas Harte
ff0ba7d48b
Reduce logging again.
2025-09-19 22:59:58 -04:00
Thomas Harte
b49c47425f
Set I flag on NMI and reset.
2025-09-19 22:59:37 -04:00
Thomas Harte
3916ba1a42
This intermittently succeeds. Doubling down on investigation.
2025-09-19 20:33:02 -04:00
Thomas Harte
0b3d22b97c
Take a swing and a miss at alternative documentation interpretations.
2025-09-19 19:59:12 -04:00
Thomas Harte
9b8b0f2023
Attempt to introduce a DFS ROM and WD1770.
2025-09-19 10:38:22 -04:00
Thomas Harte
06e0d17be0
Merge pull request #1567 from TomHarte/AllPixelModes
...
Perform proper pixel generation in all bitmap modes.
2025-09-18 21:54:24 -04:00
Thomas Harte
239c485f3c
An underclock will do.
2025-09-18 21:35:08 -04:00
Thomas Harte
5e5fdda0ca
Correct audio.
2025-09-18 21:33:25 -04:00
Thomas Harte
4b2dddf3c6
Remove stale TODO.
2025-09-18 21:21:51 -04:00
Thomas Harte
c99ec745ca
Remove dead logging.
2025-09-18 21:20:27 -04:00
Thomas Harte
1ec2e455ec
Support flash, mixed modes.
2025-09-18 21:19:33 -04:00
Thomas Harte
69304737c6
Switch red and blue.
2025-09-18 17:53:58 -04:00
Thomas Harte
fe91670127
Pull count outside loop, simplify state machine.
2025-09-18 17:50:46 -04:00
Thomas Harte
7a59f94f3d
Install more realistic pixel pipeline.
2025-09-18 17:46:09 -04:00
Thomas Harte
4efe3a333d
Merge pull request #1566 from TomHarte/BBCADC
...
Add the BBC's ADC.
2025-09-18 12:39:34 -04:00
Thomas Harte
421bf28582
Add comments, correct address decoding.
2025-09-18 12:27:13 -04:00
Thomas Harte
4c49ffe3d1
Attmept full ADC implementation.
2025-09-18 12:21:25 -04:00
Thomas Harte
26b1ef247b
Add calls to ADB.
2025-09-17 23:11:48 -04:00
Thomas Harte
3aafba707a
Use more efficient means for blank lines.
2025-09-17 22:33:59 -04:00
Thomas Harte
ae774e88fa
Add header for ADC.
2025-09-17 21:42:42 -04:00
Thomas Harte
ff56dd53cf
Remove dead code.
2025-09-17 21:42:33 -04:00
Thomas Harte
12f063c178
Hack in a stable sync.
2025-09-17 21:35:41 -04:00
Thomas Harte
888148d282
Reduce chatter.
2025-09-17 21:35:34 -04:00
Thomas Harte
7bba0b82ef
Correct video address generation.
2025-09-17 21:26:13 -04:00
Thomas Harte
41196a862d
Merge pull request #1565 from TomHarte/BBCKeyboard
2025-09-17 18:22:47 -04:00
Thomas Harte
a99ed0e557
Add break key.
2025-09-17 17:26:28 -04:00
Thomas Harte
654981fb03
Clean up.
2025-09-17 17:24:08 -04:00
Thomas Harte
c473c36d46
Add comma, etc.
2025-09-17 11:48:33 -04:00
Thomas Harte
e863e61af8
Remove dead code.
2025-09-17 11:46:53 -04:00
Thomas Harte
efb486dd1b
Fill in much more of key map.
2025-09-17 11:46:29 -04:00
Thomas Harte
25b15fcdd1
Switch to map-based mapping.
2025-09-17 11:34:55 -04:00
Thomas Harte
1106fbb5ef
Implement circular scan.
2025-09-17 10:44:53 -04:00
Thomas Harte
9e1a29f0ff
Merge branch 'master' into BBCKeyboard
2025-09-16 23:16:03 -04:00
Thomas Harte
b3c057f911
Increase logging, play about more.
2025-09-16 23:14:05 -04:00
Thomas Harte
1c33e9ead9
Attempt row scanning.
2025-09-16 23:03:25 -04:00
Thomas Harte
d78f35b940
Take a swing at scanning versus not.
2025-09-16 22:29:00 -04:00
Thomas Harte
506236a5ed
Merge pull request #1564 from TomHarte/BBCPixels
...
Hard-code Mode 0 but hence get some pixels.
2025-09-16 21:52:16 -04:00
Thomas Harte
18b32dbba3
Attempt keyboard input.
2025-09-16 21:51:25 -04:00
Thomas Harte
26e40564dc
Establish keyboard state.
2025-09-16 21:11:27 -04:00
Thomas Harte
b6e8421a0a
Hard-code Mode 0 but hence get some pixels.
2025-09-16 20:57:21 -04:00
Thomas Harte
03c5a3b325
Merge pull request #1563 from TomHarte/BBCACIA
...
BBC: Add ACIA.
2025-09-16 20:38:43 -04:00
Thomas Harte
a1f33d3fc6
Redisable test code.
2025-09-16 17:54:42 -04:00
Thomas Harte
b8fca7db80
Merge branch 'master' into BBCACIA
2025-09-16 17:54:17 -04:00
Thomas Harte
6ea70cd245
Merge pull request #1562 from TomHarte/BBCCRTC
...
Add some degree of a CRTC.
2025-09-16 17:53:49 -04:00
Thomas Harte
683fea675e
Add ACIA.
...
Probably with incorrect clock, and connected to nothing.
2025-09-16 17:50:54 -04:00
Thomas Harte
811a010a60
Fix: keys are now unpressed.
...
Some sort of text is now 'output' (though not yet displayed by the emulator) and then an endless loop on the ACIA begins.
So the next PR will need to add that.
2025-09-16 17:25:13 -04:00
Thomas Harte
019526332d
Declare no tube, optimistically watch for characters.
2025-09-16 16:25:41 -04:00
Thomas Harte
1e90387198
Add extra curly brackets.
2025-09-16 16:25:29 -04:00
Thomas Harte
84d6bb47ea
Log more.
2025-09-16 15:32:42 -04:00
Thomas Harte
512179d92a
Handle clock-rate change correctly in onward signalling.
2025-09-16 13:04:03 -04:00
Thomas Harte
04344a3723
The OS isn't writeable.
2025-09-16 12:47:55 -04:00
Thomas Harte
d032207473
Made some attempt at 1Mhz CRTC clocking.
2025-09-16 12:46:44 -04:00
Thomas Harte
b33dc2779d
Correct RAM visibility.
2025-09-16 12:24:48 -04:00
Thomas Harte
28699a1af5
Correct clock selection bit.
2025-09-16 09:15:08 -04:00
Thomas Harte
ff3fe135a3
Convince myself that this isn't a case of present but invisible content.
2025-09-16 07:36:59 -04:00
Thomas Harte
ff69709926
Disable interlace support.
2025-09-15 23:53:36 -04:00
Thomas Harte
2162822cec
Eliminate C++23 extension.
2025-09-15 23:42:57 -04:00
Thomas Harte
34330baaa0
Add comment on keyboard.
2025-09-15 23:42:47 -04:00
Thomas Harte
28d8aab7e5
Forward Port A correctly.
2025-09-15 23:36:07 -04:00
Thomas Harte
6a91c89126
Introduce a colour burst.
2025-09-15 23:32:20 -04:00
Thomas Harte
c350f6fe5e
Fix interrupting sync.
2025-09-15 23:28:38 -04:00
Thomas Harte
493bf0a666
Proceed to a solid blank display.
2025-09-15 23:27:04 -04:00
Thomas Harte
0305203e61
Wire up vertical sync interrupt.
2025-09-15 23:21:06 -04:00
Thomas Harte
71d7b1dfad
Add a ticking-but-diconnected CRTC.
2025-09-15 23:16:42 -04:00
Thomas Harte
69748a1f1b
Merge pull request #1561 from TomHarte/BBC6522s
...
BBC Micro: add 6522s.
2025-09-15 22:39:08 -04:00
Thomas Harte
39c2db38b7
Improve logged IO detail.
2025-09-15 22:29:22 -04:00
Thomas Harte
f499de3622
Add sideways ROM paging.
2025-09-15 22:26:02 -04:00
Thomas Harte
e8a16a8fce
Attempt to incorporate SN76489.
2025-09-15 22:17:40 -04:00
Thomas Harte
81f2952c97
Log just enough to see that this looks like an SN76489 write.
2025-09-15 22:03:37 -04:00
Thomas Harte
dcf9de1a01
Add IO access to the 6522s.
2025-09-15 21:26:36 -04:00
Thomas Harte
95f57f4eeb
Add VIA instances, flesh out 1Mhz space.
2025-09-15 21:23:34 -04:00
Thomas Harte
7a794b8b6e
Merge pull request #1559 from TomHarte/BBCMicro
...
Add BBC Micro skeleton.
2025-09-15 20:00:57 -04:00
Thomas Harte
cbaf841f13
Add 1Mhz bus transitions.
2025-09-15 20:00:29 -04:00
Thomas Harte
6fdca9e89c
Hide BBC Micro until complete.
2025-09-15 19:50:26 -04:00
Thomas Harte
8c3b3d98f6
Add error output.
2025-09-15 17:53:41 -04:00
Thomas Harte
6dd2abfb61
Fix BBC Micro path.
2025-09-15 17:53:32 -04:00
Thomas Harte
32defde397
Exit after the first filename that works.
2025-09-15 17:53:12 -04:00
Thomas Harte
b1969c9528
Add BBC Micro.
2025-09-15 17:52:57 -04:00
Thomas Harte
b6d5af81b5
Attempt to flesh out the 6502 space.
2025-09-15 17:44:07 -04:00
Thomas Harte
0358853d5a
Permit 6502 to spin forever, doing nothing.
2025-09-15 17:14:17 -04:00
Thomas Harte
eb60f63223
Remove redundant state.
2025-09-15 17:12:13 -04:00
Thomas Harte
fdbb06436d
Merge branch 'master' into BBCMicro
2025-09-15 14:54:46 -04:00
Thomas Harte
bceaa073cd
Merge pull request #1560 from TomHarte/OpenMultiple
...
macOS: Allow the same software to be open multiple times.
2025-09-15 14:54:25 -04:00
Thomas Harte
ccace48d5a
Declare clock rate, at least.
2025-09-15 14:54:10 -04:00
Thomas Harte
193203bbf7
Wire up enough Mac GUI to get to an empty husk.
2025-09-15 14:53:19 -04:00
Thomas Harte
d0cc4e1557
Allow multiple copies of a program to be open.
2025-09-15 14:39:05 -04:00
Thomas Harte
d52ae8c662
Eliminate macro.
2025-09-14 22:13:51 -04:00
Thomas Harte
6afd40cb39
Add to further project files.
2025-09-14 21:59:00 -04:00
Thomas Harte
6713baf86b
Add BBC Micro class
2025-09-14 21:57:09 -04:00
Thomas Harte
365145e7c0
Allow updated version string.
2025-09-13 22:31:51 -04:00
Thomas Harte
0413af79e9
Merge pull request #1557 from TomHarte/BBCROMs
...
Add BBC MOS ROM to catalogue and move BASIC to a machine-neutral folder.
2025-09-13 21:38:20 -04:00
Thomas Harte
868c498e28
Separate BBC BASIC ROM from the Electron.
2025-09-12 23:25:21 -04:00
Thomas Harte
c5fbbe8a69
Add BBC MOS; alphabetise.
2025-09-12 22:24:37 -04:00
Thomas Harte
b698850ce8
Merge pull request #1556 from TomHarte/StaticConstexpr
...
Further prefer `static constexpr`.
2025-09-12 22:16:01 -04:00
Thomas Harte
0d1fe03369
Further prefer static constexpr.
2025-09-12 21:40:08 -04:00
Thomas Harte
98b900e886
Merge pull request #1555 from TomHarte/NoLoggingStorage
...
Definitively eliminate per-logger state.
2025-09-12 12:03:38 -04:00
Thomas Harte
8210da9e34
Modify xcodebuild overtly to download Metal toolchain.
2025-09-12 11:42:25 -04:00
Thomas Harte
fac3d99f64
Switch to no-instance logging.
2025-09-12 07:17:23 -04:00
Thomas Harte
d3c216374f
Add #include for std::fill.
2025-09-12 07:17:17 -04:00
Thomas Harte
105272630e
Definitively eliminate per-logger state.
2025-09-11 23:29:47 -04:00
Thomas Harte
53cc8ecaf0
Merge pull request #1554 from TomHarte/Keyboard
...
Tweak logging to emphasise only floppy & keyboard errors.
2025-09-11 23:06:20 -04:00
Thomas Harte
fb8e8b4b3a
Restore old logic, to reinstate working XT.
2025-09-11 22:47:26 -04:00
Thomas Harte
035713b4d3
Remove logging.
2025-09-10 23:00:42 -04:00
Thomas Harte
54b7dc56b5
Resolve risk of acknowledged interrupt refiring.
2025-09-10 22:59:57 -04:00
Thomas Harte
7fd39f44d0
Add some logging, take a stab at returning requests.
2025-09-10 21:46:58 -04:00
Thomas Harte
691292501a
Promote constexprs to static.
2025-09-10 21:46:44 -04:00
Thomas Harte
a58158ae08
Add PIT and PIC.
2025-09-10 21:45:51 -04:00
Thomas Harte
ef09b971fa
Watch software interrupt flags.
...
Now tracking: issue seems to be reaching TEST4.ASM:D11 with an interrupt that it believes to be software-originating.
2025-09-10 15:47:19 -04:00
Thomas Harte
e07dee380d
Experiment with further delays.
2025-09-10 14:18:30 -04:00
Thomas Harte
125bc5baa6
Install communication delay.
2025-09-10 13:48:51 -04:00
Thomas Harte
995444b11b
Add TODO on what seems to be the current issue.
2025-09-10 11:33:38 -04:00
Thomas Harte
8f2384dbfc
Fix log entry interleaving.
2025-09-10 09:52:55 -04:00
Thomas Harte
0cdd1c23ce
Guess at another ID.
...
Cf. https://stanislavs.org/helppc/keyboard_commands.html
2025-09-09 23:40:55 -04:00
Thomas Harte
4765a39759
New guess: writing to the keyboard implicitly enables communications.
2025-09-09 23:38:21 -04:00
Thomas Harte
7f4047772c
Continue naming things.
2025-09-09 15:36:02 -04:00
Thomas Harte
45c4ca6bec
Attempt further to elide storage.
2025-09-09 13:58:37 -04:00
Thomas Harte
4a573a5aae
Clarify one magic constant.
2025-09-09 13:44:31 -04:00
Thomas Harte
5125ff6a8c
Combine enables, silence port 61 for now.
2025-09-09 11:16:42 -04:00
Thomas Harte
482d3301ce
Avoid faulty sector access.
2025-09-08 23:14:50 -04:00
Thomas Harte
cdeec8ac47
Take various more failed swings at which bits do what.
2025-09-08 22:54:10 -04:00
Thomas Harte
3cef12b53b
Reintroduce proper ordering of log comments.
2025-09-08 22:27:40 -04:00
Thomas Harte
dd098a16a8
Log more.
2025-09-08 21:54:56 -04:00
Thomas Harte
61a175e84a
Merge branch 'master' into Keyboard
2025-09-08 21:43:25 -04:00
Thomas Harte
a5bcd38fe8
Slightly reformat.
2025-09-08 21:43:18 -04:00
Thomas Harte
cad42beef4
Roll in some random style improvements.
2025-09-08 20:38:50 -04:00
Thomas Harte
5a57958639
Reduce log repetition.
2025-09-08 17:22:53 -04:00
Thomas Harte
260336c1e5
Adopt phase as communicative of whether more bytes are expected.
2025-09-08 17:13:27 -04:00
Thomas Harte
889cb9c78f
Attempt a dual-queue solution to enabling/disabling keyboard.
2025-09-08 14:40:08 -04:00
Thomas Harte
b90e8f5af3
Further tweak reporting.
2025-09-06 23:16:10 -04:00
Thomas Harte
12361d2854
Adopt proper error/info distinction.
2025-09-06 23:13:33 -04:00
Thomas Harte
d307ddfa8e
Merge branch 'master' into Keyboard
2025-09-05 23:21:41 -04:00
Thomas Harte
96fd0b7892
Merge pull request #1553 from TomHarte/IndentationSomeMore
...
Further reduce indentation.
2025-09-05 23:20:19 -04:00
Thomas Harte
6f1db15d7c
Further reduce indentation.
2025-09-05 23:07:45 -04:00
Thomas Harte
1854296ee8
Merge pull request #1552 from TomHarte/ElectronIDE
...
Reduce code duplication within the ROM catalogue.
2025-09-05 22:45:55 -04:00
Thomas Harte
515cc5f326
Correct spelling.
2025-09-05 22:09:38 -04:00
Thomas Harte
091be7eafe
Remove unused header.
2025-09-05 22:03:45 -04:00
Thomas Harte
27a19ea417
Eliminate line-length violations.
2025-09-05 22:03:19 -04:00
Thomas Harte
9a5e9af67c
Standardise layout.
2025-09-05 22:00:42 -04:00
Thomas Harte
3a493f2428
Merge pull request #1551 from TomHarte/LogLevels
...
Allow logging of errors but not info.
2025-09-05 21:04:56 -04:00
Thomas Harte
ca6e34f4b4
Fix dangling OpenGL accesses.
2025-09-05 19:30:33 -04:00
Thomas Harte
e1e68312c4
Transcribe remaining catalogue entries.
2025-09-05 17:23:38 -04:00
Thomas Harte
c7ff2cece4
Head in search of a more-compact form.
2025-09-05 16:55:00 -04:00
Thomas Harte
8e6f4fa36f
Fix NDEBUG route.
2025-09-05 14:34:08 -04:00
Thomas Harte
4d302da9fa
Allow logging of errors but not info.
2025-09-05 14:25:56 -04:00
Thomas Harte
e0917dc734
Switch focus back to keyboard.
2025-09-04 22:21:05 -04:00
Thomas Harte
26f82e8143
Merge pull request #1550 from TomHarte/SpaceshipOperator
...
Adopt spaceship.
2025-09-04 22:08:35 -04:00
Thomas Harte
6518f08bc7
Adopt spaceship.
2025-09-04 21:25:12 -04:00
Thomas Harte
8599123b30
Merge pull request #1549 from TomHarte/MoreFDC
...
Implement further FDC commands.
2025-09-04 19:25:32 -04:00
Thomas Harte
f934a1aa10
Ensure std::hash is known.
2025-09-04 17:53:18 -04:00
Thomas Harte
81be5f809f
Fix logged statement.
2025-09-04 17:48:50 -04:00
Thomas Harte
8bb94804d4
Attempt to bluster to something for read ID.
2025-09-04 17:45:41 -04:00
Thomas Harte
c3f64e85ce
Support unordered maps; use spaceship operator.
2025-09-04 17:39:09 -04:00
Thomas Harte
53057aff5d
Reduce type redundancy.
2025-09-04 17:29:34 -04:00
Thomas Harte
8cad5ac7e9
Reduce repetitive array references.
2025-09-04 17:00:10 -04:00
Thomas Harte
b4f643f3dd
Merge pull request #1541 from TomHarte/Spelling
...
Adopt my native spelling: 'licence' is a noun.
2025-09-04 16:01:11 -04:00
Thomas Harte
2d659289e8
Merge pull request #1546 from TomHarte/SomeIDE
...
Add some IDE/ATA structure.
2025-09-04 15:58:26 -04:00
Thomas Harte
9883640b63
Better record scope of incomplete work.
2025-09-04 15:22:04 -04:00
Thomas Harte
bc3a0c3c91
Fix stqtic declaration.
2025-09-04 15:17:24 -04:00
Thomas Harte
4e822347a5
Finally crack case of controller failure.
2025-09-04 15:16:48 -04:00
Thomas Harte
d5650da8c0
Avoid strict aliasing violation.
2025-09-04 14:23:29 -04:00
Thomas Harte
d3c77523c3
Report normal terminations, usually.
2025-09-04 11:41:29 -04:00
Thomas Harte
787a5ce568
Reduce speed multiplier.
2025-09-03 22:22:12 -04:00
Thomas Harte
91dfd405d1
Adjust logging.
2025-09-03 13:44:30 -04:00
Thomas Harte
08c615c493
Improve ready flag.
2025-09-03 13:31:06 -04:00
Thomas Harte
5483102276
Add missing #includes.
2025-09-02 21:29:49 -04:00
Thomas Harte
32686d898b
Fix again for concurrent seeks.
2025-09-02 21:18:35 -04:00
Thomas Harte
4b50c8d96c
Toy with sense interrupt status being directly seek-linked.
2025-09-02 17:50:59 -04:00
Thomas Harte
c1780ee26b
Add some form of sense drive status.
2025-09-02 15:21:11 -04:00
Thomas Harte
46b2db00bc
Establish that the AT actually wants SenseDriveStatus.
2025-09-02 12:52:04 -04:00
Thomas Harte
7042e457ab
Fix OUT sizes.
2025-09-02 12:32:27 -04:00
Thomas Harte
faeec1701f
Add logging, reduce template specialisation.
2025-09-02 12:31:16 -04:00
Thomas Harte
2a75a1f9f2
Add IDE logging.
2025-09-02 12:21:01 -04:00
Thomas Harte
8c65dccc53
Support 16-bit IO access.
2025-09-01 23:31:31 -04:00
Thomas Harte
de7c3ba92f
Mostly kick IDE accesses down the road.
2025-09-01 00:02:16 -04:00
Thomas Harte
ac204aadd2
Clean up, better constify SCSI innards.
2025-08-31 10:56:01 -04:00
Thomas Harte
46fc0d677f
Merge branch 'master' into SomeIDE
2025-08-30 23:52:58 -04:00
Thomas Harte
2d4f4b0036
Merge pull request #1545 from TomHarte/SomeConsts
...
Improve `const` arguments.
2025-08-30 23:36:49 -04:00
Thomas Harte
c1de00bf9d
Improve const arguments.
2025-08-30 23:25:19 -04:00
Thomas Harte
4639e1c47c
Merge pull request #1544 from TomHarte/Macros
...
Further reduce historical dependence on macros.
2025-08-30 14:19:17 -04:00
Thomas Harte
5d2c156bc9
Use popcount.
2025-08-30 10:44:00 -04:00
Thomas Harte
357f98f015
Remove macros, shorten line lengths.
2025-08-30 10:41:28 -04:00
Thomas Harte
62f23ac27c
Commute macros.
2025-08-30 10:34:49 -04:00
Thomas Harte
0936646ef9
Eliminate macros.
2025-08-30 10:29:53 -04:00
Thomas Harte
856c12f46f
Eliminate macro.
2025-08-30 10:24:27 -04:00
Thomas Harte
7489783837
Eliminate macros.
2025-08-30 10:22:21 -04:00
Thomas Harte
a4f0a4c310
Merge pull request #1543 from TomHarte/MinorTidies
...
Perform further tidying steps.
2025-08-30 10:00:41 -04:00
Thomas Harte
bb1ef114f1
Fix header declaration.
2025-08-30 09:40:06 -04:00
Thomas Harte
f1610b6407
Fix Qt speaker delegation.
2025-08-30 00:13:47 -04:00
Thomas Harte
5e48a4c724
Fix SDL speaker sample receipt.
2025-08-30 00:10:17 -04:00
Thomas Harte
d825c03372
Prefer references for delegate protocols.
2025-08-30 00:09:38 -04:00
Thomas Harte
d177549dd6
Reduce more indentation.
2025-08-29 23:56:35 -04:00
Thomas Harte
9d1543401f
Merge pull request #1542 from TomHarte/VHD
...
Sketch out VHD support.
2025-08-29 23:47:01 -04:00
Thomas Harte
094eb7e252
Resolve Github build breakage.
2025-08-29 23:09:13 -04:00
Thomas Harte
95e6726468
Reduce indentation.
2025-08-29 23:02:34 -04:00
Thomas Harte
8fded8f210
Add consts, remove get_s.
2025-08-29 22:55:50 -04:00
Thomas Harte
19c4940abd
Extend and constify MassStorageDevice.
2025-08-29 22:17:01 -04:00
Thomas Harte
7b1f6b3c53
Add negative asserts.
2025-08-29 22:02:54 -04:00
Thomas Harte
43042c3737
Parse a little further.
2025-08-29 21:55:21 -04:00
Thomas Harte
30b50b8a1b
Add missing header, CMake file.
2025-08-28 21:56:03 -04:00
Thomas Harte
095be3072b
Distinguish when to include the trailing NULL.
2025-08-28 21:53:52 -04:00
Thomas Harte
91831200d6
Eliminate runtime strlen.
2025-08-28 18:45:04 -04:00
Thomas Harte
8295d4511b
Improve whence type safety.
2025-08-28 17:41:58 -04:00
Thomas Harte
df589d9588
Test image type.
2025-08-28 17:29:26 -04:00
Thomas Harte
b826e1c661
Do some small measure of header parsing.
2025-08-28 17:20:29 -04:00
Thomas Harte
6727e2fe73
Add shell of a class for VHD files.
2025-08-27 17:09:52 -04:00
Thomas Harte
ecdcee8d4e
Adopt my native spelling: 'licence' is a noun.
2025-08-26 23:48:00 -04:00
Thomas Harte
8b4a4369c1
Add a target for IDE activity.
2025-08-26 23:47:39 -04:00
Thomas Harte
eeb06de916
Merge pull request #1540 from TomHarte/KeyboardAgain
...
Be more rigorous about `static constexpr`
2025-08-26 23:22:19 -04:00
Thomas Harte
5018d7d577
Be more rigorous about static constexpr.
2025-08-26 22:54:39 -04:00
Thomas Harte
1ca279d99d
Add keyboard command lookaside; dummy IDE read.
2025-08-25 22:49:32 -04:00
Thomas Harte
8a149a188c
Store keyboard command until enabled.
2025-08-25 22:44:22 -04:00
Thomas Harte
076334bc4e
Take first stab at separating keyboard & controller.
2025-08-25 22:14:51 -04:00
Thomas Harte
e6b45c978c
Merge pull request #1539 from TomHarte/KeyboardAgain
...
Name keyoard commands, implement a couple more.
2025-08-25 22:12:00 -04:00
Thomas Harte
a07615445f
Uncover likely issue: commands directly to keyboard.
2025-08-23 22:51:09 -04:00
Thomas Harte
41d30c2835
More formally designate the resets.
2025-08-23 22:41:58 -04:00
Thomas Harte
71f1635e23
Name commands, implement a couple more.
2025-08-23 22:33:19 -04:00
Thomas Harte
57df6d9bf7
Merge pull request #1538 from TomHarte/LessMemory
...
Reduce AT to 640kb RAM.
2025-08-23 22:02:28 -04:00
Thomas Harte
fd670d5175
Reduce AT to 640kb RAM.
...
This substantially speeds up the boot process, clearing the way for other experimentation.
2025-08-23 21:51:48 -04:00
Thomas Harte
39d4c315c8
Merge pull request #1537 from TomHarte/FloppyExists
...
Increase floppy logging, adjust sense interrupt.
2025-08-23 21:33:22 -04:00
Thomas Harte
6487086354
Increase floppy logging, adjust sense interrupt.
2025-08-23 21:21:16 -04:00
Thomas Harte
7d6e24b8ed
Merge pull request #1536 from TomHarte/8042Redo
...
Rejig 8042; extend logger for common conditional use case.
2025-08-21 23:23:59 -04:00
Thomas Harte
4922073300
Reestablish pre-AT keyboard link.
2025-08-21 16:48:05 -04:00
Thomas Harte
778a02324e
Add enabled flag.
2025-08-20 22:56:04 -04:00
Thomas Harte
8e89aa97a0
Switch status bit 3; fix reading of is_tested_; guess at it self-setting.
2025-08-20 22:09:08 -04:00
Thomas Harte
dfd521e938
Attempt to reformulate keyboard controller.
2025-08-20 17:17:54 -04:00
Thomas Harte
d47332adf5
Reduce need for scopes.
2025-08-20 17:17:27 -04:00
Thomas Harte
14e7ba8fab
Merge pull request #1535 from TomHarte/MDAStatus
...
Add MDA status register.
2025-08-19 16:39:03 -04:00
Thomas Harte
e68a356fd0
Adjust AT switches input.
2025-08-18 23:26:58 -04:00
Thomas Harte
6e77b8659c
Add various missing enum -> string mappings.
2025-08-18 14:59:58 -04:00
Thomas Harte
00fad7e424
Merge pull request #1534 from TomHarte/PCBASIC
...
Add PC BASIC ROM to the PC AT.
2025-08-14 22:28:48 -04:00
Thomas Harte
0a65248bf7
Add MDA status register, various notes.
2025-08-14 22:28:22 -04:00
Thomas Harte
9cff26b163
Install BASIC ROM.
2025-08-13 23:36:07 -04:00
Thomas Harte
9309d8c3f2
Add ROM BIOS to the ROM catalogue.
2025-08-13 22:18:16 -04:00
Thomas Harte
07e96c10d2
Merge pull request #1533 from TomHarte/MultifacetedCall
...
Further implement the 80286
2025-08-13 19:05:52 -04:00
Thomas Harte
d95abc99d9
Slightly increase logging.
2025-08-13 16:44:53 -04:00
Thomas Harte
b83c2615de
Limit LSL types.
2025-08-13 13:53:02 -04:00
Thomas Harte
78a2b27e65
Attempt LSL, LAR.
2025-08-13 13:43:19 -04:00
Thomas Harte
bae594e34c
Fix ARPL flag.
2025-08-12 21:32:20 -04:00
Thomas Harte
4ded6fceea
Fix VERR/VERW.
2025-08-12 21:20:01 -04:00
Thomas Harte
0e498829f7
Attempt VERR, VERW.
...
Without complete success; IBM's third invocation (which I think is a VERR) doesn't give the result that BIOS is looking for.
2025-08-12 17:22:14 -04:00
Thomas Harte
ddd090d581
Implement STR.
2025-08-12 16:21:23 -04:00
Thomas Harte
4cd979e5fb
Take a shot at LTR.
2025-08-12 13:49:59 -04:00
Thomas Harte
2f7a6bb242
Establish a specialised validate_call.
2025-08-11 17:10:58 -04:00
Thomas Harte
3b3b2e61b0
Overtly separate call authorisation.
2025-08-11 13:24:51 -04:00
Thomas Harte
ab4fde9bd7
Slightly clean up.
2025-08-11 09:41:31 -04:00
Thomas Harte
a9996f0b81
Add consts.
2025-08-11 09:34:17 -04:00
Thomas Harte
246d34e072
Merge pull request #1532 from TomHarte/SimplerDescriptors
...
Boil down descriptor attributes.
2025-08-10 20:49:44 -04:00
Thomas Harte
d35efe3f32
Boil down descriptor attributes.
2025-08-09 23:10:26 -04:00
Thomas Harte
ebd1a6b47c
Merge pull request #1531 from TomHarte/286DecodingTests
...
Resolve majority of 286 test case failures.
2025-08-08 15:04:58 -04:00
Thomas Harte
83980678a0
Add additional known bad.
...
38 failures left.
2025-08-08 12:06:48 -04:00
Thomas Harte
201393f87d
Start discounting test cases that look broken.
...
39 failures remaining.
2025-08-08 12:00:58 -04:00
Thomas Harte
055eb3873e
Switch far jump to piece-by-piece authorisation.
...
43 failures.
2025-08-08 11:30:51 -04:00
Thomas Harte
dc94d58148
Switch CALL to access-by-access validation.
...
47 failures remaining.
2025-08-08 11:28:32 -04:00
Thomas Harte
0adaec1665
Allow ENTER to write partially.
...
51 failures left.
2025-08-08 11:18:14 -04:00
Thomas Harte
4ee30dc36f
Correct stack validation, fixing POPA.
...
71 failures.
2025-08-08 11:05:01 -04:00
Thomas Harte
54ff2fa01f
Fix new LES/etc failures.
...
Remaining: 72.
2025-08-08 09:55:31 -04:00
Thomas Harte
03c70b49ba
Throw GPF for overlong instructions; fix BOUND validation.
...
79 failures outstanding.
2025-08-08 09:43:16 -04:00
Thomas Harte
4b2d8e13d1
Add consts, TODO.
2025-08-08 07:39:34 -04:00
Thomas Harte
a0c50f0521
Support 286-style DAS.
...
321 failures to go.
2025-08-07 19:49:41 -04:00
Thomas Harte
b15a865c88
Add extra MOV sanity check.
...
Failures still standing: 406.
2025-08-07 17:40:13 -04:00
Thomas Harte
8e5bbbbc71
Implement 80286 INS/OUTS oddities.
...
795 failures outstanding.
2025-08-07 15:31:07 -04:00
Thomas Harte
615ebaf711
Correct RCL overflow when shift count is 0.
...
1,013 failures remaining.
2025-08-07 15:23:11 -04:00
Thomas Harte
0882d2b7ce
Correct LEAVE authorisation.
...
Failures: 1,207.
2025-08-07 15:16:12 -04:00
Thomas Harte
900195efac
Correct HLT IP comparison.
...
Failures: 1,425.
2025-08-07 15:01:22 -04:00
Thomas Harte
b58b962ccf
Apply 80286 LODS craziness.
...
2,425 errors remaining.
2025-08-07 14:53:16 -04:00
Thomas Harte
5255499445
Implement 286 weirdness for SCAS.
...
2,690 failures.
2025-08-07 14:50:59 -04:00
Thomas Harte
d9a2be4250
Avoid upfront testing for POPA.
...
Failures: 2,966.
2025-08-07 14:41:01 -04:00
Thomas Harte
256e14a8a6
Decline upfront validation for PUSHA.
...
Total failures remaining: 3,239.
2025-08-07 14:36:11 -04:00
Thomas Harte
1ab26d4a2f
Determine 80286 CMPS rules.
...
Remaining: 3,521 failures.
2025-08-07 12:28:50 -04:00
Thomas Harte
91b2c751af
Determine 80286 logic for MOVS.
...
4,043 failures left.
2025-08-07 12:17:52 -04:00
Thomas Harte
edf7617d1e
Fix is_address.
...
Failures: 4,568.
2025-08-07 09:25:23 -04:00
Thomas Harte
32666d304f
Filter out some illegal JMP/CALL fars.
...
Failure count now: 5,966.
2025-08-07 09:18:23 -04:00
Thomas Harte
b65f7b4a6a
Restrict BOUNDS checks to 80286.
2025-08-06 22:32:50 -04:00
Thomas Harte
7c4df23c1c
Fix BOUND.
...
7085 remaining failures.
2025-08-06 22:19:35 -04:00
Thomas Harte
a8e60163e1
Commute Overflow from fault to trap.
...
9,331 failures remaining.
2025-08-06 21:30:08 -04:00
Thomas Harte
02ec1b5da6
Fix SHR overflow flag.
...
Failing: 11,802.
2025-08-06 21:14:15 -04:00
Thomas Harte
a9a6aba862
Correct RCR overflow.
...
Now: 14,097 failures.
2025-08-06 17:46:05 -04:00
Thomas Harte
03c6a60f68
Avoid extra judgment on LEAVE.
...
Failures remaining: 16,295.
2025-08-06 17:19:20 -04:00
Thomas Harte
8ab688687e
Decode .6 as SAL.
...
Amazingly: now 20,814 failures outstanding.
2025-08-06 16:30:55 -04:00
Thomas Harte
bdec32722e
Include failures/file.
2025-08-06 16:07:54 -04:00
Thomas Harte
ad50e5c754
Ensure an invalid instruction is generated upon length limit.
2025-08-06 15:59:24 -04:00
Thomas Harte
9c48e44e9e
Fix fast-path selection.
...
50,814 failures.
2025-08-06 15:33:51 -04:00
Thomas Harte
76284eb462
Fix 8088 assumption about unused flags; 80286 PUSHF now passes amongst others.
...
51,091 failures still to fix though.
2025-08-06 15:31:03 -04:00
Thomas Harte
0745c5128a
Avoid expensive path for 8088; pull out allow list.
2025-08-06 15:21:54 -04:00
Thomas Harte
01fbe2d3de
Support 808286 STOS oddities.
2025-08-06 13:37:34 -04:00
Thomas Harte
9e14c22259
Take another run at ENTER.
2025-08-06 12:55:37 -04:00
Thomas Harte
dff0111cd5
Overtly capture decoding failures.
2025-08-05 13:03:54 -04:00
Thomas Harte
e7452b0ea1
Continue accepting F7.2 as TEST.
2025-08-04 21:45:14 -04:00
Thomas Harte
61a0f892c4
Fix PUSH immediate.
2025-08-04 21:23:27 -04:00
Thomas Harte
4ceab01ed4
Fix result of IMUL_3.
2025-08-04 21:05:14 -04:00
Thomas Harte
9908969eea
Diagnose, correct AAA and AAS.
2025-08-04 17:49:07 -04:00
Thomas Harte
19a78ef1ac
Correct for 286+ PUSH SP.
2025-08-04 17:23:02 -04:00
Thomas Harte
4785c1ae84
Grab new punchlist.
2025-08-04 17:19:11 -04:00
Thomas Harte
ef03841efa
Deal with potential reason for wrong top-of-flags.
2025-08-04 17:14:16 -04:00
Thomas Harte
4747a70ce7
Correct for accesses right at segment end.
2025-08-04 17:08:01 -04:00
Thomas Harte
cd986cc2dc
Ensure tests get the default IDT.
2025-08-04 12:47:52 -04:00
Thomas Harte
c29d5ca4a8
Catch address wraparound out-of-bounds access.
2025-08-04 09:32:35 -04:00
Thomas Harte
56b49011d6
Shorten reports.
2025-08-04 09:21:49 -04:00
Thomas Harte
48c55211e6
Fix descriptor bounds test.
2025-08-04 09:16:33 -04:00
Thomas Harte
72f68f3b0b
Include hash in error record.
2025-08-03 20:11:35 -04:00
Thomas Harte
7b6dddc994
Include number.
2025-08-03 17:57:26 -04:00
Thomas Harte
51fbe4e8c5
Consume 286 HLT.
2025-08-03 17:41:02 -04:00
Thomas Harte
c148d9ee6c
Ensure ENTER can execute.
2025-08-03 17:30:02 -04:00
Thomas Harte
9dfe59a104
Take a swing at three-operand IMUL.
2025-08-02 22:23:34 -04:00
Thomas Harte
b6aae65afd
Clean up, separate.
2025-08-02 21:45:01 -04:00
Thomas Harte
9fed93a771
Use 286 test suite for decoding tests too.
2025-08-02 21:31:04 -04:00
Thomas Harte
cdfb68f261
Merge pull request #1530 from TomHarte/FullerTests
...
Utilise 80286 real-mode tests.
2025-08-02 19:00:47 -04:00
Thomas Harte
46450bd080
Use proper perform in tests.
2025-08-02 18:47:06 -04:00
Thomas Harte
9a25d601f1
Fully transfer faulting logic.
2025-08-02 18:37:56 -04:00
Thomas Harte
fe0834ecda
Fix type difference.
2025-08-02 18:32:23 -04:00
Thomas Harte
846f745e2c
Attempt to transfer ownership of fault.
2025-08-02 18:26:00 -04:00
Thomas Harte
30d40e6f9b
Add TODO.
2025-08-01 20:58:12 -04:00
Thomas Harte
f7501b10f7
Move ExecutionSupport to heap.
2025-08-01 20:11:26 -04:00
Thomas Harte
379c513f8a
Add const getter, mode getter; further template.
2025-08-01 19:56:57 -04:00
Thomas Harte
5a6d77e958
Generalise, towards using 80286 tests.
2025-08-01 15:59:40 -04:00
Thomas Harte
6646039ffe
Templatise to allow beyond-8086 execution.
2025-07-31 21:26:29 -04:00
Thomas Harte
5e0994270f
Merge pull request #1529 from TomHarte/StatusFlagsMask
...
Correct metadata observation.
2025-07-31 19:52:16 -04:00
Thomas Harte
44fc801720
Correct metadata observation.
2025-07-31 15:47:07 -04:00
Thomas Harte
405c61f53d
Merge pull request #1528 from TomHarte/ZX81Typer
...
ZX80/81: Reduce typing speed.
2025-07-31 15:16:43 -04:00
Thomas Harte
c40acb9406
Reduce typing speed.
2025-07-29 21:55:56 -04:00
Thomas Harte
7778d2a47e
Merge pull request #1527 from TomHarte/8088TestFailures
...
Restore proper register and memory contents.
2025-07-29 21:36:12 -04:00
Thomas Harte
96afb245a5
Fix test suite memory state.
2025-07-29 21:25:15 -04:00
Thomas Harte
cf0677c30b
Avoid spurious register comparison failures.
2025-07-28 17:44:32 -04:00
Thomas Harte
667614d9de
Merge pull request #1525 from TomHarte/x86Tests
...
Revive x86 JSON tests
2025-07-27 22:23:27 -04:00
Thomas Harte
652ede57b3
Further clone FlowController.
2025-07-27 22:00:54 -04:00
Thomas Harte
09a34f880e
Start trying to return preauthorisation testability.
2025-07-27 21:17:54 -04:00
Thomas Harte
a9f9be330d
Allow SegmentedMemory to take different LinearMemorys.
2025-07-26 08:18:16 -04:00
Thomas Harte
39568d2464
Run headfirst into a LinearMemory substitution brick wall.
2025-07-25 21:43:54 -04:00
Thomas Harte
10e07a9966
Add missing concept requirement.
2025-07-25 21:27:51 -04:00
Thomas Harte
fe00a69136
Start transitioning to PCCompatible::Segments.
2025-07-25 16:58:07 -04:00
Thomas Harte
9d0c2cd67f
Switch to a parasitic use of PCCompatible::LinearMemory.
2025-07-25 16:47:08 -04:00
Thomas Harte
b5aab442f8
Template immediate-read Segments; continue fixing 8088Tests.
2025-07-24 22:24:53 -04:00
Thomas Harte
7c010bd1ef
Relocate validation logic, such as it is.
2025-07-22 22:42:01 -04:00
Thomas Harte
1bf898405f
Generalise 'Registers'.
2025-07-21 21:17:54 -04:00
Thomas Harte
c490166b35
Fully apply line length limit.
2025-07-21 17:09:07 -04:00
Thomas Harte
e6862364ed
Correct syntax to the point of failing only concepts.
2025-07-21 17:06:17 -04:00
Thomas Harte
cf20c84edd
Merge pull request #1523 from TomHarte/MacintoshIMGStyle
...
Use <algorithm>, and otherwise reduce.
2025-07-19 21:56:50 -04:00
Thomas Harte
88e776ad5b
Use <algorithm>, and otherwise reduce.
2025-07-19 21:37:03 -04:00
Thomas Harte
e79a60f5cd
Merge pull request #1522 from TomHarte/MacintoshIMGStyle
...
Make minor style improvements.
2025-07-16 22:47:46 -04:00
Thomas Harte
fd4a91ba72
Make minor style improvements.
2025-07-16 22:31:41 -04:00
Thomas Harte
5705ece2a3
Merge pull request #1521 from atsampson/includes
...
Add some missing <cstdint> includes
2025-07-10 21:20:28 -04:00
Thomas Harte
c723f20f39
Merge pull request #1520 from TomHarte/ElectronTiming
...
Electron: move CPU slots to first half of each 1Mhz window.
2025-07-10 19:06:06 -04:00
Adam Sampson
0f7447d539
Add some missing <cstdint> includes.
2025-07-10 23:58:12 +01:00
Thomas Harte
1a08944854
std::tuple is defined in utility, not tuple.
2025-07-09 09:26:16 -04:00
Thomas Harte
7b0b06f6df
Adhere to line length limit.
2025-07-09 13:27:53 +08:00
Thomas Harte
d2ad227a24
Relocate CPU activity to start of each 1Mhz slot.
2025-07-09 13:18:54 +08:00
Thomas Harte
71d7982d14
Tweak ownership of lookahead logic.
2025-07-09 12:55:53 +08:00
Thomas Harte
a94dcc12ef
Reformat, consider CPU slot repositioning.
2025-07-09 10:41:03 +08:00
Thomas Harte
b7bfcfa1e3
Add note to future self.
2025-07-07 17:41:11 +08:00
Thomas Harte
416ae0ca04
Separate location tests from loop.
2025-07-07 17:37:31 +08:00
Thomas Harte
8d66cd4874
Merge pull request #1519 from TomHarte/ElectronTiming
...
Deduplicate Electron palette work.
2025-06-25 16:47:15 +07:00
Thomas Harte
a701ba8030
Switch to requires.
2025-06-25 16:28:26 +07:00
Thomas Harte
0160908522
Further deduplicate palette actions.
2025-06-25 16:23:25 +07:00
Thomas Harte
cdd0d6d127
Add consts.
2025-06-23 14:40:48 +07:00
Thomas Harte
65ee745d6e
Avoid repetition of palette data.
2025-06-23 14:35:31 +07:00
Thomas Harte
4141dfc353
Merge pull request #1518 from TomHarte/ElectronColoursEtc
...
Correct Electron 1bpp palette G/B confusion.
2025-06-22 05:18:29 -04:00
Thomas Harte
fb6cd105c3
Overtly name type.
2025-06-22 16:03:50 +07:00
Thomas Harte
6ff9168146
Correct G/B 1bpp mismapping.
2025-06-22 15:58:16 +07:00
Thomas Harte
7b5e08aab6
Slightly improve palette semantics.
2025-06-22 15:25:20 +07:00
Thomas Harte
c7dd4526c1
Merge pull request #1516 from TomHarte/JFDFiles
...
Add elementary JFD support.
2025-06-01 22:48:00 -04:00
Thomas Harte
066036ccdd
Add to CMake.
2025-05-31 21:28:02 -04:00
Thomas Harte
7c164453a5
Correct overrun test.
2025-05-30 22:33:27 -04:00
Thomas Harte
8b31cfeafb
Correct offset into track table.
2025-05-30 21:47:16 -04:00
Thomas Harte
2ddaf0afa3
Attempt preliminary track building.
2025-05-30 21:25:07 -04:00
Thomas Harte
a8a97b4606
Get as far as printing sector stats.
2025-05-29 22:37:10 -04:00
Thomas Harte
a55b63a210
Add skeleton for JFD support.
2025-05-29 09:27:13 -04:00
Thomas Harte
2e4f7cd667
Merge pull request #1511 from TomHarte/PrivilegeLevels
...
Implement some of the missing 80286 operations.
2025-05-28 22:39:05 -04:00
Thomas Harte
bf257a8d9e
Adjust ownership for segment load detection.
2025-05-28 22:08:43 -04:00
Thomas Harte
c4e66f7a35
Merge branch 'master' into PrivilegeLevels
2025-05-28 21:05:36 -04:00
Thomas Harte
efff433aa0
Merge pull request #1515 from TomHarte/BitwiseAF
...
x86: clear auxiliary carry on AND, OR, XOR and TEST.
2025-05-27 11:37:03 -04:00
Thomas Harte
ee60e36a16
x86: clear auxiliary carry on AND, OR, XOR and TEST.
2025-05-27 11:23:17 -04:00
Thomas Harte
841fc3cfaf
Accept version-number increase.
2025-05-26 22:49:35 -04:00
Thomas Harte
2a44caea6c
Merge pull request #1514 from TomHarte/ElectronChangeObsevrer
...
Add Electron to `MediaChangeObserver` gang.
2025-05-26 22:45:45 -04:00
Thomas Harte
0f661928ae
Add Electron to MediaChangeObserver gang.
2025-05-26 22:35:08 -04:00
Thomas Harte
0961e5cc2e
Add TSS deserialiser.
2025-05-20 21:56:58 -04:00
Thomas Harte
df621a8205
Add real and protected callbacks.
2025-05-18 23:35:49 -04:00
Thomas Harte
bfa416ca99
Fix #include.
2025-05-18 22:30:20 -04:00
Thomas Harte
8041b87317
Introduce segment preauthorisation.
2025-05-18 22:11:23 -04:00
Thomas Harte
b3000f6350
Made mode knowable; factor out main part of far jump.
2025-05-17 23:08:07 -04:00
Thomas Harte
947baab269
Add TODO.
2025-05-14 22:12:59 -04:00
Thomas Harte
a41ea90ca7
Implement CLTS.
2025-05-14 21:08:26 -04:00
Thomas Harte
8b3f0d8fd6
Implement ARPL.
2025-05-14 21:01:48 -04:00
Thomas Harte
bd9740a9a4
Add additional informative static asserts.
2025-05-13 22:54:05 -04:00
Thomas Harte
3f735e44f1
Merge pull request #1510 from TomHarte/LLDT
...
Begin LDT support.
2025-05-13 22:41:53 -04:00
Thomas Harte
9e5235fd30
Descriptor tables are always at most 64kb.
2025-05-13 14:07:28 -04:00
Thomas Harte
159f3cb780
Add SLDT.
2025-05-12 23:17:34 -04:00
Thomas Harte
61469f8e09
Reindent to avoid many false warnings.
2025-05-12 21:36:49 -04:00
Thomas Harte
71343b5131
Add additional possible exception causes.
2025-05-12 21:34:59 -04:00
Thomas Harte
82caee6d7d
Add potential LLDT exceptions.
2025-05-12 17:31:56 -04:00
Thomas Harte
275e75980c
Take initial swing at LLDT.
2025-05-12 17:22:11 -04:00
Thomas Harte
2572da872a
Improve consts, use concepts, reduce indentation.
2025-05-12 09:13:27 -04:00
Thomas Harte
6934618589
Add note to self.
2025-05-11 22:53:28 -04:00
Thomas Harte
01fd07c372
Merge pull request #1509 from TomHarte/GPFs
...
Implement per-access GPF checks.
2025-05-11 22:34:09 -04:00
Thomas Harte
02f9cf0318
Add basic partial GPF testing.
2025-05-11 22:24:21 -04:00
Thomas Harte
6bc586025a
Attempt per-access part of GPF test.
2025-05-11 22:05:33 -04:00
Thomas Harte
0d34960d60
Properly place ownership of linear authorisation.
2025-05-11 21:36:36 -04:00
Thomas Harte
99b94a31ea
Give descriptors knowledge of their indices.
2025-05-11 21:32:00 -04:00
Thomas Harte
b0d4bcd26c
Route all authorisation messages to a common receiver.
2025-05-11 21:08:02 -04:00
Thomas Harte
248ea52e06
Merge pull request #1508 from TomHarte/ExceptionBackfill
...
Improve IDT support.
2025-05-11 20:40:32 -04:00
Thomas Harte
9b51fe3db4
Take a shot at IDT dispatch.
2025-05-10 21:34:43 -04:00
Thomas Harte
5f95696815
Remove done TODO.
2025-05-05 22:56:24 -04:00
Thomas Harte
8c9df5556d
Generalise support for multiple speeds.
2025-05-05 22:55:23 -04:00
Thomas Harte
32495f47b3
Bifurcate descriptor types.
2025-05-05 17:26:39 -04:00
Thomas Harte
23bc561524
Add note to self.
2025-05-04 22:21:37 -04:00
Thomas Harte
fa2cc0f62e
Proceed as far as believing I probably need a gate descriptor type.
2025-05-04 22:11:53 -04:00
Thomas Harte
a686a167cc
Factor out 'read descriptor'.
2025-05-04 21:03:17 -04:00
Thomas Harte
8a2468a4fb
Apply IDT reset condition, factor in to real-mode interrupts.
2025-05-04 16:57:14 -04:00
Thomas Harte
4cc21a2c20
Include descriptor table and MSW requirements.
2025-05-03 23:01:31 -04:00
Thomas Harte
5350e41da1
Switch to mildly-more-modern template form.
2025-05-02 13:50:06 -04:00
Thomas Harte
e07e6b6954
Merge pull request #1507 from TomHarte/Morex86Exceptions
...
Reformulate x86 exceptions.
2025-05-02 10:42:11 -04:00
Thomas Harte
0a60e38d82
Abandon Interrupt naming.
2025-05-02 10:23:20 -04:00
Thomas Harte
f53b40e127
Focus on an Exception as the interrupt token.
2025-05-01 22:36:58 -04:00
Thomas Harte
4df51a00ed
Try to be a bit more rigorous in exception generation syntax.
2025-05-01 17:17:29 -04:00
Thomas Harte
3981c4d101
Merge pull request #1506 from TomHarte/x86Concepts
...
Apply concepts to x86 interface.
2025-04-30 22:07:50 -04:00
Thomas Harte
fc3e8f7cef
Add memory subsystem requirements.
2025-04-30 21:30:36 -04:00
Thomas Harte
f4d67ec5e6
Eliminate bad #include.
2025-04-29 22:32:29 -04:00
Thomas Harte
59aafa6c1e
Add linear memory concept.
2025-04-29 22:28:23 -04:00
Thomas Harte
75da46dac5
Add CPU control concept.
2025-04-29 22:24:06 -04:00
Thomas Harte
1f1d380e26
Fill in flow-controller requirements.
2025-04-29 22:09:59 -04:00
Thomas Harte
35b3e425be
Spell out registers requirements.
2025-04-29 22:06:59 -04:00
Thomas Harte
b4535c489d
Wrangle test for segments interface.
2025-04-29 21:55:17 -04:00
Thomas Harte
f6bb502e87
Start bashing out an attempt at is_context.
2025-04-27 23:40:40 -04:00
Thomas Harte
6cf825d3d8
Lock down Intruction type.
2025-04-27 21:43:46 -04:00
Thomas Harte
f766841fad
Add usage-hint concepts.
2025-04-27 14:51:34 -04:00
Thomas Harte
10e4e7f6c6
Limit integer types.
2025-04-27 14:47:56 -04:00
Thomas Harte
1277e56435
Limit integers that can be the subject of accessors.
2025-04-27 14:44:07 -04:00
Thomas Harte
4089532f81
Merge pull request #1505 from TomHarte/OtherC++20Improvements
...
Make other scattered C++20 improvements.
2025-04-25 23:54:31 -04:00
Thomas Harte
9790b4d2e9
Throw in some consts.
2025-04-25 23:17:00 -04:00
Thomas Harte
ad37c0d2ac
Use std::rotr.
2025-04-25 23:10:09 -04:00
Thomas Harte
b7a1fd4f8f
Autodetect whether shift count could be a register.
2025-04-25 23:01:04 -04:00
Thomas Harte
be5362e393
Eliminate builtin.
2025-04-25 23:00:36 -04:00
Thomas Harte
4977c9bc4c
Further use rotl/r.
2025-04-25 22:53:11 -04:00
Thomas Harte
e13dbc03da
Make elementary use of rotl and rotr.
2025-04-25 22:37:43 -04:00
Thomas Harte
16fec0679b
Use std::popcount further.
2025-04-25 22:24:00 -04:00
Thomas Harte
55361b8552
Remove unused popcount.
2025-04-25 22:18:39 -04:00
Thomas Harte
cc67993621
Temporarily disable, in lieu of splitting memory.
2025-04-25 22:18:25 -04:00
Thomas Harte
49ba4998d6
Use std::popcount for parity.
2025-04-25 22:18:05 -04:00
Thomas Harte
03eb381b3b
Adopt std::ranges::copy where it is trivial to do so.
2025-04-25 22:17:07 -04:00
Thomas Harte
e5161faa43
Merge pull request #1504 from TomHarte/M_PI
...
Eliminate all references to M_PI.
2025-04-25 21:43:06 -04:00
Thomas Harte
de78fb7a1c
Eliminate all references to M_PI.
2025-04-24 21:57:29 -04:00
Thomas Harte
a9ceb5e21a
Merge pull request #1503 from TomHarte/C++20
...
Bump to C++20.
2025-04-24 21:52:01 -04:00
Thomas Harte
e62b41f615
Avoid implicit capture of 'this' via '='.
2025-04-24 21:27:23 -04:00
Thomas Harte
592e339b70
Resolve syntax error, fix line lengths.
2025-04-24 21:12:17 -04:00
Thomas Harte
84a9138df7
Bump to C++20.
2025-04-24 20:56:15 -04:00
Thomas Harte
6db7c4a8eb
Merge pull request #1502 from TomHarte/LocalFilesystemAccess
...
Make style corrections to the Enterprise and CPC.
2025-04-23 12:38:36 -04:00
Thomas Harte
213bd09a9c
Remove test trap.
2025-04-23 11:36:29 -04:00
Thomas Harte
8eb246cdec
Improve consts, line lengths.
2025-04-23 11:01:23 -04:00
Thomas Harte
caacf8e373
Eliminate macros.
2025-04-23 10:51:49 -04:00
Thomas Harte
c53d42a578
Eliminate macro.
2025-04-23 10:38:42 -04:00
Thomas Harte
cfc5ef4a3c
Eliminate risk of overrun.
2025-04-22 22:50:38 -04:00
Thomas Harte
e78c1bbec9
Improve consts, indentation.
2025-04-22 22:42:13 -04:00
Thomas Harte
b1582d33c0
Adjust indentation, remove one macro.
2025-04-22 21:45:36 -04:00
Thomas Harte
5abcf28a0e
Merge pull request #1498 from TomHarte/Descriptors
...
Edge further along on x86 descriptors.
2025-04-22 21:23:17 -04:00
Thomas Harte
4cd57856ce
Take ownership of 32-bit assumption.
2025-04-22 21:10:20 -04:00
Thomas Harte
a826fd5c0e
Add return.
2025-04-21 23:14:28 -04:00
Thomas Harte
7de23ec2aa
Be specific about types.
2025-04-21 23:03:57 -04:00
Thomas Harte
d7d2957319
Avoid fallthrough warning.
2025-04-21 22:57:07 -04:00
Thomas Harte
fbd81b9930
Merge branch 'master' into Descriptors
2025-04-21 22:43:30 -04:00
Thomas Harte
dacb52403a
Merge pull request #1501 from TomHarte/NoVLAs
...
Eliminate VLAs, resolve some fallthrough warnings, reduce macros.
2025-04-21 15:24:40 -04:00
Thomas Harte
e008a02b99
Shuffle further to avoid optics of a fallthrough.
2025-04-21 15:13:10 -04:00
Thomas Harte
9363453720
Reduce macros.
2025-04-21 15:00:49 -04:00
Thomas Harte
9c70615fd1
Trim maximum line length.
2025-04-21 15:00:02 -04:00
Thomas Harte
1c78c65816
Add missing constraint.
2025-04-21 09:19:36 -04:00
Thomas Harte
2a9a68ca53
Annotate further fallthroughs.
2025-04-21 09:15:55 -04:00
Thomas Harte
fb16baab99
Add further fallthrough.
2025-04-20 23:39:26 -04:00
Thomas Harte
54f509c210
Enforce size restriction.
2025-04-20 23:27:44 -04:00
Thomas Harte
5be8e5eff3
Avoid improper fallthroughs.
2025-04-20 22:55:03 -04:00
Thomas Harte
29b9f129f6
Improve constness, line lengths, eliminate macros.
2025-04-20 22:33:44 -04:00
Thomas Harte
f41629daae
Add compiler-calming fallthroughs.
2025-04-20 22:19:11 -04:00
Thomas Harte
feea6023f4
Eliminate macro.
2025-04-20 12:37:14 -07:00
Thomas Harte
262d8cd0d9
Enable further warnings.
2025-04-20 12:31:57 -07:00
Thomas Harte
fbbec04f8c
Update version check.
2025-04-20 12:29:03 -07:00
Thomas Harte
3e4eaee96b
Overtly cast.
2025-04-20 12:27:38 -07:00
Thomas Harte
5f99a2240d
Shorten lines; apply minor style fixes.
2025-04-20 12:26:37 -07:00
Thomas Harte
5937387e94
Overtly note fallthrough.
2025-04-20 11:55:07 -07:00
Thomas Harte
b3099d8e71
Eliminate use of VLAs.
2025-04-12 14:34:57 -04:00
Thomas Harte
7721f74200
Further flesh out descriptors: decode all bits, add printf warnings.
2025-04-10 17:07:45 -04:00
Thomas Harte
fa58cc05f3
Attempt to avoid type punning.
2025-04-06 22:48:22 -04:00
Thomas Harte
c61a9e47b2
Slightly tweak constness.
2025-04-06 22:40:29 -04:00
Thomas Harte
148ee266ed
Extend operator== path.
2025-04-06 22:37:59 -04:00
Thomas Harte
8ccec81cc6
Disable awaiting_eoi_.
2025-04-06 22:24:25 -04:00
Thomas Harte
668901f71d
Fix comparison.
2025-04-06 22:24:09 -04:00
Thomas Harte
ad6ad144a5
Don't regress PC for external interrupts.
2025-04-05 21:39:37 -04:00
Thomas Harte
d5997a30b2
Reset output on latch write in applicable modes.
2025-04-04 12:30:08 -04:00
Thomas Harte
ecc7501377
Avoid explicit instantiation, precedence error.
2025-04-03 22:09:49 -04:00
Thomas Harte
45262a1a46
Copy reload value to latch.
2025-04-03 21:59:26 -04:00
Thomas Harte
3c04e08df2
Ensure 16-bit ins and outs always occur as two 8-bit operations.
...
Advances the AT to system error 108, something about timer 2.
2025-04-03 19:52:40 -04:00
Thomas Harte
7c7675179e
Restrict shift operand size, causing text output at last.
2025-04-03 17:42:15 -04:00
Thomas Harte
88ed49a833
Enable A20 at reset; fully propagate return to real mode.
2025-04-03 16:14:49 -04:00
Thomas Harte
0c88e62815
Add various caveman debugging comments.
2025-04-02 23:28:20 -04:00
Thomas Harte
88d34012c4
Continue trying to flesh out exceptions.
2025-04-02 23:27:43 -04:00
Thomas Harte
3be8de6fb0
Enforce set-only nature of protected mode bit.
2025-04-02 23:26:21 -04:00
Thomas Harte
804fbf5d5f
Add [S/L]MSW.
2025-04-02 23:24:28 -04:00
Thomas Harte
1a68dcbc14
PUSH always pushes a word.
2025-04-02 23:24:00 -04:00
Thomas Harte
a9a72a767d
Improve fault pathways.
2025-04-01 09:13:41 -04:00
Thomas Harte
afc3a8d373
Correct header path.
2025-03-31 09:54:11 -04:00
Thomas Harte
da00e6588c
Consolidate on class.
2025-03-31 09:34:17 -04:00
Thomas Harte
d6376d0ddf
Remove improper header.
2025-03-31 09:33:30 -04:00
Thomas Harte
1cca711560
Name MSW bits.
2025-03-30 14:04:43 -04:00
Thomas Harte
552f9196af
Convert INTO, AAM; map which instructions post their IP.
2025-03-30 13:39:52 -04:00
Thomas Harte
c6fa72cd83
Bring bound inside new orthodoxy.
2025-03-30 13:31:39 -04:00
Thomas Harte
42edc46887
Add invalid-opcode exception; transcribe has-code table.
2025-03-30 13:29:20 -04:00
Thomas Harte
ec7e343673
Start to establish throw/catch of 80286 exceptions.
2025-03-30 13:23:36 -04:00
Thomas Harte
69d4d8acb0
Switch to construct and copy.
2025-03-29 17:27:29 -04:00
Thomas Harte
a7eab8df22
Add getter for local descriptor table.
2025-03-29 17:24:30 -04:00
Thomas Harte
4247da9118
Add notes to self on exceptions.
2025-03-27 18:08:09 -04:00
Thomas Harte
cfba8aeb89
Make style improvements.
2025-03-27 18:07:52 -04:00
Thomas Harte
db26a26926
Fix decoding of PUSH immediate.
2025-03-27 13:07:13 -04:00
Thomas Harte
1551fbeb1f
Make some stab at descriptor fetch.
2025-03-27 12:50:50 -04:00
Thomas Harte
d5c53ca624
Set A20 line properly.
2025-03-26 21:51:43 -04:00
Thomas Harte
b34702e370
Set an initial A20 state.
2025-03-26 07:35:17 -04:00
Thomas Harte
8b1543d9c9
Fuzz memory, setup FS and GS.
2025-03-25 17:16:36 -04:00
Thomas Harte
e264375a97
Attempt to reintroduce 80286 support (as was).
2025-03-25 09:24:55 -04:00
Thomas Harte
fd31d07f41
Begin division of memory into linear and segmented mappings.
2025-03-24 22:58:19 -04:00
Thomas Harte
fac15f5539
Introduce a linear-memory holder.
2025-03-24 21:23:08 -04:00
Thomas Harte
6ad88101f1
Saunter up to a circular issue: segments needs memory access.
2025-03-24 17:31:17 -04:00
Thomas Harte
2768b66d10
Propagate mode change.
2025-03-22 23:00:51 -04:00
Thomas Harte
d10164be26
Merge branch 'Descriptors' of github.com:TomHarte/CLK into Descriptors
2025-03-22 22:09:50 -04:00
Thomas Harte
ce7ff13bbe
Proceed to a local assert on LMSW.
2025-03-22 21:57:56 -04:00
Thomas Harte
c1d2c159f3
Reenable backdoor AT.
2025-03-21 11:22:09 -04:00
Thomas Harte
d3dbdb153c
Use indexed descriptors.
2025-03-21 11:20:33 -04:00
Thomas Harte
e7218c0321
Add means for indexed segment access.
2025-03-21 11:16:25 -04:00
Thomas Harte
48d8fdb875
Adopt descriptors in memory handling.
2025-03-21 10:18:26 -04:00
Thomas Harte
b387ca921a
Merge branch 'master' into Descriptors
2025-03-20 21:09:09 -04:00
Thomas Harte
53c1a322ed
Increase version number.
2025-03-20 15:39:42 -04:00
Thomas Harte
0c502fc9cf
Adopt more consistent 'Pointer' naming; eliminate size warning.
2025-03-20 15:33:07 -04:00
Thomas Harte
5d1e3b6c93
Create a home for descriptors.
2025-03-19 14:20:50 -04:00
Thomas Harte
7fc16fa2c8
Merge pull request #1495 from TomHarte/286StatusWord
...
Add extra 80286 registers.
2025-03-19 14:12:56 -04:00
Thomas Harte
fe6a88c5df
Install [L/S][I/G]DT wiring.
2025-03-18 22:11:28 -04:00
Thomas Harte
7b14df82e0
Merge branch 'master' into 286StatusWord
2025-03-18 21:47:32 -04:00
Thomas Harte
966b41313d
Merge pull request #1497 from TomHarte/LargeWindowMousing
...
Correct potential SCSI crash; tweak macOS mouse behaviour.
2025-03-18 21:46:41 -04:00
Thomas Harte
91f1c3322c
Ensure tracking areas are updated.
2025-03-18 21:12:48 -04:00
Thomas Harte
0b276c5a76
Remove focus rings.
2025-03-18 20:38:09 -04:00
Thomas Harte
b654c2e170
Avoid potential out-of-bounds access.
2025-03-18 20:23:31 -04:00
Thomas Harte
32c88da6c4
Iterate towards LGDT/LIDT.
...
Specifically: add a means to get just an indirect address; add an enum for descriptor tables; add an `ldt` function for the global and interrupt tables, which currently just authorises the access and then stops.
2025-03-18 18:22:04 -04:00
Thomas Harte
3d19d0816b
Do something for SMSW.
2025-03-16 22:05:14 -04:00
Thomas Harte
15da707324
Merge pull request #1494 from TomHarte/MoreAT
...
AT: adjust reported RAM refresh timing.
2025-03-16 15:54:27 -04:00
Thomas Harte
387e8b04f9
Adjust reported refresh timing.
2025-03-16 15:44:05 -04:00
Thomas Harte
4ca47be8a8
Add const.
2025-03-15 22:21:35 -04:00
Thomas Harte
f9d9dc68b7
Factor out BIOS installation.
2025-03-15 22:19:26 -04:00
Thomas Harte
14a8f4511c
Merge pull request #1492 from TomHarte/ATBIOS
...
Support real IBM BIOS, either in odd/even or complete form.
2025-03-15 22:12:54 -04:00
Thomas Harte
97d237eed0
Support real IBM BIOS, either in odd/even or complete form.
2025-03-15 21:13:31 -04:00
Thomas Harte
20d0406a24
Merge pull request #1491 from TomHarte/PUSHA
...
Fix PUSHA register list; add illegal asserts.
2025-03-14 22:27:19 -04:00
Thomas Harte
73e843abd3
Assert on some hopefully unreachables.
2025-03-12 22:03:12 -04:00
Thomas Harte
8d956da65b
Correct final thing written to stack by PUSHA.
2025-03-12 21:40:03 -04:00
Thomas Harte
9b9cdfe937
Merge pull request #1489 from TomHarte/MinorExtraStrings
...
Slightly improve x86 instruction to string lexicon.
2025-03-12 21:34:18 -04:00
Thomas Harte
3dcba9362c
Add a couple of missing Operation:: mappings.
2025-03-12 13:51:38 -04:00
Thomas Harte
2d3a3ada57
Add AccessType to string conversion.
2025-03-12 13:51:17 -04:00
Thomas Harte
143d1d5e35
Merge pull request #1488 from TomHarte/ATKeyboard
...
Implement some proportion of the AT keyboard controller.
2025-03-12 13:19:15 -04:00
Thomas Harte
13b32b269c
Force the AT in debug mode only.
2025-03-12 12:47:04 -04:00
Thomas Harte
592cea6a27
Tweak timing to once again pass BIOS controller test.
2025-03-12 12:31:29 -04:00
Thomas Harte
e76ca304e6
Attempt to support 60 and c0.
2025-03-11 22:54:54 -04:00
Thomas Harte
d77d8df1ac
Add closer-to-real keyboard command loop.
2025-03-11 22:35:13 -04:00
Thomas Harte
4f35d5dabd
Log A20 line.
2025-03-09 23:09:58 -04:00
Thomas Harte
e927feb2d6
Reintroduce is-tested flag.
2025-03-08 21:59:40 -05:00
Thomas Harte
98f20c57c1
Attempt to support reset-by-8042, resulting in boot loop.
2025-03-08 00:47:56 -05:00
Thomas Harte
7a88d31fd9
Add include for strlen.
2025-03-07 23:47:34 -05:00
Thomas Harte
96326411bf
Move explicit specialization to namespace scope.
2025-03-07 23:41:56 -05:00
Thomas Harte
4e882e7d4d
Accept uint8_ts only.
2025-03-07 23:36:47 -05:00
Thomas Harte
bff10c1714
Resolve newfound log ambiguity.
2025-03-07 23:34:12 -05:00
Thomas Harte
cee2484108
Flip input/output, perform commands instantly.
2025-03-07 23:32:07 -05:00
Thomas Harte
93078abe87
Buffer lines prior to output.
2025-03-07 23:25:22 -05:00
Thomas Harte
8caa1a9664
Experiment with dialogue.
2025-03-07 14:24:08 -05:00
Thomas Harte
d7b46ee03c
Adopt compact form.
2025-03-07 14:23:50 -05:00
Thomas Harte
e07b3da983
Add commentary; start fleshing out AT keyboard controller.
2025-03-07 14:01:59 -05:00
Thomas Harte
0f166cee48
Merge pull request #1487 from TomHarte/PCSeparate
...
Separate the speaker, and keyboard and floppy controllers.
2025-03-07 14:01:19 -05:00
Thomas Harte
08df42d05b
Just 'POST' is fine.
2025-03-07 13:46:07 -05:00
Thomas Harte
2c165c3873
Avoid repetition of 'PC'.
2025-03-07 13:44:49 -05:00
Thomas Harte
9135402d9e
Extract keyboard controller.
2025-03-07 13:43:21 -05:00
Thomas Harte
53135ec2c0
Extract floppy controller, speaker.
2025-03-07 13:39:45 -05:00
Thomas Harte
4eb8c8dea9
Merge pull request #1485 from TomHarte/FurtherATDMA
...
Add second PIC and DMA controllers.
2025-03-06 22:46:55 -05:00
Thomas Harte
f318bec53c
Reduce indentation, improve constness.
2025-03-06 22:33:58 -05:00
Thomas Harte
7d84d6909e
Add TODO.
2025-03-06 22:16:51 -05:00
Thomas Harte
9224645473
Add second PIC.
2025-03-06 22:15:58 -05:00
Thomas Harte
6717771f9a
Rejig doubling of DMA controllers.
2025-03-05 23:02:08 -05:00
Thomas Harte
99e0902b74
Reconnect speaker.
2025-03-05 21:51:50 -05:00
Thomas Harte
c7f2805b05
Install the AT keyboard controller.
2025-03-05 21:28:22 -05:00
Thomas Harte
6e1909647b
Reformat; hatch separate AT keyboard controller; print POST codes.
2025-03-05 21:08:53 -05:00
Thomas Harte
0c7db56e15
Merge branch 'master' into FurtherATDMA
2025-03-05 16:34:50 -05:00
Thomas Harte
3287ca449e
Update macOS version number.
2025-03-05 16:23:23 -05:00
Thomas Harte
53a8f65ecc
Merge branch 'master' into FurtherATDMA
2025-03-05 16:03:46 -05:00
Thomas Harte
113035b374
Merge pull request #1486 from TomHarte/macOSCrashes
...
macOS: Don't crash if mouse exits window while picking machine.
2025-03-05 16:03:04 -05:00
Thomas Harte
c6e64837c3
Don't crash if mouse moves while picking machine.
2025-03-05 15:51:31 -05:00
Thomas Harte
82419e6df1
Revoke 'ForceAT', **again**.
2025-03-05 14:34:44 -05:00
Thomas Harte
faa76ee017
Not quite accurate, but segment out keyboard writes for the AT.
2025-03-05 14:33:55 -05:00
Thomas Harte
ffdefb4106
Don't crash if mouse moves while picking machine.
2025-03-05 14:27:33 -05:00
Thomas Harte
ba7b1c47b9
Improve constness, reduce trips to system clock.
2025-03-05 14:17:31 -05:00
Thomas Harte
342b8105c4
Improve constness.
2025-03-04 22:53:26 -05:00
Thomas Harte
367c2b568a
Attempt to offer expanded DMA top bytes.
2025-03-04 22:51:17 -05:00
Thomas Harte
0eef2c0d04
Merge pull request #1484 from TomHarte/286Decoding
...
Repair 286 decoding and `perform`.
2025-03-04 21:21:16 -05:00
Thomas Harte
c9a065107b
Further tweak ENTER.
2025-03-04 21:08:59 -05:00
Thomas Harte
cacacc00f6
Undo ForceAT.
2025-03-04 20:56:38 -05:00
Thomas Harte
1b94cfc72c
Add nullptr backstop.
2025-03-04 20:46:10 -05:00
Thomas Harte
89fd41124f
Template various bits of hardware on machine type.
2025-03-04 17:08:49 -05:00
Thomas Harte
4e3b0ae3c1
Resolve type warnings in ENTER, spurious new lines in PC.
2025-03-04 14:10:28 -05:00
Thomas Harte
9df6d535e2
Patch up enough to get an 80286 performer compilable.
2025-03-04 13:52:02 -05:00
Thomas Harte
d545cce276
Merge pull request #1483 from TomHarte/PC-AT
...
Tee up for an AT-class PC.
2025-03-04 11:57:09 -05:00
Thomas Harte
71b481d3be
Bake PC model into template.
2025-03-04 11:45:56 -05:00
Thomas Harte
2710acaae6
Avoid repeating CPU model, normalise member names.
2025-03-04 11:35:11 -05:00
Thomas Harte
d79135ea01
Eliminate non-functional workaround.
2025-03-04 11:30:43 -05:00
Thomas Harte
1464011f6f
Try throwing some externs at it.
2025-03-04 11:23:55 -05:00
Thomas Harte
409c8a6859
Keep poking at this.
2025-03-04 11:10:35 -05:00
Thomas Harte
805ce36592
Fix spelling, namespace.
2025-03-04 11:01:07 -05:00
Thomas Harte
07fa56c53d
Get heavier with GCC workarounds.
2025-03-04 10:56:45 -05:00
Thomas Harte
28fca80023
Attempt lighter GCC workaround.
2025-03-04 10:46:14 -05:00
Thomas Harte
08c0ee9ca8
Fix further speed reference; eliminate Decoder8086 entirely.
2025-03-04 10:35:16 -05:00
Thomas Harte
2878ab1578
Update Qt UI.
2025-03-04 10:25:27 -05:00
Thomas Harte
16f850cbcc
Attempt to eliminate Decoder8086.
2025-03-04 10:13:57 -05:00
Thomas Harte
b9177e50d3
Commute 'speed' to 'model approximation'.
2025-03-04 09:57:34 -05:00
Thomas Harte
c3258551d7
Merge pull request #1481 from TomHarte/x86Macros
...
Reduce macros in x86 decoder.
2025-03-03 23:27:39 -05:00
Thomas Harte
ea0799c546
Transition off printf.
2025-03-03 23:17:52 -05:00
Thomas Harte
4843b7f7b8
Update name expectations.
2025-03-01 22:35:15 -05:00
Thomas Harte
61694c625e
Merge branch 'master' into x86Macros
2025-02-28 22:53:19 -05:00
Thomas Harte
64b4b99d48
Shave icon.
2025-02-28 22:24:06 -05:00
Thomas Harte
dad966b551
Merge pull request #1482 from TomHarte/IconAndReadme
...
Update README icon, mention Plus 4.
2025-02-28 22:10:51 -05:00
Thomas Harte
e46f503641
Try icon below title.
2025-02-28 22:09:21 -05:00
Thomas Harte
fc4a1e6ace
Revert "See whether this affects title underlining."
...
This reverts commit 02b9a20c11 .
2025-02-28 22:07:21 -05:00
Thomas Harte
02b9a20c11
See whether this affects title underlining.
2025-02-28 22:07:00 -05:00
Thomas Harte
1db4e4caed
Try for on-left with wrapping.
2025-02-28 22:06:14 -05:00
Thomas Harte
991e176c85
Try as raw HTML.
2025-02-28 22:05:30 -05:00
Thomas Harte
4a41a6bb85
Try right alignment.
2025-02-28 22:04:30 -05:00
Thomas Harte
6229e1049b
Move icon to other side of text.
2025-02-28 22:03:25 -05:00
Thomas Harte
3cfd6ed109
Experiment with top-line layout.
2025-02-28 22:02:41 -05:00
Thomas Harte
ad70180edd
Update README icon, mention Plus 4.
2025-02-28 22:01:29 -05:00
Thomas Harte
efd4a83bd2
Remove dead #undefs.
2025-02-28 21:55:52 -05:00
Thomas Harte
e13b4ab7c9
Reduce reliance upon macros.
2025-02-28 21:51:44 -05:00
Thomas Harte
fee89cbaad
Switch to absolute include paths.
2025-02-28 14:53:48 -05:00
Thomas Harte
2bdcba437c
Fix include path.
2025-02-28 13:27:36 -05:00
Thomas Harte
2c2216afae
Further eliminate file-relative includes.
2025-02-28 13:18:48 -05:00
Thomas Harte
0823fc32fe
Eliminate file-relative paths.
2025-02-28 12:30:25 -05:00
Thomas Harte
091d19caf5
Qt: overtly add project home as include path.
2025-02-28 11:34:27 -05:00
Thomas Harte
00a7381f08
Add top-level base for includes.
2025-02-28 11:32:44 -05:00
Thomas Harte
d494d1e3ee
Add SConstruct top-level include path.
2025-02-28 11:30:08 -05:00
Thomas Harte
b1c331a1df
Add a canary for include paths.
2025-02-28 11:26:43 -05:00
Thomas Harte
b1a4fd085b
Permit project-relative includes.
2025-02-27 18:37:33 -05:00
Thomas Harte
511ab2afe9
Merge pull request #1478 from TomHarte/C++23SDL
...
Bump macOS SDL target to C++23; fix incompatibilities.
2025-02-27 18:36:23 -05:00
Thomas Harte
30387ad654
Merge branch 'master' into C++23SDL
2025-02-27 18:34:01 -05:00
Thomas Harte
5d528ee1f3
Merge pull request #1479 from TomHarte/x86Documentation
...
Improve x86 `const`ness.
2025-02-27 18:33:20 -05:00
Thomas Harte
96bb4d50ba
Promote macOS SDL target to C++23 as a testing chamber; resolve issues.
2025-02-27 18:13:35 -05:00
Thomas Harte
45f850adae
Improve constness.
2025-02-27 15:47:06 -05:00
Thomas Harte
09341ddbe9
Merge pull request #1477 from TomHarte/C++20Deprecations
...
Resolve two immediate warnings in a C++20 test build.
2025-02-27 15:29:41 -05:00
Thomas Harte
eab4274737
Capture 'this' by reference.
2025-02-27 11:56:51 -05:00
Thomas Harte
49fec1bc10
Remove meaningless 'volatile'.
2025-02-27 11:56:24 -05:00
Thomas Harte
de164469c4
Update version, copyright string.
2025-02-26 21:30:41 -05:00
Thomas Harte
f595871cd9
Merge pull request #1476 from TomHarte/MoreChangeEffects
...
Widen media change observation.
2025-02-26 21:23:19 -05:00
Thomas Harte
ff86cbd48e
Remove more get_s.
2025-02-26 20:26:06 -05:00
Thomas Harte
47bd4dade5
Avoid direct cstdio where meaningful.
2025-02-26 18:04:13 -05:00
Thomas Harte
ff8180920f
Simplify extension finder, 80/81 file grabbing.
2025-02-26 17:17:24 -05:00
Thomas Harte
d4f08f0006
Remove get_.
2025-02-26 17:09:47 -05:00
Thomas Harte
1db756063b
Further remove type info from function naming.
2025-02-26 16:00:34 -05:00
Thomas Harte
b44ea31bbf
Deal with default sizes delcaratively.
2025-02-26 11:33:38 -05:00
Thomas Harte
ddccb946ff
Fix precedence error in put_le.
2025-02-25 23:24:11 -05:00
Thomas Harte
1f6f30ae9e
Implement MediaChangeObserver for the consoles.
2025-02-25 23:03:45 -05:00
Thomas Harte
4b19a3f4ed
Split interface, make const.
2025-02-25 22:58:36 -05:00
Thomas Harte
c39d0ce2f7
Add note to self.
2025-02-25 22:37:12 -05:00
Thomas Harte
cbdf1a941c
Merge pull request #1475 from TomHarte/FileDidChange
...
macOS: Reinsert media and/or restart machines upon underlying file changes.
2025-02-24 23:12:17 -05:00
Thomas Harte
a340635de5
Fix lost audio, race condition.
2025-02-24 23:04:41 -05:00
Thomas Harte
d62362db1a
Reduce copy and paste.
2025-02-24 22:50:56 -05:00
Thomas Harte
a0aba69306
Resolve lost options.
2025-02-24 22:46:44 -05:00
Thomas Harte
765683cd34
Copy and paste to a mostly working substitution.
2025-02-24 22:44:10 -05:00
Thomas Harte
93ddf4f0ba
Ensure ZX Spectrum, at least, returns correct indication.
2025-02-24 22:34:15 -05:00
Thomas Harte
8dcccf11bf
Improve constness, remove unnecessary virtuals.
2025-02-24 18:18:12 -05:00
Thomas Harte
43353ce892
Confirm and wire through semantics.
2025-02-24 15:36:18 -05:00
Thomas Harte
a698fea078
Spell out some options.
2025-02-23 18:15:14 -05:00
Thomas Harte
390d9b0fe1
Add further note to self.
2025-02-22 23:12:41 -05:00
Thomas Harte
fd3ff05b17
Avoid undefined behaviour on left shift.
2025-02-22 23:06:40 -05:00
Thomas Harte
a5e4c9dd7b
Add pure file-content change observer.
2025-02-22 22:40:15 -05:00
Thomas Harte
37f07dcc5a
Add note to self on intentions.
2025-02-21 17:51:14 -05:00
Thomas Harte
75bae9a59c
Merge pull request #1474 from TomHarte/LighterMouseovers
...
Adjust macOS UI to show options/volume only when _directly_ mouseovered.
2025-02-21 12:42:15 -05:00
Thomas Harte
1684d88a3b
Don't hide mouse cursor if over an interesting subview.
2025-02-21 11:43:47 -05:00
Thomas Harte
50acbb70da
Rename protocol method.
2025-02-21 11:37:37 -05:00
Thomas Harte
4de1025468
Avoid potential MSX 2 crash at startup.
2025-02-21 11:37:24 -05:00
Thomas Harte
c2506dd115
Show controls immediately at startup.
2025-02-21 11:31:13 -05:00
Thomas Harte
f8c9aa8e6c
Require mouseover near the volume/controls to activate.
2025-02-21 11:28:53 -05:00
Thomas Harte
e19dc1f067
Make scan target the window's native view.
2025-02-21 10:43:56 -05:00
Thomas Harte
84776bced1
Merge pull request #1473 from TomHarte/BetterBitReader
...
Slim FileHolder; improve and extract BitSerialiser.
2025-02-20 23:03:39 -05:00
Thomas Harte
9162c86e21
Test, improve BitStream.
2025-02-20 22:42:02 -05:00
Thomas Harte
88ffcbc62b
Work in terms of the number of bits to be handled.
2025-02-19 22:04:51 -05:00
Thomas Harte
6aff0b74cd
Reduce redundant types.
2025-02-19 00:09:57 -05:00
Thomas Harte
79671890c5
Generalise and improve BitStream.
2025-02-18 23:17:39 -05:00
Thomas Harte
edd4ed307f
Template away repetition.
2025-02-18 22:48:47 -05:00
Thomas Harte
f786f8a970
Merge pull request #1472 from TomHarte/FastPRGs
...
Withdraw PRG support for the Plus 4.
2025-02-18 21:57:32 -05:00
Thomas Harte
a1d10adaa3
Support only the Vic-20 for PRGs for now.
2025-02-18 20:46:43 -05:00
Thomas Harte
7f480e8e56
Swing desperately at fast tape loading.
2025-02-11 21:49:58 -05:00
Thomas Harte
94b972aaf4
Improve style.
2025-02-11 21:48:56 -05:00
Thomas Harte
9470775292
Avoid race condition on input/output frequencies.
2025-02-11 21:48:23 -05:00
Thomas Harte
93eb63d930
Add interrupt register to TED check set.
2025-02-11 21:47:36 -05:00
Thomas Harte
ea81096a43
Reinstall debugging temporariness.
2025-02-07 18:09:33 -05:00
Thomas Harte
594045b4e7
Merge pull request #1471 from TomHarte/CRCInterface
...
Remove need for a CRC generator instance.
2025-02-05 22:18:59 -05:00
Thomas Harte
1449330ed3
Use updated interface.
2025-02-04 23:14:49 -05:00
Thomas Harte
07493a6b18
Remove need for a CRC generator instance.
2025-02-04 22:54:39 -05:00
Thomas Harte
0310db5f24
Merge pull request #1470 from TomHarte/SimplerReverse
...
Unify and simplify bit reversal functions.
2025-02-04 21:49:57 -05:00
Thomas Harte
ed6d5a7d38
Correct test target.
2025-02-04 00:05:09 -05:00
Thomas Harte
ca7c1bc631
Remove redundant inlines.
2025-02-04 00:00:12 -05:00
Thomas Harte
259070c658
Unify reverse functions.
2025-02-03 23:58:41 -05:00
Thomas Harte
e1a7dd9b24
Implement recursive reverse.
2025-02-03 23:50:15 -05:00
Thomas Harte
e5945fbb3d
Merge pull request #1469 from TomHarte/AllWarnings
...
Resolve all current compiler warnings.
2025-02-03 22:08:12 -05:00
Thomas Harte
247f636988
Reinstate ZRLE support.
2025-02-03 21:56:12 -05:00
Thomas Harte
c58a2ee624
Remove redundant moves.
2025-02-03 21:44:30 -05:00
Thomas Harte
35a1b44c21
Remove unused elements.
2025-02-03 21:42:07 -05:00
Thomas Harte
fd09f06507
Merge pull request #1468 from TomHarte/Qt6CI
...
Reinstate Xcode CI.
2025-02-03 21:34:36 -05:00
Thomas Harte
d66b501a99
Request latest Xcode.
2025-02-03 21:27:53 -05:00
Thomas Harte
349f6766ac
Switch to array.
2025-02-03 21:24:05 -05:00
Thomas Harte
cd55ed1514
Persevere.
2025-02-03 21:22:50 -05:00
Thomas Harte
14d4c8accc
Disable Qt 6; try to reenable Xcode.
2025-02-03 21:21:25 -05:00
Thomas Harte
37bca96bde
Strip back.
2025-02-03 21:17:19 -05:00
Thomas Harte
b0e6ae58c4
Try 6.7.
2025-02-03 21:00:40 -05:00
Thomas Harte
0375e47359
Accept any 6.8.
2025-02-03 20:48:56 -05:00
Thomas Harte
8450ad2856
Add Qt 6 CI.
2025-02-03 20:28:46 -05:00
Thomas Harte
015a1fbd53
Merge branch 'master' into Plus4PRGs
2025-02-03 00:06:14 -05:00
Thomas Harte
318b61b4d7
Merge pull request #1467 from TomHarte/QtCI
...
Add Qt to CI set.
2025-02-03 00:05:54 -05:00
Thomas Harte
60640517ca
Remove crutch.
2025-02-02 23:58:25 -05:00
Thomas Harte
051e38f034
Reformat.
2025-02-02 23:48:20 -05:00
Thomas Harte
300054b9f7
Attempt a full make.
2025-02-02 23:46:26 -05:00
Thomas Harte
4f9e1e3a6b
Add 'icu'.
2025-02-02 23:41:47 -05:00
Thomas Harte
856bc27bf1
Must specify qtbase, at least.
2025-02-02 23:36:15 -05:00
Thomas Harte
408b774b42
Switch to archives.
2025-02-02 23:29:59 -05:00
Thomas Harte
f82ef5aad4
Apply one of those architectures.
2025-02-02 23:23:34 -05:00
Thomas Harte
a92df41eb5
List architectures, hopefully.
2025-02-02 22:58:32 -05:00
Thomas Harte
605990929d
Hit and hope.
2025-02-02 22:47:23 -05:00
Thomas Harte
925ca28659
Try without architecture.
2025-02-02 22:38:31 -05:00
Thomas Harte
41e3fa7aa7
Retreat.
2025-02-02 22:24:37 -05:00
Thomas Harte
5fa27448f8
Try to coax module names.
2025-02-02 22:19:44 -05:00
Thomas Harte
c3428bdaed
Try without prefixes.
2025-02-02 22:11:32 -05:00
Thomas Harte
0539de9c4e
Take a guess at modules.
2025-02-02 22:05:36 -05:00
Thomas Harte
eed87164b1
Attempt a Qt build action.
2025-02-02 22:00:21 -05:00
Thomas Harte
0fe726c503
Avoid overlong line.
2025-02-02 21:50:30 -05:00
Thomas Harte
f7f2113f1c
Merge pull request #1465 from TomHarte/Plus4FastLoad
...
Edge towards fast loading in the Plus 4.
2025-02-02 21:49:22 -05:00
Thomas Harte
49d931f5cc
Disable Mac job for now.
2025-02-02 21:41:37 -05:00
Thomas Harte
4dbd63de08
Attempt version rebump.
2025-01-31 12:33:21 -05:00
Thomas Harte
3a53c349a0
Abandon attempts to build on older macOS for now.
2025-01-31 11:45:43 -05:00
Thomas Harte
a9fe5d5c87
Manually revert Xcode project version.
2025-01-30 22:48:11 -05:00
Thomas Harte
9cecccf5da
Correct TAP type check.
2025-01-30 21:04:36 -05:00
Thomas Harte
6cb3bbaa2d
Ensure tape ending != infinite loop.
2025-01-29 23:30:16 -05:00
Thomas Harte
0ff6a0bb53
Slightly simplify template arguments.
2025-01-29 22:51:02 -05:00
Thomas Harte
8ba57dec03
Take another stab at read_dipole.
2025-01-29 22:07:17 -05:00
Thomas Harte
d749c305ed
Merge branch 'master' into Plus4FastLoad
2025-01-28 20:20:21 -05:00
Thomas Harte
f46ac2d0ed
Merge pull request #1464 from TomHarte/AheadOfTimeCRCTables
...
Grab bag: calculate CRC tables ahead of time; improve carry typing.
2025-01-28 20:16:03 -05:00
Thomas Harte
d7b7152315
Apply const liberally.
2025-01-28 18:26:34 -05:00
Thomas Harte
da1d52033b
Use contractions.
2025-01-28 18:19:31 -05:00
Thomas Harte
01ddc24c02
Require overt acknowledgement of meaning.
2025-01-28 17:42:26 -05:00
Thomas Harte
53a3e88d16
Shunt CRC XOR table generation to compile time.
2025-01-28 17:36:32 -05:00
Thomas Harte
bc8d1cc384
Merge pull request #1463 from TomHarte/AcornAnalyserStyle
...
Tweak Acorn analyser style.
2025-01-26 21:58:50 -05:00
Thomas Harte
ed2ba63a5f
Adjust style.
2025-01-26 21:42:38 -05:00
Thomas Harte
8a2c009653
Reduce copies, size()s, code duplication.
2025-01-26 21:34:01 -05:00
Thomas Harte
55690a4c7f
Merge branch 'master' into Plus4FastLoad
2025-01-22 19:49:23 -05:00
Thomas Harte
161ad4b143
Merge pull request #1462 from TomHarte/VIAPortTemplate
...
Reduce repetitive dynamic work in 6522 usages.
2025-01-22 19:48:24 -05:00
Thomas Harte
d701990df4
Simplify ownership of the shift value.
2025-01-22 16:12:45 -05:00
Thomas Harte
95a2d1013c
Remove unused dynamic dispatcher.
2025-01-22 16:06:09 -05:00
Thomas Harte
5d4f3c0b3e
Remove already-done TODO.
2025-01-22 16:04:17 -05:00
Thomas Harte
f8e4023307
Reduce repetitive dynamic work in 6522 usages.
2025-01-22 15:57:03 -05:00
Thomas Harte
609aba7c73
Made various additional style improvements.
2025-01-22 13:47:25 -05:00
Thomas Harte
bc7ab0eba1
Extend parser, accelerate headers.
2025-01-21 22:37:10 -05:00
Thomas Harte
56f271c8ad
Continue failing. This is the story of my life.
2025-01-21 17:24:12 -05:00
Thomas Harte
11190cff1d
Eject zero-cost execution in favour of faulty HLE.
2025-01-21 16:45:05 -05:00
Thomas Harte
348a593dc1
Flail in attempt to implement fast loading.
2025-01-21 14:13:42 -05:00
Thomas Harte
b67bb50f4a
Merge pull request #1461 from TomHarte/Vic20Confidence
...
Include VIC hits in Vic-20 confidence selection.
2025-01-20 23:21:19 -05:00
Thomas Harte
1174f651ab
Switch to logger, ignore 0xfdfx.
2025-01-20 22:47:54 -05:00
Thomas Harte
dad9777c3e
Merge pull request #1460 from TomHarte/Plus4DriveSelection
...
Add C1541 button to mac UI; respect Target setting.
2025-01-20 22:45:49 -05:00
Thomas Harte
4f6285a8e7
Include VIC hits in Vic-20 confidence selection.
2025-01-20 22:25:24 -05:00
Thomas Harte
20cecf4702
Add C1541 button to mac UI; respect Target setting.
2025-01-20 22:02:35 -05:00
Thomas Harte
5763eabff4
Merge pull request #1459 from TomHarte/UnitTestUpdates
...
Repair lagging unit tests.
2025-01-20 21:41:15 -05:00
Thomas Harte
0fc753949d
Repair lagging unit tests.
2025-01-20 21:36:25 -05:00
Thomas Harte
083c1b7ca7
Merge pull request #1458 from TomHarte/Plus4PRGs
...
Introdice alternative tape timings for the +4.
2025-01-20 20:59:33 -05:00
Thomas Harte
8f6b1b11e5
Fix member name.
2025-01-20 20:35:14 -05:00
Thomas Harte
53b7d19c10
Ensure tape images proper destruct.
2025-01-20 20:33:17 -05:00
Thomas Harte
b0b4f5e51a
Add Plus 4 to Qt UI.
2025-01-20 20:31:12 -05:00
Thomas Harte
b7414aa59c
Improve logging.
2025-01-20 16:19:02 -05:00
Thomas Harte
f449045118
Add some basic attempts at dynamic analysis.
2025-01-20 16:15:53 -05:00
Thomas Harte
1e9ddada37
Retain tapes and disks.
2025-01-20 15:51:01 -05:00
Thomas Harte
55d59a1854
Separate chunk parsing.
2025-01-19 18:16:33 -05:00
Thomas Harte
beb9f38514
Eliminate std::shared_ptr.
2025-01-18 23:25:08 -05:00
Thomas Harte
00b1865fc8
Fix boundary condition.
2025-01-17 21:46:43 -05:00
Thomas Harte
0f545608c4
Fix serialiser ownership, Commodore analyser.
2025-01-17 21:43:11 -05:00
Thomas Harte
bde2047184
Provide target platform where serialiser will accept it.
2025-01-17 17:09:47 -05:00
Thomas Harte
0a22d8fb9e
Add TODO on final dangling issue.
2025-01-17 17:06:03 -05:00
Thomas Harte
1bef37d504
Test data only once.
2025-01-17 17:04:25 -05:00
Thomas Harte
7f5d290b66
Promote validation.
2025-01-17 17:01:09 -05:00
Thomas Harte
9461e6f285
Move validation up a level.
2025-01-17 16:59:30 -05:00
Thomas Harte
3f59a03f29
Parse Commodore .tap header only once.
2025-01-17 16:54:54 -05:00
Thomas Harte
062b581b55
Move .cas and ZX .tap initial parsing out of serialiser.
2025-01-17 16:45:09 -05:00
Thomas Harte
58d3fdc1c2
Separate stateful serialisation from tapes.
2025-01-17 16:39:21 -05:00
Thomas Harte
2f546842a7
Wire TAPs and similar directly to their targets.
2025-01-16 21:21:15 -05:00
Thomas Harte
f089a85908
Zoom out to a more likely TV cropping.
2025-01-15 22:52:20 -05:00
Thomas Harte
a6e453a452
Introdice alternative tape timings for the +4.
2025-01-15 22:11:26 -05:00
Thomas Harte
3adf3dc547
Merge pull request #1457 from TomHarte/BadlinePriority
...
Give priority to initial bad lines.
2025-01-13 20:40:17 -05:00
Thomas Harte
1d0ea96ae9
This hasn't been true for a while.
2025-01-13 17:38:29 -05:00
Thomas Harte
a4cb17a1cb
First bad lines take priority over second ones.
2025-01-13 17:31:18 -05:00
Thomas Harte
733da3161b
Merge pull request #1456 from TomHarte/CounterSets
...
Correct shift on hcount write.
2025-01-12 22:32:46 -05:00
Thomas Harte
1b1a0f553d
Keep three least bits.
2025-01-12 22:07:56 -05:00
Thomas Harte
972619c1fe
Correct shift on hcount write.
2025-01-12 21:59:22 -05:00
Thomas Harte
61086d5360
Merge pull request #1455 from TomHarte/MatchBefore
...
Restructure loop to perform events AT time, not upon reaching it.
2025-01-12 19:18:32 -05:00
Thomas Harte
37513d726c
Restructure loop to perform events AT time, not upon reaching it.
2025-01-12 19:06:42 -05:00
Thomas Harte
6510bee327
Merge pull request #1454 from TomHarte/VideoTweaks
...
Restrict counter sizes; invert written horizontal counter.
2025-01-11 23:42:58 -05:00
Thomas Harte
cd36f3f096
Restrict counter sizes; invert written horizontal counter.
2025-01-11 23:19:01 -05:00
Thomas Harte
407a6f5e31
Merge pull request #1453 from TomHarte/AbsentBits
...
Correct status unset-bit masks.
2025-01-11 22:58:42 -05:00
Thomas Harte
2b28df280e
Correct status unset-bit masks.
2025-01-11 22:47:56 -05:00
Thomas Harte
eb763ed82c
Merge pull request #1452 from TomHarte/TapeMotorAgain
...
Ensure tape motor is a combination of programmed state and button.
2025-01-10 21:04:19 -05:00
Thomas Harte
755f53cce0
Ensure tape motor is a combination of programmed state and button.
2025-01-10 16:59:09 -05:00
Thomas Harte
c190ab40b0
Merge pull request #1451 from TomHarte/Plus4Joystick
...
Add joystick input.
2025-01-09 17:12:37 -05:00
Thomas Harte
a3ad82de42
Add joystick input.
2025-01-09 17:01:20 -05:00
Thomas Harte
0f6cd6904d
Separate keyboard and joystick masks.
...
Based on aside in https://plus4world.powweb.com/forum/6867#6868 ; I don't yet know what the joystick bits are.
2025-01-09 16:41:21 -05:00
Thomas Harte
79c89af6ea
Merge pull request #1450 from TomHarte/LatestWarnings
...
Resolve GCC ubuntu-latest build warnings.
2025-01-09 16:32:50 -05:00
Thomas Harte
56f10a9a52
Adjust ownership to avoid passing reference to uninitialised object.
2025-01-09 16:27:19 -05:00
Thomas Harte
c679e2c067
line_number is now unused.
2025-01-09 16:14:16 -05:00
Thomas Harte
0677987320
Ensure all paths return a value.
2025-01-08 22:30:32 -05:00
Thomas Harte
5fb6e6780c
Eliminate unused variable (at least temporarily).
2025-01-08 22:30:17 -05:00
Thomas Harte
58ef91a7b1
Merge pull request #1449 from TomHarte/FullerAudio
...
Switch to full-clock PWM audio implementation, with noise generator.
2025-01-08 22:28:01 -05:00
Thomas Harte
e1ae65b6d1
Switch to PWM implementation, with noise.
2025-01-08 22:09:42 -05:00
Thomas Harte
65307186dc
Provide full clock to audio.
2025-01-08 21:17:48 -05:00
Thomas Harte
6fa29c204b
Extend PAL/NTSC selection to audio.
2025-01-08 20:27:37 -05:00
Thomas Harte
8219beeb1a
Merge pull request #1448 from TomHarte/6502Macros
...
Eliminate macros from 6502 bus operation actions.
2025-01-08 20:19:09 -05:00
Thomas Harte
ace7e24dfb
Eliminate Objective-C-style naming.
2025-01-07 22:55:19 -05:00
Thomas Harte
828c2a6883
Convert macros to functions.
2025-01-07 22:51:52 -05:00
Thomas Harte
f195dc313d
Strongly type BusOperation.
2025-01-07 22:48:17 -05:00
Thomas Harte
5b8a005f41
Merge pull request #1447 from TomHarte/CounterAccess
...
Add programmatic access to video counters.
2025-01-07 22:33:28 -05:00
Thomas Harte
9feb75e645
Force high unwriteable bytes.
2025-01-07 22:21:42 -05:00
Thomas Harte
7f8e90bd29
Add video counter writes.
2025-01-07 21:56:04 -05:00
Thomas Harte
2fd34b649d
Add missing video counter reads.
2025-01-07 21:40:20 -05:00
Thomas Harte
104054ed1a
Merge pull request #1446 from TomHarte/Plus4VideoOptions
...
Add selectable display type.
2025-01-07 20:15:21 -05:00
Thomas Harte
457b28c22c
Merge branch 'master' into Plus4VideoOptions
2025-01-07 20:08:54 -05:00
Thomas Harte
095c8dcd0c
Merge pull request #1445 from TomHarte/Plus4Tapes
...
Improve support for C16 TAP files.
2025-01-07 20:07:38 -05:00
Thomas Harte
8463e9ed94
Add selectable display type.
2025-01-07 17:41:43 -05:00
Thomas Harte
b6278c6144
Remove debugging cruft.
2025-01-06 22:17:53 -05:00
Thomas Harte
1c1e1eee47
Double clock for all non-C16s.
2025-01-06 22:04:57 -05:00
Thomas Harte
b37ed9ec60
Take yet another stab at wave/half-waves.
2025-01-06 21:40:46 -05:00
Thomas Harte
45f3ef6920
Guess that all C16-style files are 'half wave'.
2025-01-06 17:26:51 -05:00
Thomas Harte
2cd6c4238b
Quieten logging.
2025-01-05 22:52:40 -05:00
Thomas Harte
f6ed0b33eb
Diagnose current scrolling colour fault; hack in graphics-mode fix.
2025-01-05 22:48:16 -05:00
Thomas Harte
c4f4ca3f90
Add asserts.
2025-01-05 22:45:09 -05:00
Thomas Harte
9a6780616b
Close unpainted gaps.
2025-01-05 22:25:35 -05:00
Thomas Harte
db4eca0a42
Hack forward to a woring Mad Rally.
2025-01-05 22:08:20 -05:00
Thomas Harte
6d674edb48
Merge remote-tracking branch 'origin/master' into Plus4Tapes
2025-01-05 22:07:26 -05:00
Thomas Harte
c0469a044b
Add missing address warnings.
2025-01-05 21:10:23 -05:00
Thomas Harte
b9b64eba9a
Map all missing registers.
2025-01-05 21:06:46 -05:00
Thomas Harte
2d74387a00
Extend TAP support for C16.
2025-01-05 20:37:39 -05:00
Thomas Harte
f66b6fc20c
Attempt support for C16 TAPs.
2025-01-05 08:51:20 -05:00
Thomas Harte
f0711a9fbc
Use detection for play button; allow computer to set motor.
2025-01-04 22:54:13 -05:00
Thomas Harte
83a8c7215a
Merge pull request #1444 from TomHarte/AudioQueueTransients
...
Treat kAudioQueueErr_CannotStart as ephemeral.
2025-01-04 22:39:56 -05:00
Thomas Harte
a86f966cb4
Treat kAudioQueueErr_CannotStart as ephemeral.
2025-01-04 22:24:34 -05:00
Thomas Harte
74db978b81
Fix automatic tape motor control.
2025-01-04 22:23:46 -05:00
Thomas Harte
1300546a52
Merge pull request #1443 from TomHarte/TypingSpeed
...
Improve +4 typing speed.
2025-01-04 19:15:55 -05:00
Thomas Harte
3aeb0bba71
Improve +4 typing speed.
2025-01-04 15:14:25 -05:00
Thomas Harte
03d3efa323
Merge pull request #1442 from TomHarte/38columns
...
Progress shifter outside of painted pixels.
2025-01-04 07:20:56 -05:00
Thomas Harte
f9c220bee0
Progress shifter outside of painted pixels.
2025-01-04 07:15:20 -05:00
Thomas Harte
114c2e2636
Merge pull request #1441 from TomHarte/OSSGuardNoMacro
...
Remove macros from CoreAudio handler.
2025-01-03 23:38:35 -05:00
Thomas Harte
75a0e622ad
Remove macros from CoreAudio handler.
2025-01-03 23:25:38 -05:00
Thomas Harte
8e2de4ee30
Merge pull request #1440 from TomHarte/MenuTweak
...
Improve menu wording.
2025-01-03 23:23:50 -05:00
Thomas Harte
b1602261cf
Remove redundant adjective.
2025-01-03 23:23:02 -05:00
Thomas Harte
e5ed11f8ec
Take another swing at menu item naming.
2025-01-03 23:21:55 -05:00
Thomas Harte
c1ecfd289e
Merge pull request #1438 from TomHarte/Plus4UI
...
Add Plus 4 to Mac UI.
2025-01-03 23:10:45 -05:00
Thomas Harte
c5cca15b4e
Extend window size.
2025-01-03 23:01:33 -05:00
Thomas Harte
fa978315e6
Add Plus 4 option to Mac UI.
2025-01-03 22:59:39 -05:00
Thomas Harte
c5bffc38f4
Switch typedefs to usings.
2025-01-03 21:35:34 -05:00
Thomas Harte
88b5f6b148
Merge pull request #1437 from TomHarte/Plus4Typer
...
Add TED typer.
2025-01-03 21:31:56 -05:00
Thomas Harte
fc04742151
Pull input from the typer.
2025-01-03 21:03:56 -05:00
Thomas Harte
c618d18d46
Allow typers to be attached.
2025-01-03 20:29:19 -05:00
Thomas Harte
33bc7c00df
Eliminate long-ago use of typedef.
2025-01-03 20:29:05 -05:00
Thomas Harte
1ed550d7f9
Merge pull request #1434 from TomHarte/Plus4Startup
...
Add a simulacrum of C16+4 emulation.
2025-01-03 20:11:08 -05:00
Thomas Harte
18b87f2c80
Keep a little more state outside the main loop.
2025-01-03 20:05:43 -05:00
Thomas Harte
fad503ca80
Use correct source for bitmap address.
2025-01-03 17:31:27 -05:00
Thomas Harte
37ec3e4605
Simplify flash/inversion handling.
2025-01-03 17:27:43 -05:00
Thomas Harte
70e3d23f26
Add note to self.
2025-01-02 23:10:17 -05:00
Thomas Harte
6ebf415a52
Improve invert and flash support.
2025-01-02 23:04:35 -05:00
Thomas Harte
5c31104d0e
Simplify control flow, half-obey 256-character flag.
2025-01-02 22:39:23 -05:00
Thomas Harte
aed8b65e2b
Mark extra constexprs.
2025-01-02 22:01:51 -05:00
Thomas Harte
906e8aa2b2
Move nullptr check to bottom of pipeline.
2025-01-02 21:02:11 -05:00
Thomas Harte
d0703f95af
Normalise adjective/noun.
2025-01-02 16:01:47 -05:00
Thomas Harte
538b00797d
Flatten structure.
2025-01-02 16:00:47 -05:00
Thomas Harte
985c555518
Support multicolour text.
2025-01-02 15:56:39 -05:00
Thomas Harte
5ef26a25ee
Fix shift timing.
2025-01-02 15:52:20 -05:00
Thomas Harte
3db0e30d12
Factor out 1bpp and 2bpp pixel generation.
2025-01-02 15:39:45 -05:00
Thomas Harte
a666cabae9
Support extended colour text mode.
2025-01-02 15:32:44 -05:00
Thomas Harte
2e8d9018ef
Add other address modes.
2025-01-02 15:09:37 -05:00
Thomas Harte
ae49505e67
Attempt multicolour bitmap mode.
2025-01-02 15:07:22 -05:00
Thomas Harte
09bd5503b4
Fetch pixels earlier for a mostly-working high-resolution output.
2025-01-02 14:42:49 -05:00
Thomas Harte
dbe733524c
Reintroduce RDY control.
2025-01-02 13:49:24 -05:00
Thomas Harte
1625f5c0f9
Take a stab at high-resolution bitmap mode.
2025-01-02 13:46:35 -05:00
Thomas Harte
7cd49d07f2
Collapse to a single function.
2025-01-02 13:39:50 -05:00
Thomas Harte
a542345456
Iterate towards supporting all video modes.
2025-01-01 22:34:47 -05:00
Thomas Harte
0b98f21443
Enable extra functionality.
2025-01-01 22:34:30 -05:00
Thomas Harte
c42e231e99
Attempt fully to support x scroll.
2025-01-01 21:47:59 -05:00
Thomas Harte
ab653af4b3
Introduce pixel-level shifter.
2025-01-01 20:58:06 -05:00
Thomas Harte
8653f572c8
Move static_assert.
2025-01-01 15:06:00 -05:00
Thomas Harte
39b431fb19
Rejig marginally.
2024-12-31 22:14:02 -05:00
Thomas Harte
e158c5bc30
Extend shifting to final column of screen.
2024-12-31 20:33:27 -05:00
Thomas Harte
d0fdfda4cb
Set volume peak, count up rather than down.
2024-12-31 11:45:32 -05:00
Thomas Harte
668a5ca041
Make a real attempt at some degree of audio.
2024-12-31 10:25:11 -05:00
Thomas Harte
5e3947b8bc
Evaluate address lazily.
2024-12-31 08:28:42 -05:00
Thomas Harte
233a627c9f
Correct longstanding confusion over character fetch.
2024-12-31 08:25:05 -05:00
Thomas Harte
6197486d49
Use increment_video_counter_ to trigger fetch.
2024-12-31 08:06:04 -05:00
Thomas Harte
60856b974b
Add wiring for audio.
2024-12-30 22:56:29 -05:00
Thomas Harte
d1eca5dc21
Expand mask.
2024-12-30 21:29:36 -05:00
Thomas Harte
24b281d625
Use namespace; attempt to avoid false characters.
2024-12-30 09:14:27 -05:00
Thomas Harte
b0d1dee38b
Add missing header.
2024-12-29 22:36:14 -05:00
Thomas Harte
0751c51803
Dispatch warning.
2024-12-29 22:34:32 -05:00
Thomas Harte
0005229c1e
Improve header.
2024-12-29 22:21:38 -05:00
Thomas Harte
33c2353107
Alter motor control detection.
2024-12-29 22:21:02 -05:00
Thomas Harte
cb98297bb5
Add consts.
2024-12-29 22:14:48 -05:00
Thomas Harte
0e663e1da8
Add C1541 activity indicator.
2024-12-29 21:30:53 -05:00
Thomas Harte
918a8c5f8b
Fix 1541 clocking, invert levels again.
2024-12-29 08:41:37 -05:00
Thomas Harte
34938e8c62
Fully connect serial port.
2024-12-28 23:07:01 -05:00
Thomas Harte
da6efe52ff
Accept implicit bool, eliminate rom name repetition.
2024-12-28 22:22:28 -05:00
Thomas Harte
570f1caa8f
Attempt also to integrate a C1541.
2024-12-28 21:49:04 -05:00
Thomas Harte
6f638805f7
Further eliminate std::shared_ptr connections.
2024-12-28 20:52:31 -05:00
Thomas Harte
c92b0dc886
Start normalising Commodore serial bus interface.
2024-12-28 20:11:27 -05:00
Thomas Harte
b4b216de84
Attempt press-play feedback.
2024-12-27 21:43:41 -05:00
Thomas Harte
80f5d7c735
Attempt full tape input.
2024-12-27 21:19:41 -05:00
Thomas Harte
01aeb46664
Bump version.
2024-12-27 20:59:24 -05:00
Thomas Harte
2cfd2ff624
Start adding tape player.
2024-12-27 20:59:07 -05:00
Thomas Harte
ff12bbbdb6
Simplify delay state.
2024-12-27 17:10:25 -05:00
Thomas Harte
e19fe5d0e2
Reintroduce colour burst.
2024-12-27 09:25:36 -05:00
Thomas Harte
9670d5f4de
Add cursor, proving things generally to be off by one.
2024-12-27 09:20:12 -05:00
Thomas Harte
863b09c39b
Increase key bindings.
2024-12-27 09:14:23 -05:00
Thomas Harte
6b90de539e
Add data delays.
2024-12-26 22:39:16 -05:00
Thomas Harte
4bb53ed6ba
Start trending towards an FPGA-inspired implementation.
2024-12-26 22:33:09 -05:00
Thomas Harte
e6523f3ec1
Shuffle colour conversion moment; move ownership of clock rate.
2024-12-20 09:17:40 -05:00
Thomas Harte
c8ad8c79bd
Factor in x_scroll_.
2024-12-18 22:14:57 -05:00
Thomas Harte
b08cc9cb49
Use attributes, attempt real cursor.
2024-12-18 22:07:37 -05:00
Thomas Harte
4f93dc0adf
Support attribute bytes.
2024-12-18 22:02:05 -05:00
Thomas Harte
096f48be33
Fix top line of cursor, add pretend cursor, page video separately.
2024-12-18 21:48:03 -05:00
Thomas Harte
81398d58a2
Improve get_rect_for_area, use in C16.
2024-12-18 20:53:03 -05:00
Thomas Harte
7466da5651
Add Keyboard.
2024-12-18 07:04:17 -05:00
Thomas Harte
c8fdde4c5e
Clarify clock rates.
2024-12-17 07:08:04 -05:00
Thomas Harte
15583e7975
Avoid risk of unbounded memory consumption.
2024-12-16 22:29:23 -05:00
Thomas Harte
5acdf39566
Use a normative, unique_ptr-based cache.
2024-12-16 22:12:12 -05:00
Thomas Harte
2240ada5db
Avoid going out of bounds below.
2024-12-16 22:11:49 -05:00
Thomas Harte
9d5c10d440
Edge towards realistic video collection.
2024-12-16 22:11:06 -05:00
Thomas Harte
709f350d60
Begin usage of RDY.
2024-12-16 07:18:07 -05:00
Thomas Harte
3d7e016b42
Name horizontal events.
2024-12-15 08:46:07 -05:00
Thomas Harte
b76104d145
Start edging towards proper video timing.
2024-12-14 22:06:18 -05:00
Thomas Harte
702b6d6567
Add extra note to self.
2024-12-14 11:56:13 -05:00
Thomas Harte
3e93004db6
Double nominal clock, to hit normative values.
2024-12-14 11:55:10 -05:00
Thomas Harte
589903c43c
Add safety rail.
2024-12-13 23:14:00 -05:00
Thomas Harte
f41b54de21
Make a close-enough guess at chrominances.
2024-12-13 22:25:23 -05:00
Thomas Harte
700b848f26
Add overt nils to aid with debugging.
2024-12-13 21:25:01 -05:00
Thomas Harte
a1f6e93e22
Add most of the keyboard.
2024-12-13 21:24:11 -05:00
Thomas Harte
1628af2ffc
Provide a stuck down key 'a'.
2024-12-13 17:56:47 -05:00
Thomas Harte
1b5d446635
Fix: writes to interrupt status _clear_.
2024-12-13 17:22:05 -05:00
Thomas Harte
83a9ef772a
Add TODO explaining all currently-unhandled writes.
2024-12-13 14:02:33 -05:00
Thomas Harte
1d9c3fb827
Hack in some text output.
2024-12-13 13:56:12 -05:00
Thomas Harte
ff92bdb324
Add buffer for pixels, output _something_.
2024-12-13 13:31:15 -05:00
Thomas Harte
363ad7342a
Add memory fuzzing, some text output.
2024-12-12 22:59:20 -05:00
Thomas Harte
663acd3810
Map initial border colour, white and black.
2024-12-12 22:35:50 -05:00
Thomas Harte
c2fc26089e
Add background colour reading, fix writing.
2024-12-12 22:15:15 -05:00
Thomas Harte
58b464bdfc
Attempt to add interrupts.
2024-12-12 22:07:51 -05:00
Thomas Harte
ed766c74e6
Add some paging.
2024-12-12 21:17:28 -05:00
Thomas Harte
1d07b8238c
Add a crop rectangle.
2024-12-12 17:36:44 -05:00
Thomas Harte
41c6ed7c5a
Further restrict 'active' area of the display.
2024-12-12 17:33:11 -05:00
Thomas Harte
f7750af3d0
Provide bus visibility to video; mark vertical portion of display.
2024-12-11 22:32:14 -05:00
Thomas Harte
8854ffddee
Include possible clock divider.
2024-12-11 21:57:31 -05:00
Thomas Harte
a487619578
Track basic frame events.
2024-12-11 21:54:03 -05:00
Thomas Harte
0eab6146fc
Introduce a CRT.
2024-12-11 21:38:32 -05:00
Thomas Harte
389ba95e5a
Template out the usual repetitive stuff of segment finding.
2024-12-11 21:30:58 -05:00
Thomas Harte
84d178c0ca
Transcribe event times into [mostly] non-action.
2024-12-11 17:32:51 -05:00
Thomas Harte
aed8f8efa8
Transcribe some timing numbers.
2024-12-10 22:56:14 -05:00
Thomas Harte
38325741de
Forward address information to a video stub.
2024-12-10 21:29:17 -05:00
Thomas Harte
891d5c2066
Separate out TED calls, to aid with logging.
2024-12-10 18:07:07 -05:00
Thomas Harte
6b7edac6e4
Add timers.
2024-12-10 18:04:10 -05:00
Thomas Harte
ab2a576e1b
Merge branch 'master' into Plus4Startup
2024-12-09 22:23:24 -05:00
Thomas Harte
5a3e4dd47b
Merge pull request #1431 from TomHarte/UniqueSectors
...
Eliminate use of std::shared_ptr for tracks on both sides of DiskImageHolder.
2024-12-09 22:23:01 -05:00
Thomas Harte
064c4b4312
Add some logging.
2024-12-09 22:22:20 -05:00
Thomas Harte
cbde504057
Add a memory map of sorts and a 6502.
2024-12-09 17:46:31 -05:00
Thomas Harte
949cfcfa69
Load ROMs.
2024-12-09 17:31:00 -05:00
Thomas Harte
06a005321e
Merge pull request #1433 from TomHarte/DeclareFieldsAfresh
...
Use `std::once` in preference to home-rolled solution.
2024-12-08 22:46:21 -05:00
Thomas Harte
d3587f595f
Merge pull request #1432 from TomHarte/Plus4ROMs
...
Add definitions for some of the Plus 4 ROMs.
2024-12-08 22:42:02 -05:00
Thomas Harte
b0158ed7ce
Use std::once in preference to home-rolled solution.
2024-12-08 22:35:41 -05:00
Thomas Harte
e5f4300e54
Add definitions for some of the Plus 4 ROMs.
2024-12-08 22:03:44 -05:00
Thomas Harte
7cc6f8604e
Eliminate std::shared_ptr outside of DiskImageHolder.
2024-12-08 21:49:34 -05:00
Thomas Harte
657960e7d0
Eliminate use of std::shared_ptr at DiskImage and below.
2024-12-08 21:26:03 -05:00
Thomas Harte
aecd7f9283
Merge pull request #1427 from TomHarte/CommodoreAnalyser
...
Improve analysis of Commodore BASIC
2024-12-08 18:59:03 -06:00
Thomas Harte
6f1b30cd24
Include Plus 4 in test target.
2024-12-07 11:56:16 -06:00
Thomas Harte
a6ba549b67
Don't repeat constant.
2024-12-07 11:55:38 -06:00
Thomas Harte
84ea04f61d
Improve comments.
2024-12-07 11:54:55 -06:00
Thomas Harte
0d52cf5f97
Improve constiness.
2024-12-07 11:50:18 -06:00
Thomas Harte
b15a083a15
Switch to a non-macro route for startup declarations.
2024-12-07 10:15:38 -06:00
Thomas Harte
a128247ef5
Improve comments.
2024-12-07 09:32:45 -06:00
Thomas Harte
590bd934c0
Use built-in paralel for.
2024-12-07 09:32:32 -06:00
Thomas Harte
e9826d2e7e
Use launch-time declarations.
2024-12-06 16:03:46 -05:00
Thomas Harte
58ed63cd18
Consciously uglify. These shouldn't look like functions.
2024-12-06 16:03:24 -05:00
Thomas Harte
fd1bd3032f
Attempt to move towards at-launch field declaration.
...
This avoids any need for overt thread safety in mutations.
2024-12-06 16:00:03 -05:00
Thomas Harte
d7206096ea
Attempt to parallelise.
2024-12-06 15:59:47 -05:00
Thomas Harte
f43e594eca
Improve style: indentation, constness, names.
2024-12-06 15:29:49 -05:00
Thomas Harte
ea4fe5e809
Propagate Plus 4 to other project files.
2024-12-06 15:20:58 -05:00
Thomas Harte
9fcb634510
Route +4 software into a non-functional +4.
2024-12-06 15:17:49 -05:00
Thomas Harte
c14a4515ce
Add consts widely.
2024-12-06 15:08:21 -05:00
Thomas Harte
8e71180cd2
Add an empty shell of a C16+4 class.
2024-12-06 13:53:08 -05:00
Thomas Harte
08f98aa32f
Decrease indentation.
2024-12-06 13:52:42 -05:00
Thomas Harte
e8aa9b9eb2
Avoid overrun on empty file.
2024-12-06 13:37:06 -05:00
Thomas Harte
19f815eeff
Infer more from first file starting address; reduce reallocations.
2024-12-06 13:34:35 -05:00
Thomas Harte
a508f7a463
Process all files if provided with a disk or tape.
2024-12-06 13:24:15 -05:00
Thomas Harte
e58d3ee060
Remove file.
2024-12-05 22:13:02 -05:00
Thomas Harte
268842681a
Adjust move semantics.
2024-12-05 22:09:07 -05:00
Thomas Harte
9b357a9fbf
Reduce copying.
2024-12-05 22:05:03 -05:00
Thomas Harte
6f80018b6e
Reintroduce argument.
2024-12-05 22:04:39 -05:00
Thomas Harte
7a1153be65
Improve loop detection.
2024-12-05 17:30:30 -05:00
Thomas Harte
85d4c24aba
Restore parameter name.
2024-12-05 17:29:05 -05:00
Thomas Harte
48c0ae8fe4
Avoid being thrown by looping BASIC.
2024-12-05 17:28:47 -05:00
Thomas Harte
e835b2c68c
Merge branch 'master' into CommodoreAnalyser
2024-12-04 22:56:05 -05:00
Thomas Harte
10d20f5d09
Merge pull request #1429 from TomHarte/FarewellMacOS12
...
Remove deprecated macos-12 from CI; add macos-15.
2024-12-04 22:55:06 -05:00
Thomas Harte
88b31ea940
Merge pull request #1428 from TomHarte/MoreIndentation
...
Adjust more dangling indentation changes.
2024-12-04 22:40:30 -05:00
Thomas Harte
9cb28d23a3
Remove deprecated macos-12; add macos-15.
2024-12-04 22:39:29 -05:00
Thomas Harte
ce5aae3f7d
Adjust more dangling indentation changes.
2024-12-04 22:29:08 -05:00
Thomas Harte
e7f0eb6746
Avoid invalid accesses.
2024-12-04 22:04:00 -05:00
Thomas Harte
65a118d1f3
Attempt to locate and disassemble machine code.
2024-12-04 21:41:05 -05:00
Thomas Harte
3d2eefc7e7
Merge pull request #1426 from TomHarte/C16Plus4Analysis
...
Begin Plus 4 analyser work, triggering clean-up of tape file classes.
2024-12-03 23:16:10 -05:00
Thomas Harte
f804c32eee
Opportunistically const.
2024-12-03 22:57:38 -05:00
Thomas Harte
b89ecadc3a
Improve interface.
2024-12-03 22:54:29 -05:00
Thomas Harte
6d4ff0b89a
Finally eliminate all that virtual_ nonsense.
2024-12-03 22:28:57 -05:00
Thomas Harte
598003ea39
Continue marking override.
2024-12-03 21:18:26 -05:00
Thomas Harte
6ef63790a9
Mark overrides, improve constiness.
2024-12-03 17:33:09 -05:00
Thomas Harte
3ffd986a1c
Start building Commodore analyser tests.
2024-12-03 09:25:58 -05:00
Thomas Harte
0b5cd4c665
Lock all tape classes down to read-only.
2024-12-03 09:21:13 -05:00
Thomas Harte
0371b0507a
Avoid potential extending run-out-of-bounds.
2024-12-03 09:19:23 -05:00
Thomas Harte
9fa71231c4
Support zero-length files; further fix bounds checks.
2024-12-02 17:23:50 -05:00
Thomas Harte
32beafc12d
Test Plus 4 detectionl; add shout for additional start address.
2024-12-02 15:27:37 -05:00
Thomas Harte
09e2ef334b
Fix sign of bounds check.
2024-12-02 15:27:03 -05:00
Thomas Harte
c0ce62ed2b
Merge pull request #1425 from TomHarte/MoreIndentation
...
Take another big swing at indentation, some `const`s.
2024-12-01 22:02:25 -05:00
Thomas Harte
d3ed485e7a
Take another big swing at indentation, some consts.
2024-12-01 21:44:14 -05:00
Thomas Harte
31c878b654
Merge pull request #1424 from TomHarte/InstructionSetFormatting
...
Improve formatting, `const`ness in instruction sets.
2024-12-01 20:24:55 -05:00
Thomas Harte
3a0f4a0bfc
Improve constness, formatting.
2024-12-01 18:09:19 -05:00
Thomas Harte
8b88d1294d
Remove errant spaces.
2024-12-01 09:04:32 -05:00
Thomas Harte
43fcf46d69
Limit line lengths.
2024-12-01 09:00:29 -05:00
Thomas Harte
394fe0f1f1
Improve formatting, constness in 68k and ARM instruction set implementations.
2024-12-01 08:20:24 -05:00
Thomas Harte
872921f635
Merge pull request #1423 from TomHarte/InputsFormatting
...
Roll formatting and `const` tweaks into Inputs.
2024-11-30 19:25:50 -05:00
Thomas Harte
7248470950
Roll formatting and const tweaks into Inputs.
2024-11-30 18:57:56 -05:00
Thomas Harte
9d87296316
Merge pull request #1422 from TomHarte/MutableLevels
...
Correct improper application of `const`.
2024-11-30 17:53:56 -05:00
Thomas Harte
23c67f7e38
Correct improper application of const.
2024-11-30 17:32:16 -05:00
Thomas Harte
bd98d95dbf
Merge pull request #1421 from TomHarte/FurtherFormatting
...
Further improve formatting.
2024-11-30 17:22:00 -05:00
Thomas Harte
3addb8d72b
Finish updating components.
2024-11-30 17:21:00 -05:00
Thomas Harte
5545906063
Adopt new indentation, improve constness.
2024-11-30 15:53:58 -05:00
Thomas Harte
36edfe9715
Merge pull request #1420 from TomHarte/NewIcon
...
Import new icons.
2024-11-29 23:10:31 -05:00
Thomas Harte
030b54a2b6
Import new icons.
2024-11-29 23:04:28 -05:00
Thomas Harte
f332613922
Merge pull request #1419 from TomHarte/Reformatting
...
Begin a general reformatting.
2024-11-29 22:52:29 -05:00
Thomas Harte
088bc14b11
Begin a reformatting of components.
2024-11-29 22:43:54 -05:00
Thomas Harte
86fa8da8c5
Reformat ClockReceiver.
2024-11-29 22:12:57 -05:00
Thomas Harte
abfc73299e
Update remainder of 'Analyser'.
2024-11-29 21:08:35 -05:00
Thomas Harte
bd97fd5973
Improve indentation, constness of 'Activity' and dynamic analyser.
2024-11-29 17:23:05 -05:00
Thomas Harte
f00e7c4a80
Merge pull request #1413 from TomHarte/ShakerScanTarget
...
Avoid taking an out-of-range pointer.
2024-10-19 10:15:30 -04:00
Thomas Harte
49c811b5f5
Avoid taking an out-of-range pointer.
...
(Even though it was safe)
2024-10-19 10:12:51 -04:00
Thomas Harte
b6c21e071d
Update version number.
2024-10-19 09:19:59 -04:00
Thomas Harte
e68129e47e
Merge pull request #1412 from TomHarte/CRTCType
...
Specify correct 6845; experiment with vsync.
2024-10-18 20:31:45 -04:00
Thomas Harte
72d7917415
Specify correct 6845; experiment with vsync.
2024-10-16 21:02:58 -04:00
Thomas Harte
53837fe132
Merge pull request #1411 from TomHarte/CMakeWarnings
...
Resolve GCC/Ubuntu CI warnings.
2024-10-15 22:25:06 -04:00
Thomas Harte
08d094c786
Use appropriate std::array semantics.
2024-10-15 22:14:29 -04:00
Thomas Harte
a1634ab496
Reduce uninitialised usages.
2024-10-15 22:10:16 -04:00
Thomas Harte
d35165bd8e
Correct parameter usage.
2024-10-15 21:54:04 -04:00
Thomas Harte
b701ce9721
Shuffle construction order.
2024-10-15 21:51:23 -04:00
Thomas Harte
f3e18da416
Use custom type for deleter.
2024-10-15 21:49:42 -04:00
Thomas Harte
131ab00304
Merge pull request #1410 from TomHarte/CPCLatency
...
Further improve the CPC side of the CPC:CRTC relationship.
2024-10-15 21:30:39 -04:00
Thomas Harte
26d7d58a5f
Add TODO.
2024-10-15 21:16:07 -04:00
Thomas Harte
02f92a7818
Handle runs that don't cross a pixel boundary.
...
`
2024-10-15 21:15:30 -04:00
Thomas Harte
b6fff521e4
Allow new interrupts to override the end of previous.
2024-10-15 12:27:30 -04:00
Thomas Harte
23f1308231
Experiment with reads/writes earlier in the transaction.
2024-10-15 12:10:36 -04:00
Thomas Harte
947e890c59
Adjust mode latch time, timer hsync signalling.
2024-10-15 11:53:00 -04:00
Thomas Harte
0f1714de7c
Merge pull request #1409 from TomHarte/68000Constness
...
68000: `Const` as many arguments as possible.
2024-10-13 21:58:02 -04:00
Thomas Harte
a7d2b0f63b
Const as many arguments as possible.
2024-10-13 21:40:39 -04:00
Thomas Harte
9c550a8154
Merge pull request #1408 from TomHarte/M50740ExecutorStyle
...
Eliminate majority of M50740 macros
2024-10-10 13:46:34 -04:00
Thomas Harte
49012a21c8
Convert index macro.
2024-10-09 21:50:03 -04:00
Thomas Harte
f136151064
Transcribe op_X macros.
2024-10-09 21:46:30 -04:00
Thomas Harte
4838728521
Eliminate nibble macros.
2024-10-09 21:04:32 -04:00
Thomas Harte
95fac5dc13
Begin macro elimination.
2024-10-09 14:27:35 -04:00
Thomas Harte
ac1f7884b5
Merge pull request #1407 from TomHarte/OptionalCPMData
...
Reduce costs of CPC disk analysis by not loading unused contents.
2024-10-09 14:16:53 -04:00
Thomas Harte
ab411512d4
Merge pull request #1405 from TomHarte/CRTCFixes
...
Redraft CRTC closer to raw logic.
2024-10-09 14:14:43 -04:00
Thomas Harte
704495ff42
Made reading of data optional.
2024-10-09 12:27:51 -04:00
Thomas Harte
9acc80260f
Eliminate phases due to lack of evidence.
2024-10-09 11:59:27 -04:00
Thomas Harte
7759fb7e68
Add TODO.
2024-10-09 11:48:08 -04:00
Thomas Harte
0d71724598
Eliminate extra-scanline flag.
2024-10-09 11:45:32 -04:00
Thomas Harte
ae436f7a51
Fix conflicting usages of EOF.
2024-10-09 11:16:12 -04:00
Thomas Harte
43ac20cbd2
Fix non-interlaced frame length.
2024-10-07 21:50:56 -04:00
Thomas Harte
2d90868f5c
Reinstitute cursor.
2024-10-07 21:13:44 -04:00
Thomas Harte
60987ae4a7
Round out interlaced output.
2024-10-07 20:53:41 -04:00
Thomas Harte
65c1d99120
Add, disable some logging.
2024-10-05 22:30:53 -04:00
Thomas Harte
35acf88847
Take a swing at adding an adjustment period.
2024-10-03 22:07:46 -04:00
Thomas Harte
45549b5fcd
Switch CRTC type.
2024-10-03 22:07:12 -04:00
Thomas Harte
2eb9fb6a08
Add faulty attempt at adjustment period.
2024-09-30 23:47:27 -04:00
Thomas Harte
0d0e1083e6
Fix potential out-of-bounds access.
2024-09-30 13:37:44 -04:00
Thomas Harte
e650f3772a
Limit vertical visibility.
2024-09-30 13:35:28 -04:00
Thomas Harte
e5ff4c65b7
Fix accidental skew, off-by-one end of line.
2024-09-30 13:20:18 -04:00
Thomas Harte
276809f76a
Stabilise image, albeit incorrectly.
2024-09-30 13:16:03 -04:00
Thomas Harte
5e3840c5f1
Attempt to skirt with coherence.
2024-09-29 23:08:39 -04:00
Thomas Harte
6eace2a3ef
Improve address counting.
2024-09-27 21:27:56 -04:00
Thomas Harte
7817b23857
Take a swing at vertical sync.
2024-09-27 21:14:57 -04:00
Thomas Harte
432854aeb5
Restore some form of visuals.
2024-09-26 22:08:22 -04:00
Thomas Harte
433c8f9c3c
Make negligible progress.
2024-09-25 19:30:08 -04:00
Thomas Harte
ea25dbfd1e
Begin CRTC rejig.
2024-09-23 21:11:54 -04:00
Thomas Harte
10f8318e79
Merge pull request #1404 from TomHarte/65816SquareD
...
65816: correct emulation-mode `[d], y`, `PEI` and `PLB`.
2024-09-21 21:46:00 -04:00
Thomas Harte
17ff0c4f65
Fix PLD/PLB sizes.
2024-09-21 21:28:38 -04:00
Thomas Harte
9abd653fb9
Avoid impossible clamps.
2024-09-21 21:25:49 -04:00
Thomas Harte
ff6753fcdf
PEI: don't page wrap.
2024-09-21 21:12:04 -04:00
Thomas Harte
a65551f652
Give PLB the same stack behaviour as PLD.
2024-09-21 21:08:02 -04:00
Thomas Harte
f0d807a0fe
Fix [d], y page-wrapping behaviour.
2024-09-21 20:49:59 -04:00
Thomas Harte
dfcdbe5b6a
Merge pull request #1402 from TomHarte/CPCInterruptTiming
...
Pull CPC interrupt to start of hsync.
2024-09-12 21:12:02 -04:00
Thomas Harte
53e73238fd
Merge pull request #1403 from TomHarte/OricVSync
...
Extend Oric vsync to four lines.
2024-09-12 21:08:51 -04:00
Thomas Harte
581454db69
Tweak mode latch time too.
2024-09-12 20:47:27 -04:00
Thomas Harte
63d501b629
Pull interrupt to start of hsync.
2024-09-12 20:45:28 -04:00
Thomas Harte
60bd877ed9
Merge pull request #1401 from TomHarte/OricVSync
...
Add the Oric's v-sync hardware hack.
2024-09-10 21:18:03 -04:00
Thomas Harte
44574465c5
Extend vsync to four lines.
2024-09-10 21:06:49 -04:00
Thomas Harte
2b7382a014
Loop in vsync as a potential tape input.
2024-09-10 20:59:05 -04:00
Thomas Harte
584b6df40d
Tweak 60Hz period.
2024-09-10 20:43:01 -04:00
Thomas Harte
e55f61deb2
Add vsync getter.
2024-09-10 20:31:35 -04:00
Thomas Harte
a6c6a1c6da
Eliminate macros.
2024-09-10 20:29:34 -04:00
Thomas Harte
bdb5abe47b
Record updated version number.
2024-09-08 21:34:02 -04:00
Thomas Harte
dbe0ebc93e
Merge pull request #1400 from TomHarte/DelegateOrderTest
...
Fix order of `if` tests.
2024-09-08 21:30:44 -04:00
Thomas Harte
1c2f66e855
Fix order of if tests.
2024-09-08 21:23:58 -04:00
Thomas Harte
7eee3f9e5e
Merge pull request #1399 from TomHarte/ElectronULARedux
...
Replace Electron graphics generation with FPGA transcription.
2024-09-08 21:23:09 -04:00
Thomas Harte
b7f069e1bd
Add a colour burst.
2024-09-08 21:12:45 -04:00
Thomas Harte
51c8396e32
Fix faulty centring.
2024-09-08 21:06:59 -04:00
Thomas Harte
0efe649ca5
Post pixel clock.
2024-09-08 20:57:43 -04:00
Thomas Harte
75db0018bc
Add note on provenance.
2024-09-08 20:20:03 -04:00
Thomas Harte
2a9e1ea045
Use normal member naming convention.
2024-09-08 20:16:43 -04:00
Thomas Harte
8feb8aaadc
Reintroduce cropping, even if faulty.
2024-09-06 22:12:19 -04:00
Thomas Harte
b8f4385501
Fix palette generation.
2024-09-06 21:47:13 -04:00
Thomas Harte
d8b6d87a1c
Attempt colour.
2024-09-06 21:36:05 -04:00
Thomas Harte
f10702b3ca
Edge towards proper serialisation.
2024-09-06 21:01:30 -04:00
Thomas Harte
88248d7062
Fix base address, delays.
2024-09-06 20:55:26 -04:00
Thomas Harte
5ca1659bcc
Do just enough to get 1bpp fixed-palette pixels.
2024-09-06 20:36:27 -04:00
Thomas Harte
59530a12fd
Sub in basic transliteration of hoglet's FPGA.
2024-09-06 20:21:46 -04:00
Thomas Harte
aab2dd68b6
Substitute in a real-time video generator.
2024-09-06 20:18:29 -04:00
Thomas Harte
83f5065642
Update version.
2024-08-26 21:38:49 -04:00
Thomas Harte
7e3a331eba
Merge pull request #1394 from TomHarte/ElectronFlicker
...
Electron: don't miss interrupts early in the frame.
2024-08-26 21:28:53 -04:00
Thomas Harte
b5932edff3
Avoid missed interrupts on wraparound.
2024-08-26 21:13:49 -04:00
Thomas Harte
12846317cb
Short-circuit non-interrupts.
2024-08-26 21:13:25 -04:00
Thomas Harte
051f0546c7
Merge pull request #1393 from TomHarte/ZXAnalysis
...
Improve Spectrum +3 disk analysis.
2024-08-24 21:45:45 -04:00
Thomas Harte
eece8c54a4
Factgor out and reuse is-ZX test.
2024-08-22 21:17:35 -04:00
Thomas Harte
69ba94e379
Add some CP/M smarts to +3 disk analysis.
2024-08-20 21:43:31 -04:00
Thomas Harte
0de7057d6f
Use standard algorithm.
2024-08-20 20:45:43 -04:00
Thomas Harte
3dcbb40c55
Merge pull request #1391 from TomHarte/SSLandCSL
...
Treat second argument to key_delay as optional.
2024-08-14 19:56:18 -05:00
Thomas Harte
91b263f0cf
Treat second argument as optional.
2024-08-14 20:55:33 -04:00
Thomas Harte
bcd558867d
Merge pull request #1387 from TomHarte/SSLandCSL
...
CPC: implement CSL and SSM to run Shaker tests.
2024-08-14 19:55:18 -05:00
Thomas Harte
a9c8ef642c
Correct original author's typo.
2024-08-14 18:55:35 -04:00
Thomas Harte
43887b42b1
Allow vsync on line 0.
2024-08-07 23:05:26 -04:00
Thomas Harte
30b1b36e63
Test digits individually; CSLs autolink.
2024-08-07 22:44:48 -04:00
Thomas Harte
ef11262721
Expand test membership.
2024-08-07 22:15:43 -04:00
Thomas Harte
2d049f5fdc
Implement reset, correct file names.
2024-08-07 22:00:24 -04:00
Thomas Harte
05f0a122f4
Blank out border.
2024-08-05 22:06:23 -04:00
Thomas Harte
1977675a73
Add some measure of graphics output.
2024-08-05 21:48:40 -04:00
Thomas Harte
4ceaab7c26
Merge branch 'master' into SSLandCSL
2024-07-26 22:08:11 -04:00
Thomas Harte
6c33177548
Merge pull request #1389 from TomHarte/6502JAM
...
Correct 6502 JAM bus activity.
2024-07-26 22:07:40 -04:00
Thomas Harte
76ca607021
Add a graceful end for JAM.
2024-07-26 21:45:17 -04:00
Thomas Harte
59e1a5e5f6
Correct 6502 JAM behaviour.
2024-07-26 21:43:54 -04:00
Thomas Harte
4f55b2a554
Merge branch 'SSLandCSL' of github.com:TomHarte/CLK into SSLandCSL
2024-07-08 00:24:22 +02:00
Thomas Harte
78b2a89554
Add header for std::vector.
2024-07-08 00:20:54 +02:00
Thomas Harte
1e84a735e6
Add header for std::vector.
2024-07-08 00:18:53 +02:00
Thomas Harte
9e8801d867
Add header for std::variant.
2024-07-08 00:17:39 +02:00
Thomas Harte
0e58f7fa69
Merge branch 'master' into SSLandCSL
2024-07-05 14:54:47 -04:00
Thomas Harte
94058d498c
Merge pull request #1388 from TomHarte/6502BBSBBR
...
Correct 65c02 BBS/BBR bus activity.
2024-07-05 14:51:31 -04:00
Thomas Harte
2621bcc005
Switch to 5/6/7 BBS/BBR timing.
2024-07-05 13:44:31 -04:00
Thomas Harte
e750866ab6
Remove phoney mid-BBR/BBS access.
2024-07-02 22:01:02 -04:00
Thomas Harte
00b3007b9f
Switch byte order.
2024-07-02 21:51:00 -04:00
Thomas Harte
dbc0ecde31
Catch SSM events.
2024-06-30 21:26:16 -04:00
Thomas Harte
0e30e2d865
Add CSL side of execution.
2024-06-30 20:19:02 -04:00
Thomas Harte
ba1879ef78
Add URL credit.
2024-06-28 21:53:18 -04:00
Thomas Harte
7a145d72f9
Start Shaker test case.
2024-06-28 21:52:04 -04:00
Thomas Harte
f742266177
Add SSM code capture to CPC.
2024-06-26 21:53:11 -04:00
Thomas Harte
63737c09aa
Improve handling of compound sequences.
2024-06-20 22:13:19 -04:00
Thomas Harte
09e8d4ba0a
Do enough to parse sample files.
2024-06-18 22:16:23 -04:00
Thomas Harte
7d728c37ee
Fix comment, both grammar and content.
2024-06-18 12:56:25 -04:00
Thomas Harte
e46b12e359
Start parsing CSL.
2024-06-16 14:27:48 -04:00
Thomas Harte
b3012bd89e
Update version number.
2024-06-02 22:29:25 -04:00
Thomas Harte
f521c12d85
Merge pull request #1385 from TomHarte/VicBorders
...
CRT: accept data during retrace.
2024-06-02 22:18:25 -04:00
Thomas Harte
58f04848a9
Fix: allow allocations on invisible areas.
2024-06-02 21:59:27 -04:00
Thomas Harte
6488f46850
Normalise variable names.
2024-06-02 21:58:49 -04:00
Thomas Harte
5f4b798cff
Clarify scope of this_state.
2024-06-01 20:05:51 -04:00
Thomas Harte
ffa8f1db04
Merge pull request #1384 from TomHarte/QtArchimedes
...
Add Archimedes Qt UI options.
2024-05-31 21:25:49 -04:00
Thomas Harte
cf2711f6dd
Add Archimedes Qt UI options.
2024-05-31 21:17:56 -04:00
Thomas Harte
25eded1895
Merge pull request #1382 from TomHarte/QtRepair
...
Qt: Correct Electron target name.
2024-05-29 22:24:52 -04:00
Thomas Harte
a8ac8f4a23
Correct Electron target name.
2024-05-29 22:24:15 -04:00
Thomas Harte
c67a53e95b
Merge pull request #1381 from TomHarte/MemoryOrder
...
Avoid `std::memory_order::memory_order_X` in favour of `std::memory_order_X`.
2024-05-29 22:01:20 -04:00
Thomas Harte
edf4ba2533
Merge pull request #1380 from TomHarte/NoPairs
...
Eliminate various unnecessary uses of `std::make_pair`.
2024-05-29 21:59:59 -04:00
Thomas Harte
71d337c10e
Avoid std::memory_order::.
2024-05-29 21:51:07 -04:00
Thomas Harte
eb9e5fb727
Eliminate various unnecessary uses of std::make_pair.
2024-05-29 21:46:33 -04:00
Thomas Harte
f133000656
Update version number.
2024-05-27 15:05:47 -04:00
Thomas Harte
71361638bb
Merge pull request #1379 from TomHarte/UnambiguousRejection
...
Don't move cursor near disk to folder if not about to load something.
2024-05-27 15:05:04 -04:00
Thomas Harte
edc7fe9c72
Simplify actions.
2024-05-27 14:54:09 -04:00
Thomas Harte
3110041a06
Don't seem to move near disk folder if not loading.
2024-05-27 14:45:37 -04:00
Thomas Harte
ff78e4172d
Merge pull request #1378 from TomHarte/FastArchimedesDisks
...
Support FDC overclocking as 'fast loading'.
2024-05-26 22:19:40 -04:00
Thomas Harte
a1c23be73d
Remove development dead ends.
2024-05-26 22:03:48 -04:00
Thomas Harte
eb2b1cb093
Support FDC overclocking as 'fast loading'.
2024-05-26 22:02:40 -04:00
Thomas Harte
f2245b8066
Merge pull request #1377 from TomHarte/TidySWIs
...
Clean up, slightly.
2024-05-26 14:43:40 -04:00
Thomas Harte
793b6d1deb
Clean up, slightly.
2024-05-26 14:42:54 -04:00
Thomas Harte
537b91fa3f
Merge pull request #1374 from TomHarte/SWIAnalyser
...
Add Archimedes autostart behaviour.
2024-05-24 16:32:45 -04:00
Thomas Harte
b7777c9ca3
Avoid linkage warning.
2024-05-24 15:39:38 -04:00
Thomas Harte
5235262855
Add default value.
2024-05-24 15:29:11 -04:00
Thomas Harte
7b90c36463
Shorten clicks, ensure no lost actions.
2024-05-24 15:23:45 -04:00
Thomas Harte
6407ab0673
Clean up, improve application-menu response.
2024-05-24 14:32:55 -04:00
Thomas Harte
78ec9e5a60
Limit character range.
2024-05-23 22:31:43 -04:00
Thomas Harte
778ac6e6d1
Complete autoload loop.
2024-05-23 22:16:40 -04:00
Thomas Harte
5280f5aba2
Attempt to spot screen takeovers.
2024-05-23 22:03:40 -04:00
Thomas Harte
67add0da93
Use both sources.
2024-05-21 22:23:53 -04:00
Thomas Harte
a32da9a6e1
Restore preference against !Boot.
2024-05-21 22:12:55 -04:00
Thomas Harte
b6b70bb7ff
Add title fallbacks, ensure 'read' costs even 0.0-weight options.
2024-05-21 22:06:09 -04:00
Thomas Harte
6d769c9e89
Use string similarity as a program differentiator.
2024-05-21 21:49:30 -04:00
Thomas Harte
0c683c2c81
Merge branch 'master' into SWIAnalyser
2024-05-21 07:38:23 -04:00
Thomas Harte
8e51bd7578
Merge branch 'master' of github.com:TomHarte/CLK
2024-05-21 07:38:10 -04:00
Thomas Harte
6d6dfa4f44
Introduce Archimedes analyser tests.
2024-05-20 22:48:20 -04:00
Thomas Harte
7d044ad0ab
Merge pull request #1376 from TomHarte/Remove-macos-11
...
Eliminate macos11 runner.
2024-05-20 16:29:02 -04:00
Thomas Harte
826f4c1d48
Eliminate macos-11.
...
As per GitHub's announcement that "The macOS 11 runner image will be removed by 6/28/24"
2024-05-20 14:21:42 -04:00
Thomas Harte
3be5d60b1e
Eliminate comparison costs.
2024-05-18 22:16:58 -04:00
Thomas Harte
26375dc023
Introduce named constants.
2024-05-16 22:19:26 -04:00
Thomas Harte
8d0d7abd5a
Keep track of state separately from scanning.
2024-05-16 22:18:51 -04:00
Thomas Harte
ef03ddf2ae
Extend to launching the target program.
2024-05-14 22:23:35 -04:00
Thomas Harte
1d8b33d7ae
Attempt to improve trajectory.
2024-05-13 22:26:36 -04:00
Thomas Harte
308b3ca448
Gamely attempt to pick an Arc program to start.
2024-05-13 22:25:02 -04:00
Thomas Harte
ca67afea4c
Correct some unique-ptr oddities.
2024-05-13 21:46:03 -04:00
Thomas Harte
0b11fc259b
Add Archimedes-specific target class.
2024-05-13 21:42:38 -04:00
Thomas Harte
18ffb9294f
Add full cursor automation.
2024-05-12 22:16:29 -04:00
Thomas Harte
c82517c9fd
Add mouse position getter.
2024-05-11 13:07:12 -04:00
Thomas Harte
6d42c9aaf9
Start making leeway on interesting SWIs.
2024-05-06 22:40:00 -04:00
Thomas Harte
02ee3a7804
Turf out old debugging cruft.
2024-05-06 20:36:00 -04:00
Thomas Harte
bdf1dff976
Update version number.
2024-05-04 21:16:43 -04:00
Thomas Harte
e6724a701a
Merge pull request #1373 from TomHarte/DiskReady
...
Further adjust RDY.
2024-04-30 22:50:17 -04:00
Thomas Harte
d90eedfc8c
Adjust bit polarity, meaning.
2024-04-30 22:49:26 -04:00
Thomas Harte
63009d00b4
Merge pull request #1372 from TomHarte/DiskReady
...
Add Archimedes disk drive RDY signal.
2024-04-30 22:38:20 -04:00
Thomas Harte
6a2261d217
Merge branch 'master' into DiskReady
2024-04-30 22:38:07 -04:00
Thomas Harte
c3ad2154b5
Merge pull request #1371 from TomHarte/Interlacing
...
Support Archimedes interlaced video.
2024-04-30 22:37:48 -04:00
Thomas Harte
3d61861737
Ensure switch is complete.
2024-04-30 22:26:19 -04:00
Thomas Harte
7545786436
Ensure extra line types are used.
2024-04-30 22:22:18 -04:00
Thomas Harte
a997b6c677
Wire drives for IBM-style RDY.
2024-04-30 22:18:17 -04:00
Thomas Harte
72d4f638aa
Merge branch 'master' into Interlacing
2024-04-30 22:08:57 -04:00
Thomas Harte
b15ff6d442
Support interlaced video timing.
2024-04-30 22:06:08 -04:00
Thomas Harte
cb70967971
Merge pull request #1370 from TomHarte/Zarch
...
Add automatic runtime frame-rate limiter.
2024-04-30 22:02:06 -04:00
Thomas Harte
42aea2663c
Add automatic runtime frame-rate limiter.
2024-04-30 21:38:37 -04:00
Thomas Harte
a882faa7f6
Merge pull request #1369 from TomHarte/UnmaskedSubAddresses
...
Mildly reduce ARM/Archimedes hot-path costs.
2024-04-29 22:58:22 -04:00
Thomas Harte
5da01e4fd8
Add potential short-circuit.
2024-04-29 22:45:30 -04:00
Thomas Harte
71c5a1d419
Avoid repeated trans comparison.
2024-04-29 22:35:01 -04:00
Thomas Harte
03c3da7338
Bifurcate Zone enum, possibly to help compiler.
2024-04-29 22:34:46 -04:00
Thomas Harte
47b276ca0b
Merge pull request #1368 from TomHarte/MinorTweaks
...
Fix trans for instruction fetches.
2024-04-29 22:29:25 -04:00
Thomas Harte
c7747ec5a0
Remove a conditional from the hot path.
2024-04-29 22:16:06 -04:00
Thomas Harte
5a84e98256
Fix trans for instruction fetches.
2024-04-29 21:54:59 -04:00
Thomas Harte
b66d69b60c
Merge pull request #1367 from TomHarte/FloppyHeft
...
Slightly reduce processing heft of floppy accesses.
2024-04-28 22:49:31 -04:00
Thomas Harte
dfaea5a922
Reduce floppy access cost.
2024-04-28 22:40:54 -04:00
Thomas Harte
f4da417c3a
Merge pull request #1366 from TomHarte/VIDCDelays
...
Add various VIDC output latencies.
2024-04-28 22:39:29 -04:00
Thomas Harte
fa7fff86eb
Eject invalid specialisation.
2024-04-28 22:20:26 -04:00
Thomas Harte
d480f9eae2
Reinstate all missing video modes.
2024-04-28 21:49:04 -04:00
Thomas Harte
4f1aef90b8
Relocate pixel collection and cursor shifting.
2024-04-26 21:29:30 -04:00
Thomas Harte
24f4538eb7
Do faulty restoration of 4bpp mode.
2024-04-25 22:50:24 -04:00
Thomas Harte
38d096cad6
Begin new state machine, losing all non-cursor pixels.
2024-04-25 22:01:38 -04:00
Thomas Harte
b82af9c471
Fix vertical timing; don't miss border colour changes.
2024-04-24 20:47:11 -04:00
Thomas Harte
0bff2089c4
Merge pull request #1364 from TomHarte/SomeWarnings
...
Resolve various warnings.
2024-04-23 19:40:43 -07:00
Thomas Harte
36d9c40d7b
Yuckily avoid warning.
2024-04-23 22:23:56 -04:00
Thomas Harte
becb6ce2e0
Fix two more not-really-an-issue warnings.
2024-04-23 22:20:13 -04:00
Thomas Harte
56b65780d2
Avoid loading nonsense value upon data abort.
2024-04-22 22:09:57 -04:00
Thomas Harte
265d151879
Fix data aborts.
2024-04-22 22:08:09 -04:00
Thomas Harte
c485097eed
Fix bool combination.
2024-04-22 22:06:09 -04:00
Thomas Harte
f86e9fe086
Eliminate impossible conditional.
2024-04-22 21:58:49 -04:00
Thomas Harte
c91ce4cfea
Ensure all routes return.
2024-04-22 21:57:20 -04:00
Thomas Harte
8e64a854fc
Ensure all routes return; mildly decrease conditionals.
2024-04-22 21:56:53 -04:00
Thomas Harte
7c9383cd6b
Update version number.
2024-04-20 14:45:21 -04:00
Thomas Harte
82d03e3980
Merge pull request #1362 from TomHarte/ThreeStepPipeline
...
Introduce some degree of an ARM pipeline.
2024-04-19 19:41:46 -07:00
Thomas Harte
0775e3ad58
This is an 8-bit value.
2024-04-19 22:35:43 -04:00
Thomas Harte
ea3eef3817
Put interrupts into pipeline, without delay.
2024-04-19 22:21:23 -04:00
Thomas Harte
83eac172c9
Revoke in-pipeline interrupts.
...
I'm unclear on what timing should apply here really.
2024-04-19 21:46:09 -04:00
Thomas Harte
5b13d3e893
Attempt the prefetch portion of a pipeline.
2024-04-19 21:30:15 -04:00
Thomas Harte
807835b9fe
Merge pull request #1361 from TomHarte/Pipeline
...
Provide hooks for implementing pipeline prefetch.
2024-04-19 06:58:45 -07:00
Thomas Harte
4bf02122ee
Fix disassembler.
2024-04-18 23:17:44 -04:00
Thomas Harte
e6c4454059
Provide a means for SWI interception.
2024-04-18 22:13:58 -04:00
Thomas Harte
d464ce831a
Add did_set_pc.
2024-04-18 19:30:07 -04:00
Thomas Harte
018f0e097f
Merge pull request #1358 from TomHarte/ADFS-D
...
Ensure ADFS-D discs are recognised.
2024-04-17 23:06:49 -04:00
Thomas Harte
2acb853021
Merge pull request #1357 from TomHarte/EasyWins
...
Improve MEMC speed.
2024-04-17 22:47:04 -04:00
Thomas Harte
acd477df39
Ensure ADFS-D discs are recognised.
2024-04-17 22:44:55 -04:00
Thomas Harte
da520de9ef
Further appease GCC.
2024-04-17 22:38:32 -04:00
Thomas Harte
e680a973b0
Appease GCC with a 'default'.
2024-04-17 22:17:24 -04:00
Thomas Harte
07984a2f8b
Resolve various warnings.
2024-04-17 22:15:05 -04:00
Thomas Harte
16532136e9
Merge branch 'master' into EasyWins
2024-04-17 21:40:01 -04:00
Thomas Harte
30c2c65b77
Eliminate hot-path switch.
2024-04-17 21:36:39 -04:00
Thomas Harte
b63178132d
Move trans tests inside switch.
2024-04-17 21:29:42 -04:00
Thomas Harte
6d66c90aad
Merge pull request #1356 from TomHarte/ArchimedesGUI
...
Add macOS route to starting empty Archimedes.
2024-04-17 21:26:03 -04:00
Thomas Harte
c807c75412
Revert version change.
2024-04-17 21:25:12 -04:00
Thomas Harte
f6feaddfe6
Add macOS route to starting empty Archimedes.
2024-04-17 20:44:45 -04:00
Thomas Harte
87d1a476a4
Merge pull request #1355 from TomHarte/Archimedes
...
Add an inaccurate, basic Archimedes.
2024-04-16 22:45:42 -04:00
Thomas Harte
f7337f2400
Adopt 50%:50% tables throughout.
2024-04-16 22:45:01 -04:00
Thomas Harte
fac94a5d36
Reduce MIPS. Until other performance issues can be resolved.
2024-04-16 22:32:00 -04:00
Thomas Harte
140228a936
Mildly reduce heft of scale read.
2024-04-16 22:31:40 -04:00
Thomas Harte
06fd91f002
Fix period, table lookup.
2024-04-16 22:12:10 -04:00
Thomas Harte
c3d4d0ee38
Introduce panning, threading.
2024-04-16 21:56:34 -04:00
Thomas Harte
30cca54e6c
Diagnostically try for a square wave.
2024-04-13 22:10:34 -04:00
Thomas Harte
6ac6e48b95
Attempt audio output.
2024-04-13 21:54:50 -04:00
Thomas Harte
779794632e
Generate volume ramp.
2024-04-13 20:23:47 -04:00
Thomas Harte
88bb16f261
Install proper filter frequency.
2024-04-13 15:34:39 -04:00
Thomas Harte
c134c7bdc2
Fix: signal is 'flyback', not sync.
2024-04-10 21:53:38 -04:00
Thomas Harte
6c6cda3db5
Use clocking hints.
2024-04-09 22:22:03 -04:00
Thomas Harte
a29f246536
Move to more natural position of ownership.
2024-04-09 22:10:07 -04:00
Thomas Harte
d9d675a74f
Fix scan status scale.
2024-04-09 21:56:42 -04:00
Thomas Harte
d62ea95889
Make some intimation towards audio.
2024-04-09 21:53:40 -04:00
Thomas Harte
e2e951ad0b
Fix layout.
2024-04-09 21:49:35 -04:00
Thomas Harte
a5a653d684
Factor vsync state into IO reads.
2024-04-09 21:49:00 -04:00
Thomas Harte
6123350895
Improve state guesswork.
2024-04-09 21:24:08 -04:00
Thomas Harte
ec73c00c3b
Silence the routine stuff of interrupt masks.
2024-04-09 20:57:57 -04:00
Thomas Harte
dd24f5f4f3
Don't latch video addresses until almost the last minute.
2024-04-09 20:56:10 -04:00
Thomas Harte
82a2e802ea
Life's too short; just do it in HTML.
2024-04-08 23:11:22 -04:00
Thomas Harte
3b75eeb70a
Try two divs.
2024-04-08 22:46:45 -04:00
Thomas Harte
ee4575b70f
Attempt a div.
2024-04-08 22:45:41 -04:00
Thomas Harte
46a4ec1cb1
Reshuffle images.
2024-04-08 22:42:49 -04:00
Thomas Harte
8ab77a3260
Attempt to even out columns.
2024-04-08 22:39:14 -04:00
Thomas Harte
b875e349c1
Mention the Archimedes.
2024-04-08 22:34:08 -04:00
Thomas Harte
169298af42
Plumb through disk insertion.
...
Surprisingly: some things now load.
2024-04-08 21:15:40 -04:00
Thomas Harte
5e502df48b
Forward motor and drive selection.
2024-04-07 22:29:00 -04:00
Thomas Harte
4f58664f97
Catch interrupt enables.
2024-04-07 22:08:12 -04:00
Thomas Harte
ffd298218c
Tie off initial values; fix FIQ usage.
2024-04-07 21:58:16 -04:00
Thomas Harte
d2b077c573
Start wiring in a floppy controller.
2024-04-07 21:22:35 -04:00
Thomas Harte
547dc29a60
Remove done TODOs.
2024-04-07 15:53:42 -04:00
Thomas Harte
69aeca5c0e
Aggregate mouse deltas where possible.
2024-04-06 21:24:21 -04:00
Thomas Harte
ed7cd4b277
Fix 8bpp output, all-modes cursor.
2024-04-06 20:58:44 -04:00
Thomas Harte
7bf831e1a6
Add missing 'override'.
2024-04-06 13:51:33 -04:00
Thomas Harte
0092cb8c36
Route enough to be able to mess around.
2024-04-06 13:44:05 -04:00
Thomas Harte
543b1c644a
Wire mouse events to the relevant class.
2024-04-06 13:32:59 -04:00
Thomas Harte
cfaea7a90c
Add cursor within 4bpp pixel area.
2024-04-05 22:43:10 -04:00
Thomas Harte
b821645644
Capture cursor palette, switch horizontal field.
2024-04-05 22:01:01 -04:00
Thomas Harte
2865190499
Resolve video addressing issues.
2024-04-05 21:56:31 -04:00
Thomas Harte
3f40e409c5
Reduce debugging heft.
2024-04-04 22:16:11 -04:00
Thomas Harte
002e235d90
Force RGB mode.
2024-04-04 22:02:47 -04:00
Thomas Harte
7d8a364658
Reimplement LDM and STM.
2024-04-04 21:59:18 -04:00
Thomas Harte
41c471ca52
Add a force-user-aware accessor.
2024-04-04 20:17:44 -04:00
Thomas Harte
dd127f64fe
Simplify range.
2024-04-03 07:23:14 -04:00
Thomas Harte
b19dcfd6dc
Take another run at shifts.
2024-04-02 21:57:46 -04:00
Thomas Harte
55369464ad
Add a by-eye crop. A better answer will come.
2024-04-01 22:10:05 -04:00
Thomas Harte
609c117267
Switch to English RISC OS.
2024-04-01 21:44:42 -04:00
Thomas Harte
3b62a2fe7a
Restrict video buffer to first 512kb.
2024-04-01 21:39:10 -04:00
Thomas Harte
7c9715f00c
Change mind about carry behaviour.
2024-04-01 21:38:44 -04:00
Thomas Harte
7de92a9457
Slightly clean up shift code.
2024-04-01 21:24:49 -04:00
Thomas Harte
0866caf934
Flaws remain, but acknowledge that pixel rate is double.
2024-04-01 10:48:20 -04:00
Thomas Harte
914b88d115
Fix non-debug build.
2024-03-31 19:17:55 -04:00
Thomas Harte
cc122a7a68
Add an SWI count, to aid in logging.
2024-03-31 18:18:26 -04:00
Thomas Harte
31979649c6
As it continues to swell, factor out the junk.
2024-03-31 18:15:48 -04:00
Thomas Harte
335d13d06d
Mildly improve logging, define a few more ROMs.
2024-03-30 21:49:21 -04:00
Thomas Harte
ec785f3a8a
Add URL as comment.
2024-03-30 20:54:17 -04:00
Thomas Harte
1f83a5425e
Complete list of all currently-failing SWIs.
...
... a lot of which are probably failing correctly, i.e. they're appropriately signalling.
2024-03-30 20:48:47 -04:00
Thomas Harte
4882d6d0f2
Start adding SWI detail.
2024-03-30 15:16:48 -04:00
Thomas Harte
722743659b
Add missing space.
2024-03-29 21:52:57 -04:00
Thomas Harte
6e64a79b52
Log failed SWIs.
2024-03-29 21:31:33 -04:00
Thomas Harte
8a6bf84cff
Keyboard: log more, ignore unrecognised commands.
2024-03-29 20:54:07 -04:00
Thomas Harte
a0fdd8f4eb
Resolve magic constant.
2024-03-28 22:15:27 -04:00
Thomas Harte
bda1783624
Make new guess at non-byte IOC reads.
2024-03-28 22:10:49 -04:00
Thomas Harte
2a14557478
Be more disciplined about errant accesses.
2024-03-28 21:31:07 -04:00
Thomas Harte
0ddbc67b1f
Switch to default CMOS RAM obtained from RISC OS itself.
2024-03-28 21:23:49 -04:00
Thomas Harte
ffb5149890
Reinstate real CMOS RAM results.
2024-03-28 14:27:07 -04:00
Thomas Harte
bb339d619f
Eliminate trace test; I don't think I'm going to work it through.
2024-03-28 14:23:00 -04:00
Thomas Harte
2ed11877e8
Determine a couple of further exclusions.
2024-03-28 14:11:41 -04:00
Thomas Harte
ea6b83815b
Add a further category of exclusions.
2024-03-28 14:01:37 -04:00
Thomas Harte
740b0e35d5
Completely bypass ignored tests.
2024-03-28 11:28:37 -04:00
Thomas Harte
2e7c1acb88
Add note on confusion.
2024-03-28 10:34:46 -04:00
Thomas Harte
4fcb85d132
Cleave off most remaining reasons for failure.
2024-03-28 10:32:27 -04:00
Thomas Harte
f175dcea58
Hack in some more potential debugging help.
2024-03-27 22:37:37 -04:00
Thomas Harte
c04c708a9d
Trade some depth for breadth.
2024-03-27 22:37:10 -04:00
Thomas Harte
f4cf1e5313
Attempt to cleave by broad reason.
2024-03-27 22:36:37 -04:00
Thomas Harte
0e17f382a1
Capture further detail.
2024-03-27 22:36:03 -04:00
Thomas Harte
f38bca37a2
Take another run at MEMC.
...
I hadn't spotted that it is valid to map different logical pages to the same physical page with different protection levels.
2024-03-27 10:44:40 -04:00
Thomas Harte
166793ebe6
Reduce I2C chatter.
2024-03-26 21:54:42 -04:00
Thomas Harte
8b04d0e3ef
Enhance and better-document I2C states.
2024-03-26 21:52:29 -04:00
Thomas Harte
a3931674dc
Seemingly navigate I2C correctly.
2024-03-26 21:33:46 -04:00
Thomas Harte
bd4ef5ec57
Switch to acknowledgement-after.
2024-03-26 14:06:11 -04:00
Thomas Harte
3ba12630ab
Quieten.
2024-03-26 12:27:37 -04:00
Thomas Harte
342d90c929
Advance CMOS/I2C to a seemingly-valid read.
2024-03-26 12:24:24 -04:00
Thomas Harte
9078fc994b
Try to formalise I2C events.
2024-03-25 22:10:52 -04:00
Thomas Harte
f46af4b702
OS 3.11 seems to be able to get into BASIC.
2024-03-25 22:10:35 -04:00
Thomas Harte
b112987556
Do well enough at other colour depths.
2024-03-25 22:09:55 -04:00
Thomas Harte
fc880ac130
Double down on trans mode.
2024-03-25 21:32:56 -04:00
Thomas Harte
a2d95cb982
Shuffle notes.
2024-03-25 21:31:59 -04:00
Thomas Harte
d2776071e4
Speed up debug mode.
2024-03-25 21:31:33 -04:00
Thomas Harte
72a645ec1e
Fix trans; take further crack at MEMC permissions.
2024-03-25 15:50:59 -04:00
Thomas Harte
1154ffd072
Add a 'drive in use' indicator LED.
2024-03-25 15:03:54 -04:00
Thomas Harte
8ba9708942
Hopefully resolve the mystery of the latch writes.
2024-03-25 14:54:30 -04:00
Thomas Harte
521fca6089
Expose full bus to IOC dependents; add notes.
2024-03-25 11:07:44 -04:00
Thomas Harte
ae684edbe1
Formally decode bank/offset/type.
2024-03-25 10:16:36 -04:00
Thomas Harte
fa0a9aa611
Eliminate 'has_moved_rom_'.
2024-03-24 22:36:11 -04:00
Thomas Harte
5da9e0486a
Simplify control flow.
2024-03-24 22:30:26 -04:00
Thomas Harte
6980fd760c
Add further heavily-manual debugging aids.
2024-03-24 22:18:30 -04:00
Thomas Harte
3549488b7a
Add round-trip test for status flags.
2024-03-24 22:18:16 -04:00
Thomas Harte
c1602cc8fe
The keyboard and interrupts are currently trusted.
2024-03-23 21:49:52 -04:00
Thomas Harte
189dd176de
Reguess state machine, fixing startup display.
2024-03-23 21:38:35 -04:00
Thomas Harte
3cf262d1f7
Improve terminology, add more documentation.
2024-03-23 21:12:01 -04:00
Thomas Harte
ccfc389274
Quieten where now confident.
2024-03-23 21:03:06 -04:00
Thomas Harte
0e07f802ac
Use BACK state; accept other ACKs at any time.
2024-03-23 21:02:35 -04:00
Thomas Harte
55f92e2411
Adjust data abort address.
2024-03-23 20:31:47 -04:00
Thomas Harte
c720f3910a
Avoid implicit sign cast.
2024-03-23 20:13:25 -04:00
Thomas Harte
4215edd11b
Reduce noise.
2024-03-23 20:12:56 -04:00
Thomas Harte
09a61cf1a7
Don't expect an ACK after identifying.
2024-03-23 20:12:38 -04:00
Thomas Harte
5967ad0865
Sketch out whole protocol, albeit faulty.
2024-03-23 17:08:03 -04:00
Thomas Harte
eb34c38332
Add very faulty key input.
2024-03-23 15:58:48 -04:00
Thomas Harte
5ccb18225a
Provide key states to the keyboard.
2024-03-23 15:43:04 -04:00
Thomas Harte
58bbce1a15
Avoid display errors upon back-pressure.
2024-03-22 22:01:12 -04:00
Thomas Harte
9ea3e547ee
Fix IRQ/FIQ return addresses.
2024-03-22 21:42:34 -04:00
Thomas Harte
fb5fdc9f10
Actually apply video divider.
2024-03-22 10:24:24 -04:00
Thomas Harte
de7b7818f4
Add 4bpp output.
2024-03-22 10:18:25 -04:00
Thomas Harte
c4e6b18294
Manage pixel buffers.
2024-03-22 10:10:13 -04:00
Thomas Harte
ae6cf69449
Move responsibility for clock division; reinstate vsync interrupt.
2024-03-22 10:01:34 -04:00
Thomas Harte
4a2dcff028
Endeavour to map colours properly.
2024-03-21 21:53:50 -04:00
Thomas Harte
aa6acec8fa
Don't hoard cycles per line value.
2024-03-21 21:47:27 -04:00
Thomas Harte
4ac4da908c
Reduce TODOs, do _something_ with border colour.
2024-03-21 21:40:11 -04:00
Thomas Harte
66e62857c4
Give ostensibly clean timing to the CRT.
2024-03-21 21:29:53 -04:00
Thomas Harte
bbc0d8b050
Count time in phase correctly.
2024-03-21 21:15:25 -04:00
Thomas Harte
0f8bc416d1
Make first, faulty step into displaying a field.
2024-03-21 21:10:55 -04:00
Thomas Harte
2ec235170e
Finish the thought on magic constants.
2024-03-21 20:45:17 -04:00
Thomas Harte
2de1a2dd0d
Install and properly clock a CRT.
2024-03-21 20:41:24 -04:00
Thomas Harte
1f49c3b113
Give sound and video somewhere to read from.
2024-03-21 20:22:20 -04:00
Thomas Harte
5c645fb3c2
Switch to a fixed output clock; retain addresses.
2024-03-21 11:51:29 -04:00
Thomas Harte
40b5227f0b
Deliver all addresses to the video outputter.
2024-03-21 11:24:47 -04:00
Thomas Harte
847dba8f07
Divide input pixel rate.
2024-03-21 11:03:28 -04:00
Thomas Harte
417c6c4629
Announce changes.
2024-03-21 10:51:52 -04:00
Thomas Harte
2d6a4d490e
Add dummy retrace interrupt.
2024-03-21 10:02:56 -04:00
Thomas Harte
a6ec870872
Capture more audio detail.
2024-03-21 09:47:53 -04:00
Thomas Harte
389541be6d
Pipe further sound parameters; obey divider.
2024-03-20 14:43:47 -04:00
Thomas Harte
208f3e24de
Audio ticks are now included.
2024-03-20 14:30:21 -04:00
Thomas Harte
f7e36a1e03
Merge branch 'Archimedes' of github.com:TomHarte/CLK into Archimedes
2024-03-20 14:27:32 -04:00
Thomas Harte
1341816791
Break apart, switching to delegates for interrupts.
2024-03-20 14:26:56 -04:00
Thomas Harte
b986add74a
Break apart, switching to delegates for interrupts.
2024-03-20 14:25:20 -04:00
Thomas Harte
08673ff021
Switch to macro blocks of execution; flail around audio.
2024-03-20 11:42:37 -04:00
Thomas Harte
3a2d9c6082
Give user access to ROM; clean up a touch.
2024-03-19 20:26:17 -04:00
Thomas Harte
43a3959b8f
Don't data abort on missing low ROM.
2024-03-19 15:06:01 -04:00
Thomas Harte
85a738acff
Get rigorous on exception addresses.
2024-03-19 15:03:31 -04:00
Thomas Harte
17dbdce230
Eliminate SDL/scons targets for which brew is broken.
2024-03-19 14:27:46 -04:00
Thomas Harte
9d084782ae
Document.
2024-03-19 12:22:19 -04:00
Thomas Harte
106937b679
Run into the shifts wall with LDR/STR.
2024-03-19 12:19:49 -04:00
Thomas Harte
623eda7162
Output branches and nops correctly.
2024-03-19 11:42:41 -04:00
Thomas Harte
2ad6bb099b
Begin foray into disassembly.
2024-03-19 11:34:10 -04:00
Thomas Harte
9d858bc61b
IRQ and FIQ should also store PC+4.
2024-03-18 14:08:08 -04:00
Thomas Harte
612c9ce49a
Transfer logging responsibility.
2024-03-18 11:09:29 -04:00
Thomas Harte
64e025484a
Adjust means of waiting out address.
2024-03-17 22:14:07 -04:00
Thomas Harte
7b1f800387
Extend I2C state machine.
2024-03-17 21:55:19 -04:00
Thomas Harte
2712d50e05
Attempt some inspection.
2024-03-16 22:02:16 -04:00
Thomas Harte
47e9279bd4
Add a target for I2C activity.
2024-03-16 15:00:23 -04:00
Thomas Harte
635efd0212
Clear keyboard interrupts.
2024-03-15 23:19:26 -04:00
Thomas Harte
1c1d2891c7
Adjust IRQ/FIQ return addresses.
2024-03-15 21:59:38 -04:00
Thomas Harte
1979d2e5ba
Don't set interrupt flags before capture.
2024-03-15 21:34:39 -04:00
Thomas Harte
c25d0e8843
Correctly capture mode upon exception.
2024-03-15 18:39:56 -04:00
Thomas Harte
3a899ea4be
Add test coverage for STM descending, proving nothing.
2024-03-15 14:55:17 -04:00
Thomas Harte
9d08282e28
Add enough of a keyboard to respond to reset.
2024-03-15 10:57:18 -04:00
Thomas Harte
18154278d1
Add minor note on where next.
2024-03-14 21:54:20 -04:00
Thomas Harte
9063852857
Undo spurious text change.
2024-03-14 21:16:38 -04:00
Thomas Harte
bc27e3998d
Fix downward block data transfers.
2024-03-14 21:09:51 -04:00
Thomas Harte
19fa0b8945
Shush logging, momentarily.
2024-03-14 10:53:38 -04:00
Thomas Harte
4987bdfec9
Throw less.
2024-03-14 10:43:51 -04:00
Thomas Harte
0e4615564d
Make bit masks easily testable; expand logging.
2024-03-13 14:31:26 -04:00
Thomas Harte
7aeea535a1
Reduce branchiness.
2024-03-13 11:02:52 -04:00
Thomas Harte
6b18d775ab
Eliminate unused variables.
2024-03-12 21:53:26 -04:00
Thomas Harte
2ed031e440
Prepare for additional devices.
2024-03-12 21:23:22 -04:00
Thomas Harte
5d6bb11eb7
Add return.
2024-03-12 11:37:15 -04:00
Thomas Harte
c6b91559e1
Attempt to wire up timer interrupts.
2024-03-12 11:34:31 -04:00
Thomas Harte
6efc41ded7
Come to conclusion on R15; fix link values.
2024-03-12 10:42:09 -04:00
Thomas Harte
e9c5582fe1
Add note on ambiguity to be resolved.
2024-03-12 10:04:02 -04:00
Thomas Harte
8b3c0abe93
Take another swing at R15 as a destination.
2024-03-12 09:13:05 -04:00
Thomas Harte
a5ebac1b29
Add RISC OS 3.11 to catalogue, while bug hunting.
2024-03-11 22:19:14 -04:00
Thomas Harte
1ccfae885c
Remove extra slashes.
2024-03-11 15:06:17 -04:00
Thomas Harte
971bfb2ecb
Unify subtractions.
2024-03-11 14:52:48 -04:00
Thomas Harte
e7457461ba
Reduce magic constants.
2024-03-11 14:49:03 -04:00
Thomas Harte
e8c1e8fd3f
Fix RSB carry; unify set_pc.
2024-03-11 14:48:43 -04:00
Thomas Harte
ca779bc841
Expand test set.
2024-03-11 14:48:18 -04:00
Thomas Harte
a28c97c0de
Simplify privilege test.
2024-03-11 12:14:00 -04:00
Thomas Harte
db49146efe
Figure out what's going on with TEQ.
2024-03-11 09:51:09 -04:00
Thomas Harte
830d70d3aa
Trust tests on immediate-opcode ROR 0; limit shift by register.
2024-03-10 23:38:31 -04:00
Thomas Harte
336292bc49
Further correct R15 as a destination.
2024-03-10 22:56:02 -04:00
Thomas Harte
bd62228cc6
The test set doesn't seem to do word rotation.
2024-03-10 22:40:37 -04:00
Thomas Harte
ccdd340c9a
Reads also may or may not be aligned. *sigh*
2024-03-10 22:34:56 -04:00
Thomas Harte
0b42f5fb30
Make further test-set allowances.
2024-03-10 22:29:40 -04:00
Thomas Harte
e9e1db7a05
Change LDR writeback to destination.
2024-03-10 22:29:19 -04:00
Thomas Harte
21278d028c
Correct unaligned accesses.
2024-03-10 21:56:19 -04:00
Thomas Harte
fbc273f114
Add invented model for tests.
2024-03-10 21:45:56 -04:00
Thomas Harte
06a5df029d
Summarise failures.
2024-03-10 16:56:39 -04:00
Thomas Harte
e17700b495
Permit digression for 03110002, temporarily.
2024-03-10 14:47:02 -04:00
Thomas Harte
655b1e516c
Test PSR and PC.
2024-03-10 14:14:18 -04:00
Thomas Harte
4e7a63f792
Do a de minimis checking of memory accesses.
2024-03-09 15:18:35 -05:00
Thomas Harte
a2896b9bd0
Test register values.
2024-03-09 15:11:12 -05:00
Thomas Harte
a4cf86268e
Provide full access to stored registers.
2024-03-09 15:11:04 -05:00
Thomas Harte
d059e7c5d8
Disallow copying.
2024-03-09 15:10:55 -05:00
Thomas Harte
d6f882a8bb
Integrate PC and PSR, guarantee invisible register values.
2024-03-09 14:59:44 -05:00
Thomas Harte
08f50f3eff
Box in flags.
2024-03-08 23:01:29 -05:00
Thomas Harte
47f7340dfc
Start hacking in some ARM tests.
2024-03-08 22:54:42 -05:00
Thomas Harte
fdef8901ab
Double down on uint32_t.
2024-03-08 14:13:34 -05:00
Thomas Harte
ca1c3dc005
Add extra comments.
...
To persuade myself in the future.
2024-03-08 11:36:17 -05:00
Thomas Harte
9406a97141
Add some register switch tests.
2024-03-08 11:34:10 -05:00
Thomas Harte
a46ec4cffb
Up clock rate to 24Mhz.
2024-03-07 22:16:58 -05:00
Thomas Harte
9bb5dc3c2b
Fix inclusive range.
2024-03-07 19:40:34 -05:00
Thomas Harte
f6ea442606
Include various debugging detritus.
2024-03-07 14:28:39 -05:00
Thomas Harte
fa8fcd2218
Take another swing at popcount.
2024-03-07 14:28:31 -05:00
Thomas Harte
2a36d0fcbc
Adjust user-mode test.
2024-03-07 14:00:38 -05:00
Thomas Harte
0e92885ed5
Fix ad hoc popcount; ARM does carry 'backwards'.
2024-03-07 13:27:41 -05:00
Thomas Harte
f5225b69e5
Add note to self.
2024-03-07 11:48:44 -05:00
Thomas Harte
15ee84b2eb
Fix MUL ambiguity.
2024-03-07 11:45:39 -05:00
Thomas Harte
d380cecdb7
Add timers that count.
2024-03-07 11:39:26 -05:00
Thomas Harte
ae3cd924e8
Add a 2Mhz tick for timers.
2024-03-07 11:12:40 -05:00
Thomas Harte
a0f0f73bde
Fix MOV as unconditional branch.
2024-03-07 10:31:26 -05:00
Thomas Harte
7cdceb7b4f
Add a specific shout-out on prefetch abort, for debugging.
2024-03-07 10:23:46 -05:00
Thomas Harte
38b5624639
Add a little more VIDC detail.
2024-03-07 10:05:22 -05:00
Thomas Harte
3405b3b287
Add power-on bit, moving problems forward.
2024-03-06 22:14:56 -05:00
Thomas Harte
173fc9329a
Add a little protection logic.
2024-03-06 22:00:34 -05:00
Thomas Harte
691a42d81e
Attempt some logical mapping.
2024-03-06 21:51:19 -05:00
Thomas Harte
4059905f85
Slightly reorder messaging.
2024-03-06 16:45:17 -05:00
Thomas Harte
bbb520fd12
Transcribe some notes.
2024-03-06 15:31:07 -05:00
Thomas Harte
108a056f1c
Execution now runs into a prefetch abort loop.
2024-03-06 15:05:24 -05:00
Thomas Harte
ed92e98ca2
Start looking at address translation.
2024-03-06 14:56:06 -05:00
Thomas Harte
0d666f9935
Get a bit more rigorous about reporting.
2024-03-06 09:54:39 -05:00
Thomas Harte
fe467be124
Further stick to existing type.
2024-03-05 10:56:09 -05:00
Thomas Harte
ba5f142515
Take further stab at TEQ PC, etc.
2024-03-05 10:55:44 -05:00
Thomas Harte
ed586e80bc
Don't write to the PC with logical operations.
2024-03-05 09:32:35 -05:00
Thomas Harte
871c5467d7
Avoid sign change.
2024-03-05 09:31:42 -05:00
Thomas Harte
387791635e
Start to establish a memory map.
2024-03-04 21:43:06 -05:00
Thomas Harte
b7a1363add
Add an incorrect execution loop.
2024-03-04 21:09:24 -05:00
Thomas Harte
341b705bef
Remove pointless check.
2024-03-04 14:11:44 -05:00
Thomas Harte
0b65aa39cd
Add explicit assignment operator.
2024-03-04 14:09:53 -05:00
Thomas Harte
1b7c3644f4
Eliinate meaningless 'const'.
2024-03-04 14:09:27 -05:00
Thomas Harte
0cdca12e06
Resolve type mismatches.
2024-03-04 13:53:46 -05:00
Thomas Harte
61d4c69e45
Fix template parameter reference.
2024-03-04 13:25:40 -05:00
Thomas Harte
79865e295b
Avoid ambiguous template parameter; use standard type.
2024-03-04 12:20:40 -05:00
Thomas Harte
1f43047de8
Loop the ARM executor into the build.
2024-03-04 12:08:46 -05:00
Thomas Harte
6f0ad0ab71
Add an empty Archimedes shell.
2024-03-04 12:06:43 -05:00
Thomas Harte
447734b1e9
Merge pull request #1354 from TomHarte/Acorn
...
Reorganise 'Electron' under 'Acorn'.
2024-03-04 11:55:56 -05:00
Thomas Harte
3e80651a0e
Collect 'Electron' under 'Acorn'.
2024-03-04 11:31:25 -05:00
Thomas Harte
692a9da2e4
Merge pull request #1353 from TomHarte/ArchmidesAnalysis
...
Add a through path for Archimedes disk images.
2024-03-04 10:57:19 -05:00
Thomas Harte
e27312c980
Add to machine lists.
2024-03-04 10:19:06 -05:00
Thomas Harte
eae92a0cdb
Add a through path for Archimedes disk images.
2024-03-04 10:13:57 -05:00
Thomas Harte
95cc34ba23
Merge pull request #1352 from TomHarte/ByeByeActive
...
Obscure storage for active registers.
2024-03-03 22:09:34 -05:00
Thomas Harte
7532b461cd
Merge pull request #1351 from TomHarte/PositiveExpression
...
Express offset test as positive logic.
2024-03-03 22:03:37 -05:00
Thomas Harte
230e9c6327
Obscure active.
2024-03-03 21:43:30 -05:00
Thomas Harte
11c4d2f09e
Add further exposition.
2024-03-03 21:38:27 -05:00
Thomas Harte
f2db1b4aae
Merge branch 'TiedDown' into PositiveExpression
2024-03-03 21:31:26 -05:00
Thomas Harte
b42a6e447d
Tie down more corners.
2024-03-03 21:29:53 -05:00
Thomas Harte
8a83d71560
Fix condition.
2024-03-03 14:40:05 -05:00
Thomas Harte
9fd7d5c10f
Switch test and meaning.
2024-03-03 14:34:21 -05:00
Thomas Harte
7a5ed6c427
Merge pull request #1350 from TomHarte/ArchimedesROM
...
Add RISC OS catalogue entry; do some basic ARM debugging.
2024-03-03 14:32:25 -05:00
Thomas Harte
4e7963ee81
Clarify PC semantics; remove faulty underscore.
2024-03-03 14:11:02 -05:00
Thomas Harte
945b7e90da
Add just enough to persuade self that execution is broadly sane.
2024-03-03 14:03:08 -05:00
Thomas Harte
99f0233b76
Fix immediate offset and data processing operation.
2024-03-02 23:27:37 -05:00
Thomas Harte
62da0dee7f
Unify reads.
2024-03-02 23:15:17 -05:00
Thomas Harte
1663d3d9d1
Introduce disaster of an attempted test run.
2024-03-02 22:40:12 -05:00
Thomas Harte
37499d493a
Fix model name.
2024-03-02 21:47:09 -05:00
Thomas Harte
c0dd96eb7c
Add a catalogue entry for RISC OS.
2024-03-02 21:44:27 -05:00
Thomas Harte
2abae4c8bf
Merge pull request #1349 from TomHarte/BarrelShifterTests
...
Introduce barrel-shifter tests.
2024-03-02 15:24:06 -05:00
Thomas Harte
c865da67e0
Introduce further barrel-shifter tests.
2024-03-02 15:12:03 -05:00
Thomas Harte
e6f77a9b80
Add logical right-shift tests.
2024-03-01 18:06:54 -05:00
Thomas Harte
7b28b3d634
Merge pull request #1343 from TomHarte/ARM2Ops
...
Attempt an implementation of the ARM2 instruction set.
2024-03-01 15:20:28 -05:00
Thomas Harte
42ba6d1281
Relocate execution code appropriately.
2024-03-01 15:02:47 -05:00
Thomas Harte
85b7afd530
Attempt a complete block data transfer.
2024-03-01 14:48:36 -05:00
Thomas Harte
f2f59a4de5
Attempt to deal with data aborts.
2024-03-01 10:38:08 -05:00
Thomas Harte
5759798ad7
Deal with downward write order.
2024-02-29 14:34:20 -05:00
Thomas Harte
ab1dd7f57e
Implement a little of block data transfer.
2024-02-29 11:33:40 -05:00
Thomas Harte
53a2ea3a57
Add address exception.
2024-02-29 10:49:11 -05:00
Thomas Harte
1f1e7236be
Add rotation.
2024-02-29 10:47:41 -05:00
Thomas Harte
fd2c5b6679
Make a quick first attempt at memory accesses.
2024-02-29 10:18:09 -05:00
Thomas Harte
0b287c55d5
Edge towards single data transfer.
2024-02-29 10:02:57 -05:00
Thomas Harte
0de8240238
Merge branch 'master' into ARM2Ops
2024-02-28 22:21:31 -05:00
Thomas Harte
1449b2a2a6
Merge pull request #1347 from TomHarte/AppleIIFlashRate
...
Double Apple II flash rate.
2024-02-28 22:21:05 -05:00
Thomas Harte
0f691766ee
Double flash rate.
2024-02-28 22:13:22 -05:00
Thomas Harte
3ce05e9de1
Merge pull request #1346 from TomHarte/AppleIIReset
...
Propagate reset to the auxiliary switches.
2024-02-28 22:02:08 -05:00
Thomas Harte
98f5d0cdb7
Propagate reset to the auxiliary switches.
2024-02-28 21:36:55 -05:00
Thomas Harte
93b4008f81
Localise flags, detect improper carry write.
2024-02-28 21:28:19 -05:00
Thomas Harte
904462b881
Regularise data transfers.
2024-02-28 21:23:57 -05:00
Thomas Harte
3b320bcdef
Update coprocessor interface.
2024-02-28 14:43:31 -05:00
Thomas Harte
3368bdb99f
Document exceptions, partly for my future self.
2024-02-28 14:34:31 -05:00
Thomas Harte
4d400c3cb7
Add easy exceptions.
2024-02-28 14:25:12 -05:00
Thomas Harte
474f9da3c2
Add banked registers.
2024-02-28 14:09:05 -05:00
Thomas Harte
c49b26701f
Relocate and clarify barrel shifts.
...
With a view to independent testing.
2024-02-28 13:53:13 -05:00
Thomas Harte
9b42d35d56
Update interface.
2024-02-28 11:42:33 -05:00
Thomas Harte
645152a1fd
Implement branch.
2024-02-28 11:33:28 -05:00
Thomas Harte
487ade56ed
Add basic multiply.
2024-02-28 11:27:27 -05:00
Thomas Harte
60d1b36e9a
Implement registers side.
2024-02-28 10:25:14 -05:00
Thomas Harte
5a48c15e46
Add scheduler side of PC writeback.
2024-02-28 10:15:23 -05:00
Thomas Harte
d6bf1808f9
Take a swing at PC-as-input.
2024-02-28 09:33:05 -05:00
Thomas Harte
b676153d21
State intention to merge status with other registers.
2024-02-27 15:36:34 -05:00
Thomas Harte
a3339cf882
Fix indentation.
2024-02-27 15:30:51 -05:00
Thomas Harte
b4e0b46bac
Add notes on R15.
2024-02-27 10:04:30 -05:00
Thomas Harte
09c1b2d7db
Add missing shifts.
2024-02-27 09:55:24 -05:00
Thomas Harte
4255283e33
Deal with conditionality up front.
2024-02-26 21:36:23 -05:00
Thomas Harte
16e827bb2c
Add basic arithmetics.
2024-02-26 21:27:58 -05:00
Thomas Harte
def69ce6d5
Add notes on R15.
2024-02-26 15:12:39 -05:00
Thomas Harte
054a799699
Fill in the easy 50% of operations.
2024-02-26 15:10:00 -05:00
Thomas Harte
580f402bb6
Muddle further towards data processing.
2024-02-26 14:50:45 -05:00
Thomas Harte
030dda34f0
Start poking at implementation.
2024-02-26 14:30:26 -05:00
Thomas Harte
cd21b39f44
Merge pull request #1342 from TomHarte/ARM2Status
...
Add some degree of ARM 2 status flags.
2024-02-26 10:48:24 -05:00
Thomas Harte
481b6d0e69
Sketch out some status flags.
2024-02-25 22:01:51 -05:00
Thomas Harte
a88d41bf00
List the flags.
2024-02-25 15:21:54 -05:00
Thomas Harte
0ee3b628e8
Merge pull request #1341 from TomHarte/AYEnvelopePeriod
...
Correct envelope period for internal double-resolution.
2024-02-24 15:38:17 -05:00
Thomas Harte
45628ba9df
Merge pull request #1337 from TomHarte/ArchimedesADFs
...
Add some support for Archimedes ADF files.
2024-02-24 15:32:08 -05:00
Thomas Harte
c843c395ea
Correct envelope period for internal double-resolution.
2024-02-24 15:16:33 -05:00
Thomas Harte
9bdaf31d04
Add missing #include.
2024-02-24 15:09:40 -05:00
Thomas Harte
4ac2baeb9d
Merge pull request #1340 from ryandesign/patch-1
...
Mention Macintosh 128K and 512K in README.
2024-02-24 15:08:16 -05:00
Thomas Harte
c56e82207a
Extend .ADF support as far as my knowledge currently goes.
2024-02-24 15:07:45 -05:00
Thomas Harte
82abebec6e
Add missing #include.
2024-02-23 16:13:26 -05:00
Ryan Carsten Schmidt
60286c3a15
Mention Macintosh 128K and 512K in README.
2024-02-23 06:32:15 -06:00
Thomas Harte
8460fe2118
Flounder around file contents.
2024-02-22 22:19:19 -05:00
Thomas Harte
4b5456c9ba
Add Hugo/Nick checks.
2024-02-22 22:19:10 -05:00
Thomas Harte
ddf136556d
Add an Archimedes enum, start looking at analysis.
2024-02-22 13:51:44 -05:00
Thomas Harte
4c45f4468e
Merge pull request #1335 from TomHarte/ARMDecoding
...
Add ARM2 operation mapper.
2024-02-22 11:44:03 -05:00
Thomas Harte
73d2acca12
Moderately improve comments.
2024-02-22 11:20:22 -05:00
Thomas Harte
56a5df3783
Do the least possible manual test.
2024-02-22 10:48:19 -05:00
Thomas Harte
d205e538e1
Accept the C++ I'm in; clarify and simplify interface.
2024-02-22 10:16:54 -05:00
Thomas Harte
f9cbec668b
Add empty shell for tests.
2024-02-21 15:43:24 -05:00
Thomas Harte
6577f68efc
Complete instruction set; consolidate mapper.
2024-02-21 15:32:27 -05:00
Thomas Harte
e986ae2878
Add coprocessor data operations and register transfers.
2024-02-21 15:25:57 -05:00
Thomas Harte
b2696450d5
Bring forwards single data transfers.
2024-02-21 14:51:51 -05:00
Thomas Harte
2bbaf73aa2
Delete was is now duplicated.
2024-02-21 14:18:41 -05:00
Thomas Harte
0fe2c1406b
Start mutating towards a form that owns the switch.
2024-02-21 14:17:01 -05:00
Thomas Harte
954d920b9e
Extend what's held in the operation enum.
2024-02-20 14:14:18 -05:00
Thomas Harte
57b45076c5
Start dealing with per-instruction fields.
2024-02-17 22:13:51 -05:00
Thomas Harte
d639dc8bcb
Hit up some more = default opportunities.
2024-02-17 15:42:31 -05:00
Thomas Harte
9a74ab6a8e
Switch to actual mnenomics, temporarily(?) shrink table.
2024-02-17 15:41:57 -05:00
Thomas Harte
4c53414cc3
Merge branch 'master' into ARMDecoding
2024-02-17 08:14:18 -05:00
Thomas Harte
c36288dd6b
Merge pull request #1334 from TomHarte/EqualsDefault
...
Switch to `= default`.
2024-02-17 08:13:53 -05:00
Thomas Harte
bc5727af14
Switch to = default.
2024-02-16 21:50:15 -05:00
Thomas Harte
bd0a15c054
Start working on ARM2 decoding.
2024-02-16 21:36:07 -05:00
Thomas Harte
a758112084
Merge pull request #1333 from TomHarte/DeferredSwitches
...
Apple II: Apply deferred video actions before getting vapour value.
2024-02-16 10:08:23 -05:00
Thomas Harte
3981f3a874
Merge branch 'master' into DeferredSwitches
2024-02-16 09:19:54 -05:00
Thomas Harte
e8036127fe
Add some commentary.
2024-02-16 09:19:22 -05:00
Thomas Harte
17abd87791
Remove further !!s.
2024-02-16 08:57:43 -05:00
Thomas Harte
35545451fe
Apply applicable deferred actions before lookahead.
2024-02-16 08:56:01 -05:00
Thomas Harte
64bec0cc3d
Merge pull request #1332 from TomHarte/NoPrintf
...
Trim some printfs.
2024-02-15 21:18:43 -05:00
Thomas Harte
fadd3bc6fc
Eliminate 'unused' error.
2024-02-15 13:57:11 -05:00
Thomas Harte
d9ec11c62e
Use logger instead of printf.
2024-02-15 13:55:46 -05:00
Thomas Harte
093a029b8c
Further reduce printf footprint.
2024-02-15 13:41:35 -05:00
Thomas Harte
b4a3b23571
Eliminate use of printf.
2024-02-15 13:32:49 -05:00
Thomas Harte
be99183f1d
Remove outdated TODO.
2024-02-15 13:26:03 -05:00
Thomas Harte
dda5f41487
Merge pull request #1331 from TomHarte/IODeviceSel
2024-02-15 11:16:15 -05:00
Thomas Harte
a09457dab5
Fix IOSEL and DEVSEL assignments.
2024-02-15 10:29:30 -05:00
Thomas Harte
ac171d166e
Merge pull request #1321 from TomHarte/Mockingboard
...
Add Mockingboard support to the Apple II.
2024-02-15 10:24:39 -05:00
Thomas Harte
51de1892c0
With minor infrastructure fixes, switch Mockingboard to stereo.
2024-02-15 09:42:33 -05:00
Thomas Harte
e1fdda928a
Add Mockingboard to Qt UI.
2024-02-15 09:13:17 -05:00
Thomas Harte
1c8261dc09
Add Mockingboard to macOS UI.
2024-02-15 09:10:19 -05:00
Thomas Harte
cb22278c7f
Switch meaning of bit 2.
2024-02-15 08:54:52 -05:00
Thomas Harte
809bc9d6a8
Add TODO.
2024-02-14 22:46:57 -05:00
Thomas Harte
be11f31d5d
Support reset.
2024-02-14 22:22:42 -05:00
Thomas Harte
0103761b7b
Corrects AY audio tone.
2024-02-14 22:16:37 -05:00
Thomas Harte
3ac5fdafab
Enables AY audio, albeit underclocked.
2024-02-14 22:15:21 -05:00
Thomas Harte
1e877c7563
Add a clock to the 6522s, enable interrupts.
2024-02-14 22:01:03 -05:00
Thomas Harte
07c11e8268
Begin 6522 wiring.
2024-02-14 15:18:19 -05:00
Thomas Harte
0dcceff410
There's actually two AYs.
2024-02-14 14:31:38 -05:00
Thomas Harte
2a684ab302
Include a single AY in the mix if appropriate.
2024-02-14 10:55:53 -05:00
Thomas Harte
27059233b3
Use sample source to simplify stretching AY.
2024-02-13 22:38:18 -05:00
Thomas Harte
7f84d5ac6f
Merge branch 'master' into Mockingboard
2024-02-13 14:46:59 -05:00
Thomas Harte
d43f050922
Merge pull request #1330 from TomHarte/SampleProducingAY
...
Convert AY to a SampleSource.
2024-02-13 14:45:31 -05:00
Thomas Harte
3ba2618547
Fix formatting, add comment.
2024-02-13 13:48:31 -05:00
Thomas Harte
a3e104f8e2
Clean up commentary.
2024-02-13 13:46:27 -05:00
Thomas Harte
1bb82189e9
Add better exposition.
2024-02-13 10:57:22 -05:00
Thomas Harte
e06a66644c
Eliminate a macro.
2024-02-13 10:54:53 -05:00
Thomas Harte
6dcc13921f
Make first sweep at converting AY to a SampleSource.
2024-02-13 10:51:33 -05:00
Thomas Harte
fd45745600
Merge pull request #1328 from TomHarte/PerSampleAudio
...
Improve SampleSource infrastructure.
2024-02-12 16:38:01 -05:00
Thomas Harte
507c3da927
Sometimes avoid unnecessary zero-fills.
2024-02-12 14:33:55 -05:00
Thomas Harte
f14e45f93e
Remove various instances of ';;'.
2024-02-12 14:23:54 -05:00
Thomas Harte
3d2d9ac45e
Remove default set_sample_volume_range implementation too.
2024-02-12 14:00:08 -05:00
Thomas Harte
1895b4ee5d
Remove empty implementation, the better for debugging.
2024-02-12 13:59:03 -05:00
Thomas Harte
d49c07687c
Unify [get_/skip_]samples, adding a third option for in-place mixing.
2024-02-12 10:55:52 -05:00
Thomas Harte
3a208460e2
Reintroduce mono to stereo conversion.
2024-02-10 21:53:12 -05:00
Thomas Harte
472297e411
Merge pull request #1324 from ryandesign/cmake
...
Add CMake build system
2024-02-09 14:36:00 -05:00
Thomas Harte
25085cb5af
Require good ordering.
2024-02-09 14:34:59 -05:00
Thomas Harte
9909146c59
Fix typo.
2024-02-09 14:26:02 -05:00
Thomas Harte
609d81d75d
Distinguish sources of samples and of whole buffers.
2024-02-09 14:25:40 -05:00
Thomas Harte
c105acf1c7
Adopt a full type for stereo samples, gaining + and +=.
2024-02-09 10:48:42 -05:00
Thomas Harte
f3d0827d14
Introduce [Mono/Stereo]Sample types.
2024-02-09 09:15:48 -05:00
Thomas Harte
a4a983eb81
Promote stereo status to template parameter.
2024-02-08 15:21:47 -05:00
Thomas Harte
48be7c677e
Avoid inheritance.
2024-02-08 12:07:12 -05:00
Thomas Harte
147d817977
Use fold expression for final-answer is_stereo.
2024-02-08 11:10:08 -05:00
Thomas Harte
d481f335b8
Switch to another std::fill.
2024-02-08 10:47:05 -05:00
Thomas Harte
228012cd0c
Make a further deployment of std::fill.
2024-02-01 22:03:13 -05:00
Thomas Harte
f4d8c04f3c
Without yet much exposition, draft sample-by-sample interface.
2024-02-01 21:56:33 -05:00
Thomas Harte
c6c9be0b08
Adopt CRTP for SampleSource.
2024-02-01 21:47:44 -05:00
Thomas Harte
3827929a15
Merge branch 'master' into PerSampleAudio
2024-02-01 21:33:25 -05:00
Thomas Harte
ca7e4b3a0e
Merge pull request #1327 from ryandesign/macos-ci
...
Update CI to build on macOS 11, 12, 13, and 14.
2024-02-01 21:33:11 -05:00
Thomas Harte
fd73c24fc3
Use std::fill; update volume with slider.
2024-02-01 21:32:16 -05:00
Thomas Harte
ce0d53b277
Clean up SampleSource's getters.
2024-02-01 21:29:00 -05:00
Ryan Carsten Schmidt
7dc3b5ba06
Update CI to build on macOS 11, 12, 13, and 14.
2024-01-31 06:27:11 -06:00
Thomas Harte
17cad73177
Attempt an implementation of StretchedAudioSource.
2024-01-29 16:45:20 -05:00
Thomas Harte
b28e3eb419
Merge pull request #1326 from ryandesign/MacDown
...
Compatibility fixes in Markdown files.
2024-01-28 17:35:41 -05:00
Ryan Carsten Schmidt
d811501421
Compatibility fixes in Markdown files.
...
Improve compatibility with some Markdown readers like MacDown by adding
blank lines before lists. Blank lines around headers were added for
consistency. One header level was fixed. One code block was fixed.
2024-01-27 13:24:35 -06:00
Thomas Harte
c68dd50fde
Merge pull request #1323 from ryandesign/BUILD.md
...
Rename BUILD.txt to BUILD.md and rewrite
2024-01-25 20:38:12 -05:00
Ryan Carsten Schmidt
ad8abf2e05
Add CMake SDL builds to CI workflow.
2024-01-25 10:15:11 -06:00
Ryan Carsten Schmidt
01d9455897
Exclude *AllRAM*.cpp from CMake program sources.
...
These files serve as documentation and are used in tests.
2024-01-25 10:15:11 -06:00
Ryan Carsten Schmidt
cbf8849004
Add CMake build system, initially for SDL version.
...
See #1275
2024-01-25 10:15:05 -06:00
Ryan Carsten Schmidt
f3a7d82dc1
Update build instructions with more specifics.
...
Mention macOS version requirement; see #1179 .
2024-01-25 09:10:36 -06:00
Ryan Carsten Schmidt
017674de35
Rename BUILD.txt to BUILD.md.
2024-01-25 08:52:06 -06:00
Thomas Harte
4f211334b5
Merge pull request #1322 from ryandesign/cstring
...
Add missing include of cstring for memcpy.
2024-01-24 20:53:57 -05:00
Ryan Carsten Schmidt
31e261f7e5
Add missing include of cstring for memcpy.
2024-01-24 09:00:10 -06:00
Thomas Harte
15b5a62e01
Mockingboard: start sketching out intermediate clocking.
2024-01-23 22:05:30 -05:00
Thomas Harte
f5800aa004
Merge pull request #1320 from TomHarte/MoreTemplateElimination
...
Apply more macro elimination.
2024-01-22 21:46:19 -05:00
Thomas Harte
584aa78695
Avoid macro.
2024-01-22 21:37:04 -05:00
Thomas Harte
030f49db83
Eliminate macro.
2024-01-22 21:33:39 -05:00
Thomas Harte
cc165b65be
Switch to lambda.
2024-01-22 21:22:56 -05:00
Thomas Harte
cb125e6336
Use constexpr functions rather than macros.
2024-01-22 21:17:00 -05:00
Thomas Harte
a3337ea90f
Remove macro.
2024-01-22 21:15:44 -05:00
Thomas Harte
ae31f85f0c
Eliminate macro.
2024-01-22 21:11:15 -05:00
Thomas Harte
5e9f484662
Avoid macro.
2024-01-22 21:09:13 -05:00
Thomas Harte
f2e29357bf
Merge pull request #1318 from TomHarte/MorePragmas
...
Switch trailing files to #pragma once.
2024-01-22 14:00:51 -05:00
Thomas Harte
8a1a14ba4c
Switch trailing files to #pragma once.
2024-01-21 21:49:59 -05:00
Thomas Harte
31cbcb206f
Commit new version number.
2024-01-21 21:25:27 -05:00
Thomas Harte
bf9e913a7b
Merge pull request #1317 from TomHarte/IIgsIncludes
...
Add missing include of cstdint.
2024-01-21 21:24:43 -05:00
Thomas Harte
d3cea4a10f
Note that arguments may be unused.
2024-01-21 21:19:51 -05:00
Thomas Harte
a6df20ff84
Eliminate printf.
2024-01-21 21:19:38 -05:00
Thomas Harte
7122a9ee16
Add missing include of cstdint.
2024-01-21 21:08:04 -05:00
Thomas Harte
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 DirectAddresss.
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
cdb86022a6
Merge pull request #1148 from TomHarte/NoEmulationStack
...
Use full 16-bit stack pointer for all 'new' instructions.
2023-07-31 20:41:10 -04:00
Thomas Harte
2262725010
Reveal 16-bit stack pointer when asked, regardless of mode.
2023-07-31 17:08:02 -04:00
Thomas Harte
e61a4eb5a9
Regularise PHD and PLD.
2023-07-30 16:36:29 -04:00
Thomas Harte
acd7f9f4cd
Fix stack usage of JSL.
2023-07-30 16:34:42 -04:00
Thomas Harte
9f1a657cc4
Fix stack usage of PEA.
2023-07-30 16:33:44 -04:00
Thomas Harte
e52d1866ab
Fix PEI stack usage.
2023-07-30 16:32:56 -04:00
Thomas Harte
a02b8222fa
Fix stack usage of PER.
2023-07-30 16:29:56 -04:00
Thomas Harte
3762ee1a63
Fix stack usage of PHD.
2023-07-30 16:29:15 -04:00
Thomas Harte
3ec61e8770
Fix stack usage of RTL.
2023-07-30 16:27:13 -04:00
Thomas Harte
2f7dd0b01a
Correct stack behaviour of PLD.
2023-07-30 16:26:29 -04:00
Thomas Harte
3a02c22072
Provide an always-16bit-address route to the stack.
2023-07-30 16:25:51 -04:00
Thomas Harte
6ae967de51
Merge pull request #1147 from TomHarte/ErrantDBR
...
Remove DBR reset upon COP/BRK/IRQ/NMI; fix (d, x) addressing.
2023-07-30 16:20:34 -04:00
Thomas Harte
5d45aa4a6a
Fix seed per test.
2023-07-28 13:58:01 -04:00
Thomas Harte
0f1468adfd
Correct wrapping behaviour for (d, x).
2023-07-28 13:39:21 -04:00
Thomas Harte
e9347168e6
Don't alter the data bank upon BRK, COP, IRQ, etc.
2023-07-28 10:53:02 -04:00
Thomas Harte
3e09afbb59
Remove errant square bracket.
2023-06-21 11:57:09 -04:00
Thomas Harte
f30637a773
Merge pull request #1144 from TomHarte/Base144
...
Enhance mechanisms for display-style dispatch.
2023-06-15 21:42:59 -04:00
Thomas Harte
1d8bc41724
Shift back to original name.
2023-06-13 15:25:51 -04:00
Thomas Harte
d36a88dd11
Collect up different dispatches.
2023-06-13 15:22:53 -04:00
Thomas Harte
de5ee8f0d0
Mildly extend test.
2023-06-13 13:26:39 -04:00
Thomas Harte
6261ac24b4
Reformat SubrangeDispatcher; test.
2023-06-13 12:46:21 -04:00
Thomas Harte
b00eac4a34
Get to building.
2023-06-12 23:16:45 -04:00
Thomas Harte
6e35d84a96
Merge branch 'Base144' of github.com:TomHarte/CLK into Base144
2023-06-12 17:39:16 -04:00
Thomas Harte
d028555361
Get code up on feet, fix most obvious transgressions.
2023-06-12 16:09:02 -04:00
Thomas Harte
1aa953dd4d
Consolidate RangeDispatcher under Dispatcher's umbrella.
2023-06-12 15:52:10 -04:00
Thomas Harte
77c67ab59d
Build max into the sequencer.
2023-06-12 15:35:33 -04:00
Thomas Harte
05d2e78f80
Conversion can be a separate step.
2023-06-12 15:34:44 -04:00
Thomas Harte
837d8d29ca
Merge branch 'master' into Base144
2023-06-10 16:00:57 -04:00
Thomas Harte
8a831b1409
Import sketch for a potential range dispatcher.
2023-06-10 15:58:30 -04:00
Thomas Harte
c0547f6e14
Tidy up; forward construction arguments.
2023-06-10 15:58:13 -04:00
Thomas Harte
81e475f052
Merge pull request #1142 from aperezdc/gcc13-cstdint
...
Add missing <cstdint> includes for GCC 13
2023-06-01 17:43:18 +01:00
Thomas Harte
4e12d5a70a
Attempt to make switch sets even more obviously collapsible.
2023-05-30 16:43:22 +01:00
Thomas Harte
c630f86f33
Attempt to generalise out from the 9918's current sense of dispatching.
2023-05-29 22:56:36 +01:00
Adrian Perez de Castro
1de2631877
Add missing <cstdint> includes for GCC 13
...
Sprinkle includes of the <cstdint> header as needed to make the
build succeed with GCC 13, this fixes both with SDL and Qt builds.
2023-05-25 23:06:13 +03:00
Thomas Harte
dd3fc43bd3
Merge pull request #1141 from TomHarte/ConvertFromGrauw
...
Clean up further internal magic constants.
2023-05-19 19:52:40 -04:00
Thomas Harte
40d5bd4e58
Switch to purposive name.
2023-05-19 14:22:22 -04:00
Thomas Harte
c75efb7dac
Also allow for a potential Grauw conversion in Yamaha land.
2023-05-19 13:43:28 -04:00
Thomas Harte
d117a44069
Allow for potential Grauw offset in TMS and SMS.
2023-05-19 11:46:49 -04:00
Thomas Harte
dc425a03d3
Partially resolve.
2023-05-18 16:55:17 -04:00
Thomas Harte
ce8bd011d7
Add commentary, and TODOs.
2023-05-18 16:50:46 -04:00
Thomas Harte
c76048bff9
Formalise the idea of Grauw as a separate clock.
2023-05-18 16:37:48 -04:00
Thomas Harte
4cb7abe13d
Update old comment.
2023-05-18 16:28:05 -04:00
Thomas Harte
c445295411
Merge pull request #1140 from TomHarte/YamahaLineInterrupts
...
Move Yamaha interrupts to end of line; clean source.
2023-05-16 16:46:56 -04:00
Thomas Harte
5c51bae605
Remove unused variable.
2023-05-16 16:46:36 -04:00
Thomas Harte
8578dfbf22
Eliminate various other errant spaces.
2023-05-16 16:40:09 -04:00
Thomas Harte
f821b60430
Remove stray space.
2023-05-16 16:16:10 -04:00
Thomas Harte
8ca0d9e13a
Add a hook for when I think mode latching should occur.
2023-05-16 16:14:37 -04:00
Thomas Harte
3014c957e7
Relocate Yamaha line interrupt.
2023-05-16 13:01:23 -04:00
Thomas Harte
747dc09a80
Merge pull request #1139 from TomHarte/OtherProjects
...
Clean up SDL and Qt projects, Qt build warnings.
2023-05-15 10:18:16 -04:00
Thomas Harte
7f8f1d7e61
Avoid BASIC 2.1 requirement when running 1.1.
2023-05-15 10:17:27 -04:00
Thomas Harte
a1a7c0e253
Apply maybe_unused judiciously.
2023-05-15 10:17:04 -04:00
Thomas Harte
9342c6005f
Remove dead 68000 references.
2023-05-15 10:09:39 -04:00
Thomas Harte
14ac4da813
Accept version number.
2023-05-15 10:01:38 -04:00
Thomas Harte
b0e3bd85d6
Merge pull request #1138 from TomHarte/QtMSXUI
...
Introduce Qt options for MSX model, MSX-MUSIC.
2023-05-15 09:54:25 -04:00
Thomas Harte
9b6be2571a
Introduce Qt options for MSX model, MSX-MUSIC.
2023-05-15 09:50:22 -04:00
Thomas Harte
4ede538d36
Merge pull request #1137 from TomHarte/MX2
...
Add .MX2 as an MSX synonym of .ROM
2023-05-14 23:46:37 -04:00
Thomas Harte
8bf3d85e36
Add .MX2 as an MSX synonym of .ROM
2023-05-14 23:42:08 -04:00
Thomas Harte
ec9abbe6a7
Merge pull request #1136 from TomHarte/MSX-MUSIC
...
Add MSX-MUSIC (/FM-PAC) emulation.
2023-05-13 22:34:31 -04:00
Thomas Harte
22ac13d3f2
Set proper number of volumes.
2023-05-13 22:29:09 -04:00
Thomas Harte
413ab42b16
Add MSX-MUSIC option for macOS.
2023-05-13 22:25:50 -04:00
Thomas Harte
876fc6d1e0
Eliminate redundant line break.
2023-05-13 22:18:40 -04:00
Thomas Harte
b768e438b2
Enable MSX-MUSIC by default.
2023-05-13 22:17:09 -04:00
Thomas Harte
e1d671daf7
Avoid paying for an OPLL if not connected.
2023-05-13 22:16:42 -04:00
Thomas Harte
4989701de9
Install MSX-MUSIC ROM.
2023-05-12 23:50:43 -04:00
Thomas Harte
fed97b8d26
Add MSX-MUSIC entry.
2023-05-12 23:33:28 -04:00
Thomas Harte
e7888497b7
Add an OPLL.
2023-05-12 23:30:03 -04:00
Thomas Harte
0b53c73da8
Add additional consts.
2023-05-12 22:13:55 -04:00
Thomas Harte
a6ebfe2ce2
Add has_msx_music flag.
2023-05-12 22:09:15 -04:00
Thomas Harte
b89076cb72
Merge pull request #1135 from TomHarte/9918Cleanup
...
Adds yet more clenliness
2023-05-12 21:32:33 -04:00
Thomas Harte
50343dec43
Eliminate all whitespace-only lines.
2023-05-12 14:16:39 -04:00
Thomas Harte
28c79b2885
Eliminate redundant [space][tab] pairs.
2023-05-12 14:14:45 -04:00
Thomas Harte
60bec3d4c0
Eliminate trailing whitespace, fix tabs.
2023-05-12 14:03:38 -04:00
Thomas Harte
56de9c418f
Improve comments.
2023-05-12 13:59:52 -04:00
Thomas Harte
5bcb5fb832
Also sever command-engine state.
2023-05-12 13:57:50 -04:00
Thomas Harte
abeb361441
Gift all generators to YamahaFetcher.
2023-05-12 13:54:07 -04:00
Thomas Harte
f9cc2013a8
Start to cleave off Yamaha fetch tables.
2023-05-12 13:49:53 -04:00
Thomas Harte
e7c40eead9
Have Fetch and Draw be overt about namespaces.
2023-05-12 13:46:35 -04:00
Thomas Harte
c29d80006e
Start to organise.
2023-05-12 13:33:02 -04:00
Thomas Harte
596661bfbe
Remove errant newline.
2023-05-12 13:25:11 -04:00
Thomas Harte
7e319374b6
Consolidate StandardTiming into LineLayout.
2023-05-11 23:49:12 -04:00
Thomas Harte
7f5d129b13
Merge pull request #1134 from TomHarte/WorkingTests
...
Clean up various long-dangling issues.
2023-05-11 08:21:53 -05:00
Thomas Harte
f6acee18cc
Eliminate type-in-function-name from 6502-world.
2023-05-10 18:53:38 -05:00
Thomas Harte
3af30b1fec
Update documentation.
2023-05-10 18:46:46 -05:00
Thomas Harte
a8cc74f9fe
Further eliminate naming.
2023-05-10 18:46:21 -05:00
Thomas Harte
10cd2a36cf
Avoid type-in-function-name, Z80 edition.
2023-05-10 18:42:19 -05:00
Thomas Harte
ea50d5bda7
Eliminate dead bit reverser.
2023-05-10 17:14:39 -05:00
Thomas Harte
809cd7bca9
Remove the 68000's Mk2 suffix.
2023-05-10 17:13:01 -05:00
Thomas Harte
e56db3c4e5
Eliminate the old 68000 implementation.
2023-05-10 17:06:27 -05:00
Thomas Harte
2b56b7be0d
Simplify namespace syntax.
2023-05-10 16:02:18 -05:00
Thomas Harte
25a245e35c
Flailingly switch things until tests run.
2023-05-10 15:17:00 -05:00
Thomas Harte
882384b1f3
Disambiguate Storage.hpp.
2023-05-10 15:06:39 -05:00
Thomas Harte
5cc19f436f
Permit command-line parallel builds.
2023-05-10 15:02:07 -05:00
Thomas Harte
fd0eaa5788
Decline signing of all but release builds.
2023-05-10 15:01:02 -05:00
Thomas Harte
992a47c196
Add fallthrough annotations to Duff-esque loops.
2023-05-10 09:38:42 -05:00
Thomas Harte
8540e7a953
Add missing #include.
2023-05-10 09:37:21 -05:00
Thomas Harte
6b19bfeab2
No .cpp files remain in Components/9918
2023-05-09 17:40:14 -05:00
Thomas Harte
066e42145e
Merge branch 'master' of github.com:TomHarte/CLK
2023-05-08 21:14:14 -04:00
Thomas Harte
efe1425e8e
Accept new version number.
2023-05-08 21:14:03 -04:00
Thomas Harte
55e0742232
Merge pull request #1132 from TomHarte/MSX2Screenshot
...
Mention MSX 2, include screenshot.
2023-05-08 10:14:53 -04:00
Thomas Harte
abf92cd09e
Platform name is conventionally included.
2023-05-08 10:14:40 -04:00
Thomas Harte
73a214913a
Withdraw failed div experiment.
2023-05-08 10:13:47 -04:00
Thomas Harte
5453840d8c
Attempt to equalise column widths.
2023-05-08 10:12:35 -04:00
Thomas Harte
77078e2b7a
Fix Chromatrons reference.
2023-05-08 10:10:22 -04:00
Thomas Harte
3f1ae986cb
Cut down on borders.
2023-05-08 10:08:33 -04:00
Thomas Harte
d39d2a88f8
Futher resort.
2023-05-08 10:02:29 -04:00
Thomas Harte
6556865615
Shuffle screenshot order.
2023-05-08 10:00:40 -04:00
Thomas Harte
44779e68ee
Mention MSX 2, include screenshot.
2023-05-08 09:58:35 -04:00
Thomas Harte
54f5bae59e
Merge pull request #1131 from TomHarte/MSXLineInterrupts
...
Restrict disabled MSX line interrupt signalling.
2023-05-08 09:55:52 -04:00
Thomas Harte
e94b9f695a
Move interrupt away from buggy position.
...
Since I don't know where it's supposed to go anyway.
2023-05-08 09:50:05 -04:00
Thomas Harte
3797968870
Expose line interrupt status only when enabled.
2023-05-08 09:45:54 -04:00
Thomas Harte
9c079a6c50
Merge pull request #1130 from TomHarte/ImplicitPosition
...
Unify numbered and named slots.
2023-04-30 17:30:59 -04:00
Thomas Harte
561e2b774e
Unify numbered and named slots.
2023-04-30 17:24:14 -04:00
Thomas Harte
0cb4fec504
Merge pull request #1129 from TomHarte/FarewellCodecvt
...
Eliminate use of deprecated codecvt.
2023-04-30 17:21:43 -04:00
Thomas Harte
ec81cdd388
Eliminate codecvt.
2023-04-30 17:17:40 -04:00
Thomas Harte
8f0dc9d9a2
Eliminate use of deprecated codecvt.
2023-04-30 16:55:55 -04:00
Thomas Harte
4ebc3344cb
Merge pull request #1128 from TomHarte/SMSFetch
...
Fix base for Master System fetching.
2023-04-30 16:48:41 -04:00
Thomas Harte
6552d962ab
Fix base for Master System fetching.
2023-04-30 16:43:03 -04:00
Thomas Harte
5f151c07ea
Merge pull request #1127 from TomHarte/MapperReadback
...
Permit MSX RAM mapper readback.
2023-04-29 23:54:35 -04:00
Thomas Harte
1f4d526ea5
Permit MSX RAM mapper readback.
2023-04-29 23:48:22 -04:00
Thomas Harte
19d03dd4fd
Merge pull request #1117 from TomHarte/MSX2
...
Flesh out the MSX 2.
2023-04-27 10:00:16 -04:00
Thomas Harte
6c0feeedb4
Update Master System horizontal counter.
2023-04-26 22:49:46 -04:00
Thomas Harte
b5d9586362
Clean up some dangling timing changes.
2023-04-25 23:16:21 -04:00
Thomas Harte
8cd38094fc
Merge pull request #1126 from TomHarte/NewLineLayout
...
Definitively switch 9918 to counting cycle 0 as start-of-sync.
2023-04-25 11:26:28 -04:00
Thomas Harte
e49e98d309
Support horizontal offsets.
2023-04-24 22:43:11 -04:00
Thomas Harte
1b4df01a28
Fix missing right blank.
2023-04-24 22:23:09 -04:00
Thomas Harte
dbddcd109c
Add mention of text mode.
2023-04-23 22:38:42 -04:00
Thomas Harte
efa7d659bc
Subsume right erase.
2023-04-23 22:21:22 -04:00
Thomas Harte
5daec050dd
Adopt proper pixel-content placement.
2023-04-23 22:18:36 -04:00
Thomas Harte
f5c8eba843
Reduce duplication.
2023-04-23 22:02:41 -04:00
Thomas Harte
e5b0e666cc
Realign fetching.
2023-04-23 21:16:04 -04:00
Thomas Harte
96896f838c
Adjust layout inner loop.
2023-04-23 12:17:55 -04:00
Thomas Harte
f22aa6eb36
Simplify all namespace usages.:wq
2023-04-23 12:08:07 -04:00
Thomas Harte
6d092e0633
Restore missing semicolon.
2023-04-23 12:06:07 -04:00
Thomas Harte
6651a9c323
Use established test.
2023-04-23 12:01:33 -04:00
Thomas Harte
d40bc58e8b
Merge branch 'master' into MSX2
2023-04-23 11:58:34 -04:00
Thomas Harte
4b53082774
Merge pull request #1125 from TomHarte/CheckoutV3
...
Update checkout action.
2023-04-23 11:58:08 -04:00
Thomas Harte
8a5b7e9f47
Update checkout action.
2023-04-23 11:38:04 -04:00
Thomas Harte
12bcc2dee7
Make reasonable guesses at colour burst placement.
2023-04-22 23:11:01 -04:00
Thomas Harte
d587d80616
Transcribe Grauw's line timings.
2023-04-22 22:58:23 -04:00
Thomas Harte
0070a271f8
Merge branch 'master' into MSX2
2023-04-16 21:36:14 -04:00
Thomas Harte
d641a9c2b1
Merge pull request #1124 from TomHarte/65816Branches
...
65816: Fix test (and commentary) for shortened emulated branches.
2023-04-15 23:39:12 -04:00
Thomas Harte
ed2d4ebb0c
Fix test (and commentary) for shortened emulated branches.
2023-04-15 23:30:30 -04:00
Thomas Harte
32597b4e95
Merge branch 'master' into MSX2
2023-04-14 23:26:19 -04:00
Thomas Harte
9f198f6392
Merge pull request #1123 from TomHarte/StackRelative65816
...
65816: Fix perceived S in emulated stack-relative mode.
2023-04-14 23:26:00 -04:00
Thomas Harte
107cb18df4
Fix perceives S in emulated stack-relative mode.
2023-04-14 00:04:44 -04:00
Thomas Harte
e66c015b43
Eliminate regress for now.
2023-04-13 23:30:52 -04:00
Thomas Harte
9d99cc6115
Fix external slot placement.
2023-04-12 22:35:01 -04:00
Thomas Harte
383770515e
Avoid null dereference.
2023-04-10 23:13:36 -04:00
Thomas Harte
024b7960cb
Overtly link line and sprite buffers.
2023-04-10 23:03:39 -04:00
Thomas Harte
e0a5d9f31c
Reorient sequencers around HSYNC.
2023-04-08 15:28:49 -04:00
Thomas Harte
224c79c492
Move state.
2023-04-06 00:05:19 -04:00
Thomas Harte
278e7ba9b0
Take ownership of test choice.
2023-04-05 23:33:42 -04:00
Thomas Harte
20c1c6fdcd
Add sanity check on sprite fetches versus draws.
2023-04-03 22:46:49 -04:00
Thomas Harte
514022204e
Attempt to avoid lingering sprite elements.
2023-04-02 22:45:02 -04:00
Thomas Harte
564ee1a5cb
Fix sprites on first line of display.
2023-03-30 23:45:19 -04:00
Thomas Harte
f3c2c0ffa9
Synchronise fetch and draw sprite buffer usage.
2023-03-30 19:11:00 -04:00
Thomas Harte
931d2373a4
Attempt to make outer loop sole owner of line/sprite buffer selection.
2023-03-30 00:20:03 -04:00
Thomas Harte
de3cd9c286
Simplify namespace declaration.
2023-03-25 23:22:34 -04:00
Thomas Harte
655638656f
Elide the two fills; fix address masking.
2023-03-21 20:05:34 -04:00
Thomas Harte
7d63a50f3e
Add MSX 2 to macOS UI.
2023-03-21 20:05:10 -04:00
Thomas Harte
2bf2abf4b2
Be more overt about masking.
2023-03-19 23:00:41 -04:00
Thomas Harte
235d54bb67
Attempt but retreat from proper treatment of width.
2023-03-18 23:13:06 -04:00
Thomas Harte
e66a92d6cb
Fill in and use some parts of mode description.
2023-03-18 23:07:33 -04:00
Thomas Harte
a6251f436a
Provide commands with [unpopulated] mode parameters.
2023-03-18 13:39:47 -04:00
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
345e519e6a
Merge pull request #1122 from TomHarte/6809
...
Add experimental 6809 opcode decoder.
2023-03-17 21:25:08 -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
4a5b2fd9ba
Eliminate logged TODOs that I don't intend to action soon.
2023-03-16 22:00:47 -04:00
Thomas Harte
a5a36cb08e
Add missing status storage; capture mode 2 sprite collision locations.
2023-03-15 23:06:32 -04:00
Thomas Harte
aa4582956f
Add TODO.
2023-03-15 22:37:47 -04:00
Thomas Harte
c9543d0b36
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
2023-03-14 22:28:01 -04:00
Thomas Harte
d36c8df0c9
Eliminate redundant init.
2023-03-14 22:27:46 -04:00
Thomas Harte
f26dee16bf
Update comment.
2023-03-13 23:21:19 -04:00
Thomas Harte
131784d007
Generalise PointSet to read or write.
2023-03-13 22:51:01 -04:00
Thomas Harte
e703fa9cf8
Fetch colours in TMS character mode.
2023-03-12 23:33:29 -04:00
Thomas Harte
201a7c17ae
Avoid VDP race condition.
2023-03-12 23:20:48 -04:00
Thomas Harte
e0125e0177
Add MSX 1 diversion.
2023-03-12 23:14:24 -04:00
Thomas Harte
cc04349618
Reestablish relationship between fetch and output.
2023-03-11 22:24:11 -05:00
Thomas Harte
d46f869276
Minor style improvement.
2023-03-10 21:14:52 -05:00
Thomas Harte
9836a108da
Avoid VDP access races.
2023-03-10 21:04:55 -05:00
Thomas Harte
da944fde92
Eliminate data-type assumption.
2023-03-10 21:04:35 -05:00
Thomas Harte
c9124f13cd
Add suggested brackets.
2023-03-09 22:25:09 -05:00
Thomas Harte
ca7d34ad04
Fix ambiguous using.
2023-03-09 22:24:53 -05:00
Thomas Harte
2913368a06
Attempt YMMM.
2023-03-08 23:12:02 -05:00
Thomas Harte
82659e7924
Unify existing moves.
2023-03-08 22:36:06 -05:00
Thomas Harte
f3a84021ed
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
2023-03-08 18:28:17 -05:00
Thomas Harte
555d883227
Yamaha fetches don't require an outer switch.
2023-03-08 18:28:13 -05:00
Thomas Harte
020d9604c6
Better judge when to rotate addresses.
2023-03-08 18:27:59 -05:00
Thomas Harte
6845008fd4
Place end-of-frame interrupt appropriately.
2023-03-07 22:12:06 -05:00
Thomas Harte
cc7b209e1a
Adjust visible Y9938 area; clamp scrolled y; use proper mode 2 terminator.
2023-03-07 18:19:08 -05:00
Thomas Harte
e8404bdcc0
TODO is done, probably.
2023-03-06 22:57:53 -05:00
Thomas Harte
f8eb2199c2
Fix relative offset.
2023-03-06 22:49:21 -05:00
Thomas Harte
a13905acf9
Attempt to incorporate scroll offset into line interrupt.
2023-03-06 21:41:43 -05:00
Thomas Harte
5471979f8d
Eliminate stale TODOs.
2023-03-05 21:34:10 -05:00
Thomas Harte
5b8a5755f0
Use correct mode-7 sprite palette.
2023-03-05 21:29:04 -05:00
Thomas Harte
caaba836ba
Correct GR7 rasterisation and 6/7 collection.
2023-03-05 13:43:53 -05:00
Thomas Harte
8fc043247c
Fix column addressing in modes 6 and 7.
2023-03-04 21:39:00 -05:00
Thomas Harte
e58a488add
Rotate command-engine addresses in modes 6 and 7.
2023-03-03 23:06:52 -05:00
Thomas Harte
0ea1da10d6
Attempt to generalise moving from CPU.
2023-03-03 21:40:48 -05:00
Thomas Harte
3381e6b5aa
Switch to Duff's device.
2023-03-02 22:16:18 -05:00
Thomas Harte
4c1973adc8
Fill in missing rasterisers.
2023-03-01 23:19:33 -05:00
Thomas Harte
318cfab67d
Attempt ongoing state for vertical on/off.
2023-02-28 22:28:14 -05:00
Thomas Harte
1ef34b1f18
Clarify meaning of STOP.
2023-02-26 14:28:24 -05:00
Thomas Harte
12bd71cfe1
Allow that the next interrupt line might be in the next frame.
2023-02-26 14:23:38 -05:00
Thomas Harte
c7128f4206
Reduce logging.
2023-02-26 14:01:23 -05:00
Thomas Harte
95fd5a52ba
Use redirected palette in bitmap modes.
2023-02-26 13:59:17 -05:00
Thomas Harte
bfa167fcdf
Make attempt at the TP background-colour bit.
2023-02-26 13:42:59 -05:00
Thomas Harte
b948761f30
Detect mode 2 collisions, albeit without proper reporting.
2023-02-25 10:42:44 -06:00
Thomas Harte
dd65074bbf
Add named getters, resolving composition bug.
2023-02-25 10:32:47 -06:00
Thomas Harte
9debed25e8
Fix meaning of 'origin'.
2023-02-25 08:53:00 -06:00
Thomas Harte
1bdf9a50e6
Take a shot at Mode 2 sprite output.
2023-02-25 08:48:16 -06:00
Thomas Harte
2592dfd78f
Pile on the TODOs.
2023-02-21 22:33:47 -05:00
Thomas Harte
ef5d05db53
Scale down new-mode coordinates; add note to self.
2023-02-21 22:28:39 -05:00
Thomas Harte
6a2cda7074
Pull out and partially generalise sprite output.
...
This also provides the intended route to supporting Mode 2.
2023-02-21 22:00:00 -05:00
Thomas Harte
62d381065e
Change 9938 identification number.
2023-02-21 19:35:11 -05:00
Thomas Harte
091c1b0f45
Correct sprite attribute and colour table addresses.
2023-02-21 19:34:26 -05:00
Thomas Harte
a28b5bdeea
Only on the Sega are line interrupts disabled by a read of S#0.
2023-02-20 23:43:23 -05:00
Thomas Harte
2e45422b03
Make a further attempt at sprite colour.
2023-02-20 22:39:34 -05:00
Thomas Harte
3606f5befe
Add expansion RAM to command engine, as far as it goes.
2023-02-20 22:32:36 -05:00
Thomas Harte
44ac948bb2
Add expansion RAM, albeit not yet into the command engine.
2023-02-20 22:27:30 -05:00
Thomas Harte
4bac782121
One final (?) time with colour.
2023-02-19 22:15:59 -05:00
Thomas Harte
318109b7d5
Try again with colour.
2023-02-19 22:14:18 -05:00
Thomas Harte
6990ba9242
Fetch colour from before attribute table.
2023-02-19 22:10:22 -05:00
Thomas Harte
54be424159
Include sprite index in SpriteY event.
2023-02-19 22:04:38 -05:00
Thomas Harte
8d900cf636
Attempt a full collection of Mode 2 sprite properties.
2023-02-19 21:52:10 -05:00
Thomas Harte
6db939f48f
Create a dedicated sprite fetcher.
2023-02-19 21:37:24 -05:00
Thomas Harte
5eae11434a
Sprite mode 2: select sprites, fetch locations and names.
2023-02-18 22:56:05 -05:00
Thomas Harte
7aa8728b39
Reimagine G3 for sprite mode 2.
2023-02-18 21:50:12 -05:00
Thomas Harte
270c5dfe85
Eliminate data_block_ entirely.
2023-02-18 21:41:22 -05:00
Thomas Harte
d6e4f12fdc
Merge DataBlock and Pattern.
2023-02-18 21:34:09 -05:00
Thomas Harte
4e3e4806b9
Eliminate assert; events have overtaken this.
2023-02-17 23:01:42 -05:00
Thomas Harte
ebc596820e
Obtain the background graphics, at least, for G3.
2023-02-17 22:47:15 -05:00
Thomas Harte
b62e899039
Avoid need for shortcuts.
2023-02-17 22:34:52 -05:00
Thomas Harte
a123ef151c
Eliminate further magic ORs.
2023-02-17 22:31:21 -05:00
Thomas Harte
5b31db700b
Deduplicate 40-column text fetching.
2023-02-17 22:23:10 -05:00
Thomas Harte
8af0a2313c
Formally distinguish fetchers and sequencing.
2023-02-17 22:20:38 -05:00
Thomas Harte
88eaa4ff02
[Mostly] avoid magic address constants; avoid duplication of TMS fetching logic.
2023-02-17 21:59:39 -05:00
Thomas Harte
c140f370fe
Attempt to copy and paste my way to working type-1 sprites.
2023-02-16 22:46:19 -05:00
Thomas Harte
023da1970a
Label all character events with IDs.
2023-02-16 22:21:24 -05:00
Thomas Harte
211e145230
Make room for an ID field on Event.
2023-02-16 22:10:16 -05:00
Thomas Harte
bbccc5d6d6
Route other holdover TMS modes through the Yamaha logic.
2023-02-16 22:07:18 -05:00
Thomas Harte
dbfc9a14aa
Introduce SMS fetcher, eliminating all macros.
2023-02-16 22:01:20 -05:00
Thomas Harte
9630a1bc39
Use a fetcher for character modes.
2023-02-16 13:15:18 -05:00
Thomas Harte
3847c9c281
Add missing underscore.
2023-02-15 21:22:51 -05:00
Thomas Harte
3f2a5929a3
Consolidate text output and support blinking; add sprites-enabled flag.
2023-02-15 20:18:56 -05:00
Thomas Harte
9b71f42375
Collect colours.
2023-02-14 21:18:10 -05:00
Thomas Harte
9c43776392
Fix 80-column address generation.
2023-02-14 21:14:35 -05:00
Thomas Harte
35a0a1447e
Further clarify different usages of storage.
2023-02-14 20:23:17 -05:00
Thomas Harte
bf0ed2813c
Make faulty attempt at 80-column text.
2023-02-14 20:13:51 -05:00
Thomas Harte
1edf747f9f
Avoid flushes for video output changes.
2023-02-14 20:13:34 -05:00
Thomas Harte
f38cf91ea7
Add attempt to detect improper usage.
2023-02-14 20:13:16 -05:00
Thomas Harte
5c7367b262
Route Yamaha 40-column text mode appropriately.
2023-02-13 22:24:39 -05:00
Thomas Harte
c1457cc5e0
Attempt text mode data collection.
2023-02-13 22:20:47 -05:00
Thomas Harte
169d7a7418
Fix[/revert]: the fetch pointer should be _ahead_.
2023-02-13 21:10:14 -05:00
Thomas Harte
5143960970
Add notes to self on how to collect text.
2023-02-13 21:09:31 -05:00
Thomas Harte
40894964bc
Move VerticalState to live with ScreenMode and FetchMode.
2023-02-13 09:54:29 -05:00
Thomas Harte
927e61484f
Map all events lists appropriately.
2023-02-12 23:02:51 -05:00
Thomas Harte
dce04e7219
Add a generator for character modes.
2023-02-12 22:54:08 -05:00
Thomas Harte
f5814b4c75
Add text-mode events list.
2023-02-12 22:45:11 -05:00
Thomas Harte
815a75d9b6
Extend generator to handle sprite collection.
2023-02-12 22:28:34 -05:00
Thomas Harte
4ad84e5047
Use generator for no-sprite events list.
2023-02-12 22:12:23 -05:00
Thomas Harte
8665dca7f0
Permit generator-based event-table generation.
2023-02-12 21:58:50 -05:00
Thomas Harte
41d57e03a6
Split out LineBuffer and Storage to make 9918Base more manageable.
2023-02-12 12:58:46 -05:00
Thomas Harte
914a9e0c84
Yamaha: don't touch address at all unless a RAM access.
2023-02-11 22:43:29 -05:00
Thomas Harte
8768ee1504
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
2023-02-11 22:40:03 -05:00
Thomas Harte
8e6c36bb15
Yamaha: don't part-modify address.
2023-02-11 10:35:42 -05:00
Thomas Harte
c6401f0444
Add TODO.
2023-02-07 22:28:18 -05:00
Thomas Harte
3c3efe3e22
Don't be so fussy.
2023-02-06 22:16:42 -05:00
Thomas Harte
7028bdd05d
Limit to 14 bits in old modes.
2023-02-06 22:16:31 -05:00
Thomas Harte
7cb51c021b
Observation: offset is needed only ephemerally.
2023-02-06 21:45:35 -05:00
Thomas Harte
a3df106f92
Reset write phase only upon traditional register accesses.
2023-02-06 20:32:24 -05:00
Thomas Harte
b538407386
Introduce separate state for palette entries.
2023-02-06 19:12:02 -05:00
Thomas Harte
c04d292c8e
Make this more obviously correct, albeit arbitrarily.
...
Comparing just a single bit would do.
2023-02-05 22:53:08 -05:00
Thomas Harte
f9c88fd598
Fix memory mask; mildly improve commentary.
2023-02-05 22:51:16 -05:00
Thomas Harte
7fcb1b29dd
Keep source within rectangle.
...
This gives something vaguely recognisable, sort of, for the test program I'm using.
2023-02-04 21:37:08 -05:00
Thomas Harte
6786e3e78c
Initialise to zero, for completeness.
2023-02-04 21:32:31 -05:00
Thomas Harte
67755c3811
Attempt [H/L]MMM.
2023-02-04 21:29:44 -05:00
Thomas Harte
c6372295c5
Complete ReadSourcePixel & ReadSourceByte paths.
2023-02-04 21:23:41 -05:00
Thomas Harte
a2786e6266
Invest Colour with its own logic, including potential emptiness.
2023-02-04 21:14:20 -05:00
Thomas Harte
a892523c09
Advance to the next breaking point.
2023-02-04 11:43:06 -05:00
Thomas Harte
ab595f5e8d
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
2023-02-04 11:02:10 -05:00
Thomas Harte
38950fe241
Sketch out remaining necessary @c AccessTypes.
2023-02-04 11:02:02 -05:00
Thomas Harte
46d009f27b
Add logical fill.
2023-02-04 10:31:41 -05:00
Thomas Harte
34722bae89
Start pivoting to a more natural expression of TMS patterns.
2023-02-03 23:06:27 -05:00
Thomas Harte
d41081c59f
Fix sections.
2023-02-02 21:55:00 -05:00
Thomas Harte
ec227ce021
Generalise rectangular operations.
2023-02-02 21:49:05 -05:00
Thomas Harte
83f6d1cda3
Prepare for source/destination operations.
2023-02-02 21:16:24 -05:00
Thomas Harte
6d315b4660
Switch to specifying number of bits, to reduce potential error.
2023-02-02 12:12:11 -05:00
Thomas Harte
debdad350d
Don't allow a disabled screen to interfere with Yamaha addressing.
2023-02-02 12:03:33 -05:00
Thomas Harte
0d4dc214fb
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
2023-02-02 11:38:45 -05:00
Thomas Harte
5d4c49c913
Attempt to enable high-speed fill.
2023-02-01 22:57:33 -05:00
Thomas Harte
8f5c7fcabc
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
2023-02-01 22:25:12 -05:00
Thomas Harte
115acf835e
Vertical state is actually tristate.
2023-02-01 22:25:00 -05:00
Thomas Harte
c0fec8db15
Clean up macro.
2023-02-01 15:05:21 -05:00
Thomas Harte
f0e70f18fd
Fix seeding of output_pointer_.
2023-02-01 14:59:42 -05:00
Thomas Harte
9d2841bf6a
Reenable full ram pointer capture. Thanks @PatrickvL !
2023-02-01 14:55:33 -05:00
Thomas Harte
ce6dd188a4
Double up on alignas.
2023-02-01 14:31:40 -05:00
Thomas Harte
4cc34fd557
Resolve GCC complaint.
2023-02-01 14:28:19 -05:00
Thomas Harte
3636383b1f
Silence abstract/non-virtual-destructor warning.
2023-02-01 14:20:11 -05:00
Thomas Harte
1264600bab
Shorten long lines.
2023-02-01 14:18:36 -05:00
Thomas Harte
002d27d9c2
Resolve various type conversion errors, and reduce duplication.
2023-02-01 14:17:49 -05:00
Thomas Harte
90e8ce3253
Fix lines.
...
TODO: determine whether I really need `location` as distinct from `.destination`.
2023-01-31 21:33:57 -05:00
Thomas Harte
a315384e30
Provide context for byte-by-byte commands.
2023-01-31 21:29:55 -05:00
Thomas Harte
c5c722ae56
Generalise axis steps; begin HMMV.
2023-01-31 13:35:39 -05:00
Thomas Harte
872b9e5021
Predict Yamaha horizontal retrace interrupts.
2023-01-30 21:33:47 -05:00
Thomas Harte
492a170b20
Implement much of Yamaha line interrupts.
2023-01-30 21:24:53 -05:00
Thomas Harte
30a2b1611f
Merge branch 'MSX2' of github.com:TomHarte/CLK into MSX2
2023-01-30 21:06:23 -05:00
Thomas Harte
29af5542f8
Make an effort at doing _something_ for G4.
2023-01-30 21:06:04 -05:00
Thomas Harte
bc4c54800e
Type out just a little of status register 1.
2023-01-30 20:20:33 -05:00
Thomas Harte
4c93d01fe2
Reduce logging.
2023-01-29 21:30:57 -05:00
Thomas Harte
8f20cb93e9
Note missed status accesses.
2023-01-29 21:20:50 -05:00
Thomas Harte
73e79b14ea
Use Yamaha palette pervasively.
2023-01-29 21:17:00 -05:00
Thomas Harte
3142f5c21d
Be overt about what replaces LineMode.
2023-01-29 21:04:15 -05:00
Thomas Harte
6d7f189ce7
Attempt the full panoply of logical pixel modes, across all graphics modes.
2023-01-29 18:28:49 -05:00
Thomas Harte
a91a5b8d07
Refer to actual field.
2023-01-29 18:02:09 -05:00
Thomas Harte
4cdcd3ac7d
Retain logical operation, take colour combination outside the loop.
2023-01-29 13:29:19 -05:00
Thomas Harte
0576451102
Be overt about colour direction.
2023-01-29 13:22:56 -05:00
Thomas Harte
3f12a28f4f
Locate first pixel correctly.
2023-01-28 22:50:04 -05:00
Thomas Harte
41ba883fb6
Honour direction, start transfer immediately.
2023-01-28 22:47:27 -05:00
Thomas Harte
1e646eb57b
Improve transfer flag for LMMC.
2023-01-28 21:45:05 -05:00
Thomas Harte
2d6afe1013
Reduce repetition, tidy slightly.
2023-01-28 21:43:14 -05:00
Thomas Harte
d3c446d91b
Take a shot at LMMC.
2023-01-28 21:30:45 -05:00
Thomas Harte
975ead5d01
Edge towards not assuming graphics mode. Much more to do here.
2023-01-28 13:54:26 -05:00
Thomas Harte
c6cda7c401
Switch to absolute placement of deferred events; properly serialise commands.
2023-01-28 11:55:12 -05:00
Thomas Harte
7e69e33ec2
Use paletted Yamaha border colour.
2023-01-27 22:42:02 -05:00
Thomas Harte
95e00dd958
Take slightly wrong-headed steps towards proper command timing.
2023-01-27 22:20:36 -05:00
Thomas Harte
8a673a697b
Further adapt internal terminology.
2023-01-27 12:30:09 -05:00
Thomas Harte
75ad4cdb67
Fix line semantics.
2023-01-27 11:57:40 -05:00
Thomas Harte
d42b6df570
Retain extra pattern name address bits.
2023-01-27 06:44:11 -05:00
Thomas Harte
81b00c6d97
Add notes.
2023-01-26 22:25:10 -05:00
Thomas Harte
1e5f751bc0
Require STOP in order to stop.
2023-01-26 22:08:36 -05:00
Thomas Harte
9a65fffe16
That's PSET, not POINT.
2023-01-26 22:02:40 -05:00
Thomas Harte
515fa22bfe
Implement point.
2023-01-26 21:52:41 -05:00
Thomas Harte
66ac089cc2
Deallocate.
2023-01-26 21:49:32 -05:00
Thomas Harte
5d5098acb2
Hack in vertical scrolling.
2023-01-26 21:38:51 -05:00
Thomas Harte
1bf8406e7e
Correct deserialisation order.
2023-01-26 21:34:56 -05:00
Thomas Harte
75acbd2d6c
A quick hack shows some part of the MSX logo.
2023-01-26 21:31:49 -05:00
Thomas Harte
baa6f9b3cd
Implements the Command side of the line command.
2023-01-26 21:17:11 -05:00
Thomas Harte
1c6a0ad3f7
Clean up repetition.
2023-01-26 19:51:56 -05:00
Thomas Harte
fbfa26ad5e
Minor steps towards implementing Line.
2023-01-26 12:55:08 -05:00
Thomas Harte
b12fd00145
Generate an appropriate instance for line drawing.
2023-01-26 12:09:06 -05:00
Thomas Harte
0c8815d6a0
Retain command-engine context.
2023-01-26 11:59:27 -05:00
Thomas Harte
700470915a
Add pixel serialisation for Yamaha graphics mode 5.
2023-01-24 23:07:29 -05:00
Thomas Harte
f8b42d4107
While being lazy with types, implement 4/5/6/7 fetching.
2023-01-24 13:15:00 -05:00
Thomas Harte
63bd0f918d
Be overt about buffer target and vertical position.
2023-01-24 12:46:09 -05:00
Thomas Harte
445b34933a
Edge further towards actual fetching.
2023-01-23 23:19:04 -05:00
Thomas Harte
6b85ee9607
Months seem to start at 1; also fix seeded year for MSX.
2023-01-23 22:52:26 -05:00
Thomas Harte
bbd8b011ba
Remove temporarily-faulty check.
2023-01-23 22:52:03 -05:00
Thomas Harte
15fbf4cb7f
Ensure Yamaha-style refresh is used in all modes.
2023-01-23 22:39:34 -05:00
Thomas Harte
7293f9dc10
Remove extraneous brackets, add comment to self.
2023-01-23 22:25:56 -05:00
Thomas Harte
8567c934b1
Ensure Yamaha refresh program is used.
2023-01-22 22:11:01 -05:00
Thomas Harte
2744a9b6b0
Tidy up.
2023-01-22 22:02:39 -05:00
Thomas Harte
91047e5b3a
Start attempting to use table-based Yamaha fetch.
2023-01-22 22:00:28 -05:00
Thomas Harte
c6dd7d4726
Transcribe no-sprite event list.
2023-01-22 20:19:21 -05:00
Thomas Harte
b7d80f5ed1
Copy in some notes, expand line buffer.
2023-01-21 23:04:48 -05:00
Thomas Harte
a5765abbad
Route into the Yamaha fetcher.
...
Albeit that it doesn't yet fetch.
2023-01-21 22:47:16 -05:00
Thomas Harte
696ec12516
Add address rotation for applicable modes.
2023-01-21 22:33:26 -05:00
Thomas Harte
c9734df65c
Implement extended colour, sprite and RAM pointers.
2023-01-21 20:45:23 -05:00
Thomas Harte
13e490e7d7
Log selected screen mode.
2023-01-21 14:48:55 -05:00
Thomas Harte
cefcc1d443
Expand Yamaha graphics mode recognition.
2023-01-21 14:35:26 -05:00
Thomas Harte
d1f929e6f7
Just do a multiply and divide. Easy.
2023-01-21 14:19:52 -05:00
Thomas Harte
c9643c4145
Log memory control meaningfully.
2023-01-21 14:13:02 -05:00
Thomas Harte
e289e6e757
Catch and map Yamaha palette entries.
...
It's one less thing in the uncaptured log.
2023-01-21 14:12:46 -05:00
Thomas Harte
a726c9d97a
Enable indirect register writes.
2023-01-20 23:14:57 -05:00
Thomas Harte
c77e7c268f
1 = disable, 0 = enable.
2023-01-20 23:08:41 -05:00
Thomas Harte
9c57bfd58d
Attempt to log dropped indirect writes.
2023-01-20 23:07:14 -05:00
Thomas Harte
4efda108c6
Transcribe the Yamaha 9938 register meanings.
2023-01-20 23:00:33 -05:00
Thomas Harte
191cf4829b
Attempt real blank reporting.
2023-01-20 22:29:49 -05:00
Thomas Harte
9b7a925816
Give clearer names to the two pointers.
2023-01-20 20:29:15 -05:00
Thomas Harte
392b0acb58
Pull everything out of master_system_ struct.
...
Now that it's inherently collected in the relevant `Storage`.
2023-01-19 15:09:16 -05:00
Thomas Harte
4b7606894e
Move Master System state, and start simplifying.
2023-01-19 14:09:31 -05:00
Thomas Harte
1fb94d15ab
No need for this-> ugliness in Base methods.
2023-01-19 12:32:42 -05:00
Thomas Harte
348c42bdea
Start trying to bluff my way through extended status.
2023-01-18 22:23:19 -05:00
Thomas Harte
e450e53c4e
Temporarily copy and paste my way to further logging.
2023-01-18 14:59:30 -05:00
Thomas Harte
355ee7fbc7
Adjust factoring of read and write per expanded V9938 scope.
2023-01-18 12:36:57 -05:00
Thomas Harte
339086d597
The Yamaha chips have more ports.
2023-01-17 22:29:17 -05:00
Thomas Harte
f0b1c34db2
Merge pull request #1116 from TomHarte/RP5C01
...
More fully implement the RP-5C01.
2023-01-17 22:25:17 -05:00
Thomas Harte
7b25fe5f61
Make read consistent.
2023-01-17 21:18:56 -05:00
Thomas Harte
194b5bc36a
Attempt to deal with hours correctly.
2023-01-17 21:12:00 -05:00
Thomas Harte
0951c50e40
Further explain.
2023-01-17 20:14:32 -05:00
Thomas Harte
9588c9bee2
Merge branch 'RP5C01' of github.com:TomHarte/CLK into RP5C01
2023-01-17 18:53:30 -05:00
Thomas Harte
6f973fc605
Attempt some use of NumericCoder.
2023-01-17 18:53:26 -05:00
Thomas Harte
eb51ed9ae8
Shift ownership of initial values.
2023-01-17 17:36:15 -05:00
Thomas Harte
83cf4497dd
Split encode and decode for clearer naming.
2023-01-17 17:33:52 -05:00
Thomas Harte
f6e601daff
Introduce a template for numeric coding.
2023-01-17 13:26:11 -05:00
Thomas Harte
bb6ceafe0e
Implement the easy writes.
2023-01-16 22:31:03 -05:00
Thomas Harte
55e73cb812
Implement most of reading.
2023-01-16 22:25:20 -05:00
Thomas Harte
f0db676a10
Be consistent in use of C parts.
2023-01-16 20:29:32 -05:00
Thomas Harte
32b29bd63b
Transcribe all missing registers.
2023-01-16 20:26:27 -05:00
Thomas Harte
bfe94eb268
Seed date and time with current.
2023-01-16 20:11:42 -05:00
Thomas Harte
20ec192129
Merge pull request #1114 from TomHarte/SecondarySlots
...
Add support for secondary MSX slots.
2023-01-16 20:01:21 -05:00
Thomas Harte
055e9cdf8d
Differentiate unmapped and mapped-for-handler.
2023-01-16 19:52:40 -05:00
Thomas Harte
a5b9bdc18c
Eliminate speculative apply_mapping.
2023-01-16 11:53:04 -05:00
Thomas Harte
eb51ff5cdf
Add RAM paging.
2023-01-16 11:52:08 -05:00
Thomas Harte
1769c24531
Avoid ambiguous naming.
2023-01-16 11:43:43 -05:00
Thomas Harte
1a58ddaa67
Increase notes for future self.
2023-01-15 23:12:36 -05:00
Thomas Harte
183cb519e7
Give autonomy to secondary slots.
2023-01-15 22:51:17 -05:00
Thomas Harte
68361913ee
Substitute VDP for the MSX 2.
2023-01-14 22:05:59 -05:00
Thomas Harte
ced002125e
Make a basic attempt at RAM.
2023-01-14 14:58:12 -05:00
Thomas Harte
1e17fc71ab
Add an RP-5C01 to the MSX 2.
2023-01-14 14:52:07 -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
3bc38d35c9
Fix include order.
2023-01-14 14:16:56 -05:00
Thomas Harte
4d67360702
Merge branch 'master' into SecondarySlots
2023-01-13 22:23:54 -05:00
Thomas Harte
18def0c97d
Correct extension ROM visibility.
2023-01-13 22:22:58 -05:00
Thomas Harte
84cb7df1be
Merge pull request #1115 from TomHarte/DynamicCull
...
Restore repeated lookup of timed machine under macOS.
2023-01-13 22:08:29 -05:00
Thomas Harte
97d93ad55c
Restore repeated lookup of timed machine.
...
This restores culling of abandoned parallel machines during dynamic analysis.
2023-01-13 22:02:56 -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
f0a4d1d8ec
Wire up did-page notifications.
2023-01-13 21:54:59 -05:00
Thomas Harte
fb0241cf6e
Be overt about alignment.
2023-01-13 14:30:17 -05:00
Thomas Harte
50b5122969
For an MSX 2, the extension ROM is obligatory.
2023-01-13 14:18:39 -05:00
Thomas Harte
9f450b3ccb
Expose the extension ROM to an MSX 2.
2023-01-13 14:16:12 -05:00
Thomas Harte
4190d25698
Ensure RAM is properly sized and available.
2023-01-13 14:07:54 -05:00
Thomas Harte
befc81743a
Fix base RAM mapping.
2023-01-13 09:31:56 -05:00
Thomas Harte
23ff3fc366
Ensure all routes go somewhere.
2023-01-13 08:05:12 -05:00
Thomas Harte
78ce439b9b
Add missing header; correct type.
2023-01-12 23:08:01 -05:00
Thomas Harte
ce440d52b3
Standardise name.
2023-01-12 23:02:24 -05:00
Thomas Harte
2e7e5ea12b
Fleshes out most of a cleaner memory slot layout.
2023-01-12 23:01:11 -05:00
Thomas Harte
0d8c014099
Secondary slot selections are per primary slot.
2023-01-11 13:15:00 -05:00
Thomas Harte
fee82d3baa
Fix typo.
2023-01-11 13:14:42 -05:00
Thomas Harte
76ad465030
Also seek the extension ROM for the MSX 2.
2023-01-11 12:56:09 -05:00
Thomas Harte
483ee8a74f
Add a catch for the secondary paging register.
2023-01-10 22:24:40 -05:00
Thomas Harte
520ae7f2b2
Pick generic BIOS based on machine type.
2023-01-10 22:15:01 -05:00
Thomas Harte
ae5b81c0ab
Add MSX 2 to the ROM catalogue.
2023-01-10 18:17:17 -05:00
Thomas Harte
6bd261b222
Add storage for secondary paging.
2023-01-10 18:07:31 -05:00
Thomas Harte
53bb17c848
Use model as a compile-time MSX configurator.
2023-01-10 14:55:57 -05:00
Thomas Harte
6e0f260478
Add a model field.
2023-01-10 14:52:09 -05:00
Thomas Harte
19e333d117
Merge branch 'master' into SecondarySlots
2023-01-10 14:40:49 -05:00
Thomas Harte
3352feb21b
Merge pull request #1113 from TomHarte/VDPs
...
TMS9918 &c: Eliminate hard-coded assumption of 16kb.
2023-01-10 14:40:38 -05:00
Thomas Harte
73549eb38c
Document quite a bit more, to refresh my memory.
2023-01-10 14:40:03 -05:00
Thomas Harte
dbff7592f5
Merge pull request #1112 from TomHarte/VDPs
...
Clean up TMS9918-related code.
2023-01-10 13:40:47 -05:00
Thomas Harte
4d96122884
Eliminate hard-coded assumption of 16kb.
...
Clearly I'll have to do something else to support 128k+, probably move the ram pointer?
2023-01-10 12:38:19 -05:00
Thomas Harte
9085ba4081
Update SMS VDP tests.
2023-01-09 22:58:12 -05:00
Thomas Harte
f1f16d1f9a
Clarify and simplify half_cycles_before_internal_cycles.
2023-01-09 22:55:46 -05:00
Thomas Harte
fd14829992
Avoid hand-writing all the various conversions.
2023-01-09 22:34:56 -05:00
Thomas Harte
c0fe88a5bb
Apply clock conversion to existing usages of do_external_slot.
2023-01-09 13:54:49 -05:00
Thomas Harte
4d9d684618
Add TODO on dangling hard-coded conversion.
2023-01-08 21:44:25 -05:00
Thomas Harte
a0a835cf10
Export memory size into traits.
2023-01-08 21:37:20 -05:00
Thomas Harte
ef67205ce8
Set pixel count per mode.
2023-01-08 21:31:00 -05:00
Thomas Harte
794adf470b
Break assumption that cycles = pixels; fix pixel clocking.
2023-01-08 21:25:22 -05:00
Thomas Harte
8cc20844a9
Clock convert for draw_ calls.
2023-01-08 17:31:08 -05:00
Thomas Harte
b522d65c50
Fix border lengths.
2023-01-08 17:04:19 -05:00
Thomas Harte
cb19c2ffb0
Honour internal-clocked timing constants.
2023-01-08 14:10:06 -05:00
Thomas Harte
5f6ddf8557
Avoid expressing the same thing at different clock rates.
2023-01-08 13:58:12 -05:00
Thomas Harte
72e0bfecc1
Edge towards clock-independent line composition.
2023-01-07 14:57:32 -05:00
Thomas Harte
cdf547ac82
Decline to provide synthetic text mode timing on the Mega Drive.
2023-01-07 14:37:06 -05:00
Thomas Harte
dd5b4b484a
Avoid double responsibility for state.
2023-01-07 14:34:33 -05:00
Thomas Harte
56831e02fc
Expand fixed timing constants.
2023-01-07 13:10:51 -05:00
Thomas Harte
5d2d3944ef
Make VRAM access delay a timing property.
2023-01-07 12:48:43 -05:00
Thomas Harte
f9e21df701
Avoid further hard-coded 342s.
2023-01-07 09:13:34 -05:00
Thomas Harte
bb436204f6
Merge branch 'VDPs' of github.com:TomHarte/CLK into VDPs
2023-01-07 09:10:50 -05:00
Thomas Harte
de45536b5c
Elucidate a magic constant, add an extra constexpr.
2023-01-07 09:10:41 -05:00
Thomas Harte
ebc1264c2c
Create a common home for timing information.
2023-01-06 22:39:46 -05:00
Thomas Harte
4875148617
Fill in Mega Drive numbers.
2023-01-05 14:22:51 -05:00
Thomas Harte
7a82b76911
Ensure visibility of memset.
2023-01-05 13:21:03 -05:00
Thomas Harte
27d37f71ec
Generalise and better factor bit reversal and TMS drawing.
2023-01-05 13:18:10 -05:00
Thomas Harte
c4a5a9763e
Minor indentation improvement.
2023-01-02 15:04:50 -05:00
Thomas Harte
a9f97ac871
Fix nothing-to-do test.
2023-01-02 15:04:08 -05:00
Thomas Harte
475440dc70
Update ClockConverter for potential alternative clocks.
2023-01-02 14:59:36 -05:00
Thomas Harte
dc3f8f5e42
These are the three fetchers to implement.
...
They'll look fairly different from the TMS and SMS fetchers, I think, owing to the greater irregularity that comes with the smarter RAM accesses. I might need to play around for a while.
2023-01-01 22:44:06 -05:00
Thomas Harte
459ef39b08
constexpr the TMS palette.
2023-01-01 22:34:07 -05:00
Thomas Harte
27812fd0e2
Separate fetchers into their own header.
2023-01-01 22:26:50 -05:00
Thomas Harte
38eb4d36de
Better explain cumulative nature of @c to_internal.
2023-01-01 22:18:39 -05:00
Thomas Harte
2bd20a0cf8
Add further exposition.
2023-01-01 22:17:21 -05:00
Thomas Harte
da61909ec5
Explain the purpose here.
2023-01-01 21:20:30 -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
180045ada6
Convert vram_access_delay into a free-standing function.
2023-01-01 13:51:52 -05:00
Thomas Harte
11542e7a7f
Improve const correctness, simplify inheritance.
2023-01-01 13:49:11 -05:00
Thomas Harte
71598250ea
Improve commentary.
2023-01-01 13:41:51 -05:00
Thomas Harte
e8aab1fd2a
Restore proper VDP selection.
2022-12-31 21:54:14 -05:00
Thomas Harte
ffb0b2ce0b
Eliminate runtime duplication of personality.
2022-12-31 21:50:57 -05:00
Thomas Harte
b7c315058f
Also template Base.
2022-12-31 21:47:05 -05:00
Thomas Harte
7d6eac2895
Template the TMS on its personality.
...
Template parameter currently unused, but preparatory to other improvements.
2022-12-31 15:08:33 -05:00
Thomas Harte
d79aac3081
Shuffle the personality enum into the 'public' header.
2022-12-31 15:01:11 -05:00
Thomas Harte
8d5547dc9e
Minor further style improvements.
...
... as I refamiliarise myself.
2022-12-29 22:09:14 -05:00
Thomas Harte
5d89293c92
Improve constness, primarily of reverse_table.
2022-12-29 11:29:19 -05:00
Thomas Harte
5ba97da6cd
Avoid macro.
2022-12-29 11:28:47 -05:00
Thomas Harte
37f07f349e
Merge branch 'master' into VDPs
2022-12-27 22:50:53 -05:00
Thomas Harte
711f7b2d75
C++17 makes this a single step.
2022-12-27 22:50:12 -05:00
Thomas Harte
dca8c51384
Prefer to avoid a macro.
2022-12-27 22:36:27 -05:00
Thomas Harte
462b7dcbfa
Add Mega Drive VRAM size.
2022-12-27 22:28:43 -05:00
Thomas Harte
2ab4b351ca
Extend enum.
2022-12-27 22:20:47 -05:00
Thomas Harte
4eedec50fb
Merge pull request #1111 from TomHarte/LessDynamic
...
Add note to future self.
2022-12-27 20:24:28 -05:00
Thomas Harte
ee22a98c17
Add note to future self.
2022-12-27 20:23:25 -05:00
Thomas Harte
99ced5476f
Add quick clock-rate notes.
2022-12-26 22:56:45 -05:00
Thomas Harte
cdbd821913
Merge pull request #1109 from TomHarte/68020Addressing
...
Support 68020+ long extensions.
2022-12-19 11:16:35 -05:00
Thomas Harte
8808014a85
Add AddressingMode::ExtensionWord to the executor.
2022-12-19 11:07:58 -05:00
Thomas Harte
6832cbeb31
Attempt fully to tie together 68020+ addressing.
2022-12-19 10:38:51 -05:00
Thomas Harte
08b3c42a5c
Edge further towards supporting full extension words.
2022-12-10 16:22:16 -05:00
Thomas Harte
95c526d957
Start arrangements for full extension words.
2022-11-30 16:21:35 -05:00
Thomas Harte
3f3c9f7491
Update version number.
2022-11-25 15:45:44 -05:00
Thomas Harte
6aa8400996
Merge pull request #1106 from TomHarte/JoystickModifiers
...
Ensure no dangling modifiers upon shortcut keyboard switch.
2022-11-24 16:05:10 -05:00
Thomas Harte
8ccb803b08
Ensure no dangling modifiers upon shortcut keyboard switch.
2022-11-24 15:33:30 -05:00
Thomas Harte
7ce8326c8c
Merge pull request #1105 from TomHarte/AppleIIActivity
...
Add an Apple II SCSI activity indicator.
2022-11-17 11:11:28 -05:00
Thomas Harte
28b4f51cb3
Add a SCSI activity indicator.
2022-11-16 11:31:10 -05:00
Thomas Harte
2fe6253ca8
Merge pull request #1104 from TomHarte/HDV
...
Add support for Apple II .HDV files.
2022-11-15 16:11:49 -05:00
Thomas Harte
e6ae35638b
Add HDV to Info.plist.
2022-11-15 15:20:12 -05:00
Thomas Harte
812234f695
Route HDV files appropriately.
2022-11-15 15:10:04 -05:00
Thomas Harte
b921e893a2
Redirect relevant 2MG images to HDV.
2022-11-15 15:06:24 -05:00
Thomas Harte
9b235a8f64
Create a specific container for HDV files.
2022-11-15 13:18:54 -05:00
Thomas Harte
c8a82933bc
Merge pull request #1099 from TomHarte/68020
...
Expand 68k decoder to the 68020.
2022-11-14 16:08:52 -05:00
Thomas Harte
5813e2b6c6
Round out the list of operand flags.
2022-11-14 15:58:58 -05:00
Thomas Harte
005f38dbff
Merge branch 'master' into 68020
2022-11-11 20:35:35 -05:00
Thomas Harte
b77fb50e89
Merge pull request #1103 from TomHarte/snprintf
...
Remove usage of `sprintf`.
2022-11-11 20:35:22 -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
255d2f3486
Attempt LINK.l and CHK.l.
2022-10-29 21:42:53 -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
8a8c044976
Support up to 15 extension words on a Preinstruction; use that to describe PACK/UNPK.
...
TODO: reconcile when to use that field versus the ExtensionWord operand. Probably only when operands are full?
2022-10-28 13:36:40 -04:00
Thomas Harte
e79388fc02
Codify RTM, TST, TRAPcc, Bcc, BF*.
2022-10-28 13:17:35 -04:00
Thomas Harte
f6a72dc2b4
Switch BFEXTU and BFFFO.
2022-10-27 12:13:13 -04:00
Thomas Harte
041eb79bf8
Move 68010 up into the verified area.
2022-10-27 10:52:26 -04:00
Thomas Harte
7d82b2ad12
Fix PACK operation code.
2022-10-27 10:52:07 -04:00
Thomas Harte
c2b8cbfefc
Add text conversions.
2022-10-27 10:12:52 -04:00
Thomas Harte
53140c016e
Disable bitcodes for operations that aren't otherwise yet present.
2022-10-27 10:09:16 -04:00
Thomas Harte
adbd23eaea
Having verified manually, lock in 68010 instruction set.
2022-10-27 09:55:02 -04:00
Thomas Harte
3f80df1feb
Additional TST modes become available on the 68020.
2022-10-27 09:49:20 -04:00
Thomas Harte
cabf1a052c
Fill in operand sizes and flags for the 68010 extensions.
2022-10-27 09:39:00 -04:00
Thomas Harte
8ff9f27b91
Decode MOVES.
2022-10-26 13:34:01 -04:00
Thomas Harte
ae2419e283
Decode MOVEC.
2022-10-26 12:50:15 -04:00
Thomas Harte
c1f0eed0a3
Decode MOVE from CCR.
2022-10-26 12:39:40 -04:00
Thomas Harte
4e5a80e23a
Fix model tests.
2022-10-25 22:36:00 -04:00
Thomas Harte
46fee9c53a
Add BKPT and RTD.
2022-10-25 22:35:44 -04:00
Thomas Harte
8ddf20b36a
Provide cleaner output.
2022-10-25 22:33:25 -04:00
Thomas Harte
7ba6c78d14
MOVE from CCR, MOVEC and MOVES are on the 68010.
2022-10-25 21:27:23 -04:00
Thomas Harte
fd20323c25
Refactor to permit newer-chip testing.
2022-10-25 21:27:01 -04:00
Thomas Harte
83b9fc3318
Declare TRAPcc operand size.
2022-10-25 12:20:40 -04:00
Thomas Harte
1ceabb30b0
Fully decode TRAPcc.
2022-10-25 12:19:03 -04:00
Thomas Harte
f8cb3ca8b5
Resolve transient GCC warning.
2022-10-25 10:20:06 -04:00
Thomas Harte
d8a11eaba7
Avoid explicit specialisation in non-namespace scope.
2022-10-25 10:13:12 -04:00
Thomas Harte
ab37b00356
Add model constraint to DIVS.l.
2022-10-25 10:04:36 -04:00
Thomas Harte
b4fcf92a62
Output extension words as if immediates.
2022-10-25 09:58:01 -04:00
Thomas Harte
38c531fd5a
Accept that a uint8_t isn't always going to be large enough; split decoding by minimum processor.
2022-10-25 09:50:19 -04:00
Thomas Harte
8c670d2105
Add decodes for TRAPcc and PACK, discovering it's three operand (sort of).
2022-10-23 11:46:47 -04:00
Thomas Harte
9a56d053f8
Introduce/extend 68k enums to cover 68020 instruction set.
2022-10-22 15:20:30 -04:00
Thomas Harte
79224d9383
Merge pull request #1098 from TomHarte/XcodeVersioning
...
Xcode: use built-in install build trigger for version script.
2022-10-21 15:29:54 -04:00
Thomas Harte
7c328edd4a
Use built-in install build trigger.
2022-10-21 15:28:50 -04:00
Thomas Harte
cb0e259339
Start the process of decoding 68020 operations.
2022-10-21 15:28:29 -04:00
Thomas Harte
9be9e1ab0c
Use built-in install build trigger.
2022-10-21 15:28:11 -04:00
Thomas Harte
149c940a29
Merge pull request #1097 from TomHarte/Templates
...
Tidy up 68000, primarily switching from macros to templates.
2022-10-19 22:31:28 -04:00
Thomas Harte
ad5047dbd5
Show failing operations as strings.
2022-10-19 22:25:09 -04:00
Thomas Harte
ec728ad573
Fix ADD/SUBX carry.
2022-10-19 22:17:51 -04:00
Thomas Harte
df7f94f362
Include MacintoshVolume in test build.
2022-10-19 14:41:08 -04:00
Thomas Harte
bc9ddacb8d
Improve commentary.
2022-10-19 14:40:29 -04:00
Thomas Harte
979bf42541
Fix ASL overflow test.
2022-10-18 22:43:17 -04:00
Thomas Harte
d09473b66f
Move common negative and zero logic into Status.
2022-10-18 14:51:51 -04:00
Thomas Harte
b31b4a5d10
Reformulate NOT in terms of EOR, and clean up elsewhere.
2022-10-18 12:17:55 -04:00
Thomas Harte
5560a0ed39
Fix overflow test for ASL.
2022-10-18 11:47:36 -04:00
Thomas Harte
a1ae7c28b2
Add various insurances against undefined behaviour.
2022-10-18 11:30:40 -04:00
Thomas Harte
a364499d17
Revert inadvertent commits.
2022-10-17 23:15:45 -04:00
Thomas Harte
fb2b7969a2
Add TODO to self on undefined behaviour.
2022-10-17 23:14:14 -04:00
Thomas Harte
abb19e6670
Populate carry whenever count != 0, regardless of modulo.
2022-10-17 22:57:21 -04:00
Thomas Harte
555250dbd9
Don't trample on X before use.
2022-10-17 22:19:35 -04:00
Thomas Harte
8148397f62
Fill in comments, eliminate u/s_extend16 macros.
2022-10-17 15:37:13 -04:00
Thomas Harte
f095bba1ca
Eliminate bitwise macros.
2022-10-17 15:21:54 -04:00
Thomas Harte
ee3a3df0b5
Eliminate SBCD macro.
2022-10-17 15:12:38 -04:00
Thomas Harte
aff1caed15
Clean up formatting.
2022-10-17 15:05:23 -04:00
Thomas Harte
da03cd58c1
Add overt casting.
2022-10-17 15:04:28 -04:00
Thomas Harte
ce98ca4bdd
Pull RO[L/R][X]m out of their macro stupor.
2022-10-17 11:27:04 -04:00
Thomas Harte
cc55f0586d
Clean up ASL/ASR/LSL/LSRm.
2022-10-17 11:18:10 -04:00
Thomas Harte
47e8f3c0f1
Collapse [A/L]S[L/R].[bwl] into a template.
2022-10-16 22:21:20 -04:00
Thomas Harte
d5ceb934d2
Fix overflow flags, avoid bigger-word usage.
2022-10-16 21:52:00 -04:00
Thomas Harte
17c1e51231
Commute ROL/ROR to templates.
2022-10-16 12:19:09 -04:00
Thomas Harte
fee072b404
Commute ROXL and ROXR into a template.
2022-10-16 12:06:28 -04:00
Thomas Harte
0a9c392371
Remove unused bit_count.
2022-10-13 15:01:06 -04:00
Thomas Harte
06dbb7167b
Unify TST.
2022-10-11 21:31:14 -04:00
Thomas Harte
eff9a09b9f
Collapse MOVE and NEG[X] similarities.
2022-10-11 21:27:18 -04:00
Thomas Harte
1f19141746
Eliminate BiggerInt.
2022-10-11 16:19:47 -04:00
Thomas Harte
28093196b9
Convert DIVU/DIVS logic to a template.
2022-10-11 16:16:53 -04:00
Thomas Harte
eb206a08d9
Templatise MULU/MULS.
2022-10-11 16:02:20 -04:00
Thomas Harte
b2f005da1b
Collapse SR/CCR bitwise operations into a template.
2022-10-11 15:53:11 -04:00
Thomas Harte
8305a3b46a
Consolidate compare logic.
2022-10-11 12:57:02 -04:00
Thomas Harte
f3f23f90a3
Consolidate repetition in CLR.
2022-10-11 11:22:34 -04:00
Thomas Harte
77bc60bf86
Consolidate BCLR, BCHG and BSET into a macro.
2022-10-11 10:47:55 -04:00
Thomas Harte
ec5d57fefe
Eliminate 64-bit work.
2022-10-11 10:33:28 -04:00
Thomas Harte
58396f0c52
Perform a prima facie conversion of ADD/SUB[/X] from macros to templates.
2022-10-10 22:21:13 -04:00
Thomas Harte
c0377f074f
Merge pull request #1095 from TomHarte/XcodeUpdate
...
macOS: enable dead code stripping; allow Xcode 14 to tag.
2022-09-16 22:05:16 -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
1ba4363802
Merge pull request #1094 from TomHarte/AppleIIDecoding
...
Resolve off-by-one error in Apple II sector decoding.
2022-09-16 16:04:00 -04:00
Thomas Harte
d17fadbe0b
Avoid off-by-one error in sector decoding.
...
Specific issue: retaining the 256 bytes up to _and including_ the checksum, rather than excluding.
2022-09-16 15:47:38 -04:00
Thomas Harte
9cba56237d
Upgrade to constexpr.
2022-09-16 15:46:09 -04:00
Thomas Harte
ea9411b21c
Breakup line, for easier debugging.
2022-09-16 15:43:23 -04:00
Thomas Harte
38e85a340a
Merge pull request #1085 from TomHarte/AppleIISCSI
...
Support SCSI drives on the Apple II
2022-09-15 16:52:45 -04:00
Thomas Harte
fea8fecf11
Continue DMA requests if writing, even after a phase mismatch.
2022-09-15 16:46:22 -04:00
Thomas Harte
c4091a4cdb
Fix address mapping, implement write.
2022-09-15 16:39:19 -04:00
Thomas Harte
d826532031
Read proper file contents.
2022-09-15 16:34:20 -04:00
Thomas Harte
beca7a01c2
Treat a phase mismatch as ending DMA.
2022-09-15 16:34:06 -04:00
Thomas Harte
2d8e260671
Take a shot at the phase mismatch IRQ.
2022-09-15 16:24:06 -04:00
Thomas Harte
04f5d29ed9
Improve logging, factor out phase_matches per TODO comment.
2022-09-15 16:14:14 -04:00
Thomas Harte
5ed60f9153
Mark get_state as const.
2022-09-15 16:13:54 -04:00
Thomas Harte
2f78a1c7af
Add SCSI controller inclusion logic.
2022-09-15 12:17:50 -04:00
Thomas Harte
dc35ec8fa0
Merge branch 'master' into AppleIISCSI
2022-09-15 12:05:58 -04:00
Thomas Harte
7e3dbbbf0a
Merge pull request #1093 from TomHarte/IIgsFill
...
Apple IIgs: better spell out shadowing logic.
2022-09-13 16:45:49 -04:00
Thomas Harte
0f017302ce
Fix tests.
2022-09-13 16:33:44 -04:00
Thomas Harte
36c3cb1f70
Deal with pre-ROM03 case, now that it's easy.
2022-09-13 16:31:06 -04:00
Thomas Harte
6773a321c1
Switch to portable direct bitwise logic.
2022-09-13 16:02:49 -04:00
Thomas Harte
ffdf44ad4f
Switch to overt use of std::fill.
2022-09-13 15:39:17 -04:00
Thomas Harte
cb7f1e42ff
Merge pull request #1091 from TomHarte/65816DxDy
...
Fix 65816 direct, [x/y] addressing when E=1, DL != 0.
2022-09-09 16:57:10 -04:00
Thomas Harte
84a6c89a92
Merge pull request #1092 from TomHarte/68kWarning
...
Avoid returning without value in release builds.
2022-09-09 16:54:46 -04:00
Thomas Harte
451b730c8e
Avoid returning without value in release builds.
2022-09-09 16:48:12 -04:00
Thomas Harte
98d3da62b5
Apply E mode wrap for d,x and d,y only when DL = 0.
2022-09-09 16:02:35 -04:00
Thomas Harte
45dc99fb9d
Further improve exposition.
2022-09-09 15:48:25 -04:00
Thomas Harte
2edbbfbe37
Merge pull request #1090 from TomHarte/68000Tests
...
Add 68000 regression test generator.
2022-09-08 20:10:56 -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
72b6ab4389
Provide a route to operation that factors in addressing mode.
2022-09-06 11:26:16 -04:00
Thomas Harte
1a7509e860
Properly announce ::SameAddress.
2022-09-05 22:26:45 -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
effe8c102d
Provide a direct to_string on Operation.
2022-09-05 21:52:20 -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
cbfd8e18e8
Eliminate repetitive magic constants.
2022-09-02 15:54:16 -04:00
Thomas Harte
8dc1aca67c
Add TODO shout-outs.
2022-08-31 21:20:08 -04:00
Thomas Harte
acc82546c4
Further avoid use of null pointer.
2022-08-31 16:03:01 -04:00
Thomas Harte
df29a50738
Attempt to support the DMA interface.
2022-08-31 15:33:48 -04:00
Thomas Harte
d460f40b13
Improve comment.
...
Status: this now seems to be blocked at unimplemented 5380 functionality.
2022-08-30 16:44:03 -04:00
Thomas Harte
7996fe6dab
'Clock' the SCSI bus (i.e. make it aware of passing time).
2022-08-30 16:40:25 -04:00
Thomas Harte
f50ce7f137
Upgrade to an Enhanced IIe if hard drives are present.
2022-08-30 16:33:43 -04:00
Thomas Harte
6fa4e379d2
Make a hacky and blunt offer of drive data.
2022-08-30 16:07:44 -04:00
Thomas Harte
3c954e76ed
Extend to allow vending of only portions of files.
2022-08-30 15:51:29 -04:00
Thomas Harte
cd7671e8fa
Merge branch 'master' into AppleIISCSI
2022-08-29 11:47:48 -04:00
Thomas Harte
54ca168db5
Merge pull request #1089 from TomHarte/MetalPadding
...
Incorporate new additional padding.
2022-08-29 11:47:29 -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
e7b213604e
Add comments.
2022-08-29 11:40:18 -04:00
Thomas Harte
c3007bffc9
Merge pull request #1088 from icecream95/vertex-align
...
Align Scan to be a multiple of four bytes
2022-08-29 11:29:45 -04:00
Icecream95
0499dbd4cf
Align Scan to be a multiple of four bytes
...
Some GPUs (e.g. r600) require the stride of vertex attributes to be a
multiple of four bytes, add two bytes of padding to the Scan struct to
meet this alignment requirement and reduce driver CPU overhead.
2022-08-29 16:32:25 +12:00
Thomas Harte
20d685ec5c
Permit a mass-storage device to be returned, in theory.
2022-08-26 16:38:10 -04:00
Thomas Harte
4df2a29a1f
Add storage to the bus.
2022-08-24 15:23:50 -04:00
Thomas Harte
722e3a141d
Fix types, introduce Apple II mapper.
2022-08-24 12:00:03 -04:00
Thomas Harte
91e9248ecc
Allow VolumeProviders to opt out of drivers completely.
2022-08-23 20:56:27 -04:00
Thomas Harte
22a3f4de2c
Merge branch 'master' into AppleIISCSI
2022-08-23 20:00:02 -04:00
Thomas Harte
d57464a02a
Merge pull request #1087 from TomHarte/RestoreCopyrightSymbol
...
macOS: tweak info box copyright text to include symbol and newline.
2022-08-23 19:59:39 -04:00
Thomas Harte
1346bf6fff
Add include for strlen.
2022-08-23 19:58:48 -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
64c5b84b8b
Acknowledge that HFS is assumed.
2022-08-23 16:19:19 -04:00
Thomas Harte
017f55390a
Better represent on-disk structure.
2022-08-23 16:19:04 -04:00
Thomas Harte
6010c971a1
Provide a volume to the SCSI card if one is received.
2022-08-23 15:11:56 -04:00
Thomas Harte
ea4bf5f31a
Provide card's SCSI ID.
2022-08-23 15:05:36 -04:00
Thomas Harte
f4c242d5e9
Attempt to offer centralised C8 region decoding.
2022-08-23 14:50:44 -04:00
Thomas Harte
0595773355
Invents a new virtual select line for extended handling card ROM areas.
2022-08-23 14:41:45 -04:00
Thomas Harte
f89ca84902
Add missing include.
2022-08-22 21:44:33 -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
1a68df6765
Merge pull request #1086 from TomHarte/AmigaCrash
...
Resolve crash of machines that require the ROM requester under macOS.
2022-08-22 17:07:59 -04:00
Thomas Harte
1b197d0bb2
Resolve crash of machines that require the ROM requester.
2022-08-22 17:02:09 -04:00
Thomas Harte
3c2d01451a
Remove dead comment.
2022-08-22 17:01:52 -04:00
Thomas Harte
4c38fa8ad3
Resolve crash of machines that require the ROM requester.
2022-08-22 17:01:41 -04:00
Thomas Harte
c2c81162a1
Sketch out some of the easy stuff.
2022-08-22 16:48:51 -04:00
Thomas Harte
3d234147a6
Add in collected specs.
2022-08-22 10:22:19 -04:00
Thomas Harte
38a509bc20
Merge pull request #1082 from TomHarte/BlitterBugSearch
...
Partially enable serialised blitter.
2022-08-22 10:08:44 -04:00
Thomas Harte
f30f13f0bc
Add overt include.
2022-08-22 10:03:24 -04:00
Thomas Harte
8e7f53751d
Add Apple II SCSI ROM to the catalogue.
2022-08-21 22:03:52 -04:00
Thomas Harte
bfc77f1606
Add workaround that further isolates whatever bug Spindizzy reveals.
2022-08-19 16:38:42 -04:00
Thomas Harte
a6b8285d9c
Factor out the blitter sequencer.
2022-08-19 16:38:15 -04:00
Thomas Harte
a675dd8c24
Merge branch 'master' into BlitterBugSearch
2022-08-19 16:18:23 -04:00
Thomas Harte
7d13768d51
Merge pull request #1083 from TomHarte/OptimisationFlags
...
Accept whatever Apple thinks is an appropriate optimisation level.
2022-08-19 16:17:55 -04:00
Thomas Harte
ce46ec4d3e
Clean up, marginally.
2022-08-19 16:12:39 -04:00
Thomas Harte
1ffd65b7af
Remove stray tab.
2022-08-19 16:12:20 -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
837acdcf60
Experimentally decline immediate blits.
2022-08-16 21:51:13 -04:00
Thomas Harte
7289192130
Fix refresh slots: they're taken, not open.
2022-08-16 21:51:02 -04:00
Thomas Harte
e84e94ef61
Merge pull request #1078 from TomHarte/SerialisedBlitter
...
Moves towards proper serialisation of the Amiga Blitter.
2022-08-15 11:16:20 -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
dcd66b93fd
Merge branch 'SerialisedBlitter' of github.com:TomHarte/CLK into SerialisedBlitter
2022-08-15 10:54:43 -04:00
Thomas Harte
856e3d97bf
Merge branch 'master' into SerialisedBlitter
2022-08-15 10:54:36 -04:00
Thomas Harte
c6aa83e5f2
Merge branch 'master' into SerialisedBlitter
2022-08-14 11:23:29 -04:00
Thomas Harte
1b19f93965
Merge pull request #1081 from TomHarte/STFAT12
...
Overtly treat .ST images as FAT12.
2022-08-13 10:20:08 -04:00
Thomas Harte
c7373a5d3e
Overtly treat .ST images as FAT12.
2022-08-13 10:09:34 -04:00
Thomas Harte
fb83603133
Merge pull request #1080 from TomHarte/AtariSTRAM
...
Provide 1mb and 4mb options for Atari ST memory size.
2022-08-10 21:39:52 -04:00
Thomas Harte
94231ca3e3
Put word-sizing responsibility on the caller.
2022-08-10 16:41:45 -04:00
Thomas Harte
e2a8b26b57
Display properly from greater RAM sizes.
2022-08-10 16:36:11 -04:00
Thomas Harte
b6f45d9a90
Fix struct/class confusion.
2022-08-10 15:40:46 -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
6d1c954623
Make ST RAM size selectable, default to 1MB.
2022-08-10 12:00:06 -04:00
Thomas Harte
bdb35b6191
Add an easier hook for debugging.
2022-08-08 21:00:28 -04:00
Thomas Harte
892580c183
Clarify test.
2022-08-08 15:57:36 -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
d4b7d73fc4
Further reduces lines to one access per slot, max.
2022-08-07 19:19:00 -04:00
Thomas Harte
867769f6e7
Reduces line drawing to two accesses per slot.
...
Still a fiction, but a better one.
2022-08-07 19:15:03 -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
45892f3584
Add optional transaction records to the Blitter.
2022-08-06 09:51:20 -04:00
Thomas Harte
612413cb1c
Remove redundant state.
2022-08-04 10:06:14 -04:00
Thomas Harte
511ec5a736
Apply modulos at end of final line.
...
Possibly I need to rethink the sequence logic?
2022-07-30 21:35:26 -04:00
Thomas Harte
4fb9dec381
Fix use of bool.
2022-07-30 21:02:44 -04:00
Thomas Harte
82476bdabe
Avoid 'complete' repetition.
2022-07-30 21:02:04 -04:00
Thomas Harte
58ee8e2460
Minor tidy-up. No fixes.
2022-07-30 21:00:50 -04:00
Thomas Harte
94a90b7a89
Attempt a real slot-by-slot blit.
2022-07-30 20:34:37 -04:00
Thomas Harte
5d992758f8
Ensure blitter with all flags disabled terminates.
2022-07-30 20:13:37 -04:00
Thomas Harte
27b8c29096
Apply modulos at end of line, not beginning.
2022-07-30 10:27:53 -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
03d4960a03
Begin a full-synchronous usage of the sequencer, at least exposing poor handling of the pipeline.
2022-07-29 16:15:18 -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
2c95dea4db
Introduce putative blitter sequencer.
2022-07-26 17:05:05 -04:00
Thomas Harte
804c12034c
Apply blitter priority bit.
2022-07-26 16:07:26 -04:00
Thomas Harte
ce7f57f251
Switch to regular integer types for flags.
2022-07-26 09:22:05 -04:00
Thomas Harte
af7c56d313
Merge pull request #1077 from TomHarte/BroaderChroma
...
macOS: Use softer-edged luminance.
2022-07-25 13:24:42 -04:00
Thomas Harte
3e4044c7a0
Use softer-edged luminance.
2022-07-25 13:24:08 -04:00
Thomas Harte
88a22fdbf8
Merge pull request #1076 from TomHarte/DatedVersioning
...
Ensure macOS releases contain an updated version number.
2022-07-25 13:18:17 -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
eb0b6e9df9
Merge pull request #1075 from TomHarte/PlayfieldMasking
...
Add comments, fix playfield sprite masking.
2022-07-22 21:20:50 -04:00
Thomas Harte
426eb0f79b
Add comments, fix playfield sprite masking.
2022-07-22 17:01:38 -04:00
Thomas Harte
0b2d92048d
Merge pull request #1074 from TomHarte/SpriteContinuity
...
Reinstate assumption of no Amiga sprite fetches in vertical blank.
2022-07-21 08:48:17 -04:00
Thomas Harte
6beca141d5
Reinstate assumption of no sprites in vertical blank.
2022-07-21 08:41:50 -04:00
Thomas Harte
b67790df7d
Merge pull request #1073 from TomHarte/AmigaSprites
...
Improve Amiga sprite emulation.
2022-07-20 13:53:50 -04:00
Thomas Harte
f29d305597
Add missing #include.
2022-07-19 21:40:16 -04:00
Thomas Harte
89abf7faeb
Take a guess at reintroducing a special case for end-of-blank.
2022-07-19 21:25:34 -04:00
Thomas Harte
57186c3c14
Don't limit sprite fetch area; add further commentary.
2022-07-19 16:37:13 -04:00
Thomas Harte
feee6afe0f
Improve documentation.
2022-07-19 16:19:19 -04:00
Thomas Harte
cb42ee3ade
Eliminate DMAState; it sounds like VSTOP solves this problem.
2022-07-19 16:11:29 -04:00
Thomas Harte
830704b4a9
Clarify and slightly improve state machine.
...
No more using the visible flag to permit a DMA control fetch.
2022-07-19 15:39:57 -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
6579c12053
Merge pull request #1071 from TomHarte/EverSharper
...
macOS: Accept and embrace limits of composite sharpening.
2022-07-18 09:25:30 -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
80bc530d17
Merge pull request #1070 from TomHarte/ConcurrencyProjectFiles
...
Remove concurrency/*.cpp from various project files.
2022-07-17 14:46:27 -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
9c43470c43
Merge pull request #1069 from TomHarte/AsyncTaskQueueRename
...
Switch name back to emphasise _async_.
2022-07-16 14:50:59 -04:00
Thomas Harte
8f2e94a1d8
Switch name back to emphasise _async_.
2022-07-16 14:41:04 -04:00
Thomas Harte
52c3e0592a
Merge pull request #1068 from TomHarte/HAM
...
HAM: correct red/blue confusion.
2022-07-15 16:51:09 -04:00
Thomas Harte
637161157c
Switch to slightly more sensical 'none' type.
2022-07-15 16:29:29 -04:00
Thomas Harte
76d5e53094
Fix red/blue confusion.
2022-07-15 16:24:07 -04:00
Thomas Harte
b6f40fdcc7
Merge pull request #1067 from TomHarte/MachineLeak
...
macOS: Avoid likely leak of machines.
2022-07-15 15:36:21 -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
41af76bed8
Fix variable name.
2022-07-15 15:13:03 -04:00
Thomas Harte
a7515fe156
Merge pull request #1066 from TomHarte/AudioAssert
...
macOS: Fix stereo buffering, various audio asserts.
2022-07-15 14:44:55 -04:00
Thomas Harte
60f997a52c
Fix stereo buffering, various audio asserts.
2022-07-14 21:59:40 -04:00
Thomas Harte
f465fe65f4
Merge pull request #1061 from TomHarte/MacintoshPixels
...
Microtweak: simplify Macintosh pixel serialisation.
2022-07-14 18:54:10 -04:00
Thomas Harte
3d6ce6c13f
Merge pull request #1065 from TomHarte/QueueShakeup
...
Consolidate/simplify queue classes.
2022-07-14 18:53:59 -04:00
Thomas Harte
bf03bda314
Generalise AsyncTaskQueue, DeferringAsyncTaskQueue and AsyncUpdater into a single template.
2022-07-14 16:39:26 -04:00
Thomas Harte
126838e7c7
Thanks to std::swap and move semantics, there's no need for indirection here.
2022-07-14 15:52:31 -04:00
Thomas Harte
8310b40812
Merge pull request #1064 from TomHarte/FewerAudioAllocations
...
macOS: perform audio buffer allocations ahead of time.
2022-07-14 14:58:51 -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
5aa129fbd3
Merge pull request #1063 from TomHarte/EventDriven
...
Switch macOS to an event-driven emulation.
2022-07-14 11:37:20 -04:00
Thomas Harte
18f01bcd48
Switch back to std::list as a kneejerk fix for AsyncTaskQueue.
2022-07-13 22:26:59 -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
79f8cab5e2
Attempt to reduce memory allocations.
2022-07-13 21:41:04 -04:00
Thomas Harte
92efad4970
Switch to std::vector.
2022-07-13 21:36:01 -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
75f3f1a77f
Avoid the whole thread hop for a zero-length run_for.
2022-07-13 15:05:34 -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
0270997acd
Add insurance against calls before setup.
2022-07-12 16:03:09 -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
cce449ba8f
Merge branch 'master' into EventDriven
2022-07-12 15:06:52 -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
b097b1296b
Adopt granular flushing widely.
2022-07-08 16:04:32 -04:00
Thomas Harte
b03d91d5dd
Permit granular specification of what to flush.
2022-07-08 15:38:29 -04:00
Thomas Harte
5c3084c37c
Fix construction order.
2022-07-07 20:09:37 -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
fc0dc4e5e2
Amiga only, temporarily: attempt to reduce audio maintenance costs.
2022-07-07 16:41:49 -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
Thomas Harte
01a309909b
Elide actions when running behind.
2022-07-07 11:10:54 -04:00
Thomas Harte
7886c2df7a
Start experimenting with a more event-based approach to timing.
2022-07-07 10:48:42 -04:00
Thomas Harte
5495f30329
Microtweak: simplify Macintosh pixel serialisation.
2022-06-06 08:34:58 -04:00