Since I wrote Bob The Space Janitor I've wanted to see it load on actual hardware. It's all very well and good just relying on emulators but I grew up with the ZX Spectrum, so for me, having that hardware connection is an achievement (and a nostalgic bonus).
Not long after I got my ZX Spectrum I did try and load the game via my Windows laptop, using programs like Audacity, winTZX and Tapir but although the ZX Spectrum could detect the plug connection to the laptop (it knows this due to the red/blue borders that show, if not then the border will stay white) it did try a little to load the game but would then not work. After asking on the Spectrum Computing forums and looking further into this, there were some saying that the laptop may not work due to how Windows has set equalisation and I didn't want to mess with that.
I also tried with my mobile, using apps such as PlayZX and TeeZiX, and pretty much the same thing happened. As an aside I'd also like to mention that I used both the mono leads and the +3 ZX Spectrum lead (stereo phono jack to to mono jacks).
So I left it for a while until I had another idea on how to tackle it.
It didn't take long, during a random subconscious-style eureka moment, that I recalled remembering seeing someone use an actual mp3 player to load games. It was something that I had yet to try. I bought a simple mp3 player - specifically a Bush KW-MP02 with no LED (much to my detriment) and no equaliser controls. I downloaded Manic Miner from a site offering it in the mp3 format and tested that.
Bingo it works!
I then went back to the winTZX program as I knew that it would export mp3 files but it didn't work with my game and other games were hit and miss. Something I did notice, the exported mp3 filenames were [gamename]_128k. I was wondering if this was because it was somehow converting them into 128K mode but this could not be the case since my game was written for 48K machines and had no problems loading in 48K mode on an emulator. But maybe, this 128K was actually the bitrate of the mp3 rather than the ZX Spectrum mode.
Based on this "maybe", I had one option left. To try and convert to mp3 myself using Format Factory.
I found a program to convert from tzx to wave called Tape2Wav and then used the following settings for Format Factory:
To explain the above image a little more. This took a couple of tries to get right. I already decided to increase the volume to 200% as I knew that Spectrum tapes can be pretty loud. But this is so that the signal can get picked up. I did try and set the Sample Rate to 41k - it loaded the first part but the rest didn't load. A Sample Rate of 48k works without issue.
I put it on the mp3 player and....
So the final test was to record the mp3 onto tape. Using the +3 audio lead, I hooked it up to the tape player and I managed to get my game onto the tape and it still loaded onto the ZX Spectrum.
That's one happy indie game developer and a mission accomplished!