yet another trial: don't initialize/dtect keyboard in sys/rest;c::monreset()

This commit is contained in:
Romain Dolbeau 2025-07-20 10:52:56 +02:00
parent e7422bc346
commit 782db132dd
4 changed files with 62 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,5 @@
0x01938, 8, initMouseKeyboard
0x019cc, 0, afterInitMouseKeyboard
0x01a3a, 0, detectKeyboard
0x01a44, 8, detectKeyboardAfterUnknown
0x01a7e, 0, afterDetectKeyboard

View File

@ -0,0 +1,16 @@
.section .text.initMouseKeyboard
initMouseKeyboard:
jmp (%pc,afterInitMouseKeyboard)
.section .text.afterInitMouseKeyboard
afterInitMouseKeyboard:
.section .text.detectKeyboard
detectKeyboard:
.section .text.detectKeyboardAfterUnknown
detectKeyboardAfterUnknown:
jmp (%pc,afterDetectKeyboard)
.section .text.afterDetectKeyboard
afterDetectKeyboard:

Binary file not shown.