Thomas Harte
8b3f0d8fd6
Implement ARPL.
2025-05-14 21:01:48 -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
275e75980c
Take initial swing at LLDT.
2025-05-12 17:22:11 -04:00
Thomas Harte
6934618589
Add note to self.
2025-05-11 22:53:28 -04:00
Thomas Harte
0d34960d60
Properly place ownership of linear authorisation.
2025-05-11 21:36:36 -04:00
Thomas Harte
9b51fe3db4
Take a shot at IDT dispatch.
2025-05-10 21:34:43 -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
fa2cc0f62e
Proceed as far as believing I probably need a gate descriptor type.
2025-05-04 22:11:53 -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
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
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
fbd81b9930
Merge branch 'master' into Descriptors
2025-04-21 22:43:30 -04:00
Thomas Harte
54f509c210
Enforce size restriction.
2025-04-20 23:27:44 -04:00
Thomas Harte
f41629daae
Add compiler-calming fallthroughs.
2025-04-20 22:19:11 -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
afc3a8d373
Correct header path.
2025-03-31 09:54:11 -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
42edc46887
Add invalid-opcode exception; transcribe has-code table.
2025-03-30 13:29:20 -04:00
Thomas Harte
fd31d07f41
Begin division of memory into linear and segmented mappings.
2025-03-24 22:58:19 -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
ce7ff13bbe
Proceed to a local assert on LMSW.
2025-03-22 21:57:56 -04:00
Thomas Harte
5d1e3b6c93
Create a home for descriptors.
2025-03-19 14:20:50 -04:00
Thomas Harte
fe6a88c5df
Install [L/S][I/G]DT wiring.
2025-03-18 22:11:28 -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
73e843abd3
Assert on some hopefully unreachables.
2025-03-12 22:03:12 -04:00
Thomas Harte
9df6d535e2
Patch up enough to get an 80286 performer compilable.
2025-03-04 13:52:02 -05:00
Thomas Harte
2c2216afae
Further eliminate file-relative includes.
2025-02-28 13:18:48 -05:00
Thomas Harte
45f850adae
Improve constness.
2025-02-27 15:47:06 -05:00
Thomas Harte
3a0f4a0bfc
Improve constness, formatting.
2024-12-01 18:09:19 -05:00
Thomas Harte
8b88d1294d
Remove errant spaces.
2024-12-01 09:04:32 -05:00
Thomas Harte
a3d37640aa
Switch include guards to #pragma once.
2024-01-16 23:34:46 -05:00
Thomas Harte
3e328bed61
Be overt about jump size, albeit without internal rigour.
2023-12-24 14:11:41 -05:00
Thomas Harte
f50c45cc1a
Treat 'invalid' as a silent failure.
2023-12-01 15:35:51 -05:00
Thomas Harte
233ec7b818
Soften some warnings.
2023-11-16 10:57:17 -05:00
Thomas Harte
f83d2a8740
Take a swing at ENTER.
2023-11-14 16:23:24 -05:00
Thomas Harte
aafa7de536
Implement LEAVE, almost.
2023-11-14 11:39:36 -05:00
Thomas Harte
ac826f90c3
Formalise a separate manager of segments.
2023-11-14 10:56:00 -05:00
Thomas Harte
6c405680f2
Implement PUSHA, POPA.
2023-11-14 10:42:06 -05:00
Thomas Harte
1552500b10
Implement BOUND.
2023-11-13 22:33:46 -05:00
Thomas Harte
60cec9fc67
Expand commentary.
2023-11-13 11:45:17 -05:00
Thomas Harte
3a782faaf3
Ensure shoutouts upon LDS, LES and any far jump/call/int.
2023-11-10 22:58:59 -05:00
Thomas Harte
e61dc0466f
Add callout for tracking segment register changes.
2023-11-10 22:22:32 -05:00
Thomas Harte
79b126e6bb
Add route for tracking segment register changes.
2023-11-10 22:11:52 -05:00