diff --git a/A2Mac.xcodeproj/project.pbxproj b/A2Mac.xcodeproj/project.pbxproj index 3fb4531..df383ba 100644 --- a/A2Mac.xcodeproj/project.pbxproj +++ b/A2Mac.xcodeproj/project.pbxproj @@ -50,6 +50,13 @@ 325EB6A82401118300C6B4A4 /* ProDOS_402_System.woz in Resources */ = {isa = PBXBuildFile; fileRef = 325EB6992401118200C6B4A4 /* ProDOS_402_System.woz */; }; 325EB6AA2401118300C6B4A4 /* Sneakers.woz in Resources */ = {isa = PBXBuildFile; fileRef = 325EB69A2401118300C6B4A4 /* Sneakers.woz */; }; 325EB6AC2401118300C6B4A4 /* Xonix.woz in Resources */ = {isa = PBXBuildFile; fileRef = 325EB69B2401118300C6B4A4 /* Xonix.woz */; }; + 3296223224A6622C002DEB78 /* apple_original_logo_design.png in Resources */ = {isa = PBXBuildFile; fileRef = 3296223124A6622C002DEB78 /* apple_original_logo_design.png */; }; + 3296223424A709CE002DEB78 /* disk_ii_motor_w_floppy.sfx in Resources */ = {isa = PBXBuildFile; fileRef = 3296223324A709CE002DEB78 /* disk_ii_motor_w_floppy.sfx */; }; + 3296223524A709CE002DEB78 /* disk_ii_motor_w_floppy.sfx in Resources */ = {isa = PBXBuildFile; fileRef = 3296223324A709CE002DEB78 /* disk_ii_motor_w_floppy.sfx */; }; + 3296223624A709EE002DEB78 /* disk_ii_motor_w_floppy.sfx in Copy SFX Files */ = {isa = PBXBuildFile; fileRef = 3296223324A709CE002DEB78 /* disk_ii_motor_w_floppy.sfx */; }; + 3296223824A710CD002DEB78 /* disk_ii_io_error.sfx in Resources */ = {isa = PBXBuildFile; fileRef = 3296223724A710CD002DEB78 /* disk_ii_io_error.sfx */; }; + 3296223924A710CD002DEB78 /* disk_ii_io_error.sfx in Resources */ = {isa = PBXBuildFile; fileRef = 3296223724A710CD002DEB78 /* disk_ii_io_error.sfx */; }; + 3296223A24A710E5002DEB78 /* disk_ii_io_error.sfx in Copy SFX Files */ = {isa = PBXBuildFile; fileRef = 3296223724A710CD002DEB78 /* disk_ii_io_error.sfx */; }; 32A9F74A2467B60B004902A1 /* speaker.c in Sources */ = {isa = PBXBuildFile; fileRef = 32A9F7492467B60B004902A1 /* speaker.c */; }; 32A9F74B2467B60B004902A1 /* speaker.c in Sources */ = {isa = PBXBuildFile; fileRef = 32A9F7492467B60B004902A1 /* speaker.c */; }; 32BFFB5B22EACC630003B53F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32BFFB5A22EACC630003B53F /* AppDelegate.swift */; }; @@ -73,6 +80,9 @@ 32C4532E233345430000EBA1 /* MonitorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32C4532D233345420000EBA1 /* MonitorView.swift */; }; 32C4532F233345820000EBA1 /* MonitorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32C4532D233345420000EBA1 /* MonitorView.swift */; }; 32C45330233345820000EBA1 /* MonitorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32C4532D233345420000EBA1 /* MonitorView.swift */; }; + 32E3126524A7193700E61891 /* disk_ii_arm.sfx in Resources */ = {isa = PBXBuildFile; fileRef = 32E3126424A7193700E61891 /* disk_ii_arm.sfx */; }; + 32E3126624A7193700E61891 /* disk_ii_arm.sfx in Resources */ = {isa = PBXBuildFile; fileRef = 32E3126424A7193700E61891 /* disk_ii_arm.sfx */; }; + 32E3126724A7194900E61891 /* disk_ii_arm.sfx in Copy SFX Files */ = {isa = PBXBuildFile; fileRef = 32E3126424A7193700E61891 /* disk_ii_arm.sfx */; }; 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 */; }; @@ -234,6 +244,9 @@ dstPath = sfx; dstSubfolderSpec = 7; files = ( + 32E3126724A7194900E61891 /* disk_ii_arm.sfx in Copy SFX Files */, + 3296223A24A710E5002DEB78 /* disk_ii_io_error.sfx in Copy SFX Files */, + 3296223624A709EE002DEB78 /* disk_ii_motor_w_floppy.sfx in Copy SFX Files */, 32F8A8AB24A3AAD300EE6735 /* diskmotor.sfx in Copy SFX Files */, 32F8A8AC24A3AAD300EE6735 /* diskarm.sfx in Copy SFX Files */, 32F8A8AD24A3AAD300EE6735 /* diskioerr.sfx in Copy SFX Files */, @@ -354,6 +367,9 @@ 326426112328ADF4008B615F /* Apple_II_ROM.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = Apple_II_ROM.s; sourceTree = ""; }; 3268E68E2474E24900047474 /* paddle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = paddle.h; sourceTree = ""; }; 326ED2EE232D7A0000A41337 /* 6502_functional_test.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; path = 6502_functional_test.bin; sourceTree = SOURCE_ROOT; }; + 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 = ""; }; + 3296223724A710CD002DEB78 /* disk_ii_io_error.sfx */ = {isa = PBXFileReference; lastKnownFileType = file; path = disk_ii_io_error.sfx; sourceTree = ""; }; 32A9F7482467B60B004902A1 /* speaker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = speaker.h; sourceTree = ""; }; 32A9F7492467B60B004902A1 /* speaker.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = speaker.c; sourceTree = ""; }; 32B18435233F10BC00DBB4AB /* Shaders.metal */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.metal; path = Shaders.metal; sourceTree = ""; }; @@ -381,6 +397,7 @@ 32DBF7632334657900DD50E7 /* HiRes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HiRes.swift; sourceTree = ""; }; 32DBF76723373FB400DD50E7 /* disassembler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = disassembler.h; sourceTree = ""; }; 32E21BE62491BF8B006C0C72 /* apple-rainbow.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "apple-rainbow.png"; sourceTree = ""; }; + 32E3126424A7193700E61891 /* disk_ii_arm.sfx */ = {isa = PBXFileReference; lastKnownFileType = file; path = disk_ii_arm.sfx; sourceTree = ""; }; 32EDB7A123272CA80073AF2D /* fail1.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = fail1.txt; sourceTree = ""; }; 32F2C144249218A400FDC61B /* locksmith_v6.0.woz */ = {isa = PBXFileReference; lastKnownFileType = file; path = locksmith_v6.0.woz; sourceTree = ""; }; /* End PBXFileReference section */ @@ -456,6 +473,9 @@ 323D0439248F6E670086A901 /* disk */ = { isa = PBXGroup; children = ( + 32E3126424A7193700E61891 /* disk_ii_arm.sfx */, + 3296223724A710CD002DEB78 /* disk_ii_io_error.sfx */, + 3296223324A709CE002DEB78 /* disk_ii_motor_w_floppy.sfx */, 323D043D248F70930086A901 /* diskmotor.sfx */, 323D0441248F711F0086A901 /* diskarm.sfx */, 323D043F248F70A10086A901 /* diskioerr.sfx */, @@ -754,6 +774,7 @@ 32F8A8B124A3AE1600EE6735 /* img */ = { isa = PBXGroup; children = ( + 3296223124A6622C002DEB78 /* apple_original_logo_design.png */, 32E21BE62491BF8B006C0C72 /* apple-rainbow.png */, 323D04432490B3930086A901 /* dotmatrix_effect.png */, 323D04452490BA1E0086A901 /* scanlines.png */, @@ -981,8 +1002,10 @@ 325EB69E2401118300C6B4A4 /* Lode Runner.woz in Resources */, 325EB68123FBDF8F00C6B4A4 /* Apple2Plus.rom in Resources */, 325EB6AA2401118300C6B4A4 /* Sneakers.woz in Resources */, + 32E3126624A7193700E61891 /* disk_ii_arm.sfx in Resources */, 32089E4924556DBD0036E667 /* PRNumber3.ttf in Resources */, 325EB6A82401118300C6B4A4 /* ProDOS_402_System.woz in Resources */, + 3296223524A709CE002DEB78 /* disk_ii_motor_w_floppy.sfx in Resources */, 325EB69123FE028800C6B4A4 /* Donkey Kong.woz in Resources */, 325EB68A23FDDF6200C6B4A4 /* Hard Hat Mack - Disk 1, Side A.woz in Resources */, 325EB6A02401118300C6B4A4 /* Crossfire.woz in Resources */, @@ -996,6 +1019,7 @@ 325EB6A42401118300C6B4A4 /* Qbit.woz in Resources */, 325EB68723FC707A00C6B4A4 /* Apple DOS 3.3 January 1983.woz in Resources */, 325EB64A23FBBACF00C6B4A4 /* Main.storyboard in Resources */, + 3296223924A710CD002DEB78 /* disk_ii_io_error.sfx in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1017,9 +1041,13 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 3296223424A709CE002DEB78 /* disk_ii_motor_w_floppy.sfx in Resources */, + 3296223224A6622C002DEB78 /* apple_original_logo_design.png in Resources */, 3213936624079C30007F5C4A /* Main.storyboard in Resources */, 32BFFB5F22EACC660003B53F /* Assets.xcassets in Resources */, 323D042E248980600086A901 /* Preferences.storyboard in Resources */, + 32E3126524A7193700E61891 /* disk_ii_arm.sfx in Resources */, + 3296223824A710CD002DEB78 /* disk_ii_io_error.sfx in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/A2Mac/Base.lproj/Main.storyboard b/A2Mac/Base.lproj/Main.storyboard index 5c430e7..1dabdb8 100644 --- a/A2Mac/Base.lproj/Main.storyboard +++ b/A2Mac/Base.lproj/Main.storyboard @@ -1297,72 +1297,74 @@ - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - - + + - - - - + + + + - - - + + + + - + + @@ -1833,7 +1835,7 @@ - + diff --git a/Resources/img/apple_original_logo_design.png b/Resources/img/apple_original_logo_design.png new file mode 100644 index 0000000..5286869 Binary files /dev/null and b/Resources/img/apple_original_logo_design.png differ diff --git a/Resources/sfx/disk/disk_ii_arm.sfx b/Resources/sfx/disk/disk_ii_arm.sfx new file mode 100644 index 0000000..cdbf6eb Binary files /dev/null and b/Resources/sfx/disk/disk_ii_arm.sfx differ diff --git a/Resources/sfx/disk/disk_ii_io_error.sfx b/Resources/sfx/disk/disk_ii_io_error.sfx new file mode 100644 index 0000000..de9e060 Binary files /dev/null and b/Resources/sfx/disk/disk_ii_io_error.sfx differ diff --git a/Resources/sfx/disk/disk_ii_motor_w_floppy.sfx b/Resources/sfx/disk/disk_ii_motor_w_floppy.sfx new file mode 100644 index 0000000..3a836ed Binary files /dev/null and b/Resources/sfx/disk/disk_ii_motor_w_floppy.sfx differ diff --git a/src/cpu/6502.h b/src/cpu/6502.h index daa3567..d6584e9 100644 --- a/src/cpu/6502.h +++ b/src/cpu/6502.h @@ -181,8 +181,8 @@ extern double mhz; #define DEF_VIDEO_DIV 1U #define DEF_SPKR_DIV 1U -#define GAME_FPS 600U -#define GAME_VIDEO_DIV 10U +#define GAME_FPS 300U +#define GAME_VIDEO_DIV 5U // 300 / 5 = 60 FPS extern unsigned int video_fps_divider; extern unsigned int fps; diff --git a/src/dev/audio/speaker.c b/src/dev/audio/speaker.c index 8189b32..74f901b 100644 --- a/src/dev/audio/speaker.c +++ b/src/dev/audio/speaker.c @@ -140,9 +140,9 @@ static int load_sfx( const char * bundlePath, const char * filename, uint8_t ** void spkr_load_sfx( const char * bundlePath ) { - diskmotor_sfx_len = load_sfx(bundlePath, "diskmotor.sfx", &diskmotor_sfx); - diskarm_sfx_len = load_sfx(bundlePath, "diskarm.sfx", &diskarm_sfx); - diskioerr_sfx_len = load_sfx(bundlePath, "diskioerr.sfx", &diskioerr_sfx); + diskmotor_sfx_len = load_sfx(bundlePath, "disk_ii_motor_w_floppy.sfx", &diskmotor_sfx); + diskarm_sfx_len = load_sfx(bundlePath, "disk_ii_arm.sfx", &diskarm_sfx); + diskioerr_sfx_len = load_sfx(bundlePath, "disk_ii_io_error.sfx", &diskioerr_sfx); }