Sun 3/60 ROM patch for extra memory

This commit is contained in:
Romain Dolbeau 2025-06-28 14:25:53 +02:00
parent 5b657c017f
commit 543d35d5c4
3 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,41 @@
RETRO68=/home/dolbeau/Retro68/build/toolchain
AS=${RETRO68}/bin/m68k-apple-macos-as
CC=${RETRO68}/bin/m68k-apple-macos-gcc
LD=${RETRO68}/bin/m68k-apple-macos-ld
STRIP=${RETRO68}/bin/m68k-apple-macos-strip
OBJCOPY=${RETRO68}/bin/m68k-apple-macos-objcopy
NM=${RETRO68}/bin/m68k-apple-macos-nm
HOSTCC=gcc
HOSTCFLAGS=-O2
ARCHFLAGS=-march=68020 -mcpu=68020
CFLAGS=-O2 -mpcrel
GENLINK=../patcher/genlink
PATCHER=../patcher/patcher
all: sun3_60_v1.9.bin
show: rompatch.elf
$(NM) $< | sort
sun3_60_v1.9.bin: ../ rompatch.raw input.txt
/bin/cp ../sun3_60_v1.9 sun3_60_v1.9.bin
${PATCHER} -i rompatch.raw -p sun3_60_v1.9.bin -d input.txt
linker.ld: input.txt rompatch.s
${GENLINK} -d $< >| $@
echo $(shell for X in `grep .section rompatch.s | awk '{ print $$2 }' `; do grep -q $$X linker.ld || echo " $$X has no entry in linker.ld" && /bin/false; done)
rompatch.o: rompatch.s
${AS} ${ARCHFLAGS} $< -o $@ -a > rompatch.l
rompatch.elf: linker.ld rompatch.o ${CSRC:.c=.o} # linker script must be first
${LD} -o $@ -T $^
rompatch.raw: rompatch.elf
${OBJCOPY} $^ $@ --input-target=elf32-m68k --output-target=binary
clean:
rm -f res.inc ${CSRC_ASM} *.o rompatch.srec rompatch.raw rompatch.dir rompatch.l linker.ld rompatch.elf

View File

@ -0,0 +1,3 @@
0x0287a, 6, replace1
0x02900, 6, replace2
0x0fffe, 2, checksum

View File

@ -0,0 +1,15 @@
.section .text.replace1
replace1:
cmp.l #0x08000000,%A5
.section .text.finishedreplace1
.section .text.replace2
replace2:
move.l #0x01fe0000,%D5
.section .text.finishedreplace2
.section .text.checksum
checksum:
.byte 0xb0
.byte 0xd6