Updated: May 1, 2022
Continuing with my 65816 Emulator series, my 65816 PC build is now to the point where an emulator for my sound card would be helpful. I have a great deal of coding to do for the sound card, and an accurate emulator will be quite helpful.
I'll post updates here periodically here as I make progress.
I have started to develop a basic class to mimic the essentials of the programmable sound generators (PSGs) that I am using (either AY-3-8910 or YM2149). My initial goal is to get tone playback working. I will look into effects later. I would like to have the emulator produce and actual audio output that is similar to what the actual sound card will output. Being that I have 6 PSGs, and each PSG has 3 channels, I need to be able to play 18 simultaneous tones. So far, the PSG class can generate sine waves dynamically for the tones. The class can also play back multiple tones simultaneously, as heard in the video, where I play three tones off the first virtual PSG. The primary 65816 PC emulator will communicate with the sound card emulator through virtual dual-port memory (with some basic form of network communication connecting the two emulators).
All PSGs Working in Emulator
I now have the emulator working for all 18 output channels. Below is a video that provides an overview of the VIA/PSG design, plus an update on the emulator.
More to Come!