92 Commits

Author SHA1 Message Date
c86fcbd6af editor: add example
This adds a simple text editor with basic visual line-editing
capabilities.
2023-06-08 22:50:07 +00:00
3b82199d08 sound_cpu__interrupt: add slot visuals
This shows the value of some of the most relevant SCSP slot fields.
2023-05-19 23:08:19 +00:00
3358d95704 scsp: zeroize dsp
The Saturn BIOS does not (un)initialize the DSP. Without zeroizing the DSP
program, the SCSP DSP appears to have a program that continuously writes to
0x30000 through 0x3ffff in sound RAM, which has the effect of destroying any
samples stored there.
2023-05-19 14:52:15 -07:00
b9e6296058 m68k: rationalize frame math
On real hardware and mednafen, there is still a playback "gap". I
don't yet understand why.
2023-05-17 13:01:34 +00:00
1bd38b78f5 m68k: vectors/handlers are linked by default 2023-05-17 10:38:00 +00:00
f21e1d5c78 m68k: add new "interrupt" example
I don't completely understand how the scsp timers work; "8192" is a
magic number I came up with by experimentation.
2023-05-17 10:33:40 +00:00
ab91778312 tools: add make recursion rule 2023-05-16 23:01:20 +00:00
f2b53ee62a m68k: more reasonable stack pointer value
The sound_cpu example works consistently on all emulators and real
hardware now.
2023-05-16 22:55:26 +00:00
8246b94aee add m68k example 2023-05-16 18:37:00 +00:00
29e049ab69 scsp: add "slot" example
This demonstrates the most basic possible SCSP usage.

Strangely this does not work in Kronos, only in mednafen and on real
hardware. I'd like to find a hack, if possible, that fixes Kronos
playback.
2023-05-14 22:50:34 +00:00
9db0c570d9 smpc_intback: improve/fix data_size handling
keyboard works (as intended) if it is plugged in to controller port 2.
2023-05-11 07:59:36 -07:00
e15f0a9eaf wordle: minimally working game
A few "minor" features are missing, including showing the correct word if you
get it wrong.
2023-05-10 10:15:48 -07:00
cfad16c514 wordle: basic drawing
This draws the screen and "keyboard".

I am not certain if I like the keyboard concept. Letter groupings would be more
useful.
2023-05-10 05:48:49 -07:00
8e243a435e wordle: initial
Almost nothing is implemented.
2023-05-09 14:54:47 -07:00
30092b9b15 input_keyboard: factor out font handling functions
I might later question this decision.

I liked how each "hardware" example was roughly one self-contained file. In the
"input_keyboard" case, this is no longer true.
2023-05-09 10:51:38 -07:00
65e48d7c6f smpc: new input_keyboard example
This improves ttf-convert slightly:

- variable size glyphs
- initialize metrics for glyphs with zero-size bitmaps (e.g "space")
- move the font/serialization structures to a common header

The keyboard example includes keyboard layout data for the HSS-0129 (Japanese)
Sega Saturn keyboard.
2023-05-09 04:04:09 -07:00
67dc9e030f kana: add argv-provided start/end char codes 2023-05-08 08:57:51 -07:00
6625c886b5 tools: add ttf-convert
This is a custom binary format for pre-rendering outline fonts as a collection
of bitmaps.
2023-05-08 08:15:56 -07:00
b092850c07 smpc/input_intback: handle controller disconnection
This still only parses digital pad correctly.
2023-05-08 06:51:18 -07:00
f40510d0b1 smpc/input_intback: use new ireg/oreg [] operator 2023-05-07 02:15:49 -07:00
8a97b38124 smpc/input_intback.cpp: created 2023-05-04 14:37:09 -07:00
5b96488029 vdp1/normal_sprite_animated: improve comment wording 2023-05-04 14:31:45 -07:00
5c1418c27e raytracing: switch pixel format from 24 bpp to 15 bpp
The Sega Saturn does not have enough video RAM to store an entire 24-bit
framebuffer. Attempting this causes the "bottom" half of the scene to be
clipped, as video RAM addresses that do not exist are written to.
2023-04-28 05:33:30 -07:00
f5959ab4bf vdp1/normal_sprite_animated: improve for real hardware 2023-03-12 01:50:57 +00:00
40238e2621 vdp1: add kana example 2023-03-12 01:49:09 +00:00
04948a8be7 vdp1: add color bank example 2023-02-08 04:16:15 -08:00
b5f675ee25 vdp1: add normal_sprite_animated example 2023-01-28 18:22:48 -08:00
4af5a3ba92 vdp1: add normal_sprite example 2023-01-28 17:09:25 -08:00
a5f5aed460 further simplify polygon example 2023-01-28 14:58:40 -08:00
60a7776b22 vdp1: polygon example 2023-01-28 14:11:43 -08:00
a7ffb5beed nbg0: fix comments 2023-01-27 12:10:05 -08:00
ec1dd061eb makefile: finish nbg0 rename 2023-01-27 12:03:03 -08:00
5e3dc76107 nbg0: fix comment typos 2023-01-27 01:51:20 -08:00
85d42a5042 fix saturn symlink 2023-01-27 00:14:03 -08:00
1f9bf2d1a0 add vdp2/nbg0 example 2023-01-27 00:07:54 -08:00
0d12a68986 move raytracing to a new directory 2023-01-27 00:04:47 -08:00
47a73bc90f add reflections 2023-01-26 23:49:41 -08:00
ffd00cf2d8 add shadows 2023-01-26 23:49:17 -08:00
c9818de11f add specular 2023-01-25 16:07:52 -08:00
afbe61a402 distribute rendering to master and slave 2023-01-25 16:07:52 -08:00
ab809791cd reorganize math and libgcc
I'd like to include bits of libgcc piecemeal--I don't want to "accidentally"
start depending on libgcc bits that I'm not aware of.

Reworked division so that it uses the on-chip division register.
2023-01-25 16:07:46 -08:00
a4b72e2f85 initial: draw raytraced spheres on the sega saturn 2023-01-25 16:06:45 -08:00