Wed Aug 20 19:53:01 2003
As the subject says, there's a new version of exploiter up at
I realize, now that I've put it on the webserver, that it suffers the same
problem that the -first- release did, about depending on headers that are
specific to my system. Commenting out the offending lines of code should
work well enough for now (it's debugging information), and I'll include
the header next time.
This version requires a disk image file as well as a load band.
There are a great many changes involved that I'm too tired to summarize
here. Among other things, READ-FROM-STRING can successfully INTERN a
symbol that already exists in a package.
Right now it's ending up calling FERROR because it is unable to find the
The disk label is getting read properly, and the information about the
partition table appears to be parsed correctly.
The partition table is being read, and here's where things start going all
wibbly. The call is to read #xC00 bytes of data (three 1024-blocks) from
device address 2 (which, if you assume that the disk is addressed in
1024-blocks, is correct), into an RQB with a #x1400 halfword buffer.
Now, this all makes sense. But what I didn't realize until I was writing
this release announcement was that you can pass an offset to DISK-READ
which specifies how far into the RQB buffer to put the data being read.
This, of course, is not presently being handled by the ersatz NuPI
emulation and device driver, thus causing me to not understand what was
going wrong for the past two days.
I figure that correct handling of DISK-READ offsets has to be tied into
both DMA scatter lists and the wiring of an RQB prior to performing the
actual disk operation, so I'm going to concentrate there next.
Anyway, that's where things stand right now. Enjoy.
All programming can be viewed as an exercise.