5146395169
vdp2: add color calculation bits
2024-03-24 14:41:43 +08:00
2cc1a27427
MIT license
2023-09-29 17:53:13 +00:00
582261eef5
scu: add DSP and DMA bits
2023-09-09 13:28:25 +00:00
3e162c8d14
vdp1: add COLOR_BANK macros for the COLR register
...
This also adds the directly related SPCTL macros for vdp2.
2023-08-04 00:51:58 +00:00
fcf31ce095
vdp2: fix macro typos
...
Add 32-bit unions for the map base offset registers.
2023-07-29 06:14:58 +00:00
06bc9b49bf
vdp2: improve bit definitions
...
This fixes a typo in the MPCDN* bits.
Also adds window and background priority bits.
2023-07-26 01:48:13 +00:00
f6c9380ece
common: add header dependencies
2023-07-23 22:30:47 +00:00
0c7c2e663a
common.mk: add binary header rule
2023-07-23 17:58:30 +00:00
5f515a20d4
move most sys_ files to ip directory
2023-07-23 06:23:05 +00:00
1a72e2068e
vdp2: improve vram cycle pattern definition
2023-07-21 22:29:56 -07:00
c0e46834c3
segasmp: partially deblob sys_init.o
2023-07-19 08:26:10 +00:00
6973e0413c
common.mk: deblob all area files
...
These are trivial to deblob compared to the others.
2023-07-19 03:30:58 +00:00
80ee1a4706
scsp: add DSP and MIDI bits
2023-07-19 03:11:51 +00:00
569f058682
smpc.h: fix C compatibility
2023-07-14 17:39:23 -07:00
9fd4443c35
common.mk: separate cflags and opt
2023-07-10 15:39:32 -07:00
912c67e2e6
vdp1: improve point access
...
This adds a new union to the vdp1 command list.
2023-07-01 04:13:16 +00:00
9ef2884cbc
scsp: add more macro parenthesis
2023-06-27 18:31:31 +00:00
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
123653fda1
remove gratuituous c++ dependency
2023-06-26 22:29:39 +00:00
d41a42dca4
scsp: improve fm register definition
2023-06-26 01:48:45 +00:00
09c1fc9267
scsp: use 32-bit access for SA
2023-06-23 10:06:16 +00:00
a4b1ad6eb3
smpc.h: remove dependency on c++ features
2023-06-23 10:05:57 +00:00
2e4d2775b7
add start.cpp for C++ runtime
...
Previously static constructors were not being called.
This also improves a few bit definitions.
2023-06-08 22:51:59 +00:00
949116b285
add misc definitions / asserts
2023-06-02 15:52:22 -07:00
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