Disk drives

The place for codemasters or beginners to talk about programming any language for the Spectrum.
Post Reply
User avatar
djnzx48
Manic Miner
Posts: 729
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Disk drives

Post by djnzx48 »

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!
User avatar
Pegaz
Dynamite Dan
Posts: 1209
Joined: Mon Nov 13, 2017 1:44 pm

Re: Disk drives

Post by Pegaz »

Beta disk interface with TR-DOS would always be my first choice.
It uses standard floppies and has the largest software collection on disk.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Disk drives

Post by Ast A. Moore »

djnzx48 wrote: Thu Jun 14, 2018 1:29 am Let's say I'm working on a game and considering disk drive support. Which drives would be the best ones to go for?
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.
User avatar
djnzx48
Manic Miner
Posts: 729
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: Disk drives

Post by djnzx48 »

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.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Disk drives

Post by Ast A. Moore »

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.
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:

—DivIDE
—DivMMC
—Simple 8-bit IDE
—ZXATASP
—ZXCF
—ZXMMC

At least in this regard, testing them an emulator is trivial.
djnzx48 wrote: Thu Jun 14, 2018 10:13 amTape 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.
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.
User avatar
RMartins
Manic Miner
Posts: 776
Joined: Thu Nov 16, 2017 3:26 pm

Re: Disk drives

Post by RMartins »

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.
User avatar
Ivanzx
Manic Miner
Posts: 736
Joined: Tue Nov 14, 2017 9:51 am

Re: Disk drives

Post by Ivanzx »

Sounds like you are coding a very big game, any clues on what it is? 😉
Ralf
Rick Dangerous
Posts: 2279
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: Disk drives

Post by Ralf »

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.
hikoki
Manic Miner
Posts: 576
Joined: Thu Nov 16, 2017 10:54 am

Re: Disk drives

Post by hikoki »

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
User avatar
djnzx48
Manic Miner
Posts: 729
Joined: Wed Dec 06, 2017 2:13 am
Location: New Zealand

Re: Disk drives

Post by djnzx48 »

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.
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 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.)
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 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).
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.
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.
That looks interesting, thanks! I'll have to look into that.
Ivanzx wrote: Thu Jun 14, 2018 11:16 am Sounds like you are coding a very big game, any clues on what it is? 😉
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 ;)
Ralf wrote: Thu Jun 14, 2018 12:00 pm 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
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.
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
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.

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?
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Disk drives

Post by Ast A. Moore »

djnzx48 wrote: Fri Jun 15, 2018 12:21 am
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.
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.
DivIDE and DivMMC are the two most widely used interfaces.
djnzx48 wrote: Fri Jun 15, 2018 12:21 am
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).
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.
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 am I'm just not sure how many people use TR-DOS with the Sinclair/Amstrad machines outside of emulators.
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.
hikoki
Manic Miner
Posts: 576
Joined: Thu Nov 16, 2017 10:54 am

Re: Disk drives

Post by hikoki »

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.
I don't have this mp3 car cassette adapter but it's affordable and popular amongst Spectrum users.
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.

Image
User avatar
Guesser
Manic Miner
Posts: 639
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Disk drives

Post by Guesser »

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.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Disk drives

Post by Ast A. Moore »

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.
1. Any emulator worth its salt can handle turbo loaders. That’s the general idea behind, well, emulation.
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.
User avatar
Guesser
Manic Miner
Posts: 639
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Disk drives

Post by Guesser »

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.
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 3. It’s trivial to offer both standard and turbo-loader versions of your game. I do. Everybody wins. Yay.
good :)
User avatar
Guesser
Manic Miner
Posts: 639
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Disk drives

Post by Guesser »

Ast 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.
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 interfaces :)
User avatar
Seven.FFF
Manic Miner
Posts: 735
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: Disk drives

Post by Seven.FFF »

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
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Disk drives

Post by Ast A. Moore »

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)
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.)

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.
Guesser wrote: Fri Jun 15, 2018 6:37 pm 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 interfaces.
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.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Disk drives

Post by Ast A. Moore »

Seven.FFF wrote: Fri Jun 15, 2018 6:50 pm and I would guess the vast submajority of those are so ideologically pure they only load from tape.
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.
User avatar
Seven.FFF
Manic Miner
Posts: 735
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: Disk drives

Post by Seven.FFF »

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
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Disk drives

Post by Ast A. Moore »

Seven.FFF wrote: Fri Jun 15, 2018 7:19 pm The number of times thou shalt rewind the tape is three; and three shalt be the number of times, verily.
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.
AndyC
Dynamite Dan
Posts: 1387
Joined: Mon Nov 13, 2017 5:12 am

Re: Disk drives

Post by AndyC »

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.
User avatar
Guesser
Manic Miner
Posts: 639
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Disk drives

Post by Guesser »

Ast A. Moore wrote: Fri Jun 15, 2018 7:04 pm If by “support” you mean “accelerate,” then sure.
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 :lol:
User avatar
Guesser
Manic Miner
Posts: 639
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Disk drives

Post by Guesser »

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 :)
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2640
Joined: Mon Nov 13, 2017 3:16 pm

Re: Disk drives

Post by Ast A. Moore »

Guesser wrote: Sat Jun 16, 2018 12:34 am
Ast A. Moore wrote: Fri Jun 15, 2018 7:04 pm If by “support” you mean “accelerate,” then sure.
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 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).
Guesser wrote: Sat Jun 16, 2018 12:34 amI suppose on a technicality the emulators would still support the loader as you could distribute it as a csw or wav file :lol:
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.
Post Reply