40 Commits

Author SHA1 Message Date
e40fade736 scsp: improve dma and ctrl definitions 2023-05-19 22:12:14 +00:00
89487ec023 scsp: improve dsp register definitions 2023-05-17 13:55:11 +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
50bb71b944 smpc: add "resettable command" oreg enum 2023-05-16 23:10:39 +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
e591797e23 scsp: improve attack/decay macros 2023-05-16 14:40:08 +00:00
0210ac9c23 scsp: improve bit definitions 2023-05-15 10:43:25 +00:00
d1b0e4568c smpc: remove PERIPHERAL_ID__IS_DIGITAL_PAD macro 2023-05-09 14:55:41 -07:00
e179ce3bf6 smpc: add [] operator
It appears much more convenient to access oreg in particular via an "index
variable". To avoid repeated boilerplate, add the accessor here as a c++
operator overload. This makes smpc.h c++-only. With defines guarding the
overload, it could be reduced to C again, though I decided I don't want to
bother with testing that.
2023-05-07 02:16:38 -07:00
dcdcd7749a smpc: add oreg/intback macros 2023-05-04 14:33:46 -07:00
d58f0a9e32 minor improvements 2023-03-12 01:52:51 +00:00
f49259ba72 remove incomplete examples
I've remade these in the saturn-examples repository.
2023-01-30 00:10:57 -08:00
1af56ebe64 scsp: improve eg bits 2023-01-29 14:21:19 -08:00
70e481b876 scsp: overhaul register definitions
I attempted to match the documentation as closely as possible, despite it not
defining a clear convention for register names.
2023-01-28 20:37:27 -08:00
4b203a2337 vdp1: improve command macros 2023-01-28 20:37:17 -08:00
103bdbc190 vdp1: add color mode and size bits 2023-01-28 17:08:52 -08:00
1cd24f8f30 vdp*: add/improve bit definitions 2023-01-28 14:59:01 -08:00
0eac09e58a add gc-sections
This also fixes filename ordering in the iso9660 structure when the source file
is in a subdirectory relative to where mkisofs is called.
2023-01-27 00:08:53 -08:00
0f99452759 fix permissions for segasmp/lib 2023-01-26 22:19:55 -08:00
a8b0ecfc86 update sound example
This is still an incomplete code fragment, but it does produce sound.
2023-01-25 23:59:05 -08:00
0a26d755c9 use cache-through addresses 2023-01-25 15:58:40 -08:00
102304e841 improve common.mk
This makes it possible to produce more than one iso/cue, lifting a bit more work
to the outside Makefile.
2023-01-24 23:24:56 -08:00
e31d2c55fd library-ify
move Makefile to common.mk and add a LIB variable that makes it easy to use this
from a subdirectory.

Also fix section alignment issues in .text
2023-01-23 20:36:15 -08: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
343f100a90 add bss symbols 2023-01-09 21:50:06 -08:00
fef00c388e minor makefile improvments 2023-01-09 21:48:50 -08:00
fa41d47e1f make the smpc intback interrupt do something 2023-01-09 19:41:02 -08:00
fe51d016df correct smpc intback timing 2023-01-09 19:24:22 -08:00
76c4998664 on-chip FRT experiment 2023-01-09 17:54:50 -08:00
843c7ce297 remove double main.bin hack 2023-01-08 21:57:17 -08:00
a1a67522fe scu, smpc, and sh2 register definitions
This also improves sys_ip slightly.
2023-01-08 11:53:54 -08:00
0d04c00782 zeroize nbg planes 2023-01-07 18:16:25 -08:00
e8ce4eeb4e clean up sys_ip build process 2023-01-07 17:26:49 -08:00
e82dd73583 vdp1 experiments 2023-01-07 00:53:44 -08:00
471094d866 vdp2 pattern name table and cell format 2023-01-06 21:21:42 -08:00
286f116d15 experiment with aliasing 2023-01-05 22:33:54 -08:00
e59d6da0a4 initial 2023-01-05 21:46:12 -08:00