mirror of
https://github.com/antoinevignau/source.git
synced 2024-11-19 22:31:52 +00:00
d29484938c
What we wrote to make audio hearable on a SCSI-2 CD-ROM drive ;-)
1 line
2.8 KiB
Plaintext
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
|