Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.sys.apple2    |    Discussion about Apple II micros    |    56,720 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 56,289 of 56,720    |
|    I am Rob to All    |
|    Re: SmartPort Query    |
|    24 Aug 23 21:57:14    |
      From: gids.rs@sasktel.net              > > > > Hi Rob,        > > > > Smartport deals with devices, not slots/drives.        > > > > Is your mapping done once ProDOS 8 is loaded?        > > > > Antoine        > > > Right. But even the Smartport would need to use the softswitches to       access a slot card. Which should mean there has to be a mapping of some kind       to know which slot a device is in. I have come across an instance where it       would be a benefit to be        able to translate between the two.        > > >        > > > As far as I know the mapping has nothing to do with Prodos 8. If you       follow the routine at $C70D (entry to the Smartport), it ends in COP 82. This       co-processor routine must have a routine to map a slot to a device number.        > > I should add that the SmartPort device number does not match Prodos device       table at $BF30.       > ProDOS-8 2.0.x (and unofficial 2.4 and FX) construct an internal mapping       from ProDOS unit number (the things listed in DEVLST at $BF30, which encode       the mapped slot/drive, which is exposed via BASIC.SYSTEM but also needed for       the DEVADR table at $BF10)        to the SmartPort device number. This mapping is not exposed externally, and       the location in memory changes from version to version of ProDOS. When you       make an MLI call with a unit number ProDOS will consult the table to figure       out what device number to        use for the SmartPort call. In the ProDOS sources the table is spunit (and       also spvectlo/spvecthi).        >        > ProDOS 1.2...1.9 mirror a 3rd and 4th device in S5 to S2,D1/2 only, and       leave DEVADR entries pointing at $C5xx. There's no need for a table, just       hardcoded logic.        >        > That's the only Slot/Drive to SmartPort device number mapping I'm aware of,       but I'm still a n00b. Apologies if this is off topic.              That is incorrect. Prodos does not know anything about SmartPort and vice       versa. When you do a status call with SmartPort, there is no interaction with       Prodos and there are no calls made by Prodos to the SmartPort. The call to       the SmartPort uses the        same logic as Prodos, but they are not connected.              The only device numbers that are used in the Smartport are for slots 5 and 7       (device numbers being 50 and 70). But these device numbers are for finding       the built-in SmartPort whereas the device number for Prodos are for the       external slots. Eventually        though, the SmartPort has to access the external slots where the SCSI/SD/CFFA       card is with the hard drive connected. Therefore a device number assigned by       the SmartPort needs to be mapped to a slot where a compatible SmartPort device       is found. You can        have a SCSI card in slot 7 and slot 2, skipping slots 4, 5 and 6, but the       SmartPort assigns device number of 1 and 2 for those two used slots.        Therefore a table has to be saved somewhere in memory to match a device number       with the slot so the correct        softswitches can be accessed for that device.              I am trying to locate that table in memory.              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca