From ca8f617b1bed4edb7d29dea61acdcee45b4a4beb Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Mon, 3 Jun 2024 22:54:45 +1000 Subject: [PATCH] Mac classic: Split into 68k and PPC makefiles --- Makefile | 6 ++-- misc/macclassic/68APPL.r | 23 ++++++++++++++ misc/macclassic/{Makefile => Makefile_68k} | 2 +- misc/macclassic/Makefile_ppc | 37 ++++++++++++++++++++++ misc/macclassic/ppcAPPL.r | 32 +++++++++++++++++++ src/Server.c | 2 +- 6 files changed, 98 insertions(+), 4 deletions(-) create mode 100644 misc/macclassic/68APPL.r rename misc/macclassic/{Makefile => Makefile_68k} (96%) create mode 100644 misc/macclassic/Makefile_ppc create mode 100644 misc/macclassic/ppcAPPL.r diff --git a/Makefile b/Makefile index 01d747a52..d0e7c46e2 100644 --- a/Makefile +++ b/Makefile @@ -172,8 +172,10 @@ switch: $(MAKE) -f misc/switch/Makefile os/2: $(MAKE) -f misc/os2/Makefile -macclassic: - $(MAKE) -f misc/macclassic/Makefile +macclassic_68k: + $(MAKE) -f misc/macclassic/Makefile_68k +macclassic_ppc: + $(MAKE) -f misc/macclassic/Makefile_ppc clean: $(DEL) $(OBJECTS) diff --git a/misc/macclassic/68APPL.r b/misc/macclassic/68APPL.r new file mode 100644 index 000000000..de74bd0b0 --- /dev/null +++ b/misc/macclassic/68APPL.r @@ -0,0 +1,23 @@ +#include "Processes.r" +#include "Retro68.r" + +resource 'SIZE' (-1) { + reserved, + ignoreSuspendResumeEvents, + reserved, + cannotBackground, + needsActivateOnFGSwitch, + backgroundAndForeground, + dontGetFrontClicks, + ignoreChildDiedEvents, + is32BitCompatible, + notHighLevelEventAware, + onlyLocalHLEvents, + notStationeryAware, + dontUseTextEditServices, + reserved, + reserved, + reserved, + 8192 * 1024, + 8192 * 1024 +}; diff --git a/misc/macclassic/Makefile b/misc/macclassic/Makefile_68k similarity index 96% rename from misc/macclassic/Makefile rename to misc/macclassic/Makefile_68k index 079ac76f0..56b774f0c 100644 --- a/misc/macclassic/Makefile +++ b/misc/macclassic/Makefile_68k @@ -19,7 +19,7 @@ C_OBJECTS := $(patsubst $(SOURCE_DIR)/%.c, $(BUILD_DIR)/%.o, $(C_SOURCES)) $(TARGET).bin $(TARGET).APPL $(TARGET).dsk: $(TARGET).code.bin $(BUILD_DIR) $(REZ) $(REZFLAGS) \ --copy "$(TARGET).code.bin" \ - "$(RINCLUDES)/Retro68APPL.r" \ + "misc/macclassic/68APPL.r" \ -t "APPL" -c "????" \ -o $(TARGET).bin --cc $(TARGET).APPL --cc $(TARGET).dsk diff --git a/misc/macclassic/Makefile_ppc b/misc/macclassic/Makefile_ppc new file mode 100644 index 000000000..4eee32cf8 --- /dev/null +++ b/misc/macclassic/Makefile_ppc @@ -0,0 +1,37 @@ +# path to RETRO68 +RETRO68=../Retro68-build/toolchain + +PREFIX=$(RETRO68)/powerpc-apple-macos +CC=$(RETRO68)/bin/powerpc-apple-macos-gcc +CXX=$(RETRO68)/bin/powerpc-apple-macos-g++ +REZ=$(RETRO68)/bin/Rez +MakePEF=$(RETRO68)/bin/MakePEF + +LDFLAGS=-lRetroConsole +RINCLUDES=$(PREFIX)/RIncludes +REZFLAGS=-I$(RINCLUDES) + +TARGET := ClassiCube +BUILD_DIR := build +SOURCE_DIR := src +C_SOURCES := $(wildcard $(SOURCE_DIR)/*.c) +C_OBJECTS := $(patsubst $(SOURCE_DIR)/%.c, $(BUILD_DIR)/%.o, $(C_SOURCES)) + +$(TARGET).bin $(TARGET).APPL $(TARGET).dsk: $(TARGET).pef $(BUILD_DIR) + $(REZ) $(REZFLAGS) \ + "misc/macclassic/ppcAPPL.r" \ + -t "APPL" -c "????" \ + --data $(TARGET).pef \ + -o $(TARGET).bin --cc $(TARGET).APPL --cc $(TARGET).dsk + +$(TARGET).elf: $(C_OBJECTS) + $(CXX) $(C_OBJECTS) -o $@ $(LDFLAGS) # C++ used for linking because RetroConsole needs it + +$(TARGET).pef: $(TARGET).elf + $(MakePEF) $(TARGET).elf -o $(TARGET).pef + +$(BUILD_DIR): + mkdir -p $(BUILD_DIR) + +$(C_OBJECTS): $(BUILD_DIR)/%.o : $(SOURCE_DIR)/%.c + $(CC) $(CFLAGS) -c $< -o $@ diff --git a/misc/macclassic/ppcAPPL.r b/misc/macclassic/ppcAPPL.r new file mode 100644 index 000000000..5d0c59166 --- /dev/null +++ b/misc/macclassic/ppcAPPL.r @@ -0,0 +1,32 @@ +#include "Processes.r" +#include "CodeFragments.r" + +resource 'cfrg' (0) { + { + kPowerPCCFragArch, kIsCompleteCFrag, kNoVersionNum, kNoVersionNum, + kDefaultStackSize, kNoAppSubFolder, + kApplicationCFrag, kDataForkCFragLocator, kZeroOffset, kCFragGoesToEOF, + "ClassiCube" + } +}; + +resource 'SIZE' (-1) { + reserved, + ignoreSuspendResumeEvents, + reserved, + cannotBackground, + needsActivateOnFGSwitch, + backgroundAndForeground, + dontGetFrontClicks, + ignoreChildDiedEvents, + is32BitCompatible, + notHighLevelEventAware, + onlyLocalHLEvents, + notStationeryAware, + dontUseTextEditServices, + reserved, + reserved, + reserved, + 8192 * 1024, + 8192 * 1024 +}; diff --git a/src/Server.c b/src/Server.c index c9b10f2a9..27a8383a6 100644 --- a/src/Server.c +++ b/src/Server.c @@ -131,7 +131,7 @@ static void SPConnection_BeginConnect(void) { Random_SeedFromCurrentTime(&rnd); World_NewMap(); -#if defined CC_BUILD_NDS || defined CC_BUILD_PS1 || defined CC_BUILD_SATURN +#if defined CC_BUILD_NDS || defined CC_BUILD_PS1 || defined CC_BUILD_SATURN || defined CC_BUILD_MACCLASSIC horSize = 16; verSize = 16; #elif defined CC_BUILD_LOWMEM