; highlevel ASPI

code_seg segment
 
           assume cs:code_seg,ds:code_seg
           org 100h
 
main       proc near
 
entry:     jmp start  
;   
;          data area
;           
           scsicommand struc
              code     db 2 
            status     db 0   
           adapter     db 0   
           reqflag     db 24  
           resrved     db 0  
            targid     db 1
           logunit     db 0
           xferlen     dw 0,0
           senslen     db 0
           dataptro    dw 0
           dataptrs    dw 0
           srbptro     dw 0
           srbptrs     dw 0
            cdblen     db ?
          hoststat     db 0
          targstat     db 0  
          postaddo     dw 0 
          postadds     dw 0 
          workspac     db 34 dup (?) 
           
           scsicommand ends              
           SCSI db 'SCSIMGR$',0
           ASPI dw 2 dup (?)
           SRB  db 58 dup (0)
           cards db ?
           curcard db ?
           curdev db ?
           bTen db 10
           cardat db ?
           cardflag db ?
;
;          code area
;
start:     mov ax,3D00h
           lea dx,SCSI
           int 21h
           jnc haveaspi
 
           mov ah,09
           lea dx,nope
           int 21h 
           mov ax,4C01h 
           int 21h 
           nope db 13,10,'No ASPI Manager Found',13,10,'$'
 
haveaspi:  push ax
           mov bx,ax
           mov ax,4402h
           lea dx,ASPI
           mov cx,4
           int 21h
           pop bx
           mov ah,3Eh
           int 21h
 
nextcard:  call callaspi
           jne btdt 
           mov al,SRB[8]
           mov cards,al
           mov al,SRB[9]
           mov cardat,al
           mov si,offset SRB+10
           mov di,offset EchoBuffer
           mov cx,8
           rep movsw
           lea dx,CRLF
           mov ah,09
           int 21h
 
btdt:      mov si,offset SRB+26 
           mov di,offset EchoBuffer
           mov cx,8
           rep movsw
           lea dx,EchoBuffer
           mov ah,09
           int 21h
           mov al,SRB[2]
 
           mov curcard,al
           mov curdev,0
nextdev:   call clearSRB
           mov SRB[0],1
           mov al,curcard
           mov SRB[2],al
           mov al,curdev
           mov SRB[8],al
           call callaspi
           call showdev
           inc curdev 
           cmp curdev,8 
           jne nextdev 
 
           mov al,curcard
           inc al
           cmp al,cards
           je lastcard
 
           call clearSRB
           mov SRB[2],al
           jmp short nextcard
 
lastcard:  mov ax,4C00h
           int 21h
 
           CRLF       db 13,10
           EchoBuffer db 16 dup(?), 13, 10,'$'
           None       db 'None'
           Ctrl       db 'Card'
 
main       endp
           DevBuffer db 'ID #xx   Type - xxxx',13,10,'$'
showdev    proc near
           mov cardflag,0
           mov al,curdev
           cmp al,cardat
           jne adevice
           mov cardflag,1
adevice:   xor ah,ah
           div bTen
           add ax,3030h
           lea di, devbuffer[4]
           stosw 
           cmp cardflag,1
           jne notcard
           lea si,Ctrl
           jmp short notnum
notcard:   cmp SRB[1],82h 
           jne shownum 
           lea si,None 
notnum:    lea di,DevBuffer[16]
           movsw 
           movsw 
           jmp short nonum 
shownum:   mov al,SRB[10] 
           xor ah,ah 
           div bTen 
           add ax,3030h 
           lea di,DevBuffer[16] 
           stosw 
           mov ax,2020h 
           stosw 
nonum:     mov ah,09 
           lea dx,devbuffer 
           int 21h 
           ret 
showdev    endp
callaspi   proc near
 
           push ds
           lea bx,SRB
           push bx
           lea bx,ASPI
           call dword ptr[bx]
           add sp,4
           cmp SRB[2],0
           ret
callaspi   endp
 
clearSRB   proc near
           push ax
           xor ax,ax
           lea di,SRB
           mov cx,29
           rep stosw
           pop ax
           ret
clearSRB   endp
 
code_seg   ends
           end entry 

> -------- Original Message --------
> Subject: Re: [Freedos-user] ASPI driver
> From: basudeb gupta <[EMAIL PROTECTED]>
> Date: Mon, March 05, 2007 6:34 pm
> To: freedos-user@lists.sourceforge.net
> 
> Thanks for the help. I  had a few simple requirements:   a) an ASPI.SYS for 
> FREEDOS that I can use to access SCSI drives b) reference manual for this, so 
> that I can write some programs to access the devices thru ASPI.SYS
> 
> Unfortunately, all these links are not giving me this. Can anyone help?   
> Regards, Basudeb     ----- Original Message ----
> From: tomleem <[EMAIL PROTECTED]>
> To: freedos-user@lists.sourceforge.net
> Sent: Tuesday, March 6, 2007 5:46:47 AM
> Subject: Re: [Freedos-user] ASPI driver
> 
>  basudeb gupta wrote:
> > Hi All,
> >
> > Is there an ASPI driver for FreeDOS? Where can I get it?
> >
> > Also, where can I get the specs of that driver so that I can write a 
> > program and access a SCSI hard disk?
> >
> > Thanks
> > Basudeb
> >
> http://wiki.fdos.org/Main/AtapiCDD
> http://wiki.fdos.org/Main/USB
> Is this it?
> 
> 
> TomLeeM
> http://www.google.com/search?hl=en&q=ASPI+driver+for+FreeDOS&btnG=Google+Search
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Freedos-user mailing list
> Freedos-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freedos-user 
> 
> ---------------------------------------------------------------------
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share
> your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> ---------------------------------------------------------------------
> _______________________________________________
> Freedos-user mailing list
> Freedos-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freedos-user
> 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to