Newsgroups: comp.sys.apple2.programmer Path: blue.weeg.uiowa.edu!news.uiowa.edu!hobbes.physics.uiowa.edu!newsfeed.ksu.ksu.edu!moe.ksu.ksu.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!gatech!newsxfer.itd.umich.edu!zip.eecs.umich.edu!yeshua.marcam.com!charnel.ecst.csuchico.edu!rat!decwrl!waikato!comp.vuw.ac.nz!actrix.gen.nz!dempson From: dempson@actrix.gen.nz (David Empson) Subject: Re: ProDOS 8 quit code check... Message-ID: Organization: Actrix Information Exchange References: <2tqqup$7f9@tuba.cit.cornell.edu> Date: Sat, 18 Jun 1994 23:09:45 GMT Lines: 45 In article , Randy Shackelford wrote: > > I wrote a ProDOS 8 device driver quite some time ago just to see how to do > it. It was for the only device I knew how to drive - a phantom device which > had some fake files on it. The data on the fake volume is stored in the driver > code and it returns appropriate data according to the block number requested. > I put it in the memory normally used for the 64K RAM disk driver, which partly > resides at $FF00 and in the second 64K bank somewhere that I have forgotten > the address. You shouldn't assume the RAM driver is at $FF00 - use the entry point in the device driver address table (though it has been the same since P8 1.1). > I used this area because I think the 64K RAM disk is utterly > worthless and its driver wastes valuable and scarce code space. I > even have a homemade SYS program which I run every time I boot ProDOS > 8 which disconnects it. This may cause problems with programs that use auxiliary memory. If the /RAM driver isn't present, they aren't supposed to use certain areas of the auxiliary memory. See TN.PDOS.026 for details. I also note that there was a proposed mechanism so that user-installed RAM-based drivers could be placed at $D100-$DFFF in the second bank of the auxiliary language card, and a subsequent technote explaining how to do this was promised (but has never eventuated). If your driver is re-using the slot 3, drive 2 vector, it will be disconnected by programs which want to use auxiliary memory, unless you don't have a 3, 7, B or F in the lower nibble of the device list entry for your unit number. An additional comment to my previous posting on this thread: the CLD instruction at the start of the QUIT code should be there, so that applications can detect whether the QUIT code is "standard" or a third-party replacement. I don't know if any programs rely on this. -- David Empson dempson@actrix.gen.nz Snail mail: P.O. Box 27-103, Wellington, New Zealand