antoine-source/scsi2/SCSI.Drivers/SCSI Filter flush
Antoine Vignau d29484938c Our SCSI-2 Audio Driver
What we wrote to make audio hearable on a SCSI-2 CD-ROM drive ;-)
2023-03-08 10:15:14 +01:00

1 line
2.8 KiB
Plaintext

;*******************************************************
;
; SCSI Driver 'Flush' Filter
;
; Written by Matt Gulick. Started June 13,1988
;
; Copyright Apple Computer, Inc. 1988,89
;
;*******************************************************
;*******************************************************
;
; This file contains the subroutines needed by the
; SCSI Driver to respond to the Flush call number
; $0007. In a Block Device Driver this will return a
; Driver Bad Request error and perform no function.
; In the case of a Character device however, this will
; need to request that the target device finalize what
; it was doing and flush it's buffers.
;
;*******************************************************
;*******************************************************
;
; Revision History:
;
;*******************************************************
; June 13, 1988 File started.
; June 20, 1988 Added Register Status in comments
STRING PASCAL
BLANKS OFF
PAGESIZE 70
PRINT NOGEN
PRINT NOMDIR
MACHINE M65816
PRINT OFF
INCLUDE 'scsihd.equates'
INCLUDE 'M16.MEMORY'
INCLUDE 'M16.UTIL'
PRINT ON
;*******************************************************
;
; This routine is used as the Flush code for a Block
; Device Driver.
;
; Inputs: None.
;
; Outputs: Acc = 0
; Carry = 0
; Y register = Unspecified
; X register = Unspecified
; P register = 0=M=X=e
; Direct Page = GS/OS Direct Page
; Data Bank = Ours
;
; Errors: DRVR_BAD_REQ.
;
;*******************************************************
EXPORT Flush
Flush PROC
lda #drvr_bad_req
sec
rts
ENDP
END
;*******************************************************
;
; This routine is used as the Flush code for a
; Character Device Driver. This code is commented out
; so that is available to any one who uses this SCSI
; Driver Skeleton.
;
; Inputs: None.
;
; Outputs: Acc = Error
; Carry = Set or Clear
; Y register = Unspecified
; X register = Unspecified
; P register = 0=M=X=e
; Direct Page = GS/OS Direct Page
; Data Bank = Ours
;
; Errors: Device not open Error $0023
; For other errors see Spec.
;
;*******************************************************
;
; EXPORT flush
;flush PROC
; ;
; ; Is the device online?
; ;
; ldy #dib.dvcflag
;
; lda [dib_ptr],y
; and #dvc_online
; bne @flush ;Yes.
; ;
; ; Device is currently offline.
; ;
; lda #drvr_off_line
; sec
; rts
; ;
; ; Check Open Flag
; ;
;@flush lda |open_flag
; beq @dvc_closed
;
; Insert Your Code Here.
;
; lda #$0000
; clc
; rts
;
;@dvc_closed lda #$drvr_not_open
; sec
; rts
;
; ENDP
;
END
EJECT