[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 13-sector Disk ][ boot code AND CiderPress on DOS 3.1
- Subject: Re: 13-sector Disk ][ boot code AND CiderPress on DOS 3.1
- From: "Chris Mosher" <chris@mosher.mine.nu>
- Date: Thu, 11 Oct 2007 21:06:18 -0400
- Newsgroups: comp.sys.apple2
- Organization: AT&T http://yahoo.sbc.com
- References: <KlhPi.6739$4V6.6681@newssvr14.news.prodigy.net> <fem1dh$1ajl$1@merope.saaf.se> <470e8eeb$0$14134$742ec2ed@news.sonic.net>
- Xref: g2news2.google.com comp.sys.apple2:4299
Ahhh. Yes I see now.... actually after Paul said that, I tried the actual
nib image and
it DID boot. My trials were with a nib image that I had used CiderPress to
turn to
a .d13 and back again to a .nib, which did not work.
It's interresting that the RAWDOS file on the 3.1 system master has what I
thought was
junk for T0S0, but now I see that it is actually the 5&3 denibblization of
the
real code nibblized by this other algorithm. So thank you 1000% for that
info, Paul!
And that brings me to another point (I'm so glad you answered, too, Andy!)
CiderPress will not recognize a freshly initialized 3.1 nibble disk image.
The reason, I
discovered, is that the 3.1 INIT function doesn't write data fields for
sectors that it
doesn't have any data for (it only writes address fields). This, of course,
is
unlike 3.3 which write zeroes to every data field on the disk. The INIT
function
only writes the sectors it needs to on tracks $0, $1, $2, and $11. Stepping
through
CiderPress I found that in diskimg/Nibble.cpp, method
DiskImg::AnalyzeNibbleData,
it checks tracks $1, $10, $11, and $1A to see if at least 3 of those tracks
have at least
10 valid sectors (i.e., with data fields). Only tracks $1 and $11 are valid,
so the heuristic fails.
I patched it to check track $2 instaed of $10, and it recognized it fine,
and let me
convert it to .d13 file writing zeroes for the invalid sectors just fine
(well... except
for track 0 sector 0, as I now know).
Thanks!
"Andy McFadden" <fadden@fadden.com> wrote in message
news:470e8eeb$0$14134$742ec2ed@news.sonic.net...
> Paul Schlyter <pausch@saaf.se> wrote:
>> On 13 sector disks, the nibblizing of the very first sector was different
>> than for the other sectors - presumably, this was to be able to squeeze
>> that different denibblizing code into the 256 byte boot PROM.
>
> This is also why, if you open t0s0 of a 13-sector .nib image in
> CiderPress,
> you won't see anything that looks like reasonable 6502 code. I thought
> about adding an alternative de-nibblizer to the menu, but since the
> disk sector viewer doesn't have a "disassemble" feature it didn't seem
> worthwhile.