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
a88d41bf00
List the flags.
2024-02-25 15:21:54 -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
bd0a15c054
Start working on ARM2 decoding.
2024-02-16 21:36:07 -05:00
Thomas Harte
1c8261dc09
Add Mockingboard to macOS UI.
2024-02-15 09:10:19 -05:00
Thomas Harte
07c11e8268
Begin 6522 wiring.
2024-02-14 15:18:19 -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
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
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
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
8eb38ac437
Make use of bound_shader.
2024-01-19 22:34:42 -05:00
Thomas Harte
ab4ecccf57
Avoid raw pointers.
2024-01-17 14:59:36 -05:00
Thomas Harte
20c1f4f0e5
Merge pull request #1308 from ryandesign/no-preferredDevice
...
Fix color video performance on macOS 10.15+
2024-01-17 09:23:49 -05:00
Ryan Carsten Schmidt
c74305be56
Fix color video performance on macOS 10.15+
...
Closes #1178
2024-01-17 01:33:00 -06:00
Thomas Harte
a3d37640aa
Switch include guards to #pragma once
.
2024-01-16 23:34:46 -05:00
Thomas Harte
3ab6953246
Avoid use of raw pointers in machine creation.
2024-01-12 22:03:19 -05:00
Thomas Harte
177e741bca
Fix test.
2024-01-09 21:19:44 -05:00
Thomas Harte
ae48f05c80
Shuffle most of the MemoryMap ugliness into a source file.
2024-01-04 10:25:27 -05:00
Thomas Harte
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
4f846ef8d0
Remove absolute path.
2023-12-31 15:11:45 -05:00
Thomas Harte
051cdc63b8
Fix SDL build.
2023-12-29 14:54:47 -05:00
Thomas Harte
9344f6a824
Indicate whether a keypress is a repeat. Treat appropriately in the Apple II.
2023-12-28 15:05:55 -05:00
Thomas Harte
74bee31a78
Update version number.
2023-12-28 10:41:52 -05:00
Thomas Harte
497ae935d6
Bump version number.
2023-12-26 10:43:47 -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
09867e1e6d
Unhide the PC.
2023-12-21 12:59:53 -05:00
Ryan Carsten Schmidt
5ef6b190af
Fix typos
2023-12-16 03:53:07 -06:00
Thomas Harte
9ef28da322
Add read-only support for IMD images.
2023-12-08 15:37:13 -05:00
Thomas Harte
1c47c64bcb
Connect option to macOS UI.
2023-12-08 14:23:27 -05:00
Thomas Harte
fbf79c142a
Undo accidental build-type switch.
2023-12-08 14:03:29 -05:00
Thomas Harte
664890cead
Expose speed as an option.
2023-12-08 10:46:59 -05:00
Thomas Harte
5fde3b8d5d
Wire up a stub RTC plus appropriate option ROM.
2023-12-06 22:56:09 -05:00
Thomas Harte
1f976b8ccb
Complete loop for macOS display selection.
2023-12-06 14:49:34 -05:00
Thomas Harte
b2b05b590f
Clone the MDA class to CGA.
2023-12-05 22:37:33 -05:00
Thomas Harte
736a3841ce
Wire up adaptor selection.
2023-12-05 16:42:55 -05:00
Thomas Harte
bdf9c4765b
Loosen the assumption of MDA.
2023-12-05 16:38:09 -05:00
Thomas Harte
f97e6095df
Adjust option name.
2023-12-05 15:26:32 -05:00
Thomas Harte
23c60ae9bc
Supply video adaptor type.
2023-12-05 15:19:58 -05:00
Thomas Harte
2d75fbe1bf
Add nonfunctional FAT12 analyser.
2023-12-05 10:46:06 -05:00
Ryan Carsten Schmidt
5ccd232541
Remove invalid uef.gz file type from Info.plist
...
Closes #1194
2023-12-04 10:25:35 -06:00
Thomas Harte
41bd5298b7
Signal only changes in modifiers.
2023-12-02 22:25:19 -05:00
Thomas Harte
b16e3de170
Accept what look like raw booters.
2023-12-01 17:23:13 -05:00
Thomas Harte
d101483714
Hack in enough that disk contents end up in RAM.
2023-12-01 09:34:31 -05:00
Thomas Harte
ddf38595ff
Add enough for FAT12 IMA images to get to the PC.
2023-11-29 14:54:33 -05:00
Thomas Harte
b860fba0a3
Make an attempt at providing varied sense interrupt statuses.
2023-11-28 14:12:39 -05:00
Thomas Harte
bffe3ffa25
Add an 8272 results phase.
2023-11-27 23:05:37 -05:00
Thomas Harte
993366ac5a
Merge branch 'master' into PCFDC
2023-11-27 22:16:30 -05:00
Thomas Harte
032eeb4757
Eliminate runtime switch.
2023-11-27 14:57:41 -05:00
Thomas Harte
0bb048e24b
Start formalising/extracting 8272 status.
2023-11-25 18:10:49 -05:00
Thomas Harte
af70c8847d
Factor out the stuff of accumulating and dissecting commands.
2023-11-24 18:24:58 -05:00
Thomas Harte
d5c30e3175
Add enough keyboard support to be able to bypass the initial FDC BIOS failure report.
2023-11-24 13:38:06 -05:00
Thomas Harte
24d0caf8e7
Fix Swift conditionality.
2023-11-21 22:48:26 -05:00
Thomas Harte
0344af986c
Try to avoid having to edit this constantly.
2023-11-21 22:02:36 -05:00
Thomas Harte
375a9f9ff5
Pull out the PIC, DMA.
2023-11-21 15:50:38 -05:00
Thomas Harte
ee6012f6e9
Evict the PIT.
2023-11-20 19:00:16 -05:00
Thomas Harte
f2fdfe86ec
Reduce repetition.
2023-11-17 09:13:45 -05:00
Thomas Harte
fbe02e3ad5
Randomly try a different explicit instantiation.
2023-11-16 23:37:37 -05:00
Thomas Harte
effddcaf65
Hide PC option by default.
2023-11-16 23:33:42 -05:00
Thomas Harte
3b84299a05
Edge closer to PCCompatible doing _something_.
2023-11-15 15:58:49 -05:00
Thomas Harte
6f48ffba16
Add enough of a ScanProducer to run.
2023-11-15 14:30:30 -05:00
Thomas Harte
1a3b2b0620
Add necessary wiring for File -> New...
2023-11-15 14:27:04 -05:00
Thomas Harte
e927fd00d8
Do just enough to include x86 code in the main build.
2023-11-15 11:01:28 -05:00
Thomas Harte
70a4d59517
Merge pull request #1205 from TomHarte/80286Preparation
...
Clear a path towards implementing the 80286
2023-11-15 10:41:26 -05:00
Thomas Harte
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
Ryan Carsten Schmidt
39df6daf3e
Add ellipsis at end of New menu item
...
Menu items that elicit a dialog box in which further choices must be
made should end with an ellipsis.
2023-11-14 02:13:23 -06:00
Ryan Carsten Schmidt
480b5bef95
Add period at end of sentence
2023-11-14 02:11:00 -06:00
Ryan Carsten Schmidt
6bb85c98ba
Change "Exit" button to "Quit"
2023-11-14 02:10:55 -06:00
Thomas Harte
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
Thomas Harte
79b126e6bb
Add route for tracking segment register changes.
2023-11-10 22:11:52 -05:00
Thomas Harte
e78e5c8101
Add remaining acceptable error cases.
2023-11-09 12:26:40 -05:00
Thomas Harte
ed3922e458
Switch to accepting failures only with a reason.
2023-11-09 11:55:36 -05:00
Thomas Harte
9e61d3e8cf
Combine AAA and AAS.
2023-11-08 22:38:52 -05:00
Thomas Harte
8d2a2bcf4a
Unify DAA and DAS.
2023-11-08 22:26:48 -05:00
Thomas Harte
9566a8de67
Split up the ungainly PerformImplementation.hpp.
2023-11-08 10:52:36 -05:00
Thomas Harte
f608153c1a
Don't bother prepropulating for writes.
2023-11-07 14:38:23 -05:00
Thomas Harte
413e7b7de1
Switch Memory
to using accessors.
2023-11-07 14:03:20 -05:00
Thomas Harte
0262875088
Claw back to building.
2023-11-07 09:58:42 -05:00
Thomas Harte
2af774601f
Temporarily disentangle Memory
and access internals; start to be overt in PerformImplementation.
2023-11-06 16:04:31 -05:00
Thomas Harte
797c9fe129
Temporarily avoid use of Writeable.
2023-11-05 21:47:52 -05:00
Thomas Harte
009915f4de
Start promotion of ReturnType.
2023-11-05 21:42:22 -05:00
Thomas Harte
f96c33102a
Add documentation.
2023-11-04 22:22:50 -04:00
Thomas Harte
5739862dbb
Add specific entryway for preauthorised writes.
2023-11-03 15:36:30 -04:00
Thomas Harte
83850d7596
Commute: Status -> Flags as per usual x86 naming.
2023-11-02 16:55:38 -04:00
Thomas Harte
770803b073
Be more careful as to authorisation.
2023-11-02 15:37:59 -04:00
Thomas Harte
8d0deeb20e
Clean up Memory
.
2023-11-02 14:25:13 -04:00
Thomas Harte
e4fdf09149
Fix PUSH SP, far call. Further simplify FlowController.
2023-11-01 23:39:52 -04:00
Thomas Harte
acb55aa4e2
Subsume repetition of arguments into a single context.
...
Albeit that it (temporarily?) loses some context used during test validation.
2023-11-01 17:03:23 -04:00
Thomas Harte
bc095bb9ce
Slim down the flow controller.
2023-11-01 14:49:30 -04:00
Thomas Harte
097b328075
Split the preauthorised tracks.
2023-11-01 14:31:42 -04:00
Thomas Harte
ef83ac855a
Fix spelling of Preauthorised, think further on return types.
2023-11-01 14:11:10 -04:00
Thomas Harte
78df0d19e4
Start experimenting with varying return types.
2023-11-01 10:03:31 -04:00
Thomas Harte
9538491ee9
Fix pushes and pops.
2023-10-31 21:55:30 -04:00
Thomas Harte
8be03be529
Add test of ::Write mode.
2023-10-31 20:28:37 -04:00
Thomas Harte
1d479ec2d7
Ensure that reads can only read, accept that source is sometimes written to. E.g. XCHG.
2023-10-31 15:06:19 -04:00
Thomas Harte
02af08ffd2
Fix counts.
2023-10-30 12:32:44 -04:00
Thomas Harte
444c5b94b9
Add summary of accepted failures.
2023-10-29 16:55:07 -04:00
Thomas Harte
8ecc9835f8
Merge branch 'master' into 8088Intentions
2023-10-29 16:10:21 -04:00
Thomas Harte
39e803aa71
Commit updated macOS version.
2023-10-29 14:47:09 -04:00
Thomas Harte
7a886f938a
Propagate access types, even if incorrect.
2023-10-29 14:33:39 -04:00
Ryan Carsten Schmidt
764a7b60f4
Fix LD_RUNPATH_SEARCH_PATHS for High Sierra
...
See #1118
See #1143
Closes #1191
2023-10-28 08:42:26 -05:00
Thomas Harte
6da0add100
Permit 1654 failures, the current amount.
2023-10-27 16:30:30 -04:00
Thomas Harte
2d70b44303
Boil down segment ahead of time.
2023-10-27 12:54:42 -04:00
Thomas Harte
11b032fb06
Eliminate length extension.
2023-10-26 23:19:31 -04:00
Thomas Harte
3b62638b30
Remove dead DataPointerResolver and extra-conditional version of source().
2023-10-25 14:43:58 -04:00
Thomas Harte
0c09c14baa
Incorporate instruction length into offsets.
2023-10-25 13:02:43 -04:00
Thomas Harte
6dd5628dd6
Provide full pair for string conversion.
2023-10-25 11:21:11 -04:00