Updated: 4 days ago
Continued from Sound Card 2.0 PCB Build (rehsdonline.com)...
I now have playback working from the media ROM on the sound card. Essentially, the 65816 processor communicates with the VIAs. The VIAs communicate with the PSGs. The PSGs communicate with the Flash ROM using the PSG IO ports.
In the following video I include recordings from both the line in on my PC and from my iPhone (picking up a small set of amplified desktop speakers). The line in has a bit of a grainy/noisy sound -- similar to my 6502 sound card; this is likely due to my PC setup, a long cable between the sound card and my PC, etc. I hope to clean this up a bit. Possibly, larger output resistors will help. I had to swap out the 1K output resistors with 10K to pull the levels down a bit. I have some larger resistor arrays on order.
The iPhone recording is a bit more muffled but doesn't have the line in type of noise; my inexpensive amplifier seems to filter all of that out pretty well. I am running the sound card processor at 10 MHz and the PSGs at 2 MHz.
Two PSGs are used for the left channel and two for the right channel. This leaves two PSGs for me to play simultaneous sound effects. This PSG channel configuration will be the normal configuration that I will use.
I have some tweaking of playback timing to do. I have implemented a better delay routine that supports much longer delays now (32-bit counter). Also, at some point, I'll look into using timer interrupts on the VIA.
With the sound card running entirely off its onboard processor, my main system can focus on other tasks. This should allow me to play background music and effects in games without impacting performance of the system, which will be great.
Onboard SPI communication and SD Card media playback.
Integration into the host 65816 PC (communicating commands via the dual-port RAM on the sound card).
Updated sound card emulator to support a virtual ROM, SPI, and SD Card.
A game of some sort. :)