From fc5bac2234e04e4af34a655b8c7f43ab6959a2dc Mon Sep 17 00:00:00 2001 From: InvisibleUp Date: Mon, 10 Feb 2020 22:19:26 -0500 Subject: [PATCH] Generate a Makefile that works --- .gitignore | 4 + Makefile | 75 +++++++ _work/target_options.h | 226 +++++++++++++++++++ build.sh | 493 +++++++++++++++++++++++++++++++++++++++++ cfg/CNFGGLOB.h | 96 ++++++++ cfg/CNFGRAPI.h | 81 +++++++ cfg/EMCONFIG.h | 170 ++++++++++++++ cfg/STRCONST.h | 1 + cfg/main.rc | 1 + 9 files changed, 1147 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 _work/target_options.h create mode 100644 build.sh create mode 100644 cfg/CNFGGLOB.h create mode 100644 cfg/CNFGRAPI.h create mode 100644 cfg/EMCONFIG.h create mode 100644 cfg/STRCONST.h create mode 100644 cfg/main.rc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b87fe8b --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.exe +*.obj +.vscode/* +bld \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..48ade77 --- /dev/null +++ b/Makefile @@ -0,0 +1,75 @@ +# make file generated by gryphel build system (which is trash, btw) + +mk_COptionsCommon = -c -Wall -Wmissing-prototypes -Wno-uninitialized -Wundef -Wstrict-prototypes -Icfg/ -Isrc/ +mk_COptionsOSGLU = $(mk_COptionsCommon) -Os +mk_COptions = $(mk_COptionsCommon) -Os + +.PHONY: TheDefaultOutput clean + +TheDefaultOutput : minivmac.exe + +bld/OSGLUWIN.o : src/OSGLUWIN.c src/STRCNENG.h cfg/STRCONST.h src/INTLCHAR.h src/COMOSGLU.h src/CONTROLM.h cfg/CNFGGLOB.h + gcc "src/OSGLUWIN.c" -o "bld/OSGLUWIN.o" $(mk_COptions) +bld/GLOBGLUE.o : src/GLOBGLUE.c cfg/CNFGGLOB.h + gcc "src/GLOBGLUE.c" -o "bld/GLOBGLUE.o" $(mk_COptions) +bld/M68KITAB.o : src/M68KITAB.c cfg/CNFGGLOB.h + gcc "src/M68KITAB.c" -o "bld/M68KITAB.o" $(mk_COptions) +bld/MINEM68K.o : src/MINEM68K.c cfg/CNFGGLOB.h + gcc "src/MINEM68K.c" -o "bld/MINEM68K.o" $(mk_COptions) +bld/VIAEMDEV.o : src/VIAEMDEV.c cfg/CNFGGLOB.h + gcc "src/VIAEMDEV.c" -o "bld/VIAEMDEV.o" $(mk_COptions) +bld/IWMEMDEV.o : src/IWMEMDEV.c cfg/CNFGGLOB.h + gcc "src/IWMEMDEV.c" -o "bld/IWMEMDEV.o" $(mk_COptions) +bld/SCCEMDEV.o : src/SCCEMDEV.c cfg/CNFGGLOB.h + gcc "src/SCCEMDEV.c" -o "bld/SCCEMDEV.o" $(mk_COptions) +bld/RTCEMDEV.o : src/RTCEMDEV.c cfg/CNFGGLOB.h + gcc "src/RTCEMDEV.c" -o "bld/RTCEMDEV.o" $(mk_COptions) +bld/ROMEMDEV.o : src/ROMEMDEV.c cfg/CNFGGLOB.h + gcc "src/ROMEMDEV.c" -o "bld/ROMEMDEV.o" $(mk_COptions) +bld/SCSIEMDV.o : src/SCSIEMDV.c cfg/CNFGGLOB.h + gcc "src/SCSIEMDV.c" -o "bld/SCSIEMDV.o" $(mk_COptions) +bld/SONYEMDV.o : src/SONYEMDV.c cfg/CNFGGLOB.h + gcc "src/SONYEMDV.c" -o "bld/SONYEMDV.o" $(mk_COptions) +bld/SCRNEMDV.o : src/SCRNEMDV.c cfg/CNFGGLOB.h + gcc "src/SCRNEMDV.c" -o "bld/SCRNEMDV.o" $(mk_COptions) +bld/MOUSEMDV.o : src/MOUSEMDV.c cfg/CNFGGLOB.h + gcc "src/MOUSEMDV.c" -o "bld/MOUSEMDV.o" $(mk_COptions) +bld/KBRDEMDV.o : src/KBRDEMDV.c cfg/CNFGGLOB.h + gcc "src/KBRDEMDV.c" -o "bld/KBRDEMDV.o" $(mk_COptions) +bld/SNDEMDEV.o : src/SNDEMDEV.c cfg/CNFGGLOB.h + gcc "src/SNDEMDEV.c" -o "bld/SNDEMDEV.o" $(mk_COptions) +bld/PROGMAIN.o : src/PROGMAIN.c cfg/CNFGGLOB.h + gcc "src/PROGMAIN.c" -o "bld/PROGMAIN.o" $(mk_COptions) + +ObjFiles = \ + bld/MINEM68K.o \ + bld/OSGLUWIN.o \ + bld/GLOBGLUE.o \ + bld/M68KITAB.o \ + bld/VIAEMDEV.o \ + bld/IWMEMDEV.o \ + bld/SCCEMDEV.o \ + bld/RTCEMDEV.o \ + bld/ROMEMDEV.o \ + bld/SCSIEMDV.o \ + bld/SONYEMDV.o \ + bld/SCRNEMDV.o \ + bld/MOUSEMDV.o \ + bld/KBRDEMDV.o \ + bld/SNDEMDEV.o \ + bld/PROGMAIN.o \ + + +bld/: cfg/main.rc + windres.exe -i "cfg/main.rc" --input-format=rc -o "bld/" -O coff --include-dir SRC + + +minivmac.exe : $(ObjFiles) bld/ + gcc \ + -o "minivmac.exe" \ + $(ObjFiles) -mwindows -lwinmm -lole32 -luuid + +clean : + rm -f $(ObjFiles) + rm -f "bld/" + rm -f "minivmac.exe" diff --git a/_work/target_options.h b/_work/target_options.h new file mode 100644 index 0000000..35072fd --- /dev/null +++ b/_work/target_options.h @@ -0,0 +1,226 @@ +#include + +// General notes: +// Max VRAM on Mac II(x) is 2MiB + +// Supported Macintosh models +enum MacModel { + mdl_Twig43, // Twiggy prototype (ROM 4.3T 07/04/83) + mdl_Twiggy, // Twiggy prototype (later) + mdl_m128K, // 128K + mdl_m512K, // 512K + mdl_m512Ke, // 512K Enhanced + mdl_Plus, // Plus + mdl_SE, // SE + mdl_SEFDHD, // SEFDHD + mdl_Classic, // Classic + mdl_PB100, // PowerBook 100 + mdl_II, // II + mdl_IIx // IIx +}; + +// Supported ROM types +enum MacROM { + rom_Twig43, // ROM 4.3T 07/04/83 + rom_Twiggy, // Twiggy prototype (later) + rom_64K, // 128K/512K + rom_128K, // 512Ke/Plus + rom_SE, // Mac SE w/ 800k drive + rom_II, // Mac II w/ 800k drive + rom_IIx, // Mac II FDHD, IIx, IIcx + rom_PB100, // PowerBook 100 + rom_Classic // Mac Classic +}; + +enum M68KType { + m68000, + m68020, + m68020FPU +}; + +// ROM information. Duplicate MacROMs are alternate ROMS also supported +struct MacROMInfo { + enum MacROM; + uint32_t cksum; + uint32_t size; +}; +const struct MacROMInfo MacROMInfoTable[] = { + {rom_Twig43, 0x27F4E04B, 2 << 16}, + {rom_Twiggy, 0x2884371D, 2 << 16}, + {rom_64K, 0x28BA61CE, 2 << 16}, // Mac 128K (?) + {rom_64K, 0x28BA4E50, 2 << 16}, // Mac 512K (?) + {rom_128K, 0x4D1EEEE1, 2 << 17}, // v1, 'Lonely Hearts' + {rom_128K, 0x4D1EEAE1, 2 << 17}, // v2, 'Lonely Heifers' + {rom_128K, 0x4D1F8172, 2 << 17}, // v3, 'Loud Harmonicas' + {rom_SE, 0xB2E362A8, 2 << 18}, + {rom_II, 0x97851DB6, 2 << 18}, // v1 + {rom_II, 0x9779D2C4, 2 << 18}, // v2 + {rom_IIx, 0x97221136, 2 << 18}, + {rom_PB100, 0x96645F9C, 2 << 18} +}; + +// Model information +// We're using base models for RAM and such; no addons +struct MacModelInfo { + enum MacModel; + enum MacROM; + enum M68KType; + uint32_t RAMaSize; // RAM in first address space (?) + uint32_t RAMbSize; + uint32_t RAMvidSize; // External video RAM size + uint32_t ROMBase; + uint16_t hres; + uint16_t vres; + uint8_t bpp; + uint8_t MaxATTListN; // ??? + float ClockSpeed; + bool ADB; // ADB keyboards/mice are used + bool RTC; // Real-time clock + bool PMU; // Power management unit (PB100, Mac Classic?) + bool VIA2; // Versatile Interface Adapter v2 (Mac II series, below uses VIA1) + bool ASC; // Apple Sound Chip (Mac II or PB100) + bool MMU; // True if memory mapper is present (???) + bool VidMem; // Needs external video memory on NuBus port +}; +const struct MacModelInfo MacModelInfoTable[] = { + // Twiggy, ROM 4.3 + { + .MacModel = mdl_Twig43, + .MacROM = rom_Twig43, + .M68KType = m68000, + .RAMaSize = 2 >> 16, + .RAMbSize = 0, + .RAMvidSize = 0, + .hres = 512, + .vres = 384, + .bpp = 1, + .MaxATTListN = 16, + .ClockMult = 1, + .ADB = false, + .RTC = false, + .PMU = false, + .VIA2 = false, + .ASC = false, + .MMU = false, + }, + // Twiggy + { + .MacModel = mdl_Twiggy, + .MacROM = rom_Twiggy, + .M68KType = m68000, + .RAMaSize = 2 >> 16, + .RAMbSize = 0, + .RAMvidSize = 0, + .hres = 512, + .vres = 384, + .bpp = 1, + .MaxATTListN = 16, + .ClockMult = 1, + .ADB = false, + .RTC = false, + .PMU = false, + .VIA2 = false, + .ASC = false, + .MMU = false, + }, + // 128K + { + .MacModel = mdl_m128K, + .MacROM = rom_64k, + .M68KType = m68000, + .RAMaSize = 2 >> 16, + .RAMbSize = 0, + .RAMvidSize = 0, + .hres = 512, + .vres = 384, + .bpp = 1, + .MaxATTListN = 16, + .ClockMult = 1, + .ADB = false, + .RTC = false, + .PMU = false, + .VIA2 = false, + .ASC = false, + .MMU = false, + }, + // 512K + { + .MacModel = mdl_m512K, + .MacROM = rom_64k, + .M68KType = m68000, + .RAMaSize = 2 >> 19, + .RAMbSize = 0, + .RAMvidSize = 0, + .hres = 512, + .vres = 384, + .bpp = 1, + .MaxATTListN = 16, + .ClockMult = 1, + .ADB = false, + .RTC = false, + .PMU = false, + .VIA2 = false, + .ASC = false, + .MMU = false, + }, + // 512Ke + { + .MacModel = mdl_m512Ke, + .MacROM = rom_128k, + .M68KType = m68000, + .RAMaSize = 2 >> 19, + .RAMbSize = 0, + .RAMvidSize = 0, + .hres = 512, + .vres = 384, + .bpp = 1, + .MaxATTListN = 16, + .ClockMult = 1, + .ADB = false, + .RTC = false, + .PMU = false, + .VIA2 = false, + .ASC = false, + .MMU = false, + }, + // Plus + { + .MacModel = mdl_Plus, + .MacROM = rom_128k, + .M68KType = m68000, + .RAMaSize = 2 >> 19, // same RAM for SE, SEFDHD, Classic + .RAMbSize = 2 >> 19, + .RAMvidSize = 0, + .hres = 512, + .vres = 384, + .bpp = 1, + .MaxATTListN = 16, + .ClockMult = 1, + .ADB = false, + .RTC = false, + .PMU = false, + .VIA2 = false, + .ASC = false, + .MMU = false, + }, + // II + { + .MacModel = mdl_II, + .MacROM = rom_II, + .M68KType = m68020FPU, + .RAMaSize = 2 >> 20, // same RAM for IIx + .RAMbSize = 0, + .RAMvidSize = 2 >> 20, // 1 MB max for NuBus (256K for PB100) + .hres = 640, + .vres = 480, + .bpp = 8, + .MaxATTListN = 20, + .ClockMult = 2, + .ADB = false, + .RTC = false, + .PMU = false, + .VIA2 = false, + .ASC = false, + .MMU = false, + }, +}; diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..f50db96 --- /dev/null +++ b/build.sh @@ -0,0 +1,493 @@ +#! /bin/bash + +my_project_d=./bin/ + +# ----- make output directory ----- + +my_obj_d="${my_project_d}bld/" +if test ! -d "${my_obj_d}" ; then + mkdir "${my_obj_d}" +fi + + +# ----- Dummy ----- + +DestFile="${my_obj_d}dummy.txt" +printf "" > "${DestFile}" + +printf "%s\n" 'This file is here because some archive extraction' >> "${DestFile}" +printf "%s\n" 'software will not create an empty directory.' >> "${DestFile}" + + +# ----- make configuration folder ----- + +my_config_d="${my_project_d}cfg/" +if test ! -d "${my_config_d}" ; then + mkdir "${my_config_d}" +fi + + +# ----- C Configuration file ----- + +DestFile="${my_config_d}CNFGGLOB.h" +printf "" > "${DestFile}" + +printf "%s\n" '/*' >> "${DestFile}" +printf "%s\n" ' Configuration options used by both platform specific' >> "${DestFile}" +printf "%s\n" ' and platform independent code.' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' This file is automatically generated by the build system,' >> "${DestFile}" +printf "%s\n" ' which tries to know what options are valid in what' >> "${DestFile}" +printf "%s\n" ' combinations. Avoid changing this file manually unless' >> "${DestFile}" +printf "%s\n" ' you know what you'\''re doing.' >> "${DestFile}" +printf "%s\n" '*/' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '/* adapt to current compiler/host processor */' >> "${DestFile}" +printf "%s\n" '#ifdef __i386__' >> "${DestFile}" +printf "%s\n" '#error "source is configured for 64 bit compiler"' >> "${DestFile}" +printf "%s\n" '#endif' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define MayInline inline __attribute__((always_inline))' >> "${DestFile}" +printf "%s\n" '#define MayNotInline __attribute__((noinline))' >> "${DestFile}" +printf "%s\n" '#define SmallGlobals 0' >> "${DestFile}" +printf "%s\n" '#define cIncludeUnused 0' >> "${DestFile}" +printf "%s\n" '#define UnusedParam(p) (void) p' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '/* --- integer types ---- */' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef unsigned char ui3b;' >> "${DestFile}" +printf "%s\n" '#define HaveRealui3b 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef signed char si3b;' >> "${DestFile}" +printf "%s\n" '#define HaveRealsi3b 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef unsigned short ui4b;' >> "${DestFile}" +printf "%s\n" '#define HaveRealui4b 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef short si4b;' >> "${DestFile}" +printf "%s\n" '#define HaveRealsi4b 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef unsigned int ui5b;' >> "${DestFile}" +printf "%s\n" '#define HaveRealui5b 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef int si5b;' >> "${DestFile}" +printf "%s\n" '#define HaveRealsi5b 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define HaveRealui6b 0' >> "${DestFile}" +printf "%s\n" '#define HaveRealsi6b 0' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '/* --- integer representation types ---- */' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef ui3b ui3r;' >> "${DestFile}" +printf "%s\n" '#define ui3beqr 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef si3b si3r;' >> "${DestFile}" +printf "%s\n" '#define si3beqr 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef ui4b ui4r;' >> "${DestFile}" +printf "%s\n" '#define ui4beqr 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef si4b si4r;' >> "${DestFile}" +printf "%s\n" '#define si4beqr 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef ui5b ui5r;' >> "${DestFile}" +printf "%s\n" '#define ui5beqr 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'typedef si5b si5r;' >> "${DestFile}" +printf "%s\n" '#define si5beqr 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '/* capabilities provided by platform specific code */' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define MySoundEnabled 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define MySoundRecenterSilence 0' >> "${DestFile}" +printf "%s\n" '#define kLn2SoundSampSz 3' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define dbglog_HAVE 0' >> "${DestFile}" +printf "%s\n" '#define WantAbnormalReports 0' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define NumDrives 6' >> "${DestFile}" +printf "%s\n" '#define IncludeSonyRawMode 1' >> "${DestFile}" +printf "%s\n" '#define IncludeSonyGetName 1' >> "${DestFile}" +printf "%s\n" '#define IncludeSonyNew 1' >> "${DestFile}" +printf "%s\n" '#define IncludeSonyNameNew 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define vMacScreenHeight 342' >> "${DestFile}" +printf "%s\n" '#define vMacScreenWidth 512' >> "${DestFile}" +printf "%s\n" '#define vMacScreenDepth 0' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define kROM_Size 0x00020000' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define IncludePbufs 1' >> "${DestFile}" +printf "%s\n" '#define NumPbufs 4' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define EnableMouseMotion 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define IncludeHostTextClipExchange 1' >> "${DestFile}" +printf "%s\n" '#define EnableAutoSlow 1' >> "${DestFile}" +printf "%s\n" '#define EmLocalTalk 0' >> "${DestFile}" +printf "%s\n" '#define AutoLocation 1' >> "${DestFile}" +printf "%s\n" '#define AutoTimeZone 1' >> "${DestFile}" + + +# ----- C API Configuration file ----- + +DestFile="${my_config_d}CNFGRAPI.h" +printf "" > "${DestFile}" + +printf "%s\n" '/*' >> "${DestFile}" +printf "%s\n" ' Configuration options used by platform specific code.' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' This file is automatically generated by the build system,' >> "${DestFile}" +printf "%s\n" ' which tries to know what options are valid in what' >> "${DestFile}" +printf "%s\n" ' combinations. Avoid changing this file manually unless' >> "${DestFile}" +printf "%s\n" ' you know what you'\''re doing.' >> "${DestFile}" +printf "%s\n" '*/' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#include ' >> "${DestFile}" +printf "%s\n" '#include ' >> "${DestFile}" +printf "%s\n" '#include ' >> "${DestFile}" +printf "%s\n" '#include ' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define RomFileName "vMac.ROM"' >> "${DestFile}" +printf "%s\n" '#define kCheckSumRom_Size 0x00020000' >> "${DestFile}" +printf "%s\n" '#define kRomCheckSum1 0x4D1EEEE1' >> "${DestFile}" +printf "%s\n" '#define kRomCheckSum2 0x4D1EEAE1' >> "${DestFile}" +printf "%s\n" '#define kRomCheckSum3 0x4D1F8172' >> "${DestFile}" +printf "%s\n" '#define RomStartCheckSum 1' >> "${DestFile}" +printf "%s\n" '#define EnableDragDrop 1' >> "${DestFile}" +printf "%s\n" '#define SaveDialogEnable 1' >> "${DestFile}" +printf "%s\n" '#define EnableAltKeysMode 0' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_Control MKC_CM' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_Command MKC_Command' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_Option MKC_Option' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_Shift MKC_Shift' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_CapsLock MKC_CapsLock' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_Escape MKC_Escape' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_BackSlash MKC_BackSlash' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_Slash MKC_Slash' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_Grave MKC_Grave' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_Enter MKC_Enter' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_PageUp MKC_PageUp' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_PageDown MKC_PageDown' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_Home MKC_Home' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_End MKC_End' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_Help MKC_Help' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_ForwardDel MKC_ForwardDel' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_F1 MKC_Option' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_F2 MKC_Command' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_F3 MKC_F3' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_F4 MKC_F4' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_F5 MKC_F5' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_RControl MKC_CM' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_RCommand MKC_Command' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_ROption MKC_Option' >> "${DestFile}" +printf "%s\n" '#define MKC_formac_RShift MKC_Shift' >> "${DestFile}" +printf "%s\n" '#define MKC_UnMappedKey MKC_Control' >> "${DestFile}" +printf "%s\n" '#define VarFullScreen 1' >> "${DestFile}" +printf "%s\n" '#define WantInitFullScreen 0' >> "${DestFile}" +printf "%s\n" '#define MayFullScreen 1' >> "${DestFile}" +printf "%s\n" '#define MayNotFullScreen 1' >> "${DestFile}" +printf "%s\n" '#define WantInitMagnify 0' >> "${DestFile}" +printf "%s\n" '#define EnableMagnify 1' >> "${DestFile}" +printf "%s\n" '#define MyWindowScale 2' >> "${DestFile}" +printf "%s\n" '#define WantInitRunInBackground 0' >> "${DestFile}" +printf "%s\n" '#define WantInitNotAutoSlow 0' >> "${DestFile}" +printf "%s\n" '#define WantInitSpeedValue 3' >> "${DestFile}" +printf "%s\n" '#define WantEnblCtrlInt 1' >> "${DestFile}" +printf "%s\n" '#define WantEnblCtrlRst 1' >> "${DestFile}" +printf "%s\n" '#define WantEnblCtrlKtg 1' >> "${DestFile}" +printf "%s\n" '#define NeedRequestInsertDisk 1' >> "${DestFile}" +printf "%s\n" '#define NeedDoMoreCommandsMsg 1' >> "${DestFile}" +printf "%s\n" '#define NeedDoAboutMsg 1' >> "${DestFile}" +printf "%s\n" '#define UseControlKeys 1' >> "${DestFile}" +printf "%s\n" '#define UseActvCode 0' >> "${DestFile}" +printf "%s\n" '#define EnableDemoMsg 0' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '/* version and other info to display to user */' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define NeedIntlChars 0' >> "${DestFile}" +printf "%s\n" '#define ItnlKyBdFix 1' >> "${DestFile}" +printf "%s\n" '#define kStrAppName "Mini vMac"' >> "${DestFile}" +printf "%s\n" '#define kAppVariationStr "minivmac-36.04-wx64"' >> "${DestFile}" +printf "%s\n" '#define kStrCopyrightYear "2018"' >> "${DestFile}" +printf "%s\n" '#define kMaintainerName "unknown"' >> "${DestFile}" +printf "%s\n" '#define kStrHomePage "(unknown)"' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define kBldOpts "-br 36 -t wx64"' >> "${DestFile}" + + +# ----- C Platform Independent Configuration file ----- + +DestFile="${my_config_d}EMCONFIG.h" +printf "" > "${DestFile}" + +printf "%s\n" '/*' >> "${DestFile}" +printf "%s\n" ' Configuration options used by platform independent code.' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' This file is automatically generated by the build system,' >> "${DestFile}" +printf "%s\n" ' which tries to know what options are valid in what' >> "${DestFile}" +printf "%s\n" ' combinations. Avoid changing this file manually unless' >> "${DestFile}" +printf "%s\n" ' you know what you'\''re doing.' >> "${DestFile}" +printf "%s\n" '*/' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define EmClassicKbrd 1' >> "${DestFile}" +printf "%s\n" '#define EmADB 0' >> "${DestFile}" +printf "%s\n" '#define EmRTC 1' >> "${DestFile}" +printf "%s\n" '#define EmPMU 0' >> "${DestFile}" +printf "%s\n" '#define EmVIA2 0' >> "${DestFile}" +printf "%s\n" '#define Use68020 0' >> "${DestFile}" +printf "%s\n" '#define EmFPU 0' >> "${DestFile}" +printf "%s\n" '#define EmMMU 0' >> "${DestFile}" +printf "%s\n" '#define EmASC 0' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define CurEmMd kEmMd_Plus' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define kMyClockMult 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define WantCycByPriOp 1' >> "${DestFile}" +printf "%s\n" '#define WantCloserCyc 0' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define kRAMa_Size 0x00200000' >> "${DestFile}" +printf "%s\n" '#define kRAMb_Size 0x00200000' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define IncludeVidMem 0' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define EmVidCard 0' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define MaxATTListN 16' >> "${DestFile}" +printf "%s\n" '#define IncludeExtnPbufs 1' >> "${DestFile}" +printf "%s\n" '#define IncludeExtnHostTextClipExchange 1' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define Sony_SupportDC42 1' >> "${DestFile}" +printf "%s\n" '#define Sony_SupportTags 0' >> "${DestFile}" +printf "%s\n" '#define Sony_WantChecksumsUpdated 0' >> "${DestFile}" +printf "%s\n" '#define Sony_VerifyChecksums 0' >> "${DestFile}" +printf "%s\n" '#define CaretBlinkTime 0x03' >> "${DestFile}" +printf "%s\n" '#define SpeakerVol 0x07' >> "${DestFile}" +printf "%s\n" '#define DoubleClickTime 0x05' >> "${DestFile}" +printf "%s\n" '#define MenuBlink 0x03' >> "${DestFile}" +printf "%s\n" '#define AutoKeyThresh 0x06' >> "${DestFile}" +printf "%s\n" '#define AutoKeyRate 0x03' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '/* the Wire variables are 1/0, not true/false */' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'enum {' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iA0_SoundVolb0,' >> "${DestFile}" +printf "%s\n" '#define SoundVolb0 (Wires[Wire_VIA1_iA0_SoundVolb0])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iA0 (Wires[Wire_VIA1_iA0_SoundVolb0])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iA1_SoundVolb1,' >> "${DestFile}" +printf "%s\n" '#define SoundVolb1 (Wires[Wire_VIA1_iA1_SoundVolb1])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iA1 (Wires[Wire_VIA1_iA1_SoundVolb1])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iA2_SoundVolb2,' >> "${DestFile}" +printf "%s\n" '#define SoundVolb2 (Wires[Wire_VIA1_iA2_SoundVolb2])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iA2 (Wires[Wire_VIA1_iA2_SoundVolb2])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iA4_MemOverlay,' >> "${DestFile}" +printf "%s\n" '#define MemOverlay (Wires[Wire_VIA1_iA4_MemOverlay])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iA4 (Wires[Wire_VIA1_iA4_MemOverlay])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iA4_ChangeNtfy MemOverlay_ChangeNtfy' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iA6_SCRNvPage2,' >> "${DestFile}" +printf "%s\n" '#define SCRNvPage2 (Wires[Wire_VIA1_iA6_SCRNvPage2])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iA6 (Wires[Wire_VIA1_iA6_SCRNvPage2])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iA5_IWMvSel,' >> "${DestFile}" +printf "%s\n" '#define IWMvSel (Wires[Wire_VIA1_iA5_IWMvSel])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iA5 (Wires[Wire_VIA1_iA5_IWMvSel])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iA7_SCCwaitrq,' >> "${DestFile}" +printf "%s\n" '#define SCCwaitrq (Wires[Wire_VIA1_iA7_SCCwaitrq])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iA7 (Wires[Wire_VIA1_iA7_SCCwaitrq])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iB0_RTCdataLine,' >> "${DestFile}" +printf "%s\n" '#define RTCdataLine (Wires[Wire_VIA1_iB0_RTCdataLine])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iB0 (Wires[Wire_VIA1_iB0_RTCdataLine])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iB0_ChangeNtfy RTCdataLine_ChangeNtfy' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iB1_RTCclock,' >> "${DestFile}" +printf "%s\n" '#define RTCclock (Wires[Wire_VIA1_iB1_RTCclock])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iB1 (Wires[Wire_VIA1_iB1_RTCclock])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iB1_ChangeNtfy RTCclock_ChangeNtfy' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iB2_RTCunEnabled,' >> "${DestFile}" +printf "%s\n" '#define RTCunEnabled (Wires[Wire_VIA1_iB2_RTCunEnabled])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iB2 (Wires[Wire_VIA1_iB2_RTCunEnabled])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iB2_ChangeNtfy RTCunEnabled_ChangeNtfy' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iA3_SoundBuffer,' >> "${DestFile}" +printf "%s\n" '#define SoundBuffer (Wires[Wire_VIA1_iA3_SoundBuffer])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iA3 (Wires[Wire_VIA1_iA3_SoundBuffer])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iB3_MouseBtnUp,' >> "${DestFile}" +printf "%s\n" '#define MouseBtnUp (Wires[Wire_VIA1_iB3_MouseBtnUp])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iB3 (Wires[Wire_VIA1_iB3_MouseBtnUp])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iB4_MouseX2,' >> "${DestFile}" +printf "%s\n" '#define MouseX2 (Wires[Wire_VIA1_iB4_MouseX2])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iB4 (Wires[Wire_VIA1_iB4_MouseX2])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iB5_MouseY2,' >> "${DestFile}" +printf "%s\n" '#define MouseY2 (Wires[Wire_VIA1_iB5_MouseY2])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iB5 (Wires[Wire_VIA1_iB5_MouseY2])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iCB2_KybdDat,' >> "${DestFile}" +printf "%s\n" '#define VIA1_iCB2 (Wires[Wire_VIA1_iCB2_KybdDat])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iCB2_ChangeNtfy Kybd_DataLineChngNtfy' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iB6_SCRNbeamInVid,' >> "${DestFile}" +printf "%s\n" '#define SCRNbeamInVid (Wires[Wire_VIA1_iB6_SCRNbeamInVid])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iB6 (Wires[Wire_VIA1_iB6_SCRNbeamInVid])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_iB7_SoundDisable,' >> "${DestFile}" +printf "%s\n" '#define SoundDisable (Wires[Wire_VIA1_iB7_SoundDisable])' >> "${DestFile}" +printf "%s\n" '#define VIA1_iB7 (Wires[Wire_VIA1_iB7_SoundDisable])' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_VIA1_InterruptRequest,' >> "${DestFile}" +printf "%s\n" '#define VIA1_InterruptRequest (Wires[Wire_VIA1_InterruptRequest])' >> "${DestFile}" +printf "%s\n" '#define VIA1_interruptChngNtfy VIAorSCCinterruptChngNtfy' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' Wire_SCCInterruptRequest,' >> "${DestFile}" +printf "%s\n" '#define SCCInterruptRequest (Wires[Wire_SCCInterruptRequest])' >> "${DestFile}" +printf "%s\n" '#define SCCinterruptChngNtfy VIAorSCCinterruptChngNtfy' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" ' kNumWires' >> "${DestFile}" +printf "%s\n" '};' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '/* VIA configuration */' >> "${DestFile}" +printf "%s\n" '#define VIA1_ORA_FloatVal 0xFF' >> "${DestFile}" +printf "%s\n" '#define VIA1_ORB_FloatVal 0xFF' >> "${DestFile}" +printf "%s\n" '#define VIA1_ORA_CanIn 0x80' >> "${DestFile}" +printf "%s\n" '#define VIA1_ORA_CanOut 0x7F' >> "${DestFile}" +printf "%s\n" '#define VIA1_ORB_CanIn 0x79' >> "${DestFile}" +printf "%s\n" '#define VIA1_ORB_CanOut 0x87' >> "${DestFile}" +printf "%s\n" '#define VIA1_IER_Never0 (1 << 1)' >> "${DestFile}" +printf "%s\n" '#define VIA1_IER_Never1 ((1 << 3) | (1 << 4))' >> "${DestFile}" +printf "%s\n" '#define VIA1_CB2modesAllowed 0x01' >> "${DestFile}" +printf "%s\n" '#define VIA1_CA2modesAllowed 0x01' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define Mouse_Enabled SCC_InterruptsEnabled' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define VIA1_iCA1_PulseNtfy VIA1_iCA1_Sixtieth_PulseNtfy' >> "${DestFile}" +printf "%s\n" '#define Sixtieth_PulseNtfy VIA1_iCA1_Sixtieth_PulseNtfy' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define VIA1_iCA2_PulseNtfy VIA1_iCA2_RTC_OneSecond_PulseNtfy' >> "${DestFile}" +printf "%s\n" '#define RTC_OneSecond_PulseNtfy VIA1_iCA2_RTC_OneSecond_PulseNtfy' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define GetSoundInvertTime VIA1_GetT1InvertTime' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define KYBD_ShiftInData VIA1_ShiftOutData' >> "${DestFile}" +printf "%s\n" '#define KYBD_ShiftOutData VIA1_ShiftInData' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define kExtn_Block_Base 0x00F40000' >> "${DestFile}" +printf "%s\n" '#define kExtn_ln2Spc 5' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define kROM_Base 0x00400000' >> "${DestFile}" +printf "%s\n" '#define kROM_ln2Spc 20' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '#define WantDisasm 0' >> "${DestFile}" +printf "%s\n" '#define ExtraAbnormalReports 0' >> "${DestFile}" + + +# ----- Language Configuration file ----- + +DestFile="${my_config_d}STRCONST.h" +printf "" > "${DestFile}" + +printf "%s\n" '#include "STRCNENG.h"' >> "${DestFile}" + + +# ----- Resource Configuration file ----- + +DestFile="${my_config_d}main.rc" +printf "" > "${DestFile}" + +printf "%s\n" '256 ICON DISCARDABLE "ICONAPPW.ico"' >> "${DestFile}" + + +# ----- Make file ----- + +DestFile="${my_project_d}Makefile" +printf "" > "${DestFile}" + +printf "%s\n" '# make file generated by gryphel build system' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'mk_COptionsCommon = -c -Wall -Wmissing-prototypes -Wno-uninitialized -Wundef -Wstrict-prototypes -Icfg/ -Isrc/' >> "${DestFile}" +printf "%s\n" 'mk_COptionsOSGLU = $(mk_COptionsCommon) -Os' >> "${DestFile}" +printf "%s\n" 'mk_COptions = $(mk_COptionsCommon) -Os' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" '.PHONY: TheDefaultOutput clean' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'TheDefaultOutput : minivmac.exe' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'bld/OSGLUWIN.o : src/OSGLUWIN.c src/STRCNENG.h cfg/STRCONST.h src/INTLCHAR.h src/COMOSGLU.h src/CONTROLM.h cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/OSGLUWIN.c" -o "bld/OSGLUWIN.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/GLOBGLUE.o : src/GLOBGLUE.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/GLOBGLUE.c" -o "bld/GLOBGLUE.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/M68KITAB.o : src/M68KITAB.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/M68KITAB.c" -o "bld/M68KITAB.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/MINEM68K.o : src/MINEM68K.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/MINEM68K.c" -o "bld/MINEM68K.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/VIAEMDEV.o : src/VIAEMDEV.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/VIAEMDEV.c" -o "bld/VIAEMDEV.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/IWMEMDEV.o : src/IWMEMDEV.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/IWMEMDEV.c" -o "bld/IWMEMDEV.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/SCCEMDEV.o : src/SCCEMDEV.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/SCCEMDEV.c" -o "bld/SCCEMDEV.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/RTCEMDEV.o : src/RTCEMDEV.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/RTCEMDEV.c" -o "bld/RTCEMDEV.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/ROMEMDEV.o : src/ROMEMDEV.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/ROMEMDEV.c" -o "bld/ROMEMDEV.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/SCSIEMDV.o : src/SCSIEMDV.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/SCSIEMDV.c" -o "bld/SCSIEMDV.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/SONYEMDV.o : src/SONYEMDV.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/SONYEMDV.c" -o "bld/SONYEMDV.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/SCRNEMDV.o : src/SCRNEMDV.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/SCRNEMDV.c" -o "bld/SCRNEMDV.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/MOUSEMDV.o : src/MOUSEMDV.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/MOUSEMDV.c" -o "bld/MOUSEMDV.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/KBRDEMDV.o : src/KBRDEMDV.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/KBRDEMDV.c" -o "bld/KBRDEMDV.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/SNDEMDEV.o : src/SNDEMDEV.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/SNDEMDEV.c" -o "bld/SNDEMDEV.o" $(mk_COptions)' >> "${DestFile}" +printf "%s\n" 'bld/PROGMAIN.o : src/PROGMAIN.c cfg/CNFGGLOB.h' >> "${DestFile}" +printf "%s\n" ' gcc "src/PROGMAIN.c" -o "bld/PROGMAIN.o" $(mk_COptions)' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'ObjFiles = \' >> "${DestFile}" +printf "%s\n" ' bld/MINEM68K.o \' >> "${DestFile}" +printf "%s\n" ' bld/OSGLUWIN.o \' >> "${DestFile}" +printf "%s\n" ' bld/GLOBGLUE.o \' >> "${DestFile}" +printf "%s\n" ' bld/M68KITAB.o \' >> "${DestFile}" +printf "%s\n" ' bld/VIAEMDEV.o \' >> "${DestFile}" +printf "%s\n" ' bld/IWMEMDEV.o \' >> "${DestFile}" +printf "%s\n" ' bld/SCCEMDEV.o \' >> "${DestFile}" +printf "%s\n" ' bld/RTCEMDEV.o \' >> "${DestFile}" +printf "%s\n" ' bld/ROMEMDEV.o \' >> "${DestFile}" +printf "%s\n" ' bld/SCSIEMDV.o \' >> "${DestFile}" +printf "%s\n" ' bld/SONYEMDV.o \' >> "${DestFile}" +printf "%s\n" ' bld/SCRNEMDV.o \' >> "${DestFile}" +printf "%s\n" ' bld/MOUSEMDV.o \' >> "${DestFile}" +printf "%s\n" ' bld/KBRDEMDV.o \' >> "${DestFile}" +printf "%s\n" ' bld/SNDEMDEV.o \' >> "${DestFile}" +printf "%s\n" ' bld/PROGMAIN.o \' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'bld/: cfg/main.r' >> "${DestFile}" +printf "%s\n" ' windres.exe -i "cfg/main.r" --input-format=rc -o "bld/" -O coff --include-dir SRC' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'minivmac.exe : $(ObjFiles) bld/' >> "${DestFile}" +printf "%s\n" ' gcc \' >> "${DestFile}" +printf "%s\n" ' -o "minivmac.exe" \' >> "${DestFile}" +printf "%s\n" ' $(ObjFiles) "bld/" -mwindows -lwinmm -lole32 -luuid' >> "${DestFile}" +printf "\n" >> "${DestFile}" +printf "%s\n" 'clean :' >> "${DestFile}" +printf "%s\n" ' rm -f $(ObjFiles)' >> "${DestFile}" +printf "%s\n" ' rm -f "bld/"' >> "${DestFile}" +printf "%s\n" ' rm -f "minivmac.exe"' >> "${DestFile}" diff --git a/cfg/CNFGGLOB.h b/cfg/CNFGGLOB.h new file mode 100644 index 0000000..06d37f3 --- /dev/null +++ b/cfg/CNFGGLOB.h @@ -0,0 +1,96 @@ +/* + Configuration options used by both platform specific + and platform independent code. + + This file is automatically generated by the build system, + which tries to know what options are valid in what + combinations. Avoid changing this file manually unless + you know what you're doing. +*/ + +/* adapt to current compiler/host processor */ +#ifdef __i386__ +#error "source is configured for 64 bit compiler" +#endif + +#define MayInline inline __attribute__((always_inline)) +#define MayNotInline __attribute__((noinline)) +#define SmallGlobals 0 +#define cIncludeUnused 0 +#define UnusedParam(p) (void) p + +/* --- integer types ---- */ + +typedef unsigned char ui3b; +#define HaveRealui3b 1 + +typedef signed char si3b; +#define HaveRealsi3b 1 + +typedef unsigned short ui4b; +#define HaveRealui4b 1 + +typedef short si4b; +#define HaveRealsi4b 1 + +typedef unsigned int ui5b; +#define HaveRealui5b 1 + +typedef int si5b; +#define HaveRealsi5b 1 + +#define HaveRealui6b 0 +#define HaveRealsi6b 0 + +/* --- integer representation types ---- */ + +typedef ui3b ui3r; +#define ui3beqr 1 + +typedef si3b si3r; +#define si3beqr 1 + +typedef ui4b ui4r; +#define ui4beqr 1 + +typedef si4b si4r; +#define si4beqr 1 + +typedef ui5b ui5r; +#define ui5beqr 1 + +typedef si5b si5r; +#define si5beqr 1 + +/* capabilities provided by platform specific code */ + +#define MySoundEnabled 1 + +#define MySoundRecenterSilence 0 +#define kLn2SoundSampSz 3 + +#define dbglog_HAVE 0 +#define WantAbnormalReports 0 + +#define NumDrives 6 +#define IncludeSonyRawMode 1 +#define IncludeSonyGetName 1 +#define IncludeSonyNew 1 +#define IncludeSonyNameNew 1 + +#define vMacScreenHeight 342 +#define vMacScreenWidth 512 +#define vMacScreenDepth 0 + +#define kROM_Size 0x00020000 + +#define IncludePbufs 1 +#define NumPbufs 4 + +#define EnableMouseMotion 1 + +#define IncludeHostTextClipExchange 1 +#define EnableAutoSlow 1 +#define EmLocalTalk 0 +#define AutoLocation 1 +#define AutoTimeZone 1 diff --git a/cfg/CNFGRAPI.h b/cfg/CNFGRAPI.h new file mode 100644 index 0000000..4b0f70c --- /dev/null +++ b/cfg/CNFGRAPI.h @@ -0,0 +1,81 @@ +/* + Configuration options used by platform specific code. + + This file is automatically generated by the build system, + which tries to know what options are valid in what + combinations. Avoid changing this file manually unless + you know what you're doing. +*/ + +#include +#include +#include +#include + + +#define RomFileName "vMac.ROM" +#define kCheckSumRom_Size 0x00020000 +#define kRomCheckSum1 0x4D1EEEE1 +#define kRomCheckSum2 0x4D1EEAE1 +#define kRomCheckSum3 0x4D1F8172 +#define RomStartCheckSum 1 +#define EnableDragDrop 1 +#define SaveDialogEnable 1 +#define EnableAltKeysMode 0 +#define MKC_formac_Control MKC_CM +#define MKC_formac_Command MKC_Command +#define MKC_formac_Option MKC_Option +#define MKC_formac_Shift MKC_Shift +#define MKC_formac_CapsLock MKC_CapsLock +#define MKC_formac_Escape MKC_Escape +#define MKC_formac_BackSlash MKC_BackSlash +#define MKC_formac_Slash MKC_Slash +#define MKC_formac_Grave MKC_Grave +#define MKC_formac_Enter MKC_Enter +#define MKC_formac_PageUp MKC_PageUp +#define MKC_formac_PageDown MKC_PageDown +#define MKC_formac_Home MKC_Home +#define MKC_formac_End MKC_End +#define MKC_formac_Help MKC_Help +#define MKC_formac_ForwardDel MKC_ForwardDel +#define MKC_formac_F1 MKC_Option +#define MKC_formac_F2 MKC_Command +#define MKC_formac_F3 MKC_F3 +#define MKC_formac_F4 MKC_F4 +#define MKC_formac_F5 MKC_F5 +#define MKC_formac_RControl MKC_CM +#define MKC_formac_RCommand MKC_Command +#define MKC_formac_ROption MKC_Option +#define MKC_formac_RShift MKC_Shift +#define MKC_UnMappedKey MKC_Control +#define VarFullScreen 1 +#define WantInitFullScreen 0 +#define MayFullScreen 1 +#define MayNotFullScreen 1 +#define WantInitMagnify 0 +#define EnableMagnify 1 +#define MyWindowScale 2 +#define WantInitRunInBackground 0 +#define WantInitNotAutoSlow 0 +#define WantInitSpeedValue 3 +#define WantEnblCtrlInt 1 +#define WantEnblCtrlRst 1 +#define WantEnblCtrlKtg 1 +#define NeedRequestInsertDisk 1 +#define NeedDoMoreCommandsMsg 1 +#define NeedDoAboutMsg 1 +#define UseControlKeys 1 +#define UseActvCode 0 +#define EnableDemoMsg 0 + +/* version and other info to display to user */ + +#define NeedIntlChars 0 +#define ItnlKyBdFix 1 +#define kStrAppName "Mini vMac" +#define kAppVariationStr "minivmac-36.04-wx64" +#define kStrCopyrightYear "2018" +#define kMaintainerName "unknown" +#define kStrHomePage "(unknown)" + +#define kBldOpts "-br 36 -t wx64" diff --git a/cfg/EMCONFIG.h b/cfg/EMCONFIG.h new file mode 100644 index 0000000..6326703 --- /dev/null +++ b/cfg/EMCONFIG.h @@ -0,0 +1,170 @@ +/* + Configuration options used by platform independent code. + + This file is automatically generated by the build system, + which tries to know what options are valid in what + combinations. Avoid changing this file manually unless + you know what you're doing. +*/ + +#define EmClassicKbrd 1 +#define EmADB 0 +#define EmRTC 1 +#define EmPMU 0 +#define EmVIA2 0 +#define Use68020 0 +#define EmFPU 0 +#define EmMMU 0 +#define EmASC 0 + +#define CurEmMd kEmMd_Plus + +#define kMyClockMult 1 + +#define WantCycByPriOp 1 +#define WantCloserCyc 0 + +#define kRAMa_Size 0x00200000 +#define kRAMb_Size 0x00200000 + +#define IncludeVidMem 0 + +#define EmVidCard 0 + +#define MaxATTListN 16 +#define IncludeExtnPbufs 1 +#define IncludeExtnHostTextClipExchange 1 + +#define Sony_SupportDC42 1 +#define Sony_SupportTags 0 +#define Sony_WantChecksumsUpdated 0 +#define Sony_VerifyChecksums 0 +#define CaretBlinkTime 0x03 +#define SpeakerVol 0x07 +#define DoubleClickTime 0x05 +#define MenuBlink 0x03 +#define AutoKeyThresh 0x06 +#define AutoKeyRate 0x03 + + +/* the Wire variables are 1/0, not true/false */ + +enum { + + Wire_VIA1_iA0_SoundVolb0, +#define SoundVolb0 (Wires[Wire_VIA1_iA0_SoundVolb0]) +#define VIA1_iA0 (Wires[Wire_VIA1_iA0_SoundVolb0]) + + Wire_VIA1_iA1_SoundVolb1, +#define SoundVolb1 (Wires[Wire_VIA1_iA1_SoundVolb1]) +#define VIA1_iA1 (Wires[Wire_VIA1_iA1_SoundVolb1]) + + Wire_VIA1_iA2_SoundVolb2, +#define SoundVolb2 (Wires[Wire_VIA1_iA2_SoundVolb2]) +#define VIA1_iA2 (Wires[Wire_VIA1_iA2_SoundVolb2]) + + Wire_VIA1_iA4_MemOverlay, +#define MemOverlay (Wires[Wire_VIA1_iA4_MemOverlay]) +#define VIA1_iA4 (Wires[Wire_VIA1_iA4_MemOverlay]) +#define VIA1_iA4_ChangeNtfy MemOverlay_ChangeNtfy + + Wire_VIA1_iA6_SCRNvPage2, +#define SCRNvPage2 (Wires[Wire_VIA1_iA6_SCRNvPage2]) +#define VIA1_iA6 (Wires[Wire_VIA1_iA6_SCRNvPage2]) + + Wire_VIA1_iA5_IWMvSel, +#define IWMvSel (Wires[Wire_VIA1_iA5_IWMvSel]) +#define VIA1_iA5 (Wires[Wire_VIA1_iA5_IWMvSel]) + + Wire_VIA1_iA7_SCCwaitrq, +#define SCCwaitrq (Wires[Wire_VIA1_iA7_SCCwaitrq]) +#define VIA1_iA7 (Wires[Wire_VIA1_iA7_SCCwaitrq]) + + Wire_VIA1_iB0_RTCdataLine, +#define RTCdataLine (Wires[Wire_VIA1_iB0_RTCdataLine]) +#define VIA1_iB0 (Wires[Wire_VIA1_iB0_RTCdataLine]) +#define VIA1_iB0_ChangeNtfy RTCdataLine_ChangeNtfy + + Wire_VIA1_iB1_RTCclock, +#define RTCclock (Wires[Wire_VIA1_iB1_RTCclock]) +#define VIA1_iB1 (Wires[Wire_VIA1_iB1_RTCclock]) +#define VIA1_iB1_ChangeNtfy RTCclock_ChangeNtfy + + Wire_VIA1_iB2_RTCunEnabled, +#define RTCunEnabled (Wires[Wire_VIA1_iB2_RTCunEnabled]) +#define VIA1_iB2 (Wires[Wire_VIA1_iB2_RTCunEnabled]) +#define VIA1_iB2_ChangeNtfy RTCunEnabled_ChangeNtfy + + Wire_VIA1_iA3_SoundBuffer, +#define SoundBuffer (Wires[Wire_VIA1_iA3_SoundBuffer]) +#define VIA1_iA3 (Wires[Wire_VIA1_iA3_SoundBuffer]) + + Wire_VIA1_iB3_MouseBtnUp, +#define MouseBtnUp (Wires[Wire_VIA1_iB3_MouseBtnUp]) +#define VIA1_iB3 (Wires[Wire_VIA1_iB3_MouseBtnUp]) + + Wire_VIA1_iB4_MouseX2, +#define MouseX2 (Wires[Wire_VIA1_iB4_MouseX2]) +#define VIA1_iB4 (Wires[Wire_VIA1_iB4_MouseX2]) + + Wire_VIA1_iB5_MouseY2, +#define MouseY2 (Wires[Wire_VIA1_iB5_MouseY2]) +#define VIA1_iB5 (Wires[Wire_VIA1_iB5_MouseY2]) + + Wire_VIA1_iCB2_KybdDat, +#define VIA1_iCB2 (Wires[Wire_VIA1_iCB2_KybdDat]) +#define VIA1_iCB2_ChangeNtfy Kybd_DataLineChngNtfy + + Wire_VIA1_iB6_SCRNbeamInVid, +#define SCRNbeamInVid (Wires[Wire_VIA1_iB6_SCRNbeamInVid]) +#define VIA1_iB6 (Wires[Wire_VIA1_iB6_SCRNbeamInVid]) + + Wire_VIA1_iB7_SoundDisable, +#define SoundDisable (Wires[Wire_VIA1_iB7_SoundDisable]) +#define VIA1_iB7 (Wires[Wire_VIA1_iB7_SoundDisable]) + + Wire_VIA1_InterruptRequest, +#define VIA1_InterruptRequest (Wires[Wire_VIA1_InterruptRequest]) +#define VIA1_interruptChngNtfy VIAorSCCinterruptChngNtfy + + Wire_SCCInterruptRequest, +#define SCCInterruptRequest (Wires[Wire_SCCInterruptRequest]) +#define SCCinterruptChngNtfy VIAorSCCinterruptChngNtfy + + kNumWires +}; + + +/* VIA configuration */ +#define VIA1_ORA_FloatVal 0xFF +#define VIA1_ORB_FloatVal 0xFF +#define VIA1_ORA_CanIn 0x80 +#define VIA1_ORA_CanOut 0x7F +#define VIA1_ORB_CanIn 0x79 +#define VIA1_ORB_CanOut 0x87 +#define VIA1_IER_Never0 (1 << 1) +#define VIA1_IER_Never1 ((1 << 3) | (1 << 4)) +#define VIA1_CB2modesAllowed 0x01 +#define VIA1_CA2modesAllowed 0x01 + +#define Mouse_Enabled SCC_InterruptsEnabled + +#define VIA1_iCA1_PulseNtfy VIA1_iCA1_Sixtieth_PulseNtfy +#define Sixtieth_PulseNtfy VIA1_iCA1_Sixtieth_PulseNtfy + +#define VIA1_iCA2_PulseNtfy VIA1_iCA2_RTC_OneSecond_PulseNtfy +#define RTC_OneSecond_PulseNtfy VIA1_iCA2_RTC_OneSecond_PulseNtfy + +#define GetSoundInvertTime VIA1_GetT1InvertTime + +#define KYBD_ShiftInData VIA1_ShiftOutData +#define KYBD_ShiftOutData VIA1_ShiftInData + +#define kExtn_Block_Base 0x00F40000 +#define kExtn_ln2Spc 5 + +#define kROM_Base 0x00400000 +#define kROM_ln2Spc 20 + +#define WantDisasm 0 +#define ExtraAbnormalReports 0 diff --git a/cfg/STRCONST.h b/cfg/STRCONST.h new file mode 100644 index 0000000..5f99306 --- /dev/null +++ b/cfg/STRCONST.h @@ -0,0 +1 @@ +#include "STRCNENG.h" diff --git a/cfg/main.rc b/cfg/main.rc new file mode 100644 index 0000000..bf95788 --- /dev/null +++ b/cfg/main.rc @@ -0,0 +1 @@ +256 ICON DISCARDABLE "ICONAPPW.ico"