Nп/п : 64 из 100
 От   : Kent Dickey                         2:5075/128        26 авг 23 13:39:46
 К    : I am Rob                                              26 авг 23 16:41:03
 Тема : Re: SmartPort Query
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 1@dont-email.me> 56aa66d2
@REPLY:
<57208c2d-251c-439a-bede-e8d2ef6c0d45n@googlegroups.com> bd08d420
@REPLYADDR Kent Dickey <kegs@provalid.com>
@REPLYTO 2:5075/128 Kent Dickey
@CHRS: CP866 2
@RFC: 1 0
@RFC-Message-ID: 1@dont-email.me>
@RFC-References:
<f90f1538-dd1f-4bfe-a035-d71f21fc971an@googlegroups.com> <3d788c73-abbf-40a4-930d-1a2e0830ef38n@googlegroups.com>
1@dont-email.me> <57208c2d-251c-439a-bede-e8d2ef6c0d45n@googlegroups.com>
@TZUTC: -0000
@TID: FIDOGATE-5.12-ge4e8b94
In article <57208c2d-251c-439a-bede-e8d2ef6c0d45n@googlegroups.com>,
I am Rob  <gids.rs@sasktel.net> wrote:
>
>> 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.

It`s confusing if you post multiple messages.

Calling $C70D is the Smartport firmware entry point for a device in slot
7 which supports Smartport calls.  If you put a RamFAST SCSI in slot 7,
then that entry point will work and it will lost all the mountable
volumes on that SCSI card.

Let`s back up.  What card do you have in slot 7?

Emulators simply support this type of entry point to provide disk images
in an easy way that ProDOS fully understands.  Unless you have a
particular interest in emulators and how they work, you can ignore
emulators.

You keep mentioning COP $82, but that`s something only you are seeing,
so you`ll have to be more specific.  COP $82 has nothing to do with
Smartport in general, nothing to do with the KEGS emulator in specific,
and I suspect it isn`t really there.

I`ve explained how ProDOS 2.0.1 and later automatically remap
devices--if a slot 7 smartport-compatible device has 7 volumes, ProDOS
2.0.01 will remap devices 3-7 to appear to be in other slots, since it
knows which slots are really empty.  But on ProDOS versions before that,
devices like RamFAST would peek into the $BF10-$BF2F ProDOS device table
and insert their extra volumes as other slots, say slot 4 or slot 1.
This was a bad idea since multiple cards had no good way to prevent from
stomping all over each other, so most cards which could do this had a
way to disable it (and you should disable it, and use ProDOS 2.0.1 and
later, ProDOS 2.0.3 was the last official release).

Kent
--- trn 4.0-test76 (Apr 2, 2001)
 * Origin: provalid.com (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    
                                                                                
В этой области больше нет сообщений.

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