[GUIDE] How do I get my .wav files onto my MZ?

hlide
Posts: 681
Joined: Thu Jan 25, 2018 9:31 pm

Re: [GUIDE] How do I get my .wav files onto my MZ?

Post by hlide »

Yep, there is a dongle for those sold without internal tape-deck. External tape system is not really advised because you cannot save with one external and be safe to read it back with the internal, or be read by another MZ-700. You should really consider that external system as a fallback and not as a feature. Obviously, it is convenient nowadays because we can read/save in WAV files this way.
slaanesh
Posts: 12
Joined: Sat Nov 20, 2021 7:14 am

Re: [GUIDE] How do I get my .wav files onto my MZ?

Post by slaanesh »

Also as for using MZF2WAV I would highly recommend just using these options (using "s-basic.mzf" as an example):

Code: Select all

mzf2wav.exe -b 44100 s-basic.mzf s-basic.wav
Don't bother with "-c", it writes the data twice (sharp tape standard). As a result the WAV is almost twice as long.
You don't need it twice when you have a "perfect" wav file as it should load first time, everytime (unlike a tape drive).
The header is also longer so you have to wait longer until the "meat"of the data starts to load.
hlide
Posts: 681
Joined: Thu Jan 25, 2018 9:31 pm

Re: [GUIDE] How do I get my .wav files onto my MZ?

Post by hlide »

You can also use mz0. It will compress your original MZF binary under half its size. Then you use MZF2WAV to turn it into WAV file. The loading time ratio will be the same as the compression ratio.
slaanesh
Posts: 12
Joined: Sat Nov 20, 2021 7:14 am

Re: [GUIDE] How do I get my .wav files onto my MZ?

Post by slaanesh »

Oh! mz0 :)
I'll check it out! :) I see I have to compile it myself but I think it's worth it if it achieves a good compression rate.

EDIT: Yep so I compiled a version for Windows and yep, it does what it says.
ie. S-BASIC.wav went down from 7.7MB to 5.5MB... seems worth the while!

Code: Select all

mz0.exe s-basic.mzf s-basic.mz7
mzf2wav.exe -b 44100 s-basic.mz7 s-basic.wav
Just did another example VAIROS.wav went from 11.1MB to 2.5MB which is really a huge savings in transfer time. Well done, nice piece of work mz0!
hlide
Posts: 681
Joined: Thu Jan 25, 2018 9:31 pm

Re: [GUIDE] How do I get my .wav files onto my MZ?

Post by hlide »

Lol, you must mean something like KB, not MB :).
slaanesh
Posts: 12
Joined: Sat Nov 20, 2021 7:14 am

Re: [GUIDE] How do I get my .wav files onto my MZ?

Post by slaanesh »

I'm referring to the size of the .WAV files afterwards so it's in MB. :)
There was one that didn't work: "scramble/a" but everything else I've tried has been fine.
hlide
Posts: 681
Joined: Thu Jan 25, 2018 9:31 pm

Re: [GUIDE] How do I get my .wav files onto my MZ?

Post by hlide »

Be aware, some MZT or WAV file may be a disguised multi-data-block file (1 HEADER BLOCK + N DATA BLOCKS). mz0c won't work on multi-data-block.
hlide
Posts: 681
Joined: Thu Jan 25, 2018 9:31 pm

Re: [GUIDE] How do I get my .wav files onto my MZ?

Post by hlide »

Ah also, it could also depend upon the load address: if the binary ends to $CFFF, you need -b option to compress the file in the reverse way so delta won't shift the loading end address above $CFFF.
slaanesh
Posts: 12
Joined: Sat Nov 20, 2021 7:14 am

Re: [GUIDE] How do I get my .wav files onto my MZ?

Post by slaanesh »

How can you tell if the binary ends "to $CFFF"?

ie. as an example only here is the output from converting "sideroll-f-" (great game!)

Code: Select all

>mz0c.exe sideroll-f-.m12 sideroll-f.mz7
[Old file] size: 44544 (ae00), load: 1200, exec: 1200
[New file] size: 18410 (47ea), load: 7886, exec: 7886
Data converted from 44544 to 18298 bytes! (delta 3)
The resulting mz7 was converted to wav file and loaded and started just fine.

Is it just a simple matter of:
if load+length > $CFFF then... use the reverse option?
hlide
Posts: 681
Joined: Thu Jan 25, 2018 9:31 pm

Re: [GUIDE] How do I get my .wav files onto my MZ?

Post by hlide »

It should be sideroll-f.mz0 :). MZ7C (*.mz7) was the predecessor of MZ0C (*.mz0). MZ0C compresses much better that its predecessor MZ7C. I believe I forgot to replace .mz7 with .mz0 in the usage lines.

In fact it is "load + length + delta < $D000", otherwise use -b. In the case of sideroll-f-.m12, the last three bytes are loaded in $C000-$C002 but they are compressed bytes, the final decompressed bytes will be under $C000.
Post Reply