There are times, when you truly don’t know which direction to take. At first, I partially replicated the Drumulator's functionality in a GoWin FPGA. Later, I attempted the same adventure with an Efinix FPGA. That’s when I ran into the challenge of completing the machine—specifically, implementing the entire Z80 interrupt system in this Efinix FPGA. I didn’t succeed.
During this process, I realized that developing something "new" in an FPGA isn’t very practical. The reason? Well, there’s no real-time debugger like you’d find on any microcontroller. So, I tried using a processor instead and went with a very interesting RISC-V processor. Unfortunately, as I progressed, I realized I wouldn’t be able to fully achieve my goal this way.
Then, I came across STMicroelectronics' announcement of a new member of the STM32H5xx family. Looking at its specs, I noticed it was very similar to the previous RISC-V processor—but with every feature doubled: RAM, flash memory, and operating frequency. I figured it was worth giving this microcontroller a shot.
Then, after a period where I could no longer get STMicroelectronics' STM32Cube IDE to work properly on my Windows machines (dealing with installation crashes, missing packages, and other issues), I decided to try again with this new processor. I installed CubeIDE and CubeMX - miraculously, it worked perfectly on the first attempt.
So I embarked on this new adventure, building on the various tests I had previously conducted with the RISC-V processor regarding waveform generation. However, I decided to approach this as two separate projects: first developing the analog section for sound generation and processing, and then - if successful - completing the control panel.
After numerous iterations, here's what the analog board should look like.
This is a first draft. I haven't attempted to route this circuit yet. I may need to make some adjustments to the placement of certain component blocks. And even assuming the circuit works as intended, I'll still need to verify the audio quality - particularly how it handles (or fails to handle) the various interference patterns generated by the processor.
I'm not done yet.
The positive aspect is that with this circuit and the tests I conducted while designing my MSX cartridge (which uses the same processor), I should be able to implement waveform switching relatively simply. This approach eliminates the need for larger PCBs containing multiple memory circuits.
Well, having worked on multiple units of the original Drumulator circuit during repairs, I have to admit the final PCB is significantly more compact and uses far fewer components. It's nothing like the board in EMU's machine.
Of course, there's still the control panel to develop. But even that only requires a few additional elements compared to EMU's version - just some LED drivers, two keyboard multiplexing circuits, and that's about it...
Aucun commentaire:
Enregistrer un commentaire