[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Toy Shop for Apple II available and a long story
Hello datawiz,
On Wed, 11 Jan 2012, datawiz wrote:
Track 0 is in a normal 16-sector format.
Now I see. I got the following sector numbers:
$00, $01, $10, $11, $02, $03, $12, $13,
$20, $21, $30, $31, $22, $23, $32, $33
Sector $01 is present two times, but I guess it's because of the imaging
buffer, leftovers and read repetitions. After the second $01 data end
marker ($DE $AA) there is some leftover chunk from sector $00.
Did you use SST or your own program? The reason I ask is because I am more
concerned with the leftovers in the track image and whether they can be
avoided, such as pre-filling the $1A00 buffer with $FF or anything
smarter, depending on the reading algorithm.
Protected tracks will be T1-4, T1C-22. All the rest are normalized.
If you want to see the second stage boot code that reads in the 18-
sector track, boot the master a disk and enter the debugger at the
first hgr title screen and at look at $6803. This is called after the
address marker is read (D5 9D XX XX XX AA).
A5 marks the start of data
The loop runs for 256 iterations (via y) and reads 4 bytes from the
drive per iteration.
The disk bytes are 6+2 encoded, and the first byte holds the "2" bits,
and the next 3 bytes are the 3 "6" bytes.
These 4 disk bytes are translated to 3 data bytes (translate table is
at $6e00) and stored in memory.
D4 marks the end of data
This will yield 3 pages of data in memory per call, and is called 6
times in a track read for a total of 18-sectors of data per track.
Got it this time. The 6 big "sectors" and the short headers and sync make
the total length well within the limits.
I hope that helps!
Thank you very much for the detailed explanation!
Cheers,
-- Vlad