Article # 182, added by Geoworks, historical record
| first |
previous |
index |
next |
last |
Reseting Zoomer card slot
Note that this operation is performed at the BIOS level. It is not part of the GEOS Socket API. The code shown below is untested and may not work. CardServices and SocketServices is an unpublished, unsupported API. On a socket-services only platform, reseting the card is accomplished by sending Socket Services the ResetSocket command (90h). ; ; To reset a socket (at the socket services layer) ; All you need to do is send a reset command for ; appropriate adapter and socket. On the Zoomer ; the slot is Adapter 0, Socket 0. xor al, al ; al <- Adapter (0 = 1st adapter) mov bl, al ; bl <- Socket (0 = 1st socket) mov ah, 090h ; ah <- SSCommand (ResetSocket) int 1ah ; 1Ah = SocketServices interrupt jc error ; => AH has error code ; ; To test the RESET line, do a GetStatus on the ; socket, and check the SBM_RDYBSY pin (#16). xor al, al ; al <- Adapter (0 = 1st adapter) mov bl, al ; bl <- Socket (0 = 1st socket) mov ah, 08fh ; ah <- SSCommand (GetStatus) int 1ah ; 1Ah = SocketServices interrupt jc error ; => AH has error code test bh, 040h ; b6 has RDYBSY line stc ; assume it's set jnz done ; return Carry SET if RDYBSY line high clc ; return Carry CLEAR if line low