mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-23 03:32:32 +00:00
Adds a test of TOS 1.00, as far as it goes without meaningful hardware.
This commit is contained in:
parent
8e02d29ae6
commit
d6e16d0042
@ -247,6 +247,7 @@
|
|||||||
4B83348C1F5DB99C0097E338 /* 6522Base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B83348B1F5DB99C0097E338 /* 6522Base.cpp */; };
|
4B83348C1F5DB99C0097E338 /* 6522Base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B83348B1F5DB99C0097E338 /* 6522Base.cpp */; };
|
||||||
4B8334951F5E25B60097E338 /* C1540.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B8334941F5E25B60097E338 /* C1540.cpp */; };
|
4B8334951F5E25B60097E338 /* C1540.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B8334941F5E25B60097E338 /* C1540.cpp */; };
|
||||||
4B85322D227793CB00F26553 /* etos192uk.trace.txt.gz in Resources */ = {isa = PBXBuildFile; fileRef = 4B85322C227793CA00F26553 /* etos192uk.trace.txt.gz */; };
|
4B85322D227793CB00F26553 /* etos192uk.trace.txt.gz in Resources */ = {isa = PBXBuildFile; fileRef = 4B85322C227793CA00F26553 /* etos192uk.trace.txt.gz */; };
|
||||||
|
4B85322F2277ABDE00F26553 /* tos100.trace.txt.gz in Resources */ = {isa = PBXBuildFile; fileRef = 4B85322E2277ABDD00F26553 /* tos100.trace.txt.gz */; };
|
||||||
4B86E25B1F8C628F006FAA45 /* Keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B86E2591F8C628F006FAA45 /* Keyboard.cpp */; };
|
4B86E25B1F8C628F006FAA45 /* Keyboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B86E2591F8C628F006FAA45 /* Keyboard.cpp */; };
|
||||||
4B8805F01DCFC99C003085B1 /* Acorn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B8805EE1DCFC99C003085B1 /* Acorn.cpp */; };
|
4B8805F01DCFC99C003085B1 /* Acorn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B8805EE1DCFC99C003085B1 /* Acorn.cpp */; };
|
||||||
4B8805F41DCFD22A003085B1 /* Commodore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B8805F21DCFD22A003085B1 /* Commodore.cpp */; };
|
4B8805F41DCFD22A003085B1 /* Commodore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B8805F21DCFD22A003085B1 /* Commodore.cpp */; };
|
||||||
@ -966,6 +967,7 @@
|
|||||||
4B8334941F5E25B60097E338 /* C1540.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = C1540.cpp; path = Implementation/C1540.cpp; sourceTree = "<group>"; };
|
4B8334941F5E25B60097E338 /* C1540.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = C1540.cpp; path = Implementation/C1540.cpp; sourceTree = "<group>"; };
|
||||||
4B85322922778E4200F26553 /* Comparative68000.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Comparative68000.hpp; sourceTree = "<group>"; };
|
4B85322922778E4200F26553 /* Comparative68000.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Comparative68000.hpp; sourceTree = "<group>"; };
|
||||||
4B85322C227793CA00F26553 /* etos192uk.trace.txt.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = etos192uk.trace.txt.gz; sourceTree = "<group>"; };
|
4B85322C227793CA00F26553 /* etos192uk.trace.txt.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = etos192uk.trace.txt.gz; sourceTree = "<group>"; };
|
||||||
|
4B85322E2277ABDD00F26553 /* tos100.trace.txt.gz */ = {isa = PBXFileReference; lastKnownFileType = archive.gzip; path = tos100.trace.txt.gz; sourceTree = "<group>"; };
|
||||||
4B86E2591F8C628F006FAA45 /* Keyboard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Keyboard.cpp; sourceTree = "<group>"; };
|
4B86E2591F8C628F006FAA45 /* Keyboard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Keyboard.cpp; sourceTree = "<group>"; };
|
||||||
4B86E25A1F8C628F006FAA45 /* Keyboard.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Keyboard.hpp; sourceTree = "<group>"; };
|
4B86E25A1F8C628F006FAA45 /* Keyboard.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Keyboard.hpp; sourceTree = "<group>"; };
|
||||||
4B8805EE1DCFC99C003085B1 /* Acorn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Acorn.cpp; path = Parsers/Acorn.cpp; sourceTree = "<group>"; };
|
4B8805EE1DCFC99C003085B1 /* Acorn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Acorn.cpp; path = Parsers/Acorn.cpp; sourceTree = "<group>"; };
|
||||||
@ -2262,6 +2264,7 @@
|
|||||||
4B85322B227793CA00F26553 /* TOS Startup */ = {
|
4B85322B227793CA00F26553 /* TOS Startup */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
4B85322E2277ABDD00F26553 /* tos100.trace.txt.gz */,
|
||||||
4B85322C227793CA00F26553 /* etos192uk.trace.txt.gz */,
|
4B85322C227793CA00F26553 /* etos192uk.trace.txt.gz */,
|
||||||
);
|
);
|
||||||
path = "TOS Startup";
|
path = "TOS Startup";
|
||||||
@ -3563,6 +3566,7 @@
|
|||||||
4BB299C41B587D8400A49093 /* sbca in Resources */,
|
4BB299C41B587D8400A49093 /* sbca in Resources */,
|
||||||
4BB298F41B587D8400A49093 /* adcay in Resources */,
|
4BB298F41B587D8400A49093 /* adcay in Resources */,
|
||||||
4B44EBF51DC987AF00A7820C /* AllSuiteA.bin in Resources */,
|
4B44EBF51DC987AF00A7820C /* AllSuiteA.bin in Resources */,
|
||||||
|
4B85322F2277ABDE00F26553 /* tos100.trace.txt.gz in Resources */,
|
||||||
4BB299C61B587D8400A49093 /* sbcay in Resources */,
|
4BB299C61B587D8400A49093 /* sbcay in Resources */,
|
||||||
4BB299601B587D8400A49093 /* insa in Resources */,
|
4BB299601B587D8400A49093 /* insa in Resources */,
|
||||||
4BB299951B587D8400A49093 /* mmufetch in Resources */,
|
4BB299951B587D8400A49093 /* mmufetch in Resources */,
|
||||||
|
@ -101,13 +101,20 @@ class EmuTOS: public ComparativeBusHandler {
|
|||||||
std::unique_ptr<EmuTOS> _machine;
|
std::unique_ptr<EmuTOS> _machine;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)testEmuTOSStartup {
|
- (void)testImage:(NSString *)image trace:(NSString *)trace length:(int)length {
|
||||||
const auto roms = CSROMFetcher()("AtariST", {"etos192uk.img"});
|
const auto roms = CSROMFetcher()("AtariST", { image.UTF8String });
|
||||||
NSString *const traceLocation = [[NSBundle bundleForClass:[self class]] pathForResource:@"etos192uk" ofType:@"trace.txt.gz"];
|
NSString *const traceLocation = [[NSBundle bundleForClass:[self class]] pathForResource:trace ofType:@"trace.txt.gz"];
|
||||||
_machine.reset(new EmuTOS(*roms[0], traceLocation.UTF8String));
|
_machine.reset(new EmuTOS(*roms[0], traceLocation.UTF8String));
|
||||||
_machine->run_for(HalfCycles(313515));
|
_machine->run_for(HalfCycles(length));
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)testEmuTOSStartup {
|
||||||
|
[self testImage:@"etos192uk.img" trace:@"etos192uk" length:313515];
|
||||||
// TODO: assert that machine is now STOPped.
|
// TODO: assert that machine is now STOPped.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)testTOSStartup {
|
||||||
|
[self testImage:@"tos100.img" trace:@"tos100" length:54011091];
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
Binary file not shown.
BIN
OSBindings/Mac/Clock SignalTests/TOS Startup/tos100.trace.txt.gz
Normal file
BIN
OSBindings/Mac/Clock SignalTests/TOS Startup/tos100.trace.txt.gz
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user