From ed510409c4fd167cf530f1d24b66d3a436e2ca6f Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sun, 25 Oct 2020 21:31:21 -0400 Subject: [PATCH] Starts memory map test class, already finding a typo. --- Machines/Apple/AppleIIgs/AppleIIgs.cpp | 1 + Machines/Apple/AppleIIgs/MemoryMap.hpp | 2 +- .../Clock Signal.xcodeproj/project.pbxproj | 9 +++-- .../Clock SignalTests/IIgsMemoryMapTests.mm | 34 +++++++++++++++++++ 4 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 OSBindings/Mac/Clock SignalTests/IIgsMemoryMapTests.mm diff --git a/Machines/Apple/AppleIIgs/AppleIIgs.cpp b/Machines/Apple/AppleIIgs/AppleIIgs.cpp index f077f1c7f..d29cd7855 100644 --- a/Machines/Apple/AppleIIgs/AppleIIgs.cpp +++ b/Machines/Apple/AppleIIgs/AppleIIgs.cpp @@ -68,6 +68,7 @@ class ConcreteMachine: } ram_.resize(ram_size * 1024); + memory_.set_storage(ram_, rom_); } void run_for(const Cycles cycles) override { diff --git a/Machines/Apple/AppleIIgs/MemoryMap.hpp b/Machines/Apple/AppleIIgs/MemoryMap.hpp index 6a965e7cf..2abeeaa0c 100644 --- a/Machines/Apple/AppleIIgs/MemoryMap.hpp +++ b/Machines/Apple/AppleIIgs/MemoryMap.hpp @@ -87,7 +87,7 @@ class MemoryMap { set_region(0x01, 0xe000, 0xffff, region()); // Banks $02–[end of RAM]: all locations potentially affected by shadowing. - const uint8_t fast_ram_bank_count = uint8_t((ram.size() - 128*1024) / 6536); + const uint8_t fast_ram_bank_count = uint8_t((ram.size() - 128*1024) / 65536); if(fast_ram_bank_count > 2) { const uint8_t evens[] = { region(), // 0x0000 – 0x0400. diff --git a/OSBindings/Mac/Clock Signal.xcodeproj/project.pbxproj b/OSBindings/Mac/Clock Signal.xcodeproj/project.pbxproj index 74f36acf6..8caf4dce9 100644 --- a/OSBindings/Mac/Clock Signal.xcodeproj/project.pbxproj +++ b/OSBindings/Mac/Clock Signal.xcodeproj/project.pbxproj @@ -453,6 +453,7 @@ 4B89453D201967B4007DE474 /* StaticAnalyser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B894516201967B4007DE474 /* StaticAnalyser.cpp */; }; 4B89453E201967B4007DE474 /* StaticAnalyser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B894517201967B4007DE474 /* StaticAnalyser.cpp */; }; 4B89453F201967B4007DE474 /* StaticAnalyser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4B894517201967B4007DE474 /* StaticAnalyser.cpp */; }; + 4B8DF4D825465B7500F3433C /* IIgsMemoryMapTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4B8DF4D725465B7500F3433C /* IIgsMemoryMapTests.mm */; }; 4B8FE21B1DA19D5F0090D3CE /* Atari2600Options.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4B8FE2131DA19D5F0090D3CE /* Atari2600Options.xib */; }; 4B8FE21C1DA19D5F0090D3CE /* MachineDocument.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4B8FE2151DA19D5F0090D3CE /* MachineDocument.xib */; }; 4B8FE21D1DA19D5F0090D3CE /* QuickLoadCompositeOptions.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4B8FE2171DA19D5F0090D3CE /* QuickLoadCompositeOptions.xib */; }; @@ -1312,6 +1313,7 @@ 4B8A7E85212F988200F2BBC6 /* DeferredQueue.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = DeferredQueue.hpp; sourceTree = ""; }; 4B8D287E1F77207100645199 /* TrackSerialiser.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = TrackSerialiser.hpp; sourceTree = ""; }; 4B8DF4D62546561300F3433C /* MemoryMap.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = MemoryMap.hpp; sourceTree = ""; }; + 4B8DF4D725465B7500F3433C /* IIgsMemoryMapTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = IIgsMemoryMapTests.mm; sourceTree = ""; }; 4B8E4ECD1DCE483D003716C3 /* KeyboardMachine.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = KeyboardMachine.hpp; sourceTree = ""; }; 4B8EF6071FE5AF830076CCDD /* LowpassSpeaker.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = LowpassSpeaker.hpp; sourceTree = ""; }; 4B8FE2141DA19D5F0090D3CE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = "Clock Signal/Base.lproj/Atari2600Options.xib"; sourceTree = SOURCE_ROOT; }; @@ -1337,7 +1339,6 @@ 4B9378E322A199C600973513 /* Audio.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Audio.hpp; sourceTree = ""; }; 4B95FA9C1F11893B0008E395 /* ZX8081OptionsPanel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ZX8081OptionsPanel.swift; sourceTree = ""; }; 4B961408222760E0001A7BF2 /* Screenshot.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = Screenshot.hpp; sourceTree = ""; }; - 4B97ADC722C6FD9B00A22A41 /* 68000ArithmeticTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = 68000ArithmeticTests.mm; path = "/Users/thomasharte/Projects/CLK/OSBindings/Mac/Clock SignalTests/68000ArithmeticTests.mm"; sourceTree = ""; }; 4B98A05C1FFAD3F600ADF63B /* CSROMFetcher.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = CSROMFetcher.hpp; sourceTree = ""; }; 4B98A05D1FFAD3F600ADF63B /* CSROMFetcher.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = CSROMFetcher.mm; sourceTree = ""; }; 4B98A0601FFADCDE00ADF63B /* MSXStaticAnalyserTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MSXStaticAnalyserTests.mm; sourceTree = ""; }; @@ -3455,7 +3456,7 @@ children = ( 4B85322922778E4200F26553 /* Comparative68000.hpp */, 4B90467222C6FA31000E2074 /* TestRunner68000.hpp */, - 4B97ADC722C6FD9B00A22A41 /* 68000ArithmeticTests.mm */, + 4B90467522C6FD6E000E2074 /* 68000ArithmeticTests.mm */, 4B9D0C4A22C7D70900DE1AD3 /* 68000BCDTests.mm */, 4B90467322C6FADD000E2074 /* 68000BitwiseTests.mm */, 4B680CE123A5553100451D43 /* 68000ComparativeTests.mm */, @@ -3467,6 +3468,7 @@ 4BE34437238389E10058E78F /* AtariSTVideoTests.mm */, 4BB2A9AE1E13367E001A5C23 /* CRCTests.mm */, 4BFF1D3C2235C3C100838EA1 /* EmuTOSTests.mm */, + 4B8DF4D725465B7500F3433C /* IIgsMemoryMapTests.mm */, 4BEE1EBF22B5E236000A26A6 /* MacGCRTests.mm */, 4BE90FFC22D5864800FB464D /* MacintoshVideoTests.mm */, 4BA91E1C216D85BA00F79557 /* MasterSystemVDPTests.mm */, @@ -3910,8 +3912,8 @@ 4BE2120D253FCE9C00435408 /* AppleIIgs */ = { isa = PBXGroup; children = ( - 4BE2120E253FCE9C00435408 /* AppleIIgs.hpp */, 4BE21214253FCE9C00435408 /* AppleIIgs.cpp */, + 4BE2120E253FCE9C00435408 /* AppleIIgs.hpp */, 4B8DF4D62546561300F3433C /* MemoryMap.hpp */, ); path = AppleIIgs; @@ -4957,6 +4959,7 @@ 4BBF49AF1ED2880200AB3669 /* FUSETests.swift in Sources */, 4B778F4D23A5F20F0000D260 /* StaticAnalyser.cpp in Sources */, 4B778F0423A5EBB00000D260 /* OricMFMDSK.cpp in Sources */, + 4B8DF4D825465B7500F3433C /* IIgsMemoryMapTests.mm in Sources */, 4B3BA0CE1D318B44005DD7A7 /* C1540Bridge.mm in Sources */, 4B4F477C253530B7004245B8 /* Jeek816Tests.swift in Sources */, 4B778F0F23A5EC560000D260 /* PCMTrack.cpp in Sources */, diff --git a/OSBindings/Mac/Clock SignalTests/IIgsMemoryMapTests.mm b/OSBindings/Mac/Clock SignalTests/IIgsMemoryMapTests.mm new file mode 100644 index 000000000..e75d1aeb4 --- /dev/null +++ b/OSBindings/Mac/Clock SignalTests/IIgsMemoryMapTests.mm @@ -0,0 +1,34 @@ +// +// IIgsMemoryMapTests.mm +// Clock SignalTests +// +// Created by Thomas Harte on 25/10/2020. +// Copyright © 2020 Thomas Harte. All rights reserved. +// + +#import + +#include "../../../Machines/Apple/AppleIIgs/MemoryMap.hpp" + +@interface IIgsMemoryMapTests : XCTestCase +@end + +@implementation IIgsMemoryMapTests { + Apple::IIgs::MemoryMap _memoryMap; + std::vector _ram; + std::vector _rom; +} + +- (void)setUp { + _ram.resize((128 + 8 * 1024) * 1024); + _rom.resize(256 * 1024); + _memoryMap.set_storage(_ram, _rom); +} + +- (void)testNothing { +} + +- (void)testSomeOtherNothing { +} + +@end