[MZF] MZ7: MZF file compressor using ZX7 algorithms

S_U_C
Posts: 69
Joined: Sun Feb 17, 2019 6:41 pm

Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms

Post by S_U_C »

I probably have more tapes than you, I have copies of the Sharp Libraries, and it was the second tape I tried to to compress that highlighted the problem. Secondly I need the comment area free to hold my High Speed serial transfer code that has transfer rates of 5KBytes/sec on a 2MHz k/a 10K at 4MHz and 9Kbytes/sec on the 700/800. At that speed I would not bother with compression but every bit helps.

I find it easier to compress the obj file first and add my loader/mover, and decoder as a prefix to the compressed data.

I have written how to make a BTX file auto-run from the monitor on the MZ80A using SP-5510 in the Sharp Users Club magazine 2019 vol2 (November issue) and the Compressed Files in the 2020 vol1

Most M/C programs clear the screen, but I agree not all, but basic does.

The RCS stuff is dzx7_smartrcs decoder the with
; Convert an RCS address 010RRccc ccrrrppp to screen address 010RRppp rrrccccc
; (note: replace both EX AF,AF' with PUSH AF/POP AF if you want to preserve AF')
dzx7r_convert:
ex af, af'
ld a, d ; A = 010RRccc
cp $58
jr nc, dzx7r_skip
xor e
and $f8
xor e ; A = 010RRppp
push af
xor d
xor e ; A = ccrrrccc
rlca
rlca ; A = rrrccccc
pop de ; D = 010RRppp
ld e, a ; E = rrrccccc
dzx7r_skip:
ex af, af'
ret
removed as it relates to addresses at 16384 the spectrum screen area, not needed on the Sharp's.

I will send you details of the auto-run tapes routines
S_U_C
Posts: 69
Joined: Sun Feb 17, 2019 6:41 pm

Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms

Post by S_U_C »

The standard and turbo are the Einar Saukas DZX7_STANDARD and DZX7_TURBO decoders.

I activate my high speed down loading code held in the tape header by having a 3 byte program, that contains JP $11A3, the Arduino then switches to
57600baud rate serial and send the real file, Hu-basic 25KB in 5 sec, about 7 sec in total.
hlide
Posts: 681
Joined: Thu Jan 25, 2018 9:31 pm

Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms

Post by hlide »

Ahhhh ok I didn't grab your were speaking about DZX7 variants.
hlide
Posts: 681
Joined: Thu Jan 25, 2018 9:31 pm

Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms

Post by hlide »

Ok, the point for MZ7C is to allow loading MZF or WAV files not involving any special hardware like Arduino: it should work for genuine tape.
I agree with using the keyboard buffer to decompress because it appears to be working for any MZ serie K. So it should be an option to add to mz7c.
S_U_C
Posts: 69
Joined: Sun Feb 17, 2019 6:41 pm

Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms

Post by S_U_C »

Hi
The Arduino is a replacement for faulty tape units I have 4, and I mentioned it because I used the comment area with the Arduino HS down loader, so wished to keep this area free. But having been reminded that other users may have used this area before me, I may have to change the displayed options. "To M/c files without protection".

It can also act as a Sharp serial to PC convertor at 57600 buadrate and , can save files from tape while loading.

It has been improved since these images,
it now has 4MHz K and A machine selection,
has normal 2 copy and 1 copy quick downloader,
the Sharp serial to Arduino uses Hayes protocol,
can save files while writing to tape
and has a prototype floppy disk emulation, just need the disk basics modifying to test.

The Arduino give a much better file selection than other tape replacements with its touch screen with directories and file navagation.
Machine/model Selection
DL select1.jpg
DL select1.jpg (70.79 KiB) Viewed 8471 times
Program Selection
DL SELECT1B.JPG
Directory Selection
Select Machine/model
Select Machine/model
DL select1.jpg (70.79 KiB) Viewed 8471 times
File Selection
DL LOAD.jpg
S_U_C
Posts: 69
Joined: Sun Feb 17, 2019 6:41 pm

Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms

Post by S_U_C »

it appears i got a wrong image this is image 2 select program
DL SELECT2.jpg
DL SELECT2.jpg (76.26 KiB) Viewed 8471 times
hlide
Posts: 681
Joined: Thu Jan 25, 2018 9:31 pm

Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms

Post by hlide »

I have just updated the source under GitHub: https://github.com/SHARPENTIERS/mz7.

By default, I copy the decompression code in the "keyboard buffer" to decompress and then launch the program from this area rather than from the cassette header of the file. The advantage is that if the program already stored code there, it is no longer overwritten with decompression code. It is always possible to continue to store the decompressor in the header with the -e option (takes less bytes than the new method). The downside is that the keyboard buffer size is shorter than the header size so I can use only the standard version of the decompressor instead of the turbo version which is reserved for the header.

Both methods work with the series compatible with the MZ-80 K (therefore MZ-80 K / C / A, MZ-1200, MZ-700, MZ-800 and MZ-1500).
Post Reply