summary refs log tree commit diff
path: root/misc/macclassic
diff options
context:
space:
mode:
authorWlodekM <[email protected]>2024-06-16 10:35:45 +0300
committerWlodekM <[email protected]>2024-06-16 10:35:45 +0300
commitabef6da56913f1c55528103e60a50451a39628b1 (patch)
treeb3c8092471ecbb73e568cd0d336efa0e7871ee8d /misc/macclassic
initial commit
Diffstat (limited to 'misc/macclassic')
-rw-r--r--misc/macclassic/68APPL.r23
-rw-r--r--misc/macclassic/Makefile_68k36
-rw-r--r--misc/macclassic/Makefile_ppc39
-rw-r--r--misc/macclassic/ppcAPPL.r32
4 files changed, 130 insertions, 0 deletions
diff --git a/misc/macclassic/68APPL.r b/misc/macclassic/68APPL.r
new file mode 100644
index 0000000..5a71403
--- /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, // preferred (maximum) memory size
+	3584 * 1024, // minimum memory size (enough to load launcher)
+};
diff --git a/misc/macclassic/Makefile_68k b/misc/macclassic/Makefile_68k
new file mode 100644
index 0000000..17aa6ef
--- /dev/null
+++ b/misc/macclassic/Makefile_68k
@@ -0,0 +1,36 @@
+# path to RETRO68
+RETRO68=../Retro68-build/toolchain
+
+PREFIX=$(RETRO68)/m68k-apple-macos
+CC=$(RETRO68)/bin/m68k-apple-macos-gcc
+CXX=$(RETRO68)/bin/m68k-apple-macos-g++
+CFLAGS=-O1 -fno-math-errno
+
+REZ=$(RETRO68)/bin/Rez
+
+LDFLAGS=-lm
+RINCLUDES=$(PREFIX)/RIncludes
+REZFLAGS=-I$(RINCLUDES)
+
+TARGET		:=	ClassiCube-68k
+BUILD_DIR 	:=	build-68k
+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: $(BUILD_DIR) $(TARGET).code.bin
+	$(REZ) $(REZFLAGS) \
+		--copy "$(TARGET).code.bin" \
+		"misc/macclassic/68APPL.r" \
+		-t "APPL" -c "????" \
+		-o $(TARGET).bin --cc $(TARGET).APPL --cc $(TARGET).dsk
+
+
+$(TARGET).code.bin: $(C_OBJECTS)
+	$(CC) $(C_OBJECTS) -o $@ $(LDFLAGS)
+
+$(BUILD_DIR):
+	mkdir -p $(BUILD_DIR)
+
+$(C_OBJECTS): $(BUILD_DIR)/%.o : $(SOURCE_DIR)/%.c
+	$(CC) $(CFLAGS) -c $< -o $@
diff --git a/misc/macclassic/Makefile_ppc b/misc/macclassic/Makefile_ppc
new file mode 100644
index 0000000..1f33063
--- /dev/null
+++ b/misc/macclassic/Makefile_ppc
@@ -0,0 +1,39 @@
+# 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++
+CFLAGS=-O1 -fno-math-errno
+
+REZ=$(RETRO68)/bin/Rez
+MakePEF=$(RETRO68)/bin/MakePEF
+
+LDFLAGS=-lm
+RINCLUDES=$(PREFIX)/RIncludes
+REZFLAGS=-I$(RINCLUDES)
+
+TARGET		:=	ClassiCube-ppc
+BUILD_DIR 	:=	build-ppc
+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: $(BUILD_DIR) $(TARGET).pef
+	$(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)
+	$(CC) $(C_OBJECTS) -o $@ $(LDFLAGS)
+
+$(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 0000000..9bea619
--- /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, // preferred (maximum) memory size
+	8192 * 1024  // minimum memory size
+};