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
7122a9ee16
Add missing include of cstdint.
2024-01-21 21:08:04 -05:00
Thomas Harte
a3d37640aa
Switch include guards to #pragma once
.
2024-01-16 23:34:46 -05:00
Thomas Harte
ed91956c30
Add missing #include.
2024-01-04 11:21:32 -05:00
Thomas Harte
24d64bf788
ROM is never shadowed; also add assert
.
2024-01-04 11:17:20 -05:00
Thomas Harte
386f572e9a
Add assert.
2024-01-04 11:11:26 -05:00
Thomas Harte
dae80217bc
Adjust names of the newly-private.
2024-01-04 10:36:33 -05:00
Thomas Harte
bfbaebb661
Improve const correctness.
2024-01-04 10:29:38 -05:00
Thomas Harte
4affbe7556
Relocate using
.
2024-01-04 10:28:41 -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
d01c306187
Pull PagingType::Main
to top, eliminate macros.
2024-01-03 11:40:04 -05:00
Thomas Harte
3793fbd978
Remove much unused storage; add virtual destructor.
2023-12-27 11:14:08 -05:00
Thomas Harte
28c79b2885
Eliminate redundant [space][tab] pairs.
2023-05-12 14:14:45 -04:00
Thomas Harte
2b56b7be0d
Simplify namespace syntax.
2023-05-10 16:02:18 -05:00
Thomas Harte
36c3cb1f70
Deal with pre-ROM03 case, now that it's easy.
2022-09-13 16:31:06 -04:00
Thomas Harte
6773a321c1
Switch to portable direct bitwise logic.
2022-09-13 16:02:49 -04:00
Thomas Harte
ffdf44ad4f
Switch to overt use of std::fill.
2022-09-13 15:39:17 -04:00
Thomas Harte
924de35cf3
Go all in on support for physical shadowing.
2022-06-29 14:39:56 -04:00
Thomas Harte
7cf9e08948
Map shadowing by logical address, not physical.
...
Disclaimer: although this better matches the tests, I've yet to verify.
2022-06-29 06:10:15 -04:00
Thomas Harte
60d3519993
Clarify, attempt to implement as internally documented.
2022-06-28 22:32:31 -04:00
Thomas Harte
6abc317986
Avoid permitting writes in the Cx00 region after uninhibiting the language card.
2022-06-28 16:35:47 -04:00
Thomas Harte
94fcc90886
Use auxiliary switches to control language card area when card is inhibited.
2022-06-28 12:46:31 -04:00
Thomas Harte
7aeaa4a485
Tweak paging semantics, to allow simple multiple dependencies.
2022-06-27 21:38:45 -04:00
Thomas Harte
21842052cf
Alternative zero page should affect bank 0's language card area when the card is disabled.
2022-06-27 07:56:45 -04:00
Thomas Harte
d8e42c4379
Tweak guess at initial state.
2021-09-09 22:06:36 -04:00
Thomas Harte
094d623485
Updates unit tests.
2021-04-05 21:33:04 -04:00
Thomas Harte
0f9ab53ea0
Resolves GCC warnings from dangling Apple IIgs work.
2021-03-21 22:36:18 -04:00
Thomas Harte
4601421aa6
This conditional is gone.
2021-03-03 20:52:01 -05:00
Thomas Harte
2f45e07d82
Further consolidates region map, now that shadowing is orthogonal.
2021-02-28 15:22:36 -05:00
Thomas Harte
496b6b5cfc
Introduces a further 128 bits of storage to eliminate the conditional in IsShadowed.
2021-02-28 15:14:32 -05:00
Thomas Harte
8604b1786e
Simplifies banks $02+ to a single region.
2021-02-27 23:34:51 -05:00
Thomas Harte
631a8a7421
Adds bitset header.
2021-02-27 22:13:49 -05:00
Thomas Harte
7dcb0553e4
Switches to a target-centric view of shadowing.
2021-02-27 22:13:10 -05:00
Thomas Harte
55c9d152e9
Slightly smarter: this does branchless shadowing without additional storage.
2021-02-24 18:46:41 -05:00
Thomas Harte
e42843cca0
This may temporarily exhaust my wit for asserts.
2021-02-16 22:47:46 -05:00
Thomas Harte
3336a123f8
Asserts even more overtly.
2021-02-16 22:33:28 -05:00
Thomas Harte
159924dcc0
More clarity tweaks.
2020-12-10 22:47:11 -05:00
Thomas Harte
5d8f284757
Makes minor style improvements.
2020-12-10 22:11:53 -05:00
Thomas Harte
c978a95463
Increases asserts and adds a test.
...
Thereby discovers and fixes a problem with set_main_paging().
2020-12-10 21:49:23 -05:00
Thomas Harte
6cb71eb11b
This needs explicitly to be a bool
for the table lookups to work.
2020-12-06 16:43:07 -05:00
Thomas Harte
55de98fb46
Adds a new statement of intent.
...
Now I need to try to decide whether I like my current all-in-one mapping for shadowing + paging, or whether it's better to split the things. I'm tending towards the latter at least until the functionality works.
2020-12-05 19:09:21 -05:00
Thomas Harte
187f507532
The soft switch is LCBANK2, not LCBANK1.
...
[This also jimmys the IIgs into always entering its extended self test, for now]
2020-11-30 22:35:51 -05:00
Thomas Harte
87069da3dd
Improves exposition, eliminates a couple of redundant map adjustments.
2020-11-30 18:07:03 -05:00
Thomas Harte
5cb4077576
Switches from modulo to and.
2020-11-30 17:47:57 -05:00
Thomas Harte
e9c7e0b9dd
Provisionally reverses meaning of language card RAM bank select.
2020-11-29 21:57:17 -05:00
Thomas Harte
56de2512ae
Adds a further safety assert.
2020-11-25 23:34:30 -05:00
Thomas Harte
69dddf34b9
Adds bonus sanity check.
2020-11-18 19:47:56 -05:00