[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: I did it! Hard Hat Mack un-fastloaded and crunched
On Wed, 11 Jan 2006 22:39:09 GMT, Lyrical Nanoha wrote:
> http://www.dosius.net:8080/hardhatmack.dsk.gz
>
> The file, HARD HAT MACK, on this disk, is crunched, and will run correctly
> from ProDOS and prolly any operating system. Yes, the filetype is A
> (Applesoft BASIC), trust me it works.
>
I have another idea for usage of the crunching routines (you have to
write 6502 crunching routine though).
Back in the days when I had Apple IIe clone with 128KB, I always hated
the fact that when I copied a disk with Locksmith for example I had to
swap the master and copy disks twice, and for the second time its only
copied the last five tracks (or so), because the disks were 144KB. So
here is the idea: Make a copy program which reads the disk side and
compresses it in memory. If it fits entirely in the memory, compressed,
then you can duplicate the entire side with only one swap on 128KB
machine or with less swaps on 64 KB machine. Back in the days,
compression was rare, so every pre 1990 Apple 2 software on disk would
fit compressed on 120KB (8 kb for the program and the interface {text
page, routines, read and save buffer etc.}) without problems. If I had
this back then, this would have save me lots of disk swapping. But it's
not late I think. The basic (fast made) flow-chart is something like:
[ 1.Init interface]
[ 2.Insert master disk]
[ 3.S=0;D=0]
[ 4.Use RWTS to read track S from the disk]
[ 5.compress the data]
[ 6.store it in the memory]
[ 7.increase the memory pointer]
[ 8.check if the memory pointer went out of bounds]
[ 9.if so go to 12]
[10.S=S+1]
[11.If S<35 GO TO to 4]
[12.Change disk]
[13.Decompress data from memory to buffer]
[14.Use RWTS to write track D from memory to disk]
[15.D=D+1]
[16.If D=S go to 18]
[17.Go to 13]
[18. If S=35 go to 19 else go to 4]
[19. End]
If everything is written properly, it should work I believe. Of course
that flow chart is very simplified - there are many obstacles to be
considered - for example bankswitching, read/write errors, interface
update etc, but for a start it's should be okay.
Any thoughts?
--
http://drhirudo.pdroms.de