86d12c37ed
midi: add generator
...
This adds both a midi generator and a midi type 1 simulator.
While I would have preferred to use an existing tool for this, I found
that timidity++ does not emit pitch wheel events correctly, and I
don't know of another widely-distributed tool that does midi-to-midi
format conversion.
The c++ and python versions were co-developed. I wrote one to test the
other. There is more cleanup to do, but `roundtrip.cpp` produces a
valid type 0 midi file given a type 1 or type 0 midi file as input.
2023-07-01 00:15:53 +00:00
0c34b0634a
midi: slow down TIMA interval
...
This also fixes the ordering of slot reference and slot_ix
deinitialization when turning off notes.
2023-06-27 21:28:20 +00:00
9b57987717
midi: add basic polyphony
...
Timing is still broken/inconsistent between emulators and I don't yet
understand why.
2023-06-27 18:32:55 +00:00
778138971f
midi: play c major scale
...
TIMA occurs at half the speed predicted in the SCSP manual in
mednafen, but at the correct speed in Kronos. I don't know which is
correct.
2023-06-27 10:15:14 +00:00
f7a178384c
scsp: add fm example
2023-06-24 02:59:31 +00:00
5ee43d8a29
use new smpc ireg/oreg struct declaration
...
Previously operator[] overloads were used for ireg/oreg indexes.
2023-06-23 10:07:19 +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
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
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