75 Commits

Author SHA1 Message Date
3e6732e673 vdp2: define N1CHCN bits 2025-09-01 16:56:54 -05:00
45d4d68d23 vdp2: add vdp2_rotation_parameter_table 2025-09-01 16:02:12 -05:00
18273e9c25 common: update as_obj_binary macro 2025-08-08 15:30:59 -05:00
51dc1a5af4 vdp2: add bkta bits 2025-08-08 15:30:57 -05:00
a4424b280a regs: initial vdp1/vdp2 2025-08-08 15:29:16 -05:00
3ae3f9b151 vdp2: add rotation screen bits 2025-08-08 15:20:42 -05:00
66826a6bb2 update sh2 and vdp1 2025-05-13 19:44:57 -05:00
44b7d6c543 sh2: add serial bits 2024-09-19 15:38:11 -05:00
99a3e94afd scu: rename DRAW_END to SPRITE_DRAW_END 2024-03-31 16:00:33 +08:00
87f96e4478 add more linker scripts and linker script fragments 2024-03-28 15:40:16 +08:00
3d304731b0 vdp2: improve spctl bit definitions 2024-03-24 21:55:33 +08:00
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