Thanks to PCBWay for sponsoring this project by giving me a free batch of PCBs!
They are thick and sturdy and I can recommend them. I am making this endorsement as an individual, and it should not be construed as coming from or being related to my employer in any ways. Interestingly, the PCBWay PCBs appear to be identical to the Seeed Fusion PCBs to me (maybe they are even using the same factory?) This is of course speculation.
Anyhow, I have assembled one with the new PCBWay PCB, and you can see and hear it in the following video, where I am comparing 4 different MIDI options: the Roland Sound Canvas, the S2, the McFly, and the EWave, all but the Sound Canvas are from Serdashop. The S2 is still my favorite. The line out audio of the EWave is at a lower level by default, and the McFly gave up on the MIDI data. It doesn't like the song it seems, there is some MIDI data in the song which makes it give up. Maybe the complexity of the song data is too high. Anyhow, there might be other songs which play fine with the McFly, I have to investigate that a bit further. However, it seem the S2 has highest line out levels and best clarity; the filtering (?) on both of the McFly and the EWave is too strong IMHO, they lack a bit of clarity. I will try another MIDI song on the McFly at some point to get a better understanding of what's going on.
Complex MIDI playback from the CPC, standalone. I took some time to implement the MIDI data stream recorder in Z80. It is basically a CPC MIDI realtime "sequencer" (without quantization) that just records and stores to memory all incoming MIDI messages, clock-indexed. To record data, I can just playback a MID file with the PC and stream the MIDI data into the CPC via a USB MIDI cable. The MIDI data gets recorded into CPC memory, and can then be played back standalone without requiring the USB MIDI cable and PC. I can also save the song data to disk, obviously. So I now have a way of playing back complex MIDI songs from the CPC standalone, without having to "program" them or having to use a tracker / composition program on the CPC. The standalone CPC MIDI song player & recorder is demonstrated in the video below. As usual, the assembler source code, and the 8 GM MID song fragments demonstrated here, can be found in the Github repo:
The project was well received on my YouTube channel, and I already sold the first batch. I have ordered another batch of PCBs. Thanks for the warm reception, CPC fans!
Thanks to OshPark for the super-swift service upgrade - the PCBs were back in record time, in flawless quality, and what's most important - they worked out of the box!
Prototype PCBs were designed and submitted to OshPark, Fingers crossed!
The breadboard is finished by now. I have added a DIL switch for option settings, i.e. MIDI and audio routing options:
---------------------------------------------- | Switch | Explanation | |--------|-----------------------------------| | 1 | Route CPC to S2 | | 2 | Route CPC to MIDI OUT | | 3 | Route MIDI IN to S2 | | 4 | Route MIDI IN to MIDI OUT | | 5 | Route S2 L Channel to CPC Speaker | | 6 | Route S2 R Channel to CPC Speaker | | 7 | 1 = Enable card - make sure 8 = 0 | | 8 | 0 = Enable card - make sure 7 = 1 | ----------------------------------------------
Also, the S2 is now getting a proper reset signal at startup (S2 /RESET has to be pulled low for ~10 ms to ensure proper operation). For the audio outputs I am using decoupling capacitors and some resistors to optionally also route the S2 audio back into the CPC, so that the S2 sound can be heard in the CPC's internal speaker (not really HiFi, but good enough).
The card can also be disabled - simply removing VCC / GND doesn't work, as it is still connected to the bus, so parasitic effects will crash the CPC. Indeed, there are CPC backplanes available that allow you to "power down" the expansion card. This is...Read more »