Disk drives
Disk drives
Let's say I'm working on a game and considering disk drive support. Which drives would be the best ones to go for?
Beta 128 and +3 seem like the obvious choices since they're widely available, both in emulation and real hardware. What about other drives like DISCiPLE, +D and Opus? Then there are the more modern SD card ones. With Sword of Ianna there was at least some demand for a multiload tape version, for hardware devices that only support .tap files. I thought about microdrives, but does anyone actually use them these days, either in emulators or the real thing?
I'm also wondering about the software side of these drives. Do any of them require some area of memory reserved? Is it possible to 'bypass' the ROM loaders and use a custom one, or is it just better to use them as they're designed? And do any of these drives have special features that the others don't, for example, the ability to load or save data while simultaneously running some interrupt routine?
As you can see I'm inexperienced with these drives and I need help making a decision!
Beta 128 and +3 seem like the obvious choices since they're widely available, both in emulation and real hardware. What about other drives like DISCiPLE, +D and Opus? Then there are the more modern SD card ones. With Sword of Ianna there was at least some demand for a multiload tape version, for hardware devices that only support .tap files. I thought about microdrives, but does anyone actually use them these days, either in emulators or the real thing?
I'm also wondering about the software side of these drives. Do any of them require some area of memory reserved? Is it possible to 'bypass' the ROM loaders and use a custom one, or is it just better to use them as they're designed? And do any of these drives have special features that the others don't, for example, the ability to load or save data while simultaneously running some interrupt routine?
As you can see I'm inexperienced with these drives and I need help making a decision!
Re: Disk drives
Beta disk interface with TR-DOS would always be my first choice.
It uses standard floppies and has the largest software collection on disk.
It uses standard floppies and has the largest software collection on disk.
- Ast A. Moore
- Rick Dangerous
- Posts: 2641
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Disk drives
I think you need to take a step back and focus on this: What platform are you developing a game (games) for?
Do you target real hardware or emulators? If it’s the latter, what kind of emulator in particular? A software emulator? (Which software emulator, then?) A hardware emulator? (Again, which hardware emulator?) If it’s the former, what kind of hardware? Original Spectrums? Clones? If so, which clones?
Only when you answer these questions will you be able to answer the question of “disk drive support” (if indeed this question still arises).
In other words, are you working on a Spectrum game or a game for a gazillion of Z80-based microcomputers (real or emulated) that are based (to a larger or lesser extent) on the ZX Spectrum?
If you’re targeting the original ZX Spectrum, then the answer is kind of obvious. Even though you’re limiting yourself to the +3—the only machine that came standard with a disk drive—they’re plentiful and readily available.
The Beta Disk interface, however, is only common among the clones (I doubt many original interfaces exist in the wild), so if you’re targeting clones, you might want to consider that option. (The original Spectrums are virtually out of the question, though.)
If you’re targeting emulators, most of them support both interfaces, so choose whichever you take a shine to.
SD–card-based interfaces have the advantage of working with most (all?) original Spectrums (but not necessarily the clones), and a few people already have them. For others, that’s an additional expense.
Finally, what particular features of your game require a disk interface? If that’s simply a matter of data storage space (i.e. level loading), then, considering that almost everybody now has some form of a digital audio player, it’s trivial to write a super fast turbo loader for the standard tape interface, and thus reduce loading times down to a few seconds per level. If, however, you need to store some data as well, this may prove to be a little trickier for the end user, but not impossible either. That covers real hardware (both original Spectrums* and clones).
Emulatiors, naturally, will load your levels almost instantly anyway, while saving data can be performed by the user at any time using snapshots.
Sorry for such a longwinded answer, but these are my thoughts on the subject.
———————
*Granted, without a mod (albeit a simple one), the +2 and +2A machines will need tape adaptors to load games from external audio sources.
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Re: Disk drives
Good points, thanks. I guess my main goal at the moment is to get a game working on the main 128K models (the original, the +2 and the +3), as well as on most emulators. For the +3 disk support is an easy decision to make, but I was wondering more about the toastrack and +2 models and what drives people use with those. Nowadays I'd imagine the most common interface would be one of the SD card ones, but I want to consider other options as well. The modern interfaces also have the issue of being unlikely to be supported by emulators, and so impossible to test without physically owning one.
Tape multiloads would be the last resort. I'd rather not require using a turbo loader because those can be tricky to get working and can be unreliable.
Finally, I'm not certain yet whether I'll end up using disks at all, but I want to be prepared in case it ends up getting too big to fit in 128K.
Tape multiloads would be the last resort. I'd rather not require using a turbo loader because those can be tricky to get working and can be unreliable.
Finally, I'm not certain yet whether I'll end up using disks at all, but I want to be prepared in case it ends up getting too big to fit in 128K.
- Ast A. Moore
- Rick Dangerous
- Posts: 2641
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Disk drives
I’m an old-fashioned purist, so I always target the lowest common denominator—the tape interface. I don’t own (and, in the foreseeable future, am not planning to purchase) any modern interface, so all the testing that I do on my +2A and Toast Rack, I do by loading my code via an audio lead. My idiosyncrasies aside, however, Fuse, for example, supports a broad range of modern storage interfaces:djnzx48 wrote: ↑Thu Jun 14, 2018 10:13 am I was wondering more about the toastrack and +2 models and what drives people use with those. Nowadays I'd imagine the most common interface would be one of the SD card ones, but I want to consider other options as well. The modern interfaces also have the issue of being unlikely to be supported by emulators, and so impossible to test without physically owning one.
—DivIDE
—DivMMC
—Simple 8-bit IDE
—ZXATASP
—ZXCF
—ZXMMC
At least in this regard, testing them an emulator is trivial.
I’ll have to respectfully disagree (again, with the caveat that the end user will be relying on digital audio sources, rather than actual tapes). Turbo loaders are both quite trivial to implement and very reliable. When I was writing the turbo loader for Yankee, for example, I opted for a modest ~3x data rate (compared to the standard ROM loader), but only because I wanted to give it a fighting chance of loading on fairly low-quality tape recorders. I can easily adjust the loader’s timing constants to operate at a much higher data rate, comparable to that of some disk-based systems. (Admittedly, I never tried to write a turbo-save routine, though.)
Since you seem to be targeting the original Spectrums, your options are automatically limited to (a) the +3’s disk interface (which, obviously, excludes all other machines), (b) modern storage interfaces (one or more), and (c) the good-old tape interface. Everything else is too obscure nowadays. Thus, logically, if you want to include all 128K Spectrums, your only options are (b) and (c). If you want to extend support to most emulators as well, then it’s just (c).
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Re: Disk drives
Alternatively, you can use something like my NOXROM Cartridge, with either 128K, 256K or 512K of ROM, addressable in 16KB blocks.
viewtopic.php?f=22&t=241
But this is specific to ZX Spectrum, and requires a ROM interface, like "ZX Interface 2", "RAM Turbo", "Kempston Pro" or some modern equivalent (Spectra interface), which most people usually have one of these.
There are other cartridge systems around too, like the ZXC1, ZXC2, ZXc3, ZXC4 (from fruitcake website), or the ZX Dandanator interface, just to name a few.
viewtopic.php?f=22&t=241
But this is specific to ZX Spectrum, and requires a ROM interface, like "ZX Interface 2", "RAM Turbo", "Kempston Pro" or some modern equivalent (Spectra interface), which most people usually have one of these.
There are other cartridge systems around too, like the ZXC1, ZXC2, ZXc3, ZXC4 (from fruitcake website), or the ZX Dandanator interface, just to name a few.
Re: Disk drives
Sounds like you are coding a very big game, any clues on what it is?
Re: Disk drives
I believe that there are only two disk systems for Spectrum that matter:
- CP/M, used on Spectrum +3 with 3inch disks
- Tr-Dos, not used in original Spectrum machines but very popular on Russian clones like Pentagon
They are both supported by most popular emulators so people playing your game through emulation would enjoy it too.
All the other systems are owned and used by 10 people in the world each
If you are doing a serious, quasi-commercial project, there is also a possibility of putting your game on cartridge like it was done with Sword of Ianna.
- CP/M, used on Spectrum +3 with 3inch disks
- Tr-Dos, not used in original Spectrum machines but very popular on Russian clones like Pentagon
They are both supported by most popular emulators so people playing your game through emulation would enjoy it too.
All the other systems are owned and used by 10 people in the world each
If you are doing a serious, quasi-commercial project, there is also a possibility of putting your game on cartridge like it was done with Sword of Ianna.
Re: Disk drives
Is TRD compatible with divide which is quite popular? I think so..
Multiload is quite appealing.. I don't see any problem in having the player load small amounts of data from the cassette many times? Small blocks would not take long to load and all it needs is just pressing a key or the Play button from time to time. How may times? maybe pressing 20 times or more in a game session? So what? No big deal so long as loading times are bearable enough? Not enough room in a cassette tape? I wonder if it'd be of help to make the player rewind the cassette to reload parts of the program with different data.
One modern turboloader which is reliable is Setoload: viewtopic.php?f=6&t=290#p3339
Multiload is quite appealing.. I don't see any problem in having the player load small amounts of data from the cassette many times? Small blocks would not take long to load and all it needs is just pressing a key or the Play button from time to time. How may times? maybe pressing 20 times or more in a game session? So what? No big deal so long as loading times are bearable enough? Not enough room in a cassette tape? I wonder if it'd be of help to make the player rewind the cassette to reload parts of the program with different data.
One modern turboloader which is reliable is Setoload: viewtopic.php?f=6&t=290#p3339
Re: Disk drives
That's the problem, there's just so many of them that I don't know which ones would be best to use! If I knew which ones were more popular I'd design for those first and maybe do the others later.Ast A. Moore wrote: ↑Thu Jun 14, 2018 11:07 am Fuse, for example, supports a broad range of modern storage interfaces:
—DivIDE
—DivMMC
—Simple 8-bit IDE
—ZXATASP
—ZXCF
—ZXMMC
At least in this regard, testing them an emulator is trivial.
I guess it depends on the loading setup you're using. I've had trouble getting turbo loaders to work in the past using external amplifiers, but maybe I was using the wrong equipment.Ast A. Moore wrote: ↑Thu Jun 14, 2018 11:07 am I’ll have to respectfully disagree (again, with the caveat that the end user will be relying on digital audio sources, rather than actual tapes). Turbo loaders are both quite trivial to implement and very reliable. When I was writing the turbo loader for Yankee, for example, I opted for a modest ~3x data rate (compared to the standard ROM loader), but only because I wanted to give it a fighting chance of loading on fairly low-quality tape recorders. I can easily adjust the loader’s timing constants to operate at a much higher data rate, comparable to that of some disk-based systems. (Admittedly, I never tried to write a turbo-save routine, though.)
My idea was to have a separate version of the game for each different disk interface, similar to what Sword of Ianna did. So it would be possible to have a +3 version, a modern interface version, and maybe a tape version.Ast A. Moore wrote: ↑Thu Jun 14, 2018 11:07 amSince you seem to be targeting the original Spectrums, your options are automatically limited to (a) the +3’s disk interface (which, obviously, excludes all other machines), (b) modern storage interfaces (one or more), and (c) the good-old tape interface. Everything else is too obscure nowadays. Thus, logically, if you want to include all 128K Spectrums, your only options are (b) and (c). If you want to extend support to most emulators as well, then it’s just (c).
That looks interesting, thanks! I'll have to look into that.RMartins wrote: ↑Thu Jun 14, 2018 11:10 am Alternatively, you can use something like my NOXROM Cartridge, with either 128K, 256K or 512K of ROM, addressable in 16KB blocks.
viewtopic.php?f=22&t=241
But this is specific to ZX Spectrum, and requires a ROM interface, like "ZX Interface 2", "RAM Turbo", "Kempston Pro" or some modern equivalent (Spectra interface), which most people usually have one of these.
There are other cartridge systems around too, like the ZXC1, ZXC2, ZXc3, ZXC4 (from fruitcake website), or the ZX Dandanator interface, just to name a few.
It's in the early stages at the moment and I haven't got too much to show, but if you send me a PM I'll show you the (very) limited progress I've made so far
Yeah, those look like good options and I'll probably end up adding them. I'm just not sure how many people use TR-DOS with the Sinclair/Amstrad machines outside of emulators.
I suppose it wouldn't be too bad to have multiload. The problem is I'm imagining that the game will involve going back and forth between different sections, which would require a lot of rewinding to get back to earlier bits. With turboloading in emulators it's not so much of a problem, but it could get annoying on real hardware.hikoki wrote: ↑Thu Jun 14, 2018 12:30 pm Is TRD compatible with divide which is quite popular? I think so..
Multiload is quite appealing.. I don't see any problem in having the player load small amounts of data from the cassette many times? Small blocks would not take long to load and all it needs is just pressing a key or the Play button from time to time. How may times? maybe pressing 20 times or more in a game session? So what? No big deal so long as loading times are bearable enough? Not enough room in a cassette tape? I wonder if it'd be of help to make the player rewind the cassette to reload parts of the program with different data.
One modern turboloader which is reliable is Setoload: viewtopic.php?f=6&t=290#p3339
Sorry for all these questions, but are any of these interfaces easier to use from the programming side of things? +3 DOS and TR-DOS just use ROM calls, but do they require any area of memory to not be touched by the rest of the program?
- Ast A. Moore
- Rick Dangerous
- Posts: 2641
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Disk drives
DivIDE and DivMMC are the two most widely used interfaces.djnzx48 wrote: ↑Fri Jun 15, 2018 12:21 amThat's the problem, there's just so many of them that I don't know which ones would be best to use! If I knew which ones were more popular I'd design for those first and maybe do the others later.Ast A. Moore wrote: ↑Thu Jun 14, 2018 11:07 am Fuse, for example, supports a broad range of modern storage interfaces:
—DivIDE
—DivMMC
—Simple 8-bit IDE
—ZXATASP
—ZXCF
—ZXMMC
At least in this regard, testing them an emulator is trivial.
If you’re okay with several different versions, then this sounds like the best course of action.djnzx48 wrote: ↑Fri Jun 15, 2018 12:21 amMy idea was to have a separate version of the game for each different disk interface, similar to what Sword of Ianna did. So it would be possible to have a +3 version, a modern interface version, and maybe a tape version.Ast A. Moore wrote: ↑Thu Jun 14, 2018 11:07 amSince you seem to be targeting the original Spectrums, your options are automatically limited to (a) the +3’s disk interface (which, obviously, excludes all other machines), (b) modern storage interfaces (one or more), and (c) the good-old tape interface. Everything else is too obscure nowadays. Thus, logically, if you want to include all 128K Spectrums, your only options are (b) and (c). If you want to extend support to most emulators as well, then it’s just (c).
If your guess was zero, you’re not too far off.
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Re: Disk drives
I don't have this mp3 car cassette adapter but it's affordable and popular amongst Spectrum users.I suppose it wouldn't be too bad to have multiload. The problem is I'm imagining that the game will involve going back and forth between different sections, which would require a lot of rewinding to get back to earlier bits. With turboloading in emulators it's not so much of a problem, but it could get annoying on real hardware.
It seems to me that could be used like a game interface. Look the remote control, the player seems able to press any number to play any block so you could place a lot of small mp3 audio files.. maybe a .m3u playlist file would suffice to make the process easier.
Re: Disk drives
A pox on turbo loaders.
Almost everyone who plays a spectrum game will be using an emulator, or some description of flash/hard disk interface which will both load a tap file more or less instantly. A fancy turbo loader will probably work with the emulator, but is unusable to the real hardware mass storage people.
Almost everyone who plays a spectrum game will be using an emulator, or some description of flash/hard disk interface which will both load a tap file more or less instantly. A fancy turbo loader will probably work with the emulator, but is unusable to the real hardware mass storage people.
- Ast A. Moore
- Rick Dangerous
- Posts: 2641
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Disk drives
1. Any emulator worth its salt can handle turbo loaders. That’s the general idea behind, well, emulation.Guesser wrote: ↑Fri Jun 15, 2018 3:37 pm A pox on turbo loaders.
Almost everyone who plays a spectrum game will be using an emulator, or some description of flash/hard disk interface which will both load a tap file more or less instantly. A fancy turbo loader will probably work with the emulator, but is unusable to the real hardware mass storage people.
2. I misplaced the printout of the results of my latest poll in which I asked every Spectrum owner on the planet if he used “some description of flash/hard disk interface,” but going from memory, it wasn’t “almost everyone” by a long shot.
3. It’s trivial to offer both standard and turbo-loader versions of your game. I do. Everybody wins. Yay.
3 ½. (I’ve always frowned upon this “instant loading” nonsense. You can’t even see the loading screen in most cases. Where’s the fun in that?)
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Re: Disk drives
They support all the standard turboloaders but if you invent your own, especially if it requires exotic tzx blocks you might hit edge cases. (and you still might end up with it loading slower than if you'd just used tap as it's still got to emulate all your clever tape loading code)Ast A. Moore wrote: ↑Fri Jun 15, 2018 4:07 pm 1. Any emulator worth its salt can handle turbo loaders. That’s the general idea behind, well, emulation.
goodAst A. Moore wrote: ↑Fri Jun 15, 2018 4:07 pm 3. It’s trivial to offer both standard and turbo-loader versions of your game. I do. Everybody wins. Yay.
Re: Disk drives
Unless someone out there is filling their house up with Ben's flash interfaces for some reason, a lot of people who use original hardware are using flash interfacesAst A. Moore wrote: ↑Fri Jun 15, 2018 4:07 pm 2. I misplaced the printout of the results of my latest poll in which I asked every Spectrum owner on the planet if he used “some description of flash/hard disk interface,” but going from memory, it wasn’t “almost everyone” by a long shot.
Re: Disk drives
I would guess the vast majority use flash interfaces. The remaining minority are ideological purists, and I would guess the vast submajority of those are so ideologically pure they only load from tape.
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel • NXTP • ESP Update • ESP Reset • CSpect Plugins
SevenFFF / Threetwosevensixseven / colonel32
NXtel • NXTP • ESP Update • ESP Reset • CSpect Plugins
- Ast A. Moore
- Rick Dangerous
- Posts: 2641
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Disk drives
If by “support” you mean “accelerate,” then sure. The only “non-standard” turbo loader I know of is OTLA. It’s a weird beast that uses the undocumented IN (C) instruction and checks the parity flag. It’s insanely fast, but you obviously can’t press any keys while the game is loading. The OTLA utility packs everything as a single Direct Recording block. (In is defense, it wasn’t really meant to create files for emulators.) Some older emulators, indeed, have trouble loading these TZX files. (Fuse is okay with them, though.)Guesser wrote: ↑Fri Jun 15, 2018 6:34 pm They support all the standard turboloaders but if you invent your own, especially if it requires exotic tzx blocks you might hit edge cases. (and you still might end up with it loading slower than if you'd just used tap as it's still got to emulate all your clever tape loading code)
Virtually any other turbo loader out there uses some form of a modified standard ROM routine, fiddling with the timing constants and mucking about with decryption, obfuscation, moving data around in RAM several times, etc. Almost all of them are not very well optimized. (They keep a lot of unnecessary code copied straight from the ROM.) Other than that—nothing out of ordinary.
Right before she took her last breath, my grandma made me swear I’d never use one of them infernal contraptions, for they are unholy.
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
- Ast A. Moore
- Rick Dangerous
- Posts: 2641
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Disk drives
Just the way Our Good Lord Clive intended. Amen.
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Re: Disk drives
The number of times thou shalt rewind the tape is three; and three shalt be the number of times, verily.
It's worth mentioning the number of different drive systems Garry's ace +3e ROMs support. If you write for the +3 API, you get all these for free.
http://www.worldofspectrum.org/zxplus3e/p3eroms.html
It's worth mentioning the number of different drive systems Garry's ace +3e ROMs support. If you write for the +3 API, you get all these for free.
http://www.worldofspectrum.org/zxplus3e/p3eroms.html
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel • NXTP • ESP Update • ESP Reset • CSpect Plugins
SevenFFF / Threetwosevensixseven / colonel32
NXtel • NXTP • ESP Update • ESP Reset • CSpect Plugins
- Ast A. Moore
- Rick Dangerous
- Posts: 2641
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Disk drives
Truly, the Good Book doth not lie!
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Re: Disk drives
If you really need a disk system, I'd go with +3DOS - despite it being limited in terms of hardware support. It has a nice and powerful API. On the other hand if all you need is a way of quick loading blocks of data, I'd go with the standard ROM tape loading routines and let people use modern devices that accelerate the whole process.
Re: Disk drives
I meant if you wrote something that required one of the "new" tzx blocks that hardly anyone could be bothered to implement to correctly store it or something.
I suppose on a technicality the emulators would still support the loader as you could distribute it as a csw or wav file
Re: Disk drives
If you use the ROM tape format, and give each file a unique name, then it's fairly trivial for anyone to convert it to whatever system they so desire. Working back in the other direction is more awkward
- Ast A. Moore
- Rick Dangerous
- Posts: 2641
- Joined: Mon Nov 13, 2017 3:16 pm
Re: Disk drives
I use the turbo speed block (ID 11) for the main data and generalized data block (ID 19) for shortening the length of the pilot tone in the initial standard block. This can be easily replaced with a combination of pure tone/pulse sequence/pure data blocks (ID 12–14), or, in fact, a single turbo speed block (using standard lengths/pulses).
I do the latter (WAV files). Again, my turbo loader is meant for real hardware rather than emulators. Many people use their phones, PCs, digital music players, etc. to load games, so the WAV files are for them. In addition, there are apps for the PC/mobile that generate audio from TZX files on the fly. Plenty of options, in other words.
Every man should plant a tree, build a house, and write a ZX Spectrum game.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.