home bbs files messages ]

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,290 of 56,720   
   Joshua Bell to I am Rob   
   Re: SmartPort Query   
   24 Aug 23 18:52:06   
   
   From: inexorabletash@gmail.com   
      
   On Thursday, August 24, 2023 at 6:58:34 AM UTC-7, I am Rob wrote:   
   > > > 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.   
      
   --- 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