Nп/п : 62 из 100
 От   : I am Rob                            2:5075/128        25 авг 23 21:05:26
 К    : Kent Dickey                                           25 авг 23 07:09:01
 Тема : Re: SmartPort Query
----------------------------------------------------------------------------------
                                                                                 
@MSGID:
<57208c2d-251c-439a-bede-e8d2ef6c0d45n@googlegroups.com> bd08d420
@REPLY: 1@dont-email.me> 0c2735a7
@REPLYADDR I am Rob <gids.rs@sasktel.net>
@REPLYTO 2:5075/128 I am Rob
@CHRS: CP866 2
@RFC: 1 0
@RFC-References:
<f90f1538-dd1f-4bfe-a035-d71f21fc971an@googlegroups.com> <940b6ab4-d361-41f2-81ee-ec38631aef40n@googlegroups.com>
<9dd32c50-4e31-4787-be7a-12cd9da65e76n@googlegroups.com> <3d788c73-abbf-40a4-930d-1a2e0830ef38n@googlegroups.com>
1@dont-email.me>
@RFC-Message-ID:
<57208c2d-251c-439a-bede-e8d2ef6c0d45n@googlegroups.com>
@TZUTC: -0700
@PID: G2/1.0
@TID: FIDOGATE-5.12-ge4e8b94
> Devices which support Smartport need to support a ProDOS entry point as 
> well, where the ProDOS entry point is $Cx0A and Smartport is at $Cx0D. 

> The table you are interested in is handled by ProDOS 8 in the System Global 
> Page at $BF10-$BF2F. It contains the ProDOS entry points for each device, 
> indexed for slot 1...7 and Drive 1...2 (so 14 total devices supported). 
> For a IIgs, slot 5 goes to $C50A. Slot 6 (for a Disk II) goes to $D000. 
> When $D000 is called, code there interprets the ProDOS values in ZP and 
> effectively calls RWTS and reads the block indicated. 
> And for KEGS with 7 devices in slot 7, slot 7 drives 1 and 2 point to 
> $C70A, but the remapped devices are in other slots and go to $FD08. 
> The ProDOS driver at $FD08 converts the ProDOS call (cmd at $42, unit at 
> $43, buffer at $44,45 and block at $46,$47) into a Smartport compatible 
> format and jumps to the address it pulls from $FD6E,X and $FD7D,X where 
> X = Unit >> 4. So ProDOS will make Smartport calls, and this is how it 
> handles more than 2 devices per slot. This is internal to ProDOS 8. 
> The addresses I gave are for ProDOS 2.0.3 which is what I run usually. 

Thanks for replying Kent. 

 The thing is, Prodos is not being called to get SmartPort
information. I am using the SmartPort Commander from OpenApple January 1987 which
calls $C70D directly. We can skip slot 5 for now.

The routine is just

 JSR $C70D
 DFB 00   ; command
 DW Parm List
 RTS

PARM LIST DFB 3    ; # of parms
 DFB 0   ; unit #
 DW CTRL LIST
 DFB 0    ; sub command

CTRL LIST DFB 00

As a memory dump, it is just:

300: 20 0D C7 00 07 03 60 03 00 0C 03 00 00

 If this is called directly, it will return the number of devices
for slot #7 at $030C. Is it maybe just an emulator thing? This routine
works in Sweet16, GSPort and Kegs, although the number of devices returned
is different for each emulator. But still, are the emulators accessing
the table in Prodos? They shouldn`t be.
--- G2/1.0
 * Origin: usenet.network (2:5075/128)
SEEN-BY: 5001/100 5005/49 5015/255 5019/40 5020/715
848 1042 4441 12000
SEEN-BY: 5030/49 1081 5075/128
@PATH: 5075/128 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх