7 Commits

Author SHA1 Message Date
e449090df0 m68k: improve build process
This includes several improvements to the link flags, link script,
common makefile, etc..

Previously bss initialization in m68k start was incorrect. m68k can
now call static initializers if necessary.
2023-06-27 18:31:06 +00:00
ae4bfec20a m68k: add bss initialization 2023-05-17 12:59:55 +00:00
911896e909 m68k: link vectors/handlers by default 2023-05-17 10:37:36 +00:00
f4d4f351e7 m68k: add auto vectors 2023-05-17 10:24:08 +00:00
25828417c1 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.
2023-05-16 23:11:05 +00:00
922fc587bc m68k: library-ifiy
This makes the m68k make rules usable from other makefiles.

This also adds scsp start address macros.

The sound.c example-fragment is deleted, as a better version now exists
in saturn-examples.
2023-05-16 18:20:57 +00:00
6640c37a1d add several incomplete experiments
- add code loading for m68k

- incomplete scsp experiments

  - the register definitions should be fairly complete,
    though I did not produce actual sound yet

- fix type.h definitions

- incomplete cdblock register definitions
2023-01-23 16:50:42 -08:00