Thomas Harte
bdda84dfde
Adds a very basic shadowing test.
...
For the record, I'm aware that there's a lot here that I'm not testing. I think the smart move is to get towards a running machine and see which configurations it actually tries to set up, then follow along with appropriate testing; it might cause me to discover a flaw in my comprehension before I've made the same mistake in both the code and a test.
2020-10-27 19:59:41 -04:00
Thomas Harte
e44f95a882
Takes a first, faltering shot at shadowing.
2020-10-27 19:49:47 -04:00
Thomas Harte
31cd45f8b5
Takes a run at set_card_paging and simplifies method of shadowing.
2020-10-27 19:33:47 -04:00
Thomas Harte
74f9f6ad3b
Tests and corrects ROM access beyond bank $00.
2020-10-27 19:02:15 -04:00
Thomas Harte
1dfdb51e61
Hits a few other easy cases.
...
Still to do: card paging, and finding out which banks that applies to, and shadowing. So: everything with flags.
2020-10-26 21:49:47 -04:00
Thomas Harte
18832dc19d
Attempts to expand the language card stuff to all affected pages.
2020-10-26 20:30:41 -04:00
Thomas Harte
3dee0666cb
Corrects current bank $00 language card behaviour.
2020-10-26 17:46:40 -04:00
Thomas Harte
f830f6a57a
Adds failing test of initial ROM mirroring.
...
It's the end of the evening, so this is it for today.
2020-10-25 22:13:54 -04:00
Thomas Harte
82c733c68c
Adds some very basic actual tests.
2020-10-25 21:40:50 -04:00
Thomas Harte
ed510409c4
Starts memory map test class, already finding a typo.
2020-10-25 21:31:21 -04:00
Thomas Harte
7614eba4bf
Factors out the IIgs memory map logic.
...
As testing would be rational.
2020-10-25 21:10:04 -04:00
Thomas Harte
13c8032465
ROM isn't writeable. The clue is in the name.
2020-10-25 18:29:17 -04:00
Thomas Harte
44fc08cd5b
Switches to a mapping system that supports non-continuous regions, and is smaller.
2020-10-25 18:28:32 -04:00
Thomas Harte
7631b11c55
Corrects double low-res colour serialisation.
2020-10-24 19:26:32 -04:00
Thomas Harte
726b5f62bb
Corrects read/write access to auxiliary soft switches.
2020-10-24 19:00:03 -04:00
Thomas Harte
ddd84db510
Edges towards a functioning IIgs memory map.
...
Next up: making sure language and auxiliary switches apply. That should get something from the ROM.
2020-10-23 19:41:10 -04:00
Thomas Harte
966241b4cc
Adds documentation, ensures the language card signals less noisily.
2020-10-23 18:44:47 -04:00
Thomas Harte
9371a8993f
Factors out auxiliary memory switches and related decisions.
2020-10-22 22:33:31 -04:00
Thomas Harte
410c99de54
Factors out the language card memory selection logic.
2020-10-22 21:01:12 -04:00
Thomas Harte
817f93a490
Edges towards a working memory subsystem. At least structurally.
2020-10-22 19:25:04 -04:00
Thomas Harte
43611792ac
Adds just enough to get a 65816 ticking over.
2020-10-21 21:19:18 -04:00
Thomas Harte
62231708d7
read_pages_
can be const
.
2020-10-21 21:17:15 -04:00
Thomas Harte
a5dcab4092
Ensures machines with no audio output are handled correctly.
2020-10-21 21:16:00 -04:00
Thomas Harte
8bde2e5f4c
Slightly neatens Cocoa machine picker.
2020-10-20 22:25:39 -04:00
Thomas Harte
5287c57ee0
Adds the IIgs as a user-selectable machine.
...
Albeit that there is no underlying machine yet.
2020-10-20 22:18:11 -04:00
Thomas Harte
3aa47f9c68
Merge pull request #843 from TomHarte/MoreDormann
...
Introduces a build of Dormann's 65C02 tests that is 65816 compatible.
2020-10-19 21:13:46 -04:00
Thomas Harte
ab07814614
Eliminates now-broken 65816 flow test.
2020-10-19 21:02:46 -04:00
Thomas Harte
1653abdf88
Adds the .lst; otherwise I'll probably just lose it.
2020-10-19 20:58:24 -04:00
Thomas Harte
b3ab9fff9b
Imports a custom-built copy of Klaus Dormann's 65C02 test, with only 65816-compatible parts.
...
Thereby fixes another couple of 65816 issues — BRK(, etc) not clearing the decimal flag, and `TRB d` being mismapped.
2020-10-19 19:27:16 -04:00
Thomas Harte
14718b93a4
Improve commentary.
2020-10-19 09:32:50 -04:00
Thomas Harte
69450e27ad
Merge pull request #839 from TomHarte/65816
...
Adds emulation of the 65816.
2020-10-18 21:49:46 -04:00
Thomas Harte
0cd08aa79d
Permits the Oric analyser to check CPC-style DSKs.
...
Oric Mist seems to use that format, so some of these now exist out in the wild.
2020-10-18 21:44:44 -04:00
Thomas Harte
1fa94e1b08
Adds the 65816 as an in-code option for Oric emulation.
...
This also means it'll be exposed via the SDL build, but that's okay.
2020-10-18 21:43:08 -04:00
Thomas Harte
76d9893866
Declares address-bus sizes formally.
...
This allows me to fix the final two implicit conversion warnings, albeit that it would have been nice to find a templatey way just to get the type directly from the declaration of `perform_bus_operation`.
2020-10-18 15:08:21 -04:00
Thomas Harte
c3f8982c62
Resolves all internal implicit type-conversion warnings.
...
Chasing those down, it looks like flags were wrong for PLB and PLD. So it's official: warnings help.
2020-10-18 14:55:17 -04:00
Thomas Harte
99eba2f8ba
Ensures intended 65816 exception behaviour.
...
i.e. the relevant micro-op sequence exists, and its operation isn't lost. Also sets the 65816 by default to jump straight into power-on, not to execute an instruction first. That shouldn't make a functional difference, but it makes debugging easier because it makes startup fully deterministic.
2020-10-18 14:43:47 -04:00
Thomas Harte
69509f6502
Attempts to bring a little more consistency to my use of Swift in test code.
2020-10-17 22:42:54 -04:00
Thomas Harte
c3187fdbe1
Makes minor formatting improvement.
2020-10-17 22:31:51 -04:00
Thomas Harte
42228ea955
Adds 65C02As6502 test, to round out the set.
2020-10-17 22:31:32 -04:00
Thomas Harte
e5f57ea743
Make isReadOperation
more overt.
2020-10-17 22:27:04 -04:00
Thomas Harte
3b398f7a9a
Attempts to complete all 65816 bus signalling.
2020-10-16 21:56:20 -04:00
Thomas Harte
096add7551
Exposes non-BusOperation bus outputs.
2020-10-16 21:05:42 -04:00
Thomas Harte
334e0666b7
Reports ::Ready upon a WAI.
2020-10-15 21:37:37 -04:00
Thomas Harte
98c81749c8
Adds the conventional flush
.
2020-10-15 21:36:04 -04:00
Thomas Harte
5dcf720bb5
Extends list of BusOperations.
...
Now to retest, widely.
2020-10-15 21:35:01 -04:00
Thomas Harte
9c0c0255f6
Ensures data/program bank can't accidentally be set to 16-bit values.
2020-10-15 21:10:32 -04:00
Thomas Harte
68c15bd605
Updates Qt project; catches another couple of issues via its compiler.
2020-10-15 21:09:22 -04:00
Thomas Harte
9a2f32795f
Revokes stack-local storage non-optimisation.
2020-10-15 21:03:10 -04:00
Thomas Harte
7aa6cf4c6b
Tidies up layout very slightly.
2020-10-15 20:51:23 -04:00
Thomas Harte
dfda2adf0d
Attempts implementations of both ready and abort.
...
Which I think concludes the inputs?
2020-10-15 20:46:18 -04:00