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
[MZF] MZ7: MZF file compressor using ZX7 algorithms
Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms
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.
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.
Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms
Ahhhh ok I didn't grab your were speaking about DZX7 variants.
Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms
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.
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.
Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms
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 Program Selection Directory Selection File Selection
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 Program Selection Directory Selection File Selection
Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms
it appears i got a wrong image this is image 2 select program
Re: [MZF] MZ7: MZF file compressor using ZX7 algorithms
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).
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).