diff --git a/A2Mac.xcodeproj/project.pbxproj b/A2Mac.xcodeproj/project.pbxproj index 14dc802..16a2da6 100644 --- a/A2Mac.xcodeproj/project.pbxproj +++ b/A2Mac.xcodeproj/project.pbxproj @@ -99,6 +99,17 @@ 32E3127424AC0B2E00E61891 /* doc.on.clipboard.png in Copy Image Files */ = {isa = PBXBuildFile; fileRef = 32E3127224AC0AC400E61891 /* doc.on.clipboard.png */; }; 32F04B0E24B189D4006B5ECB /* Apple Disk II D1 Open.png in Copy Image Files */ = {isa = PBXBuildFile; fileRef = 32F04B0C24B189D3006B5ECB /* Apple Disk II D1 Open.png */; }; 32F04B0F24B189D4006B5ECB /* Apple Disk II D2 Open.png in Copy Image Files */ = {isa = PBXBuildFile; fileRef = 32F04B0D24B189D4006B5ECB /* Apple Disk II D2 Open.png */; }; + 32F1D03024CE39D70058AC75 /* LoRes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32440BA22480D5C0000F9DA1 /* LoRes.swift */; }; + 32F1D03124CE39DC0058AC75 /* HiRes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32DBF7632334657900DD50E7 /* HiRes.swift */; }; + 32F1D03224CE39F10058AC75 /* Preferences.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 323D042D248980600086A901 /* Preferences.storyboard */; }; + 32F1D03324CE3A000058AC75 /* PreferencesWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 323D04312489BFD80086A901 /* PreferencesWindowController.swift */; }; + 32F1D03424CE3A040058AC75 /* PreferencesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 323D042F24898AB70086A901 /* PreferencesViewController.swift */; }; + 32F1D03524CE3A5F0058AC75 /* RepeatingTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32C45305232E3EEF0000EBA1 /* RepeatingTimer.swift */; }; + 32F1D03624CE3AA30058AC75 /* LoRes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32440BA22480D5C0000F9DA1 /* LoRes.swift */; }; + 32F1D03724CE3AA30058AC75 /* HiRes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32DBF7632334657900DD50E7 /* HiRes.swift */; }; + 32F1D03824CE3AA30058AC75 /* RepeatingTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32C45305232E3EEF0000EBA1 /* RepeatingTimer.swift */; }; + 32F1D03924CE3AB10058AC75 /* PreferencesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 323D042F24898AB70086A901 /* PreferencesViewController.swift */; }; + 32F1D03A24CE3AB10058AC75 /* PreferencesWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 323D04312489BFD80086A901 /* PreferencesWindowController.swift */; }; 32F8A87C24A3A84300EE6735 /* PrintChar21.ttf in Copy Font Files */ = {isa = PBXBuildFile; fileRef = 325EB67B23FBD43800C6B4A4 /* PrintChar21.ttf */; }; 32F8A87D24A3A84700EE6735 /* PRNumber3.ttf in Copy Font Files */ = {isa = PBXBuildFile; fileRef = 32089E4724556DBD0036E667 /* PRNumber3.ttf */; }; 32F8A87F24A3A8A000EE6735 /* apple.rom in Copy ROM Images */ = {isa = PBXBuildFile; fileRef = 32439F8422ECD8AD0077AAE0 /* apple.rom */; }; @@ -400,7 +411,7 @@ 3268E68E2474E24900047474 /* paddle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = paddle.h; sourceTree = ""; }; 326B56E424AD8E89009BA0AC /* gobackward.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = gobackward.png; sourceTree = ""; }; 326B56E624AD906D009BA0AC /* doc.text.viewfinder.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doc.text.viewfinder.png; sourceTree = ""; }; - 326ED2EE232D7A0000A41337 /* 6502_functional_test.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; path = 6502_functional_test.bin; sourceTree = SOURCE_ROOT; }; + 326ED2EE232D7A0000A41337 /* 6502_functional_test.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; name = 6502_functional_test.bin; path = Resources/rom/6502_functional_test.bin; sourceTree = SOURCE_ROOT; }; 32877F8C24ADA6AF003A940D /* joystick.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = joystick.png; sourceTree = ""; }; 3296223124A6622C002DEB78 /* apple_original_logo_design.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = apple_original_logo_design.png; sourceTree = ""; }; 3296223324A709CE002DEB78 /* disk_ii_motor_w_floppy.sfx */ = {isa = PBXFileReference; lastKnownFileType = file; path = disk_ii_motor_w_floppy.sfx; sourceTree = ""; }; @@ -572,6 +583,7 @@ 323D043B248F6EBE0086A901 /* rom */ = { isa = PBXGroup; children = ( + 326ED2EE232D7A0000A41337 /* 6502_functional_test.bin */, 32439F8422ECD8AD0077AAE0 /* apple.rom */, 323E2DCC245531E500156805 /* Apple2e_Enhanced.rom */, 323E2DCD245531E500156805 /* Apple2e.rom */, @@ -648,7 +660,6 @@ 325EB63723F9492200C6B4A4 /* util */ = { isa = PBXGroup; children = ( - 32C45305232E3EEF0000EBA1 /* RepeatingTimer.swift */, 32439F8622ECD8AD0077AAE0 /* common.h */, 325EB63823F9E48100C6B4A4 /* common.c */, 32DBF76723373FB400DD50E7 /* disassembler.h */, @@ -776,7 +787,6 @@ isa = PBXGroup; children = ( 32BFFB5E22EACC660003B53F /* Assets.xcassets */, - 326ED2EE232D7A0000A41337 /* 6502_functional_test.bin */, 32B18438233FAB3900DBB4AB /* verticies.swift */, 32BFFB5A22EACC630003B53F /* AppDelegate.swift */, 32BFFB5C22EACC630003B53F /* ViewController.swift */, @@ -790,6 +800,7 @@ 32EDB7A123272CA80073AF2D /* fail1.txt */, 32BFFB6022EACC660003B53F /* Main.storyboard */, 323D042D248980600086A901 /* Preferences.storyboard */, + 32C45305232E3EEF0000EBA1 /* RepeatingTimer.swift */, 32BFFB6322EACC660003B53F /* Info.plist */, 32BFFB6422EACC660003B53F /* A2Mac.entitlements */, 32439F7222ECD8AC0077AAE0 /* A2Mac-Bridging-Header.h */, @@ -1140,6 +1151,7 @@ 32C453232331FED90000EBA1 /* fail1.txt in Resources */, 32C453242331FED90000EBA1 /* Assets.xcassets in Resources */, 32C453252331FED90000EBA1 /* apple.rom in Resources */, + 32F1D03224CE39F10058AC75 /* Preferences.storyboard in Resources */, 32C453272331FED90000EBA1 /* 6502_functional_test.bin in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1223,8 +1235,13 @@ buildActionMask = 2147483647; files = ( 32C4530C2331F7220000EBA1 /* ViewController.swift in Sources */, + 32F1D03824CE3AA30058AC75 /* RepeatingTimer.swift in Sources */, 32C4532F233345820000EBA1 /* MonitorView.swift in Sources */, + 32F1D03724CE3AA30058AC75 /* HiRes.swift in Sources */, 32C4530D2331F7220000EBA1 /* AppDelegate.swift in Sources */, + 32F1D03924CE3AB10058AC75 /* PreferencesViewController.swift in Sources */, + 32F1D03A24CE3AB10058AC75 /* PreferencesWindowController.swift in Sources */, + 32F1D03624CE3AA30058AC75 /* LoRes.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1232,9 +1249,14 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 32F1D03324CE3A000058AC75 /* PreferencesWindowController.swift in Sources */, 32C4531E2331FED90000EBA1 /* ViewController.swift in Sources */, 32C45330233345820000EBA1 /* MonitorView.swift in Sources */, + 32F1D03124CE39DC0058AC75 /* HiRes.swift in Sources */, 32C4531F2331FED90000EBA1 /* AppDelegate.swift in Sources */, + 32F1D03424CE3A040058AC75 /* PreferencesViewController.swift in Sources */, + 32F1D03024CE39D70058AC75 /* LoRes.swift in Sources */, + 32F1D03524CE3A5F0058AC75 /* RepeatingTimer.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/src/util/RepeatingTimer.swift b/A2Mac/RepeatingTimer.swift similarity index 100% rename from src/util/RepeatingTimer.swift rename to A2Mac/RepeatingTimer.swift diff --git a/6502_functional_test.bin b/Resources/rom/6502_functional_test.bin similarity index 100% rename from 6502_functional_test.bin rename to Resources/rom/6502_functional_test.bin diff --git a/src/cpu/6502.c b/src/cpu/6502.c index 9c04ad5..dbd6567 100644 --- a/src/cpu/6502.c +++ b/src/cpu/6502.c @@ -737,17 +737,10 @@ void m6502_ColdReset( const char * bundlePath, const char * romFileName ) { #ifdef FUNCTIONTEST - FILE * f = fopen("/Users/trudnai/Library/Containers/com.gamealloy.A2Mac/Data/6502_functional_test.bin", "rb"); - if (f == NULL) { - perror("Failed: "); - return; - } - - fread( RAM, 1, 65536, f); - fclose(f); + read_rom( bundlePath, "6502_functional_test.bin", Apple2_64K_RAM, 0); + memcpy(Apple2_64K_MEM, Apple2_64K_RAM, 65536); m6502.PC = 0x400; - #else // Apple ][+ ROM