lyricalnanoha <lyricalnanoha@usotsuki.hoshinet.org> wrote:
On Sun, 30 Nov 2008, David Empson wrote:
lyricalnanoha <lyricalnanoha@usotsuki.hoshinet.org> wrote:
I've managed to find Applesoft 1, the original buggy version, and I'm
trying to reverse-engineer it to port since the "7-in-1 MS 6502 BASIC"
produces broken output - but I've got a big question...
...what memory space does it load into? (Stupid obfuscated BASIC loaders.)
I can't seem to figure out the info I'd need to be able to save it or to
export it so I can extract the binary and feed it to IDA or something...
I wasn't using the Apple II that far back but it seems reasonable to
assume the original version of Applesoft would have been loaded from
tape into main memory, either near $0800 or at the top of main memory.
Putting it at the bottom would have been easier because it wouldn't need
to relocate depending on the amount of RAM installed.
It predated the language card, so that area is out of the question. DOS
may not have been in the picture either, but it may have gone to some
trouble to respect Integer BASIC's LOMEM and/or HIMEM.
I've heard it loads at $800, it does seem to have code around there but
the entry point's not down there. Hm.
It might load at $7F8 (or thereabouts) and jump to the correct entry
point (which is likely to be the equivalent of $E000).
Is it possible to have a two-stage tape loader? If so, perhaps there is
a front end loaded somewhere else (maybe somewhere in $0200-$03EF), and
the main image is loaded at $0800, with the front end jumping to the
"cold" entry point.
--
David Empson
dempson@actrix.gen.nz