mirror of
https://github.com/TomHarte/CLK.git
synced 2025-01-12 00:30:31 +00:00
Introduce some additional Blitter test cases.
This commit is contained in:
parent
139d35c6f9
commit
dc8701a929
@ -288,6 +288,7 @@
|
||||
4B670AB12401CB8400D4E002 /* z80docflags.tap in Resources */ = {isa = PBXBuildFile; fileRef = 4B670A9A2401CB8400D4E002 /* z80docflags.tap */; };
|
||||
4B680CE223A5553100451D43 /* 68000ComparativeTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4B680CE123A5553100451D43 /* 68000ComparativeTests.mm */; };
|
||||
4B680CE423A555CA00451D43 /* 68000 Comparative Tests in Resources */ = {isa = PBXBuildFile; fileRef = 4B680CE323A555CA00451D43 /* 68000 Comparative Tests */; };
|
||||
4B683AFF2727BC660043E541 /* gadget toggle.json in Resources */ = {isa = PBXBuildFile; fileRef = 4B683AFE2727BC640043E541 /* gadget toggle.json */; };
|
||||
4B69FB3D1C4D908A00B5F0AA /* Tape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B69FB3B1C4D908A00B5F0AA /* Tape.cpp */; };
|
||||
4B69FB441C4D941400B5F0AA /* TapeUEF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B69FB421C4D941400B5F0AA /* TapeUEF.cpp */; };
|
||||
4B69FB461C4D950F00B5F0AA /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B69FB451C4D950F00B5F0AA /* libz.tbd */; };
|
||||
@ -1364,6 +1365,7 @@
|
||||
4B670A9A2401CB8400D4E002 /* z80docflags.tap */ = {isa = PBXFileReference; lastKnownFileType = file; path = z80docflags.tap; sourceTree = "<group>"; };
|
||||
4B680CE123A5553100451D43 /* 68000ComparativeTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = 68000ComparativeTests.mm; sourceTree = "<group>"; };
|
||||
4B680CE323A555CA00451D43 /* 68000 Comparative Tests */ = {isa = PBXFileReference; lastKnownFileType = folder; path = "68000 Comparative Tests"; sourceTree = "<group>"; };
|
||||
4B683AFE2727BC640043E541 /* gadget toggle.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = "gadget toggle.json"; path = "Kickstart 1.3 boot logo/gadget toggle.json"; sourceTree = "<group>"; };
|
||||
4B698D1A1FE768A100696C91 /* SampleSource.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = SampleSource.hpp; sourceTree = "<group>"; };
|
||||
4B69FB3B1C4D908A00B5F0AA /* Tape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Tape.cpp; sourceTree = "<group>"; };
|
||||
4B69FB3C1C4D908A00B5F0AA /* Tape.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Tape.hpp; sourceTree = "<group>"; };
|
||||
@ -2372,6 +2374,7 @@
|
||||
4B1414631B588A1100E04248 /* Test Binaries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
4B683AFE2727BC640043E541 /* gadget toggle.json */,
|
||||
4B32F72C271B3E1A00BFC623 /* sector decode.json */,
|
||||
4BD1552F2711E5FD00410C6E /* kickstart13 boot logo.json */,
|
||||
4B680CE323A555CA00451D43 /* 68000 Comparative Tests */,
|
||||
@ -5081,6 +5084,7 @@
|
||||
4BB2998F1B587D8400A49093 /* lsrax in Resources */,
|
||||
4BB299001B587D8400A49093 /* andix in Resources */,
|
||||
4B8DF6242550D91600F3433C /* CPUBIT-trace_compare.log in Resources */,
|
||||
4B683AFF2727BC660043E541 /* gadget toggle.json in Resources */,
|
||||
4BB2993A1B587D8400A49093 /* cnto2 in Resources */,
|
||||
4BB298FA1B587D8400A49093 /* alrb in Resources */,
|
||||
4BB299C71B587D8400A49093 /* sbcb in Resources */,
|
||||
|
@ -211,4 +211,8 @@ using WriteVector = std::vector<std::pair<uint32_t, uint16_t>>;
|
||||
[self testCase:@"sector decode"];
|
||||
}
|
||||
|
||||
- (void)testGadgetToggle {
|
||||
[self testCase:@"gadget toggle"];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -0,0 +1,210 @@
|
||||
[
|
||||
["bltafwm", 8191],
|
||||
["bltalwm", 65528],
|
||||
["bltcon1", 0],
|
||||
["bltbdat", 65535],
|
||||
["bltadat", 65535],
|
||||
["bltamod", 0],
|
||||
["bltdmod", 76],
|
||||
["bltcmod", 76],
|
||||
["bltapth", 0],
|
||||
["bltaptl", 47616],
|
||||
["bltcon0", 874],
|
||||
["bltcpth", 1],
|
||||
["bltcptl", 1492],
|
||||
["bltdpth", 1],
|
||||
["bltdptl", 1492],
|
||||
["bltsize", 642],
|
||||
["cread", 67028, 59391],
|
||||
["write", 67028, 63488],
|
||||
["cread", 67030, 65511],
|
||||
["write", 67030, 31],
|
||||
["cread", 67108, 58880],
|
||||
["write", 67108, 63999],
|
||||
["cread", 67110, 2023],
|
||||
["write", 67110, 63519],
|
||||
["cread", 67188, 58880],
|
||||
["write", 67188, 63999],
|
||||
["cread", 67190, 103],
|
||||
["write", 67190, 65439],
|
||||
["cread", 67268, 26119],
|
||||
["write", 67268, 31224],
|
||||
["cread", 67270, 65127],
|
||||
["write", 67270, 415],
|
||||
["cread", 67348, 26119],
|
||||
["write", 67348, 31224],
|
||||
["cread", 67350, 65127],
|
||||
["write", 67350, 415],
|
||||
["cread", 67428, 26119],
|
||||
["write", 67428, 31224],
|
||||
["cread", 67430, 65127],
|
||||
["write", 67430, 415],
|
||||
["cread", 67508, 26119],
|
||||
["write", 67508, 31224],
|
||||
["cread", 67510, 65127],
|
||||
["write", 67510, 415],
|
||||
["cread", 67588, 26599],
|
||||
["write", 67588, 30744],
|
||||
["cread", 67590, 65127],
|
||||
["write", 67590, 415],
|
||||
["cread", 67668, 26592],
|
||||
["write", 67668, 30751],
|
||||
["cread", 67670, 103],
|
||||
["write", 67670, 65439],
|
||||
["cread", 67748, 59391],
|
||||
["write", 67748, 63488],
|
||||
["cread", 67750, 65511],
|
||||
["write", 67750, 31],
|
||||
["bltapth", 0],
|
||||
["bltaptl", 47616],
|
||||
["bltcon0", 874],
|
||||
["bltcpth", 1],
|
||||
["bltcptl", 21972],
|
||||
["bltdpth", 1],
|
||||
["bltdptl", 21972],
|
||||
["bltsize", 642],
|
||||
["cread", 87508, 0],
|
||||
["write", 87508, 8191],
|
||||
["cread", 87510, 0],
|
||||
["write", 87510, 65528],
|
||||
["cread", 87588, 511],
|
||||
["write", 87588, 7680],
|
||||
["cread", 87590, 63488],
|
||||
["write", 87590, 2040],
|
||||
["cread", 87668, 480],
|
||||
["write", 87668, 7711],
|
||||
["cread", 87670, 0],
|
||||
["write", 87670, 65528],
|
||||
["cread", 87748, 33248],
|
||||
["write", 87748, 40479],
|
||||
["cread", 87750, 0],
|
||||
["write", 87750, 65528],
|
||||
["cread", 87828, 33248],
|
||||
["write", 87828, 40479],
|
||||
["cread", 87830, 0],
|
||||
["write", 87830, 65528],
|
||||
["cread", 87908, 33248],
|
||||
["write", 87908, 40479],
|
||||
["cread", 87910, 0],
|
||||
["write", 87910, 65528],
|
||||
["cread", 87988, 33248],
|
||||
["write", 87988, 40479],
|
||||
["cread", 87990, 0],
|
||||
["write", 87990, 65528],
|
||||
["cread", 88068, 32768],
|
||||
["write", 88068, 40959],
|
||||
["cread", 88070, 0],
|
||||
["write", 88070, 65528],
|
||||
["cread", 88148, 32768],
|
||||
["write", 88148, 40959],
|
||||
["cread", 88150, 0],
|
||||
["write", 88150, 65528],
|
||||
["cread", 88228, 0],
|
||||
["write", 88228, 8191],
|
||||
["cread", 88230, 0],
|
||||
["write", 88230, 65528],
|
||||
["bltafwm", 8191],
|
||||
["bltalwm", 65528],
|
||||
["bltcon1", 0],
|
||||
["bltbdat", 65535],
|
||||
["bltadat", 65535],
|
||||
["bltamod", 0],
|
||||
["bltdmod", 76],
|
||||
["bltcmod", 76],
|
||||
["bltapth", 0],
|
||||
["bltaptl", 47616],
|
||||
["bltcon0", 874],
|
||||
["bltcpth", 1],
|
||||
["bltcptl", 1492],
|
||||
["bltdpth", 1],
|
||||
["bltdptl", 1492],
|
||||
["bltsize", 642],
|
||||
["cread", 67028, 63488],
|
||||
["write", 67028, 59391],
|
||||
["cread", 67030, 31],
|
||||
["write", 67030, 65511],
|
||||
["cread", 67108, 63999],
|
||||
["write", 67108, 58880],
|
||||
["cread", 67110, 63519],
|
||||
["write", 67110, 2023],
|
||||
["cread", 67188, 63999],
|
||||
["write", 67188, 58880],
|
||||
["cread", 67190, 65439],
|
||||
["write", 67190, 103],
|
||||
["cread", 67268, 31224],
|
||||
["write", 67268, 26119],
|
||||
["cread", 67270, 415],
|
||||
["write", 67270, 65127],
|
||||
["cread", 67348, 31224],
|
||||
["write", 67348, 26119],
|
||||
["cread", 67350, 415],
|
||||
["write", 67350, 65127],
|
||||
["cread", 67428, 31224],
|
||||
["write", 67428, 26119],
|
||||
["cread", 67430, 415],
|
||||
["write", 67430, 65127],
|
||||
["cread", 67508, 31224],
|
||||
["write", 67508, 26119],
|
||||
["cread", 67510, 415],
|
||||
["write", 67510, 65127],
|
||||
["cread", 67588, 30744],
|
||||
["write", 67588, 26599],
|
||||
["cread", 67590, 415],
|
||||
["write", 67590, 65127],
|
||||
["cread", 67668, 30751],
|
||||
["write", 67668, 26592],
|
||||
["cread", 67670, 65439],
|
||||
["write", 67670, 103],
|
||||
["cread", 67748, 63488],
|
||||
["write", 67748, 59391],
|
||||
["cread", 67750, 31],
|
||||
["write", 67750, 65511],
|
||||
["bltapth", 0],
|
||||
["bltaptl", 47616],
|
||||
["bltcon0", 874],
|
||||
["bltcpth", 1],
|
||||
["bltcptl", 21972],
|
||||
["bltdpth", 1],
|
||||
["bltdptl", 21972],
|
||||
["bltsize", 642],
|
||||
["cread", 87508, 8191],
|
||||
["write", 87508, 0],
|
||||
["cread", 87510, 65528],
|
||||
["write", 87510, 0],
|
||||
["cread", 87588, 7680],
|
||||
["write", 87588, 511],
|
||||
["cread", 87590, 2040],
|
||||
["write", 87590, 63488],
|
||||
["cread", 87668, 7711],
|
||||
["write", 87668, 480],
|
||||
["cread", 87670, 65528],
|
||||
["write", 87670, 0],
|
||||
["cread", 87748, 40479],
|
||||
["write", 87748, 33248],
|
||||
["cread", 87750, 65528],
|
||||
["write", 87750, 0],
|
||||
["cread", 87828, 40479],
|
||||
["write", 87828, 33248],
|
||||
["cread", 87830, 65528],
|
||||
["write", 87830, 0],
|
||||
["cread", 87908, 40479],
|
||||
["write", 87908, 33248],
|
||||
["cread", 87910, 65528],
|
||||
["write", 87910, 0],
|
||||
["cread", 87988, 40479],
|
||||
["write", 87988, 33248],
|
||||
["cread", 87990, 65528],
|
||||
["write", 87990, 0],
|
||||
["cread", 88068, 40959],
|
||||
["write", 88068, 32768],
|
||||
["cread", 88070, 65528],
|
||||
["write", 88070, 0],
|
||||
["cread", 88148, 40959],
|
||||
["write", 88148, 32768],
|
||||
["cread", 88150, 65528],
|
||||
["write", 88150, 0],
|
||||
["cread", 88228, 8191],
|
||||
["write", 88228, 0],
|
||||
["cread", 88230, 65528],
|
||||
["write", 88230, 0]
|
||||
]
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -334,6 +334,8 @@ template <class T, bool dtack_is_implicit, bool signal_will_perform> void Proces
|
||||
|
||||
if(instructions[decoded_instruction_.full].micro_operations != std::numeric_limits<uint32_t>::max()) {
|
||||
if((instructions[decoded_instruction_.full].source_dest & 0x80) && !is_supervisor_) {
|
||||
printf("Privilege violation on %04x at %08x\n", decoded_instruction_.full, program_counter_.full - 4);
|
||||
|
||||
// A privilege violation has been detected.
|
||||
active_program_ = nullptr;
|
||||
active_micro_op_ = short_exception_micro_ops_;
|
||||
@ -347,6 +349,8 @@ template <class T, bool dtack_is_implicit, bool signal_will_perform> void Proces
|
||||
active_micro_op_ = &all_micro_ops_[active_program_->micro_operations];
|
||||
}
|
||||
} else {
|
||||
printf("Opcode violation for %04x at %08x\n", decoded_instruction_.full, program_counter_.full - 4);
|
||||
|
||||
// The opcode fetched isn't valid.
|
||||
active_program_ = nullptr;
|
||||
active_micro_op_ = short_exception_micro_ops_;
|
||||
|
Loading…
x
Reference in New Issue
Block a user