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 const
ify 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 const
s, remove get_
s.
2025-08-29 22:55:50 -04:00
Thomas Harte
19c4940abd
Extend and const
ify 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 const
s.
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 const
s, 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 const
s.
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 const
s, 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 const
s.
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 const
s, 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 const
s, 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 const
ness, 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 const
ness.
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_t
s 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 const
ness.
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 const
ness, reduce trips to system clock.
2025-03-05 14:17:31 -05:00
Thomas Harte
342b8105c4
Improve const
ness.
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 extern
s 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 const
ness.
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 const
ness, remove unnecessary virtual
s.
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 inline
s.
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 typedef
s to using
s.
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 constexpr
s.
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 const
s.
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 nil
s 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 const
iness.
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, const
ness, 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 const
s 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 const
iness.
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 const
s.
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 const
ness, 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, const
ness 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 const
ness.
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