Generate a Makefile that works

This commit is contained in:
InvisibleUp 2020-02-10 22:19:26 -05:00
parent 48676c4abf
commit fc5bac2234
9 changed files with 1147 additions and 0 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
*.exe
*.obj
.vscode/*
bld

75
Makefile Normal file
View File

@ -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"

226
_work/target_options.h Normal file
View File

@ -0,0 +1,226 @@
#include <stdint.h>
// 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,
},
};

493
build.sh Normal file
View File

@ -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 <windows.h>' >> "${DestFile}"
printf "%s\n" '#include <time.h>' >> "${DestFile}"
printf "%s\n" '#include <shlobj.h>' >> "${DestFile}"
printf "%s\n" '#include <tchar.h>' >> "${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}"

96
cfg/CNFGGLOB.h Normal file
View File

@ -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

81
cfg/CNFGRAPI.h Normal file
View File

@ -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 <windows.h>
#include <time.h>
#include <shlobj.h>
#include <tchar.h>
#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"

170
cfg/EMCONFIG.h Normal file
View File

@ -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

1
cfg/STRCONST.h Normal file
View File

@ -0,0 +1 @@
#include "STRCNENG.h"

1
cfg/main.rc Normal file
View File

@ -0,0 +1 @@
256 ICON DISCARDABLE "ICONAPPW.ico"