From 66eee49f73107b4567cd25af84b2e64174c2a689 Mon Sep 17 00:00:00 2001 From: InvisibleUp Date: Mon, 25 May 2020 15:34:29 -0400 Subject: [PATCH] Reorganize patch files, add Visual Studio support for bins --- .gitignore | 3 +- CMakeLists.txt | 17 +- Makefile | 49 --- cfg/EMCONFIG.h | 2 +- .../HAPPYMAC => docs}/happy-mac-options.png | Bin {src/PATCHES => rsrc}/HAPPYMAC/aside.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/cheese.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/evil.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/horror.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/lady.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/moustache.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/nerdy.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/pirate.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/sleepy.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/sly.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/sunglasses.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/surprise.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/tongue.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/yuck.xbm | 0 {src/PATCHES => rsrc}/HAPPYMAC/zombie.xbm | 0 src/PATCHES/SONY.bin => rsrc/SONYDRV.bin | Bin rsrc/SONYICO.bin | Bin 0 -> 258 bytes {src/UI => rsrc}/WIN32/ICONAPPW.ico | Bin {src/UI => rsrc}/WIN32/ICONDSKW.ico | Bin {src/UI => rsrc}/WIN32/ICONROMW.ico | Bin rsrc/WIN32/main.aps | Bin 0 -> 17728 bytes rsrc/WIN32/main.rc | 33 ++ src/GLOBGLUE.h | 1 + src/PATCHES/{HAPPYMAC => }/HPMCHACK.h | 0 src/PATCHES/ROMEMDEV.c | 168 +------ src/PATCHES/ROMEMDEV.h | 15 + src/PATCHES/SCRNHACK.c | 411 ++++++++++++++++++ src/PATCHES/SCRNHACK.h | 398 +---------------- src/PATCHES/SONYDRV.c | 95 ++++ src/PATCHES/SONYDRV.h | 19 + src/UI/COMOSGLU.c | 2 +- src/UI/WIN32/main.rc | 1 - 37 files changed, 593 insertions(+), 621 deletions(-) delete mode 100644 Makefile rename {src/PATCHES/HAPPYMAC => docs}/happy-mac-options.png (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/aside.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/cheese.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/evil.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/horror.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/lady.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/moustache.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/nerdy.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/pirate.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/sleepy.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/sly.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/sunglasses.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/surprise.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/tongue.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/yuck.xbm (100%) rename {src/PATCHES => rsrc}/HAPPYMAC/zombie.xbm (100%) rename src/PATCHES/SONY.bin => rsrc/SONYDRV.bin (100%) create mode 100644 rsrc/SONYICO.bin rename {src/UI => rsrc}/WIN32/ICONAPPW.ico (100%) rename {src/UI => rsrc}/WIN32/ICONDSKW.ico (100%) rename {src/UI => rsrc}/WIN32/ICONROMW.ico (100%) create mode 100644 rsrc/WIN32/main.aps create mode 100644 rsrc/WIN32/main.rc rename src/PATCHES/{HAPPYMAC => }/HPMCHACK.h (100%) create mode 100644 src/PATCHES/SCRNHACK.c create mode 100644 src/PATCHES/SONYDRV.c create mode 100644 src/PATCHES/SONYDRV.h delete mode 100644 src/UI/WIN32/main.rc diff --git a/.gitignore b/.gitignore index 62f7b4b..7eda2f5 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ bld *.ROM *.kdev4 *.pdb -build/ \ No newline at end of file +build/ +.vs/* \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 269b481..50e55e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,9 +36,12 @@ add_library( hw_disk OBJECT src/HW/DISK/IWMEMDEV.c src/HW/DISK/SONYEMDV.c + src/PATCHES/SONYDRV.c ) -target_include_directories(hw_disk PRIVATE src/ cfg/) +target_include_directories(hw_disk PRIVATE src/ cfg/ rsrc/) target_include_directories(hw_disk PRIVATE src/HW/DISK/) +configure_file(rsrc/SONYDRV.bin SONYDRV.bin COPYONLY) +configure_file(rsrc/SONYICO.bin SONYICO.bin COPYONLY) add_library( hw_kbrd OBJECT @@ -90,6 +93,7 @@ target_include_directories(hw_scc PRIVATE src/HW/SCC/) add_library( hw_screen OBJECT src/HW/SCREEN/SCRNEMDV.c + src/PATCHES/SCRNHACK.c ) target_include_directories(hw_screen PRIVATE src/ cfg/) target_include_directories(hw_screen PRIVATE src/HW/SCREEN/) @@ -170,13 +174,13 @@ add_library( src/UI/WIN32/OSGLUWIN.c src/UI/WIN32/SOUND.c src/UI/WIN32/TIMEDATE.c - src/UI/WIN32/main.rc + rsrc/WIN32/main.rc ) -target_include_directories(ui_win32 PRIVATE cfg/ src/) +target_include_directories(ui_win32 PRIVATE cfg/ src/ rsrc/) target_include_directories(ui_win32 PRIVATE src/UI/ src/UI/WIN32/) -configure_file(src/UI/WIN32/ICONAPPW.ico ICONAPPW.ico COPYONLY) -configure_file(src/UI/WIN32/ICONDSKW.ico ICONDSKW.ico COPYONLY) -configure_file(src/UI/WIN32/ICONROMW.ico ICONROMW.ico COPYONLY) +configure_file(rsrc/WIN32/ICONAPPW.ico ICONAPPW.ico COPYONLY) +configure_file(rsrc/WIN32/ICONDSKW.ico ICONDSKW.ico COPYONLY) +configure_file(rsrc/WIN32/ICONROMW.ico ICONROMW.ico COPYONLY) target_link_libraries(ui_win32 PUBLIC winmm ole32 uuid) #add_library( @@ -200,7 +204,6 @@ target_include_directories(microvmac PRIVATE cfg/ src/) set_target_properties(microvmac PROPERTIES C_STANDARD 99 C_STANDARD_REQUIRED True) #target_link_libraries(microvmac INTERFACE tgt_macplus) # temporary target_link_libraries(microvmac PRIVATE incbin ui_win32) -configure_file(src/PATCHES/SONY.bin SONY.bin COPYONLY) # temporary, because "INTERFACE" isn't working how I expect it to target_link_libraries( diff --git a/Makefile b/Makefile deleted file mode 100644 index 9c0a306..0000000 --- a/Makefile +++ /dev/null @@ -1,49 +0,0 @@ -# Makefile -# Currently only builds Mac Plus emulator for Windows x64 or Linux X11 - -CC := gcc -CCFLAGS := -O2 -Wall -Wmissing-prototypes -Wno-uninitialized -Wundef -Wstrict-prototypes -Icfg/ -Isrc/ - -.PHONY: linux windows clean - -SrcFiles := \ - src/PROGMAIN.c \ - src/GLOBGLUE.c \ - src/HW/M68K/M68KITAB.c \ - src/HW/M68K/MINEM68K.c \ - src/HW/VIA/VIAEMDEV.c \ - src/HW/DISK/IWMEMDEV.c \ - src/HW/SCC/SCCEMDEV.c \ - src/HW/RTC/RTCEMDEV.c \ - src/PATCHES/ROMEMDEV.c \ - src/HW/SCSI/SCSIEMDV.c \ - src/HW/DISK/SONYEMDV.c \ - src/HW/SCREEN/SCRNEMDV.c \ - src/HW/MOUSE/MOUSEMDV.c \ - src/HW/KBRD/KBRDEMDV.c \ - src/HW/SOUND/SNDEMDEV.c \ - src/UTIL/DATE2SEC.c \ - src/UI/COMOSGLU.c \ - src/UI/CONTROLM.c \ - -Win32Files := \ - src/UI/WIN32/OSGLUWIN.c \ - src/UI/WIN32/INTLKBRD.c \ - src/UI/WIN32/DBGLOG.c \ - src/UI/WIN32/KEYBOARD.c \ - src/UI/WIN32/SOUND.c \ - src/UI/WIN32/TIMEDATE.c \ - -windows : - mkdir -p "bld/" - windres -i "src/UI/WIN32/main.rc" --input-format=rc -o "bld/main.res" -O coff --include-dir "src/" - $(CC) -o "microvmac.exe" $(SrcFiles) $(Win32Files) \ - "bld/main.res" $(CCFLAGS) -mwindows -lwinmm -lole32 -luuid - -linux : - mkdir -p "bld/" - $(CC) -o "microvmac.exe" $(SrcFiles) "src/UI/UNIX/OSGLUXWN.c" $(CCFLAGS) -lX11 -ldl - -clean : - rm -r "bld/" - rm "microvmac.exe" diff --git a/cfg/EMCONFIG.h b/cfg/EMCONFIG.h index e03ef1a..329552e 100644 --- a/cfg/EMCONFIG.h +++ b/cfg/EMCONFIG.h @@ -10,7 +10,7 @@ #ifndef EMCONFIG_H #define EMCONFIG_H -//#define CurEmMd kEmMd_Plus +#define CurEmMd kEmMd_Plus #define MaxATTListN 32 #define IncludeExtnPbufs 1 diff --git a/src/PATCHES/HAPPYMAC/happy-mac-options.png b/docs/happy-mac-options.png similarity index 100% rename from src/PATCHES/HAPPYMAC/happy-mac-options.png rename to docs/happy-mac-options.png diff --git a/src/PATCHES/HAPPYMAC/aside.xbm b/rsrc/HAPPYMAC/aside.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/aside.xbm rename to rsrc/HAPPYMAC/aside.xbm diff --git a/src/PATCHES/HAPPYMAC/cheese.xbm b/rsrc/HAPPYMAC/cheese.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/cheese.xbm rename to rsrc/HAPPYMAC/cheese.xbm diff --git a/src/PATCHES/HAPPYMAC/evil.xbm b/rsrc/HAPPYMAC/evil.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/evil.xbm rename to rsrc/HAPPYMAC/evil.xbm diff --git a/src/PATCHES/HAPPYMAC/horror.xbm b/rsrc/HAPPYMAC/horror.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/horror.xbm rename to rsrc/HAPPYMAC/horror.xbm diff --git a/src/PATCHES/HAPPYMAC/lady.xbm b/rsrc/HAPPYMAC/lady.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/lady.xbm rename to rsrc/HAPPYMAC/lady.xbm diff --git a/src/PATCHES/HAPPYMAC/moustache.xbm b/rsrc/HAPPYMAC/moustache.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/moustache.xbm rename to rsrc/HAPPYMAC/moustache.xbm diff --git a/src/PATCHES/HAPPYMAC/nerdy.xbm b/rsrc/HAPPYMAC/nerdy.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/nerdy.xbm rename to rsrc/HAPPYMAC/nerdy.xbm diff --git a/src/PATCHES/HAPPYMAC/pirate.xbm b/rsrc/HAPPYMAC/pirate.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/pirate.xbm rename to rsrc/HAPPYMAC/pirate.xbm diff --git a/src/PATCHES/HAPPYMAC/sleepy.xbm b/rsrc/HAPPYMAC/sleepy.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/sleepy.xbm rename to rsrc/HAPPYMAC/sleepy.xbm diff --git a/src/PATCHES/HAPPYMAC/sly.xbm b/rsrc/HAPPYMAC/sly.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/sly.xbm rename to rsrc/HAPPYMAC/sly.xbm diff --git a/src/PATCHES/HAPPYMAC/sunglasses.xbm b/rsrc/HAPPYMAC/sunglasses.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/sunglasses.xbm rename to rsrc/HAPPYMAC/sunglasses.xbm diff --git a/src/PATCHES/HAPPYMAC/surprise.xbm b/rsrc/HAPPYMAC/surprise.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/surprise.xbm rename to rsrc/HAPPYMAC/surprise.xbm diff --git a/src/PATCHES/HAPPYMAC/tongue.xbm b/rsrc/HAPPYMAC/tongue.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/tongue.xbm rename to rsrc/HAPPYMAC/tongue.xbm diff --git a/src/PATCHES/HAPPYMAC/yuck.xbm b/rsrc/HAPPYMAC/yuck.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/yuck.xbm rename to rsrc/HAPPYMAC/yuck.xbm diff --git a/src/PATCHES/HAPPYMAC/zombie.xbm b/rsrc/HAPPYMAC/zombie.xbm similarity index 100% rename from src/PATCHES/HAPPYMAC/zombie.xbm rename to rsrc/HAPPYMAC/zombie.xbm diff --git a/src/PATCHES/SONY.bin b/rsrc/SONYDRV.bin similarity index 100% rename from src/PATCHES/SONY.bin rename to rsrc/SONYDRV.bin diff --git a/rsrc/SONYICO.bin b/rsrc/SONYICO.bin new file mode 100644 index 0000000000000000000000000000000000000000..607578dc726fe9b14e49dfc501330d9369c1a0ae GIT binary patch literal 258 zcmcJ|!3lsc6a&zFk?I=Vzzw>JD>y-0?8U8gqYfaAIe1V!`{5Dz1QN-bVPnS9XKbC= t*P@?UVzUIitmIJu|KTQI+$_5Lh{HGqU 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 OgI)`mew=GsWBv!aUi%aP literal 0 HcmV?d00001 diff --git a/rsrc/WIN32/main.rc b/rsrc/WIN32/main.rc new file mode 100644 index 0000000..79b8953 --- /dev/null +++ b/rsrc/WIN32/main.rc @@ -0,0 +1,33 @@ +//LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +// Icons +ICO_APP ICON DISCARDABLE "ICONAPPW.ico" +ICO_DSK ICON DISCARDABLE "ICONDSKW.ico" +ICO_ROM ICON DISCARDABLE "ICONROMW.ico" + +// Binary data +SONY_DRV RCDATA "SONYDRV.bin" +SONY_ICO RCDATA "SONYICO.bin" + +// Version information +VS_VERSION_INFO VERSIONINFO +FILEVERSION 0,37,0,0 +PRODUCTVERSION 0,37,0,0 +FILESUBTYPE 0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName", "InvisibleUp\0" + VALUE "Comments", "" + VALUE "FileDescription", "A 68k Macintosh emulator\0" + VALUE "FileVersion", "v0.37.0\0" + VALUE "InternalName", "microvmac\0" + VALUE "LegalCopyright", "©1996-2020 various contributors. Licensed under the GPL v2.\0" + VALUE "OriginalFilename", "microvmac.exe\0" + VALUE "ProductName", "micro vMac\0" + VALUE "ProductVersion", "v0.37.0\0" + END + END +END diff --git a/src/GLOBGLUE.h b/src/GLOBGLUE.h index 1ece445..c6a39bd 100644 --- a/src/GLOBGLUE.h +++ b/src/GLOBGLUE.h @@ -19,6 +19,7 @@ #include "CNFGRAPI.h" #include "EMCONFIG.h" +#include "SYSDEPNS.h" #define kEmMd_Twig43 0 #define kEmMd_Twiggy 1 diff --git a/src/PATCHES/HAPPYMAC/HPMCHACK.h b/src/PATCHES/HPMCHACK.h similarity index 100% rename from src/PATCHES/HAPPYMAC/HPMCHACK.h rename to src/PATCHES/HPMCHACK.h diff --git a/src/PATCHES/ROMEMDEV.c b/src/PATCHES/ROMEMDEV.c index ccfabe8..aa8f2c3 100644 --- a/src/PATCHES/ROMEMDEV.c +++ b/src/PATCHES/ROMEMDEV.c @@ -25,174 +25,13 @@ Support for "Twiggy" Mac by Mathew Hybler. */ -#ifndef AllFiles +#include "EMCONFIG.h" #include "SYSDEPNS.h" +#include "GLOBGLUE.h" #include "UI/MYOSGLUE.h" #include "UTIL/ENDIANAC.h" -#include "EMCONFIG.h" -#include "GLOBGLUE.h" -#endif - -#include "incbin/incbin.h" #include "PATCHES/ROMEMDEV.h" - -// Temporarily disable due to CMake errors -/*#define UseSonyPatch \ - ((CurEmMd <= kEmMd_Classic) || (CurEmMd == kEmMd_II) \ - || (CurEmMd == kEmMd_IIx))*/ - -#ifndef UseLargeScreenHack -#define UseLargeScreenHack 0 -#endif - -#if UseSonyPatch -/* - Replacement for .Sony driver - 68k machine code, compiled from mydriver.a -*/ -INCBIN(SonyDriver, "SONY.bin"); -#endif - -#if UseSonyPatch -LOCALVAR const uint8_t disk_icon[] = { - 0x7F, 0xFF, 0xFF, 0xF0, - 0x81, 0x00, 0x01, 0x08, - 0x81, 0x00, 0x71, 0x04, - 0x81, 0x00, 0x89, 0x02, - 0x81, 0x00, 0x89, 0x01, - 0x81, 0x00, 0x89, 0x01, - 0x81, 0x00, 0x89, 0x01, - 0x81, 0x00, 0x89, 0x01, - 0x81, 0x00, 0x89, 0x01, - 0x81, 0x00, 0x71, 0x01, - 0x81, 0x00, 0x01, 0x01, - 0x80, 0xFF, 0xFE, 0x01, - 0x80, 0x00, 0x00, 0x01, - 0x80, 0x00, 0x00, 0x01, - 0x80, 0x00, 0x00, 0x01, - 0x80, 0x00, 0x00, 0x01, - 0x83, 0xFF, 0xFF, 0xC1, - 0x84, 0x00, 0x00, 0x21, - 0x84, 0x00, 0x00, 0x21, - 0x84, 0x00, 0x00, 0x21, - 0x84, 0x00, 0x00, 0x21, - 0x84, 0x00, 0x00, 0x21, - 0x84, 0x06, 0x30, 0x21, - 0x84, 0x06, 0x60, 0x21, - 0x84, 0x06, 0xC0, 0x21, - 0x84, 0x07, 0x80, 0x21, - 0x84, 0x07, 0x00, 0x21, - 0x84, 0x06, 0x00, 0x21, - 0x84, 0x00, 0x00, 0x21, - 0x84, 0x00, 0x00, 0x21, - 0x84, 0x00, 0x00, 0x21, - 0x7F, 0xFF, 0xFF, 0xFE, - - /* mask */ - - 0x3F, 0xFF, 0xFF, 0xF0, - 0x7F, 0xFF, 0xFF, 0xF0, - 0xFF, 0xFF, 0xFF, 0xFC, - 0xFF, 0xFF, 0xFF, 0xFC, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, - 0x7F, 0xFF, 0xFF, 0xFC, - 0x3F, 0xFF, 0xFF, 0xFC, - - /* empty pascal string */ - 0x00, 0x00, -}; -#endif - -#if CurEmMd <= kEmMd_Twig43 -#define Sony_DriverBase 0x1836 -#elif CurEmMd <= kEmMd_Twiggy -#define Sony_DriverBase 0x16E4 -#elif CurEmMd <= kEmMd_128K -#define Sony_DriverBase 0x1690 -#elif CurEmMd <= kEmMd_Plus -#define Sony_DriverBase 0x17D30 -#elif CurEmMd <= kEmMd_Classic -#define Sony_DriverBase 0x34680 -#elif (CurEmMd == kEmMd_II) || (CurEmMd == kEmMd_IIx) -#define Sony_DriverBase 0x2D72C -#endif - -#define kVidMem_Base 0x00540000 - -#if UseSonyPatch -LOCALPROC Sony_Install(void) -{ - uint8_t * pto = Sony_DriverBase + ROM; - - MoveBytes((anyp)gSonyDriverData, (anyp)pto, gSonyDriverSize); -#if CurEmMd <= kEmMd_Twiggy - do_put_mem_long(pto + 0x14, 0x4469736B); - /* 'Disk' instead of 'Sony' */ -#if CurEmMd <= kEmMd_Twig43 - do_put_mem_word(pto + 0xEA, 0x0C8A); -#else - do_put_mem_word(pto + 0xEA, 0x0B74); -#endif -#endif - - pto += gSonyDriverSize; - - do_put_mem_word(pto, kcom_callcheck); - pto += 2; - do_put_mem_word(pto, kExtnSony); - pto += 2; - do_put_mem_long(pto, kExtn_Block_Base); /* pokeaddr */ - pto += 4; - - disk_icon_addr = (pto - ROM) + kROM_Base; - MoveBytes((anyp)disk_icon, (anyp)pto, sizeof(disk_icon)); - pto += sizeof(disk_icon); - -#if UseLargeScreenHack - { - uint8_t * patchp = pto; - #include "PATCHES/SCRNHACK.h" - } -#endif - - (void) pto; /* avoid warning about unused */ -} -#endif - -#ifndef DisableRomCheck -#define DisableRomCheck 1 -#endif - -#ifndef DisableRamTest -#define DisableRamTest 1 -#endif - #ifdef CurAltHappyMac #include "HPMCHACK.h" #endif @@ -266,9 +105,8 @@ GLOBALFUNC bool ROM_Init(void) /* do_put_mem_word(862 + ROM, 0x4E71); */ /* shorten set memory */ -#if UseSonyPatch Sony_Install(); -#endif + //ScreenHack_Install(); in above fcn temporarily #ifdef ln2mtb ROMscrambleForMTB(); diff --git a/src/PATCHES/ROMEMDEV.h b/src/PATCHES/ROMEMDEV.h index 2f28ee7..f45d195 100644 --- a/src/PATCHES/ROMEMDEV.h +++ b/src/PATCHES/ROMEMDEV.h @@ -17,6 +17,21 @@ #ifndef ROMEMDEV_H #define ROMEMDEV_H + +#ifndef UseLargeScreenHack +#define UseLargeScreenHack 0 +#endif +#ifndef DisableRomCheck +#define DisableRomCheck 1 +#endif +#ifndef DisableRamTest +#define DisableRamTest 1 +#endif + +#define kVidMem_Base 0x00540000 + + EXPORTFUNC bool ROM_Init(void); + #endif \ No newline at end of file diff --git a/src/PATCHES/SCRNHACK.c b/src/PATCHES/SCRNHACK.c new file mode 100644 index 0000000..6bafb2f --- /dev/null +++ b/src/PATCHES/SCRNHACK.c @@ -0,0 +1,411 @@ +/* + PATCHES/SCRNHACK.h + + Copyright (C) 2007 Paul C. Pratt + + You can redistribute this file and/or modify it under the terms + of version 2 of the GNU General Public License as published by + the Free Software Foundation. You should have received a copy + of the license along with this file; see the file COPYING. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + license for more details. +*/ + +/* + SCReeN Hack + + Patch ROM to support other screen sizes. +*/ + +#include "EMCONFIG.h" +#include "SYSDEPNS.h" +#include "UI/MYOSGLUE.h" +#include "UTIL/ENDIANAC.h" +#include "EMCONFIG.h" +#include "GLOBGLUE.h" +#include "incbin/incbin.h" +#include "PATCHES/ROMEMDEV.h" + +void ScreenHack_Install(uint8_t *pto) +{ + uint8_t * patchp = pto; + if (!UseLargeScreenHack) {return; } + +#if CurEmMd <= kEmMd_128K + do_put_mem_long(112 + ROM, kVidMem_Base); + do_put_mem_long(260 + ROM, kVidMem_Base); + do_put_mem_long(292 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 + 9) * vMacScreenWidth + + (vMacScreenWidth / 2 - 24)) + / 8); + + /* sad mac, error code */ + do_put_mem_word(330 + ROM, vMacScreenWidth / 8); + do_put_mem_word(342 + ROM, vMacScreenWidth / 8); + do_put_mem_word(350 + ROM, vMacScreenWidth / 4 * 3 - 1); + /* sad mac, blink pixels */ + do_put_mem_word(358 + ROM, vMacScreenWidth - 4); + + do_put_mem_word(456 + ROM, + (vMacScreenHeight * vMacScreenWidth / 32) - 1 + 32); + + /* screen setup, main */ + { + pto = 862 + ROM; + do_put_mem_word(pto, 0x4EB9); /* JSR */ + pto += 2; + do_put_mem_long(pto, kROM_Base + (patchp - ROM)); + pto += 4; + + do_put_mem_word(patchp, 0x21FC); /* MOVE.L */ + patchp += 2; + do_put_mem_long(patchp, kVidMem_Base); /* kVidMem_Base */ + patchp += 4; + do_put_mem_word(patchp, 0x0824); /* (ScrnBase) */ + patchp += 2; + do_put_mem_word(patchp, 0x4E75); /* RTS */ + patchp += 2; + } + do_put_mem_word(892 + ROM, vMacScreenHeight - 1); + do_put_mem_word(894 + ROM, vMacScreenWidth - 1); + + /* blink floppy, disk icon */ + do_put_mem_long(1388 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth + + (vMacScreenWidth / 2 - 16)) + / 8); + /* blink floppy, question mark */ + do_put_mem_long(1406 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 10) * vMacScreenWidth + + (vMacScreenWidth / 2 - 8)) + / 8); + + /* blink floppy and sadmac, position */ + do_put_mem_word(1966 + ROM, vMacScreenWidth / 8 - 4); + do_put_mem_word(1982 + ROM, vMacScreenWidth / 8); + /* sad mac, mac icon */ + do_put_mem_long(2008 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth + + (vMacScreenWidth / 2 - 16)) + / 8); + /* sad mac, frown */ + do_put_mem_long(2020 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 19) * vMacScreenWidth + + (vMacScreenWidth / 2 - 8)) + / 8); + do_put_mem_word(2052 + ROM, vMacScreenWidth / 8 - 2); + + /* cursor handling */ +#if vMacScreenWidth >= 1024 + pto = 3448 + ROM; + do_put_mem_word(pto, 0x4EB9); /* JSR */ + pto += 2; + do_put_mem_long(pto, kROM_Base + (patchp - ROM)); + pto += 4; + + do_put_mem_word(patchp, 0x41F8); /* Lea.L (CrsrSave),A0 */ + patchp += 2; + do_put_mem_word(patchp, 0x088C); + patchp += 2; + do_put_mem_word(patchp, 0x203C); /* MOVE.L #$x,D0 */ + patchp += 2; + do_put_mem_long(patchp, (vMacScreenWidth / 8)); + patchp += 4; + do_put_mem_word(patchp, 0x4E75); /* RTS */ + patchp += 2; +#else + do_put_mem_word(3452 + ROM, 0x7000 + (vMacScreenWidth / 8)); +#endif + do_put_mem_word(3572 + ROM, vMacScreenWidth - 32); + do_put_mem_word(3578 + ROM, vMacScreenWidth - 32); + do_put_mem_word(3610 + ROM, vMacScreenHeight - 16); + do_put_mem_word(3616 + ROM, vMacScreenHeight); +#if vMacScreenWidth >= 1024 + pto = 3646 + ROM; + do_put_mem_word(pto, 0x4EB9); /* JSR */ + pto += 2; + do_put_mem_long(pto, kROM_Base + (patchp - ROM)); + pto += 4; + + do_put_mem_word(patchp, 0x2A3C); /* MOVE.L #$x,D5 */ + patchp += 2; + do_put_mem_long(patchp, (vMacScreenWidth / 8)); + patchp += 4; + do_put_mem_word(patchp, 0xC2C5); /* MulU D5,D1 */ + patchp += 2; + do_put_mem_word(patchp, 0xD3C1); /* AddA.L D1,A1 */ + patchp += 2; + do_put_mem_word(patchp, 0x4E75); /* RTS */ + patchp += 2; +#else + do_put_mem_word(3646 + ROM, 0x7A00 + (vMacScreenWidth / 8)); +#endif + + /* set up screen bitmap */ + do_put_mem_word(3832 + ROM, vMacScreenHeight); + do_put_mem_word(3838 + ROM, vMacScreenWidth); + /* do_put_mem_word(7810 + ROM, vMacScreenHeight); */ + +#elif CurEmMd <= kEmMd_Plus + + do_put_mem_long(138 + ROM, kVidMem_Base); + do_put_mem_long(326 + ROM, kVidMem_Base); + do_put_mem_long(356 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 + 9) * vMacScreenWidth + + (vMacScreenWidth / 2 - 24)) + / 8); + + /* sad mac, error code */ + do_put_mem_word(392 + ROM, vMacScreenWidth / 8); + do_put_mem_word(404 + ROM, vMacScreenWidth / 8); + do_put_mem_word(412 + ROM, vMacScreenWidth / 4 * 3 - 1); + /* sad mac, blink pixels */ + do_put_mem_long(420 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 + 17) * vMacScreenWidth + + (vMacScreenWidth / 2 - 8)) + / 8); + + do_put_mem_word(494 + ROM, + (vMacScreenHeight * vMacScreenWidth / 32) - 1); + + /* screen setup, main */ + { + pto = 1132 + ROM; + do_put_mem_word(pto, 0x4EB9); /* JSR */ + pto += 2; + do_put_mem_long(pto, kROM_Base + (patchp - ROM)); + pto += 4; + + do_put_mem_word(patchp, 0x21FC); /* MOVE.L */ + patchp += 2; + do_put_mem_long(patchp, kVidMem_Base); /* kVidMem_Base */ + patchp += 4; + do_put_mem_word(patchp, 0x0824); /* (ScrnBase) */ + patchp += 2; + do_put_mem_word(patchp, 0x4E75); /* RTS */ + patchp += 2; + } + do_put_mem_word(1140 + ROM, vMacScreenWidth / 8); + do_put_mem_word(1172 + ROM, vMacScreenHeight); + do_put_mem_word(1176 + ROM, vMacScreenWidth); + + /* blink floppy, disk icon */ + do_put_mem_long(2016 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth + + (vMacScreenWidth / 2 - 16)) + / 8); + /* blink floppy, question mark */ + do_put_mem_long(2034 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 10) * vMacScreenWidth + + (vMacScreenWidth / 2 - 8)) + / 8); + + do_put_mem_word(2574 + ROM, vMacScreenHeight); + do_put_mem_word(2576 + ROM, vMacScreenWidth); + + /* blink floppy and sadmac, position */ + do_put_mem_word(3810 + ROM, vMacScreenWidth / 8 - 4); + do_put_mem_word(3826 + ROM, vMacScreenWidth / 8); + /* sad mac, mac icon */ + do_put_mem_long(3852 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth + + (vMacScreenWidth / 2 - 16)) + / 8); + /* sad mac, frown */ + do_put_mem_long(3864 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 19) * vMacScreenWidth + + (vMacScreenWidth / 2 - 8)) + / 8); + do_put_mem_word(3894 + ROM, vMacScreenWidth / 8 - 2); + + /* cursor handling */ +#if vMacScreenWidth >= 1024 + pto = 7372 + ROM; + do_put_mem_word(pto, 0x4EB9); /* JSR */ + pto += 2; + do_put_mem_long(pto, kROM_Base + (patchp - ROM)); + pto += 4; + + do_put_mem_word(patchp, 0x41F8); /* Lea.L (CrsrSave), A0 */ + patchp += 2; + do_put_mem_word(patchp, 0x088C); + patchp += 2; + do_put_mem_word(patchp, 0x203C); /* MOVE.L #$x, D0 */ + patchp += 2; + do_put_mem_long(patchp, (vMacScreenWidth / 8)); + patchp += 4; + do_put_mem_word(patchp, 0x4E75); /* RTS */ + patchp += 2; +#else + do_put_mem_word(7376 + ROM, 0x7000 + (vMacScreenWidth / 8)); +#endif + do_put_mem_word(7496 + ROM, vMacScreenWidth - 32); + do_put_mem_word(7502 + ROM, vMacScreenWidth - 32); + do_put_mem_word(7534 + ROM, vMacScreenHeight - 16); + do_put_mem_word(7540 + ROM, vMacScreenHeight); +#if vMacScreenWidth >= 1024 + pto = 7570 + ROM; + do_put_mem_word(pto, 0x4EB9); /* JSR */ + pto += 2; + do_put_mem_long(pto, kROM_Base + (patchp - ROM)); + pto += 4; + + do_put_mem_word(patchp, 0x2A3C); /* MOVE.L #$x,D5 */ + patchp += 2; + do_put_mem_long(patchp, (vMacScreenWidth / 8)); + patchp += 4; + do_put_mem_word(patchp, 0xC2C5); /* MulU D5,D1 */ + patchp += 2; + do_put_mem_word(patchp, 0xD3C1); /* AddA.L D1,A1 */ + patchp += 2; + do_put_mem_word(patchp, 0x4E75); /* RTS */ + patchp += 2; +#else + do_put_mem_word(7570 + ROM, 0x7A00 + (vMacScreenWidth / 8)); +#endif + + /* set up screen bitmap */ + do_put_mem_word(7784 + ROM, vMacScreenHeight); + do_put_mem_word(7790 + ROM, vMacScreenWidth); + do_put_mem_word(7810 + ROM, vMacScreenHeight); + +#if 0 + /* + Haven't got these working. Alert outlines ok, but + not contents. Perhaps global position of contents + stored in system resource file. + */ + + /* perhaps switch disk alert */ + do_put_mem_word(10936 + ROM, vMacScreenHeight / 2 - 91); + do_put_mem_word(10938 + ROM, vMacScreenWidth / 2 - 136); + do_put_mem_word(10944 + ROM, vMacScreenHeight / 2 - 19); + do_put_mem_word(10946 + ROM, vMacScreenWidth / 2 + 149); + + do_put_mem_word(11008 + ROM, ?); + do_put_mem_word(11010 + ROM, ?); + + /* DSAlertRect */ + do_put_mem_word(4952 + ROM, vMacScreenHeight / 2 - 107); + do_put_mem_word(4954 + ROM, vMacScreenWidth / 2 - 236); + do_put_mem_word(4958 + ROM, vMacScreenHeight / 2 + 19); + do_put_mem_word(4960 + ROM, vMacScreenWidth / 2 + 236); + + do_put_mem_word(5212 + ROM, vMacScreenHeight / 2 - 101); + do_put_mem_word(5214 + ROM, vMacScreenWidth / 2 - 218); +#endif + +#elif CurEmMd <= kEmMd_Classic + + /* screen setup, main */ + { + pto = 1482 + ROM; + do_put_mem_word(pto, 0x4EB9); /* JSR */ + pto += 2; + do_put_mem_long(pto, kROM_Base + (patchp - ROM)); + pto += 4; + + do_put_mem_word(patchp, 0x21FC); /* MOVE.L */ + patchp += 2; + do_put_mem_long(patchp, kVidMem_Base); /* kVidMem_Base */ + patchp += 4; + do_put_mem_word(patchp, 0x0824); /* (ScrnBase) */ + patchp += 2; + do_put_mem_word(patchp, 0x4E75); /* RTS */ + patchp += 2; + } + do_put_mem_word(1490 + ROM, vMacScreenWidth / 8); + do_put_mem_word(1546 + ROM, vMacScreenHeight); + do_put_mem_word(1550 + ROM, vMacScreenWidth); + + do_put_mem_word(2252 + ROM, vMacScreenHeight); + do_put_mem_word(2254 + ROM, vMacScreenWidth); + + /* blink floppy, disk icon */ + do_put_mem_long(3916 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth + + (vMacScreenWidth / 2 - 16)) + / 8); + /* blink floppy, question mark */ + do_put_mem_long(3934 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 10) * vMacScreenWidth + + (vMacScreenWidth / 2 - 8)) + / 8); + + do_put_mem_long(4258 + ROM, kVidMem_Base); + do_put_mem_word(4264 + ROM, vMacScreenHeight); + do_put_mem_word(4268 + ROM, vMacScreenWidth); + do_put_mem_word(4272 + ROM, vMacScreenWidth / 8); + do_put_mem_long(4276 + ROM, vMacScreenNumBytes); + + /* sad mac, mac icon */ + do_put_mem_long(4490 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth + + (vMacScreenWidth / 2 - 16)) + / 8); + /* sad mac, frown */ + do_put_mem_long(4504 + ROM, kVidMem_Base + + (((vMacScreenHeight / 4) * 2 - 19) * vMacScreenWidth + + (vMacScreenWidth / 2 - 8)) + / 8); + do_put_mem_word(4528 + ROM, vMacScreenWidth / 8); + /* blink floppy and sadmac, position */ + do_put_mem_word(4568 + ROM, vMacScreenWidth / 8); + do_put_mem_word(4586 + ROM, vMacScreenWidth / 8); + + /* cursor handling */ +#if vMacScreenWidth >= 1024 + pto = 101886 + ROM; + do_put_mem_word(pto, 0x4EB9); /* JSR */ + pto += 2; + do_put_mem_long(pto, kROM_Base + (patchp - ROM)); + pto += 4; + + do_put_mem_word(patchp, 0x41F8); /* Lea.L (CrsrSave),A0 */ + patchp += 2; + do_put_mem_word(patchp, 0x088C); + patchp += 2; + do_put_mem_word(patchp, 0x203C); /* MOVE.L #$x,D0 */ + patchp += 2; + do_put_mem_long(patchp, (vMacScreenWidth / 8)); + patchp += 4; + do_put_mem_word(patchp, 0x4E75); /* RTS */ + patchp += 2; +#else + do_put_mem_word(101890 + ROM, 0x7000 + (vMacScreenWidth / 8)); +#endif + do_put_mem_word(102010 + ROM, vMacScreenWidth - 32); + do_put_mem_word(102016 + ROM, vMacScreenWidth - 32); + do_put_mem_word(102048 + ROM, vMacScreenHeight - 16); + do_put_mem_word(102054 + ROM, vMacScreenHeight); +#if vMacScreenWidth >= 1024 + pto = 102084 + ROM; + do_put_mem_word(pto, 0x4EB9); /* JSR */ + pto += 2; + do_put_mem_long(pto, kROM_Base + (patchp - ROM)); + pto += 4; + + do_put_mem_word(patchp, 0x2A3C); /* MOVE.L #$x, D5 */ + patchp += 2; + do_put_mem_long(patchp, (vMacScreenWidth / 8)); + patchp += 4; + do_put_mem_word(patchp, 0xC2C5); /* MulU D5, D1 */ + patchp += 2; + do_put_mem_word(patchp, 0xD3C1); /* AddA.L D1, A1 */ + patchp += 2; + do_put_mem_word(patchp, 0x4E75); /* RTS */ + patchp += 2; +#else + do_put_mem_word(102084 + ROM, 0x7A00 + (vMacScreenWidth / 8)); +#endif + + /* set up screen bitmap */ + do_put_mem_word(102298 + ROM, vMacScreenHeight); + do_put_mem_word(102304 + ROM, vMacScreenWidth); + do_put_mem_word(102324 + ROM, vMacScreenHeight); + +#endif +} diff --git a/src/PATCHES/SCRNHACK.h b/src/PATCHES/SCRNHACK.h index 1ba5de3..dfcfc83 100644 --- a/src/PATCHES/SCRNHACK.h +++ b/src/PATCHES/SCRNHACK.h @@ -1,397 +1,3 @@ -/* - PATCHES/SCRNHACK.h +#include - Copyright (C) 2007 Paul C. Pratt - - You can redistribute this file and/or modify it under the terms - of version 2 of the GNU General Public License as published by - the Free Software Foundation. You should have received a copy - of the license along with this file; see the file COPYING. - - This file is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - license for more details. -*/ - -/* - SCReeN Hack - - Patch ROM to support other screen sizes. -*/ - - -#if CurEmMd <= kEmMd_128K - do_put_mem_long(112 + ROM, kVidMem_Base); - do_put_mem_long(260 + ROM, kVidMem_Base); - do_put_mem_long(292 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 + 9) * vMacScreenWidth - + (vMacScreenWidth / 2 - 24)) - / 8); - - /* sad mac, error code */ - do_put_mem_word(330 + ROM, vMacScreenWidth / 8); - do_put_mem_word(342 + ROM, vMacScreenWidth / 8); - do_put_mem_word(350 + ROM, vMacScreenWidth / 4 * 3 - 1); - /* sad mac, blink pixels */ - do_put_mem_word(358 + ROM, vMacScreenWidth - 4); - - do_put_mem_word(456 + ROM, - (vMacScreenHeight * vMacScreenWidth / 32) - 1 + 32); - - /* screen setup, main */ - { - pto = 862 + ROM; - do_put_mem_word(pto, 0x4EB9); /* JSR */ - pto += 2; - do_put_mem_long(pto, kROM_Base + (patchp - ROM)); - pto += 4; - - do_put_mem_word(patchp, 0x21FC); /* MOVE.L */ - patchp += 2; - do_put_mem_long(patchp, kVidMem_Base); /* kVidMem_Base */ - patchp += 4; - do_put_mem_word(patchp, 0x0824); /* (ScrnBase) */ - patchp += 2; - do_put_mem_word(patchp, 0x4E75); /* RTS */ - patchp += 2; - } - do_put_mem_word(892 + ROM, vMacScreenHeight - 1); - do_put_mem_word(894 + ROM, vMacScreenWidth - 1); - - /* blink floppy, disk icon */ - do_put_mem_long(1388 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth - + (vMacScreenWidth / 2 - 16)) - / 8); - /* blink floppy, question mark */ - do_put_mem_long(1406 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 10) * vMacScreenWidth - + (vMacScreenWidth / 2 - 8)) - / 8); - - /* blink floppy and sadmac, position */ - do_put_mem_word(1966 + ROM, vMacScreenWidth / 8 - 4); - do_put_mem_word(1982 + ROM, vMacScreenWidth / 8); - /* sad mac, mac icon */ - do_put_mem_long(2008 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth - + (vMacScreenWidth / 2 - 16)) - / 8); - /* sad mac, frown */ - do_put_mem_long(2020 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 19) * vMacScreenWidth - + (vMacScreenWidth / 2 - 8)) - / 8); - do_put_mem_word(2052 + ROM, vMacScreenWidth / 8 - 2); - - /* cursor handling */ -#if vMacScreenWidth >= 1024 - pto = 3448 + ROM; - do_put_mem_word(pto, 0x4EB9); /* JSR */ - pto += 2; - do_put_mem_long(pto, kROM_Base + (patchp - ROM)); - pto += 4; - - do_put_mem_word(patchp, 0x41F8); /* Lea.L (CrsrSave),A0 */ - patchp += 2; - do_put_mem_word(patchp, 0x088C); - patchp += 2; - do_put_mem_word(patchp, 0x203C); /* MOVE.L #$x,D0 */ - patchp += 2; - do_put_mem_long(patchp, (vMacScreenWidth / 8)); - patchp += 4; - do_put_mem_word(patchp, 0x4E75); /* RTS */ - patchp += 2; -#else - do_put_mem_word(3452 + ROM, 0x7000 + (vMacScreenWidth / 8)); -#endif - do_put_mem_word(3572 + ROM, vMacScreenWidth - 32); - do_put_mem_word(3578 + ROM, vMacScreenWidth - 32); - do_put_mem_word(3610 + ROM, vMacScreenHeight - 16); - do_put_mem_word(3616 + ROM, vMacScreenHeight); -#if vMacScreenWidth >= 1024 - pto = 3646 + ROM; - do_put_mem_word(pto, 0x4EB9); /* JSR */ - pto += 2; - do_put_mem_long(pto, kROM_Base + (patchp - ROM)); - pto += 4; - - do_put_mem_word(patchp, 0x2A3C); /* MOVE.L #$x,D5 */ - patchp += 2; - do_put_mem_long(patchp, (vMacScreenWidth / 8)); - patchp += 4; - do_put_mem_word(patchp, 0xC2C5); /* MulU D5,D1 */ - patchp += 2; - do_put_mem_word(patchp, 0xD3C1); /* AddA.L D1,A1 */ - patchp += 2; - do_put_mem_word(patchp, 0x4E75); /* RTS */ - patchp += 2; -#else - do_put_mem_word(3646 + ROM, 0x7A00 + (vMacScreenWidth / 8)); -#endif - - /* set up screen bitmap */ - do_put_mem_word(3832 + ROM, vMacScreenHeight); - do_put_mem_word(3838 + ROM, vMacScreenWidth); - /* do_put_mem_word(7810 + ROM, vMacScreenHeight); */ - -#elif CurEmMd <= kEmMd_Plus - - do_put_mem_long(138 + ROM, kVidMem_Base); - do_put_mem_long(326 + ROM, kVidMem_Base); - do_put_mem_long(356 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 + 9) * vMacScreenWidth - + (vMacScreenWidth / 2 - 24)) - / 8); - - /* sad mac, error code */ - do_put_mem_word(392 + ROM, vMacScreenWidth / 8); - do_put_mem_word(404 + ROM, vMacScreenWidth / 8); - do_put_mem_word(412 + ROM, vMacScreenWidth / 4 * 3 - 1); - /* sad mac, blink pixels */ - do_put_mem_long(420 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 + 17) * vMacScreenWidth - + (vMacScreenWidth / 2 - 8)) - / 8); - - do_put_mem_word(494 + ROM, - (vMacScreenHeight * vMacScreenWidth / 32) - 1); - - /* screen setup, main */ - { - pto = 1132 + ROM; - do_put_mem_word(pto, 0x4EB9); /* JSR */ - pto += 2; - do_put_mem_long(pto, kROM_Base + (patchp - ROM)); - pto += 4; - - do_put_mem_word(patchp, 0x21FC); /* MOVE.L */ - patchp += 2; - do_put_mem_long(patchp, kVidMem_Base); /* kVidMem_Base */ - patchp += 4; - do_put_mem_word(patchp, 0x0824); /* (ScrnBase) */ - patchp += 2; - do_put_mem_word(patchp, 0x4E75); /* RTS */ - patchp += 2; - } - do_put_mem_word(1140 + ROM, vMacScreenWidth / 8); - do_put_mem_word(1172 + ROM, vMacScreenHeight); - do_put_mem_word(1176 + ROM, vMacScreenWidth); - - /* blink floppy, disk icon */ - do_put_mem_long(2016 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth - + (vMacScreenWidth / 2 - 16)) - / 8); - /* blink floppy, question mark */ - do_put_mem_long(2034 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 10) * vMacScreenWidth - + (vMacScreenWidth / 2 - 8)) - / 8); - - do_put_mem_word(2574 + ROM, vMacScreenHeight); - do_put_mem_word(2576 + ROM, vMacScreenWidth); - - /* blink floppy and sadmac, position */ - do_put_mem_word(3810 + ROM, vMacScreenWidth / 8 - 4); - do_put_mem_word(3826 + ROM, vMacScreenWidth / 8); - /* sad mac, mac icon */ - do_put_mem_long(3852 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth - + (vMacScreenWidth / 2 - 16)) - / 8); - /* sad mac, frown */ - do_put_mem_long(3864 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 19) * vMacScreenWidth - + (vMacScreenWidth / 2 - 8)) - / 8); - do_put_mem_word(3894 + ROM, vMacScreenWidth / 8 - 2); - - /* cursor handling */ -#if vMacScreenWidth >= 1024 - pto = 7372 + ROM; - do_put_mem_word(pto, 0x4EB9); /* JSR */ - pto += 2; - do_put_mem_long(pto, kROM_Base + (patchp - ROM)); - pto += 4; - - do_put_mem_word(patchp, 0x41F8); /* Lea.L (CrsrSave), A0 */ - patchp += 2; - do_put_mem_word(patchp, 0x088C); - patchp += 2; - do_put_mem_word(patchp, 0x203C); /* MOVE.L #$x, D0 */ - patchp += 2; - do_put_mem_long(patchp, (vMacScreenWidth / 8)); - patchp += 4; - do_put_mem_word(patchp, 0x4E75); /* RTS */ - patchp += 2; -#else - do_put_mem_word(7376 + ROM, 0x7000 + (vMacScreenWidth / 8)); -#endif - do_put_mem_word(7496 + ROM, vMacScreenWidth - 32); - do_put_mem_word(7502 + ROM, vMacScreenWidth - 32); - do_put_mem_word(7534 + ROM, vMacScreenHeight - 16); - do_put_mem_word(7540 + ROM, vMacScreenHeight); -#if vMacScreenWidth >= 1024 - pto = 7570 + ROM; - do_put_mem_word(pto, 0x4EB9); /* JSR */ - pto += 2; - do_put_mem_long(pto, kROM_Base + (patchp - ROM)); - pto += 4; - - do_put_mem_word(patchp, 0x2A3C); /* MOVE.L #$x,D5 */ - patchp += 2; - do_put_mem_long(patchp, (vMacScreenWidth / 8)); - patchp += 4; - do_put_mem_word(patchp, 0xC2C5); /* MulU D5,D1 */ - patchp += 2; - do_put_mem_word(patchp, 0xD3C1); /* AddA.L D1,A1 */ - patchp += 2; - do_put_mem_word(patchp, 0x4E75); /* RTS */ - patchp += 2; -#else - do_put_mem_word(7570 + ROM, 0x7A00 + (vMacScreenWidth / 8)); -#endif - - /* set up screen bitmap */ - do_put_mem_word(7784 + ROM, vMacScreenHeight); - do_put_mem_word(7790 + ROM, vMacScreenWidth); - do_put_mem_word(7810 + ROM, vMacScreenHeight); - -#if 0 - /* - Haven't got these working. Alert outlines ok, but - not contents. Perhaps global position of contents - stored in system resource file. - */ - - /* perhaps switch disk alert */ - do_put_mem_word(10936 + ROM, vMacScreenHeight / 2 - 91); - do_put_mem_word(10938 + ROM, vMacScreenWidth / 2 - 136); - do_put_mem_word(10944 + ROM, vMacScreenHeight / 2 - 19); - do_put_mem_word(10946 + ROM, vMacScreenWidth / 2 + 149); - - do_put_mem_word(11008 + ROM, ?); - do_put_mem_word(11010 + ROM, ?); - - /* DSAlertRect */ - do_put_mem_word(4952 + ROM, vMacScreenHeight / 2 - 107); - do_put_mem_word(4954 + ROM, vMacScreenWidth / 2 - 236); - do_put_mem_word(4958 + ROM, vMacScreenHeight / 2 + 19); - do_put_mem_word(4960 + ROM, vMacScreenWidth / 2 + 236); - - do_put_mem_word(5212 + ROM, vMacScreenHeight / 2 - 101); - do_put_mem_word(5214 + ROM, vMacScreenWidth / 2 - 218); -#endif - -#elif CurEmMd <= kEmMd_Classic - - /* screen setup, main */ - { - pto = 1482 + ROM; - do_put_mem_word(pto, 0x4EB9); /* JSR */ - pto += 2; - do_put_mem_long(pto, kROM_Base + (patchp - ROM)); - pto += 4; - - do_put_mem_word(patchp, 0x21FC); /* MOVE.L */ - patchp += 2; - do_put_mem_long(patchp, kVidMem_Base); /* kVidMem_Base */ - patchp += 4; - do_put_mem_word(patchp, 0x0824); /* (ScrnBase) */ - patchp += 2; - do_put_mem_word(patchp, 0x4E75); /* RTS */ - patchp += 2; - } - do_put_mem_word(1490 + ROM, vMacScreenWidth / 8); - do_put_mem_word(1546 + ROM, vMacScreenHeight); - do_put_mem_word(1550 + ROM, vMacScreenWidth); - - do_put_mem_word(2252 + ROM, vMacScreenHeight); - do_put_mem_word(2254 + ROM, vMacScreenWidth); - - /* blink floppy, disk icon */ - do_put_mem_long(3916 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth - + (vMacScreenWidth / 2 - 16)) - / 8); - /* blink floppy, question mark */ - do_put_mem_long(3934 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 10) * vMacScreenWidth - + (vMacScreenWidth / 2 - 8)) - / 8); - - do_put_mem_long(4258 + ROM, kVidMem_Base); - do_put_mem_word(4264 + ROM, vMacScreenHeight); - do_put_mem_word(4268 + ROM, vMacScreenWidth); - do_put_mem_word(4272 + ROM, vMacScreenWidth / 8); - do_put_mem_long(4276 + ROM, vMacScreenNumBytes); - - /* sad mac, mac icon */ - do_put_mem_long(4490 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 25) * vMacScreenWidth - + (vMacScreenWidth / 2 - 16)) - / 8); - /* sad mac, frown */ - do_put_mem_long(4504 + ROM, kVidMem_Base - + (((vMacScreenHeight / 4) * 2 - 19) * vMacScreenWidth - + (vMacScreenWidth / 2 - 8)) - / 8); - do_put_mem_word(4528 + ROM, vMacScreenWidth / 8); - /* blink floppy and sadmac, position */ - do_put_mem_word(4568 + ROM, vMacScreenWidth / 8); - do_put_mem_word(4586 + ROM, vMacScreenWidth / 8); - - /* cursor handling */ -#if vMacScreenWidth >= 1024 - pto = 101886 + ROM; - do_put_mem_word(pto, 0x4EB9); /* JSR */ - pto += 2; - do_put_mem_long(pto, kROM_Base + (patchp - ROM)); - pto += 4; - - do_put_mem_word(patchp, 0x41F8); /* Lea.L (CrsrSave),A0 */ - patchp += 2; - do_put_mem_word(patchp, 0x088C); - patchp += 2; - do_put_mem_word(patchp, 0x203C); /* MOVE.L #$x,D0 */ - patchp += 2; - do_put_mem_long(patchp, (vMacScreenWidth / 8)); - patchp += 4; - do_put_mem_word(patchp, 0x4E75); /* RTS */ - patchp += 2; -#else - do_put_mem_word(101890 + ROM, 0x7000 + (vMacScreenWidth / 8)); -#endif - do_put_mem_word(102010 + ROM, vMacScreenWidth - 32); - do_put_mem_word(102016 + ROM, vMacScreenWidth - 32); - do_put_mem_word(102048 + ROM, vMacScreenHeight - 16); - do_put_mem_word(102054 + ROM, vMacScreenHeight); -#if vMacScreenWidth >= 1024 - pto = 102084 + ROM; - do_put_mem_word(pto, 0x4EB9); /* JSR */ - pto += 2; - do_put_mem_long(pto, kROM_Base + (patchp - ROM)); - pto += 4; - - do_put_mem_word(patchp, 0x2A3C); /* MOVE.L #$x, D5 */ - patchp += 2; - do_put_mem_long(patchp, (vMacScreenWidth / 8)); - patchp += 4; - do_put_mem_word(patchp, 0xC2C5); /* MulU D5, D1 */ - patchp += 2; - do_put_mem_word(patchp, 0xD3C1); /* AddA.L D1, A1 */ - patchp += 2; - do_put_mem_word(patchp, 0x4E75); /* RTS */ - patchp += 2; -#else - do_put_mem_word(102084 + ROM, 0x7A00 + (vMacScreenWidth / 8)); -#endif - - /* set up screen bitmap */ - do_put_mem_word(102298 + ROM, vMacScreenHeight); - do_put_mem_word(102304 + ROM, vMacScreenWidth); - do_put_mem_word(102324 + ROM, vMacScreenHeight); - -#endif +void ScreenHack_Install(uint8_t *pto); \ No newline at end of file diff --git a/src/PATCHES/SONYDRV.c b/src/PATCHES/SONYDRV.c new file mode 100644 index 0000000..bfbacf1 --- /dev/null +++ b/src/PATCHES/SONYDRV.c @@ -0,0 +1,95 @@ +/* + Replacement for .Sony driver + 68k machine code, compiled from mydriver.a + Included in the resource file for WIN32 builds +*/ +#include +#ifdef _WINDOWS +#include +#endif +#include "incbin/incbin.h" + +#include "EMCONFIG.h" +#include "GLOBGLUE.h" +#include "UTIL/ENDIANAC.h" +#include "UI/MYOSGLUE.h" +#include "PATCHES/SONYDRV.h" +#include "PATCHES/SCRNHACK.h" + +// Include binaries +#ifndef _WINDOWS +INCBIN(SonyDriver, "SONYDRV.bin"); +INCBIN(SonyIcon, "SONYICO.bin"); +#endif + +void Sony_LoadDriver(uint8_t *pto, int *size) +{ +#if defined(gSonyDriverData) + memcpy(pto, gSonyDriverData, gSonyDriverSize); + *size = gSonyDriverSize; +#elif defined(_WINDOWS) + HRSRC hDrvInfo = FindResource(NULL, "SONY_DRV", RT_RCDATA); + HGLOBAL hDrv = LoadResource(NULL, hDrvInfo); + DWORD sDrv = SizeofResource(NULL, hDrvInfo); + void *pDrv = LockResource(hDrv); + memcpy(pto, pDrv, sDrv); + *size = sDrv; +#else +#error("Unsupported platform/compiler") +#endif +} + +void Sony_LoadIcon(uint8_t *pto) +{ + disk_icon_addr = (pto - ROM) + kROM_Base; +#if defined(gSonyIconData) + memcpy(pto, gSonyIcon, gSonyIconSize; + pto += sizeof(gSonyIconSize); +#elif defined(_WINDOWS) + HRSRC hIcoInfo = FindResource(NULL, "SONY_ICO", RT_RCDATA); + HGLOBAL hIco = LoadResource(NULL, hIcoInfo); + DWORD sIco = SizeofResource(NULL, hIcoInfo); + void *pIco = LockResource(hIco); + memcpy(pto, pIco, sIco); + pto += sizeof(sIco); +#else +#error("Unsupported platform/compiler") +#endif +} + +void Sony_TwiggyPatch(uint8_t *pto) +{ + if (CurEmMd == kEmMd_Twiggy || CurEmMd == kEmMd_Twig43) { + /* 'Disk' instead of 'Sony' */ + do_put_mem_long(pto + 0x14, 0x4469736B); + if (CurEmMd == kEmMd_Twig43) { + do_put_mem_word(pto + 0xEA, 0x0C8A); + } else { + do_put_mem_word(pto + 0xEA, 0x0B74); + } + } +} + +void Sony_CallPatch(uint8_t *pto, int drvSize) +{ + pto += drvSize; + do_put_mem_word(pto, kcom_callcheck); + pto += 2; + do_put_mem_word(pto, kExtnSony); + pto += 2; + do_put_mem_long(pto, kExtn_Block_Base); /* pokeaddr */ + pto += 4; +} + +void Sony_Install(void) +{ + uint8_t * pto = Sony_DriverBase + ROM; + int drvSize = 0; + if (!UseSonyPatch) { return; } + Sony_LoadDriver(pto, &drvSize); + Sony_TwiggyPatch(pto); + Sony_CallPatch(pto, drvSize); + Sony_LoadIcon(pto); + // yeah this sucks but it's so awful and intertwined that i have no choice + ScreenHack_Install(pto); +} diff --git a/src/PATCHES/SONYDRV.h b/src/PATCHES/SONYDRV.h new file mode 100644 index 0000000..17dbc54 --- /dev/null +++ b/src/PATCHES/SONYDRV.h @@ -0,0 +1,19 @@ +#define UseSonyPatch \ + ((CurEmMd <= kEmMd_Classic) || (CurEmMd == kEmMd_II) \ + || (CurEmMd == kEmMd_IIx)) + +#if CurEmMd <= kEmMd_Twig43 +#define Sony_DriverBase 0x1836 +#elif CurEmMd <= kEmMd_Twiggy +#define Sony_DriverBase 0x16E4 +#elif CurEmMd <= kEmMd_128K +#define Sony_DriverBase 0x1690 +#elif CurEmMd <= kEmMd_Plus +#define Sony_DriverBase 0x17D30 +#elif CurEmMd <= kEmMd_Classic +#define Sony_DriverBase 0x34680 +#elif (CurEmMd == kEmMd_II) || (CurEmMd == kEmMd_IIx) +#define Sony_DriverBase 0x2D72C +#endif + +void Sony_Install(); \ No newline at end of file diff --git a/src/UI/COMOSGLU.c b/src/UI/COMOSGLU.c index d539d55..1f20d52 100644 --- a/src/UI/COMOSGLU.c +++ b/src/UI/COMOSGLU.c @@ -871,7 +871,7 @@ GLOBALVAR char *SavedLongMsg = nullpr; #if WantAbnormalReports GLOBALVAR uint16_t SavedIDMsg = 0; #endif -GLOBALVAR bool SavedFatalMsg = nullpr; +GLOBALVAR bool SavedFatalMsg = false; GLOBALPROC MacMsg(char *briefMsg, char *longMsg, bool fatal) { diff --git a/src/UI/WIN32/main.rc b/src/UI/WIN32/main.rc deleted file mode 100644 index bf95788..0000000 --- a/src/UI/WIN32/main.rc +++ /dev/null @@ -1 +0,0 @@ -256 ICON DISCARDABLE "ICONAPPW.ico"