Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!bbn!apple!dlyons From: dlyons@Apple.COM (David Lyons) Newsgroups: comp.sys.apple Subject: Re: Slot Assignments Keywords: Slots, Booting Message-ID: <33278@apple.Apple.COM> Date: 19 Jul 89 07:17:50 GMT References: <447ed450.f759@gtephx.UUCP> Distribution: na Organization: Apple Computer Inc, Cupertino, CA Lines: 36 In article <447ed450.f759@gtephx.UUCP> campbellb@gtephx.UUCP (Brian Campbell) writes: > [...] Having flexible slot assignments does >make programming the card ROM more difficult. It also seems that code must >be relocatable, and that means that JSRs in the ROM to subroutines in the ROM >are not possible. Is this true? [...] True--you can't just JSR $Cnxx from the $Cnxx space without assuming you know what slot you're in. For simple ROMs, the answer is to simply not make JSRs to your own ROM code. For more complicated ROM, you can take advantage of the $C800-$CFFE space, which is *shared* (more or less carefully) between different slots. Only one slot "owns" this space at a time, any twiddling $CFFF tells all cards they no longer own it. As soon as $Cnxx is twiddled, slot n owns the space until $CFFF is twiddled. So you can put your subroutines in the $C800-$CFFE space and JSR them with no problems. 'course, if some cards forget to twiddle $CFFF before assuming they own that space, there can be problems. (There *are* cards like that out there, and I *can't imagine* what company would have produced them.... :-) > [...] since it never makes sense to boot off of a printer, >you put that down in a low slot position, like #1. Since, it makes sense to >boot off of a disk, you put that in a high slot position. Except that the system is smart enough to realize when a card is not a bootable device--it looks at $Cn01, $Cn03, and $Cn05 for the values $20, $00, $03 to identify it as bootable. (I think the ROMs *before* the enhanced IIe also looked at $Cn07, but I'd have to look it up.) --Dave Lyons, Apple Computer, Inc. | DAL Systems AppleLink--Apple Edition: DAVE.LYONS | P.O. Box 875 AppleLink--Personal Edition: Dave Lyons | Cupertino, CA 95015-0875 GEnie: D.LYONS2 or DAVE.LYONS CompuServe: 72177,3233 Internet/BITNET: dlyons@apple.com UUCP: ...!ames!apple!dlyons My opinions are my own, not Apple's.