mirror of
https://github.com/TomHarte/CLK.git
synced 2025-01-11 08:30:55 +00:00
More clarity tweaks.
This commit is contained in:
parent
5d8f284757
commit
159924dcc0
@ -33,9 +33,9 @@ template <typename Machine> class AuxiliaryMemorySwitches {
|
|||||||
/// Describes banking state between $0200 and $BFFF.
|
/// Describes banking state between $0200 and $BFFF.
|
||||||
struct MainState {
|
struct MainState {
|
||||||
struct Region {
|
struct Region {
|
||||||
/// @c true indicates auxiliary memory should be read from in this region; @c false indicates that main memory should be used.
|
/// @c true indicates auxiliary memory should be read from; @c false indicates main.
|
||||||
bool read = false;
|
bool read = false;
|
||||||
/// @c true indicates auxiliary memory should be written to in this region; @c false indicates that main memory should be used.
|
/// @c true indicates auxiliary memory should be written to; @c false indicates main.
|
||||||
bool write = false;
|
bool write = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -433,8 +433,6 @@ class MemoryMap {
|
|||||||
regions[region_map[zone]].flags |= Region::IsShadowed; \
|
regions[region_map[zone]].flags |= Region::IsShadowed; \
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("Shadowing: %02x\n", shadow_register_);
|
|
||||||
|
|
||||||
// Relevant bits:
|
// Relevant bits:
|
||||||
//
|
//
|
||||||
// b5: inhibit shadowing, text page 2 [if ROM 03; as if always set otherwise]
|
// b5: inhibit shadowing, text page 2 [if ROM 03; as if always set otherwise]
|
||||||
@ -469,11 +467,14 @@ class MemoryMap {
|
|||||||
assert(region_map[0x030c] == region_map[0x0308]+1);
|
assert(region_map[0x030c] == region_map[0x0308]+1);
|
||||||
|
|
||||||
// Hi-res graphics Page 1, main and auxiliary — $2000–$4000;
|
// Hi-res graphics Page 1, main and auxiliary — $2000–$4000;
|
||||||
// also part of the super high-res graphics page.
|
// also part of the super high-res graphics page on odd pages.
|
||||||
|
//
|
||||||
|
// Even test applied:
|
||||||
|
// high-res graphics page 1 inhibit bit alone is definitive.
|
||||||
|
//
|
||||||
|
// Odd test:
|
||||||
|
// (high-res graphics inhibit or auxiliary high res graphics inhibit) _and_ (super high-res inhibit).
|
||||||
//
|
//
|
||||||
// Test applied: both the graphics page inhibit and, on odd
|
|
||||||
// pages, the super high-res inhibit must be applied to inhibit
|
|
||||||
// this area.
|
|
||||||
apply(shadow_register_ & 0x02, 0x0020);
|
apply(shadow_register_ & 0x02, 0x0020);
|
||||||
apply((shadow_register_ & 0x12) && (shadow_register_ & 0x08), 0x0120);
|
apply((shadow_register_ & 0x12) && (shadow_register_ & 0x08), 0x0120);
|
||||||
apply((shadow_register_ & 0x02) || inhibit_all_pages, 0x0220);
|
apply((shadow_register_ & 0x02) || inhibit_all_pages, 0x0220);
|
||||||
@ -486,9 +487,7 @@ class MemoryMap {
|
|||||||
// Hi-res graphics Page 2, main and auxiliary — $4000–$6000;
|
// Hi-res graphics Page 2, main and auxiliary — $4000–$6000;
|
||||||
// also part of the super high-res graphics page.
|
// also part of the super high-res graphics page.
|
||||||
//
|
//
|
||||||
// Test applied: both the graphics page inhibit and, on odd
|
// Test applied: much like that for page 1.
|
||||||
// pages, the super high-res inhibit must be applied to inhibit
|
|
||||||
// this area.
|
|
||||||
apply(shadow_register_ & 0x04, 0x0040);
|
apply(shadow_register_ & 0x04, 0x0040);
|
||||||
apply((shadow_register_ & 0x14) && (shadow_register_ & 0x08), 0x0140);
|
apply((shadow_register_ & 0x14) && (shadow_register_ & 0x08), 0x0140);
|
||||||
apply((shadow_register_ & 0x04) || inhibit_all_pages, 0x0240);
|
apply((shadow_register_ & 0x04) || inhibit_all_pages, 0x0240);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user