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
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
4d400c3cb7
Add easy exceptions.
2024-02-28 14:25:12 -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
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
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
481b6d0e69
Sketch out some status flags.
2024-02-25 22:01:51 -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
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
a3d37640aa
Switch include guards to #pragma once
.
2024-01-16 23:34:46 -05:00
Thomas Harte
177e741bca
Fix test.
2024-01-09 21:19:44 -05:00
Thomas Harte
cf00a709ec
Be consistent in shadowing physical addresses.
2024-01-03 15:02:54 -05:00
Thomas Harte
bbaaa520c8
Eliminate MemoryMap access macros, fix tests target.
2024-01-03 13:21:39 -05:00
Thomas Harte
3e328bed61
Be overt about jump size, albeit without internal rigour.
2023-12-24 14:11:41 -05:00
Thomas Harte
85f814c632
Attempt to build fixed operations into type.
...
This simplifies callees and should make all helper functions automatically able to optimise themselves for fixed operations.
2023-12-21 23:08:18 -05:00
Thomas Harte
160fec2439
Eliminate trace.
2023-12-21 15:31:09 -05:00
Thomas Harte
faaa89bb67
Eliminate all reference to EmuTOS.
2023-12-21 15:28:45 -05:00
Thomas Harte
3b84299a05
Edge closer to PCCompatible doing _something_.
2023-11-15 15:58:49 -05:00
Thomas Harte
a22ac2f88b
Move towards privacy.
2023-11-14 11:39:44 -05:00
Thomas Harte
2533fd2da9
Fix segment comparisons.
2023-11-14 11:14:28 -05:00
Thomas Harte
ac826f90c3
Formalise a separate manager of segments.
2023-11-14 10:56:00 -05:00
Thomas Harte
08d9cc3bd3
Restore permitted IDIV miss.
2023-11-10 23:02:32 -05:00
Thomas Harte
47fc276afc
Add note to future self.
2023-11-10 23:01:46 -05:00
Thomas Harte
3a782faaf3
Ensure shoutouts upon LDS, LES and any far jump/call/int.
2023-11-10 22:58:59 -05:00
Thomas Harte
19a61f867f
Eliminate final misuse of 'selector'.
2023-11-10 22:56:00 -05:00
Thomas Harte
2551e73be1
Fully test segment registers.
2023-11-10 22:54:10 -05:00
Thomas Harte
e61dc0466f
Add callout for tracking segment register changes.
2023-11-10 22:22:32 -05:00