1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-26 08:49:37 +00:00

Fix installation of LCW test value; thereby permit all tests.

This commit is contained in:
Thomas Harte 2022-06-29 15:04:21 -04:00
parent 5a9eb58d33
commit 825136b168
2 changed files with 7 additions and 21 deletions

View File

@ -44,23 +44,23 @@ Perform, in the order listed:
"hires": false,
If this is true, access IO address `0x57`; otherwise access IO address `0x56`.
If `hires` is true, access IO address `0x57`; otherwise access IO address `0x56`.
"lcw": false,
If this is true, access IO address `0x81` twice; otherwise access IO address `0x80` once.
If `lcw` is true, write any value to IO address `0x81` twice; otherwise write to IO address `0x80` at least once.
"80store": true,
If this is true, access IO address `0x01`; otherwise access IO address `0x00`.
If `80store` is true, access IO address `0x01`; otherwise access IO address `0x00`.
"shadow": 12,
Store this value to IO address `0x35`.
Store the value of `shadow` to IO address `0x35`.
"state": 183,
Store this value to IO address `0x68`.
Store the value of `state` to IO address `0x68`.
## Test

View File

@ -250,8 +250,8 @@ namespace {
const uint8_t state = [test[@"state"] integerValue];
_memoryMap.access(0xc056 + highRes, false);
_memoryMap.access(0xc080 + lcw, false);
_memoryMap.access(0xc080 + lcw, false);
_memoryMap.access(0xc080 + lcw, true);
_memoryMap.access(0xc080 + lcw, true);
_memoryMap.access(0xc000 + store80, false);
_memoryMap.set_shadow_register(shadow);
_memoryMap.set_state_register(state);
@ -344,20 +344,6 @@ namespace {
return;
}
// Questionable test results: I'm not sure the source is correct in its
// handling of language card read access. Don't test that.
//
// This test set treats the language card write flip flop as _enabling_
// writes. I think it _disables_ writes. TODO: reconcile.
if(
(logical >= 0x00d0 && logical < 0x0100) ||
(logical >= 0x01d0 && logical < 0x0200) ||
(logical >= 0xe0d0 && logical < 0xe100) ||
(logical >= 0xe1d0 && logical < 0xe200)
) {
return;
}
XCTAssert(region.write != nullptr);
if(region.write == nullptr) {
*stop = YES;