m68k: more sensible stack pointer value

This accidentally worked as long as the Sound CPU program did not do
meaningful stack manipulation. Indeed, none of the Sound CPU programs
I have written so far do anything with the stack.

Despite this "accidentally working" on real hardware, mednafen's m68k
emulation appears to "stall" the Sound CPU when the stack pointer
wraps around to a memory that does not exist.

This table was originally written when I was first learning about the
Saturn "sound block" memory map. I did not know exactly how large the
installed sound RAM was, as the manual mentions 8Mbit, 4Mbit, and
1Mbit as being possibilities. Now that I know the production Saturns
have 4Mbit installed, I am able to come up with a reasonable value for
the stack pointer.
This commit is contained in:
Zack Buhman 2023-05-16 23:11:05 +00:00
parent 50bb71b944
commit 25828417c1

View File

@ -1,6 +1,6 @@
.section .vectors .section .vectors
.long 0x0 /* Reset - initial stack pointer */ .long 0x7fffc /* Reset - initial stack pointer */
.long start /* Reset - initial program counter */ .long start /* Reset - initial program counter */
.long start /* Bus error */ .long start /* Bus error */
.long start /* Address error */ .long start /* Address error */