mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
IDE & PPIDE Cleanup
This commit is contained in:
@@ -105,12 +105,6 @@
|
||||
; SRST: SOFTWARE RESET
|
||||
; ~IEN: INTERRUPT ENABLE
|
||||
;
|
||||
#IF (IDETRACE >= 3)
|
||||
#DEFINE DCALL CALL
|
||||
#ELSE
|
||||
#DEFINE DCALL \;
|
||||
#ENDIF
|
||||
;
|
||||
IDE_REG_DATA .EQU $00 ; DATA /OUTPUT (R/W)
|
||||
IDE_REG_ERR .EQU $01 ; ERROR REGISTER (R)
|
||||
IDE_REG_FEAT .EQU $01 ; FEATURES REGISTER (W)
|
||||
@@ -634,14 +628,18 @@ IDE_SETFEAT:
|
||||
;OUT (IDE_IO_DRVHD),A
|
||||
CALL IDE_OUT
|
||||
.DB IDE_REG_DRVHD
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
POP AF
|
||||
;OUT (IDE_IO_FEAT),A ; SET THE FEATURE VALUE
|
||||
CALL IDE_OUT
|
||||
.DB IDE_REG_FEAT
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
LD A,IDE_CIDE_SETFEAT ; CMD = SETFEAT
|
||||
LD (IDE_CMD),A ; SAVE IT
|
||||
JP IDE_RUNCMD ; RUN COMMAND AND EXIT
|
||||
@@ -657,8 +655,10 @@ IDE_IDENTIFY:
|
||||
;OUT (IDE_IO_DRVHD),A
|
||||
CALL IDE_OUT
|
||||
.DB IDE_REG_DRVHD
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
LD A,IDE_CIDE_IDDEV
|
||||
LD (IDE_CMD),A
|
||||
CALL IDE_RUNCMD
|
||||
@@ -678,8 +678,10 @@ IDE_RDSEC:
|
||||
;OUT (IDE_IO_DRVHD),A
|
||||
CALL IDE_OUT
|
||||
.DB IDE_REG_DRVHD
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL IDE_SETADDR ; SETUP CYL, TRK, HEAD
|
||||
LD A,IDE_CIDE_READ
|
||||
LD (IDE_CMD),A
|
||||
@@ -700,8 +702,10 @@ IDE_WRSEC:
|
||||
;OUT (IDE_IO_DRVHD),A
|
||||
CALL IDE_OUT
|
||||
.DB IDE_REG_DRVHD
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL IDE_SETADDR ; SETUP CYL, TRK, HEAD
|
||||
LD A,IDE_CIDE_WRITE
|
||||
LD (IDE_CMD),A
|
||||
@@ -717,26 +721,34 @@ IDE_SETADDR:
|
||||
; IDE_IO_LBA3 HAS ALREADY BEEN SET
|
||||
; HSTLBA2-0 --> IDE_IO_LBA2-0
|
||||
LD A,(IY+IDE_LBA+2)
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL IDE_OUT
|
||||
.DB IDE_REG_LBA2
|
||||
;
|
||||
LD A,(IY+IDE_LBA+1)
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL IDE_OUT
|
||||
.DB IDE_REG_LBA1
|
||||
;
|
||||
LD A,(IY+IDE_LBA+0)
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL IDE_OUT
|
||||
.DB IDE_REG_LBA0
|
||||
;
|
||||
LD A,1
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL IDE_OUT
|
||||
.DB IDE_REG_COUNT
|
||||
;
|
||||
@@ -755,8 +767,10 @@ IDE_RUNCMD:
|
||||
RET NZ ; BAIL OUT ON TIMEOUT
|
||||
;
|
||||
LD A,(IDE_CMD) ; GET THE COMMAND
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
;OUT (IDE_IO_CMD),A ; SEND IT (STARTS EXECUTION)
|
||||
CALL IDE_OUT
|
||||
.DB IDE_REG_CMD
|
||||
@@ -879,16 +893,20 @@ IDE_GETRES:
|
||||
;IN A,(IDE_IO_STAT) ; GET STATUS
|
||||
CALL IDE_IN
|
||||
.DB IDE_REG_STAT
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
AND %00000001 ; ERROR BIT SET?
|
||||
RET Z ; NOPE, RETURN WITH ZF
|
||||
;
|
||||
;IN A,(IDE_IO_ERR) ; READ ERROR REGISTER
|
||||
CALL IDE_IN
|
||||
.DB IDE_REG_ERR
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
OR $FF ; FORCE NZ TO SIGNAL ERROR
|
||||
RET ; RETURN
|
||||
;
|
||||
@@ -1076,8 +1094,10 @@ IDE_PROBE:
|
||||
;OUT (IDE_IO_DRVHD),A
|
||||
CALL IDE_OUT
|
||||
.DB IDE_REG_DRVHD
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
|
||||
CALL DELAY ; DELAY ~16US
|
||||
;
|
||||
@@ -1085,14 +1105,18 @@ IDE_PROBE:
|
||||
;IN A,(C)
|
||||
CALL IDE_IN
|
||||
.DB IDE_REG_STAT
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CP $FF
|
||||
JP Z,IDE_NOMEDIA
|
||||
CP $78
|
||||
JP Z,IDE_NOMEDIA
|
||||
;
|
||||
DCALL IDE_REGDUMP
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL IDE_REGDUMP
|
||||
#ENDIF
|
||||
;
|
||||
;JR IDE_PROBE1 ; *DEBUG*
|
||||
;
|
||||
@@ -1100,44 +1124,64 @@ IDE_PROBE0:
|
||||
CALL IDE_WAITBSY ; WAIT FOR BUSY TO CLEAR
|
||||
JP NZ,IDE_NOMEDIA ; CONVERT TIMEOUT TO NO MEDIA AND RETURN
|
||||
;
|
||||
DCALL IDE_REGDUMP
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL IDE_REGDUMP
|
||||
#ENDIF
|
||||
;
|
||||
; CHECK STATUS
|
||||
;IN A,(IDE_IO_STAT) ; GET STATUS
|
||||
CALL IDE_IN
|
||||
.DB IDE_REG_STAT
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE ; IF DEBUG, PRINT STATUS
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE ; IF DEBUG, PRINT STATUS
|
||||
#ENDIF
|
||||
OR A ; SET FLAGS TO TEST FOR ZERO
|
||||
JP Z,IDE_NOMEDIA
|
||||
;
|
||||
; CHECK SIGNATURE
|
||||
DCALL PC_SPACE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
#ENDIF
|
||||
;IN A,(IDE_IO_COUNT)
|
||||
CALL IDE_IN
|
||||
.DB IDE_REG_COUNT
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CP $01
|
||||
JP NZ,IDE_NOMEDIA
|
||||
DCALL PC_SPACE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
#ENDIF
|
||||
;IN A,(IDE_IO_SECT)
|
||||
CALL IDE_IN
|
||||
.DB IDE_REG_SECT
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CP $01
|
||||
JP NZ,IDE_NOMEDIA
|
||||
DCALL PC_SPACE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
#ENDIF
|
||||
;IN A,(IDE_IO_CYLLO)
|
||||
CALL IDE_IN
|
||||
.DB IDE_REG_CYLLO
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CP $00
|
||||
JP NZ,IDE_NOMEDIA
|
||||
DCALL PC_SPACE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
#ENDIF
|
||||
;IN A,(IDE_IO_CYLHI)
|
||||
CALL IDE_IN
|
||||
.DB IDE_REG_CYLHI
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CP $00
|
||||
JP NZ,IDE_NOMEDIA
|
||||
;
|
||||
@@ -1176,7 +1220,9 @@ IDE_INITDEV00:
|
||||
RET NZ ; BAIL OUT ON ERROR
|
||||
;
|
||||
LD DE,HB_WRKBUF ; POINT TO BUFFER
|
||||
DCALL DUMP_BUFFER ; DUMP IT IF DEBUGGING
|
||||
#IF (IDETRACE >= 3)
|
||||
CALL DUMP_BUFFER ; DUMP IT IF DEBUGGING
|
||||
#ENDIF
|
||||
;
|
||||
XOR A
|
||||
LD (IY+IDE_MED),0 ; CLEAR FLAGS
|
||||
|
||||
@@ -122,12 +122,6 @@ PPIDE_CTL_RESET .EQU %10000000 ; DRIVE RESET (ACTIVE LOW, INVERTED)
|
||||
; SRST: SOFTWARE RESET
|
||||
; ~IEN: INTERRUPT ENABLE
|
||||
;
|
||||
#IF (PPIDETRACE >= 3)
|
||||
#DEFINE DCALL CALL
|
||||
#ELSE
|
||||
#DEFINE DCALL \;
|
||||
#ENDIF
|
||||
;
|
||||
; CONTROL VALUES TO USE WHEN ACCESSING THE VARIOUS IDE DEVICE REGISTERS
|
||||
;
|
||||
PPIDE_REG_DATA .EQU PPIDE_CTL_CS1 | $00 ; DATA INPUT/OUTPUT (R/W)
|
||||
@@ -445,8 +439,10 @@ PPIDE_DETECT:
|
||||
XOR A ; VALUE ZERO
|
||||
OUT (C),A ; PUSH VALUE TO PORT
|
||||
IN A,(C) ; GET PORT VALUE
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
OR A ; SET FLAGS
|
||||
RET ; AND RETURN
|
||||
;
|
||||
@@ -643,14 +639,18 @@ PPIDE_SETFEAT:
|
||||
;OUT (PPIDE_REG_DRVHD),A
|
||||
CALL PPIDE_OUT
|
||||
.DB PPIDE_REG_DRVHD
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
POP AF
|
||||
;OUT (PPIDE_REG_FEAT),A ; SET THE FEATURE VALUE
|
||||
CALL PPIDE_OUT
|
||||
.DB PPIDE_REG_FEAT
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
LD A,PPIDE_CMD_SETFEAT ; CMD = SETFEAT
|
||||
LD (PPIDE_CMD),A ; SAVE IT
|
||||
JP PPIDE_RUNCMD ; RUN COMMAND AND EXIT
|
||||
@@ -666,8 +666,10 @@ PPIDE_IDENTIFY:
|
||||
;OUT (PPIDE_REG_DRVHD),A
|
||||
CALL PPIDE_OUT
|
||||
.DB PPIDE_REG_DRVHD
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
LD A,PPIDE_CMD_IDDEV
|
||||
LD (PPIDE_CMD),A
|
||||
CALL PPIDE_RUNCMD
|
||||
@@ -687,8 +689,10 @@ PPIDE_RDSEC:
|
||||
;OUT (PPIDE_REG_DRVHD),A
|
||||
CALL PPIDE_OUT
|
||||
.DB PPIDE_REG_DRVHD
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL PPIDE_SETADDR ; SETUP CYL, TRK, HEAD
|
||||
LD A,PPIDE_CMD_READ
|
||||
LD (PPIDE_CMD),A
|
||||
@@ -709,8 +713,10 @@ PPIDE_WRSEC:
|
||||
;OUT (PPIDE_REG_DRVHD),A
|
||||
CALL PPIDE_OUT
|
||||
.DB PPIDE_REG_DRVHD
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL PPIDE_SETADDR ; SETUP CYL, TRK, HEAD
|
||||
LD A,PPIDE_CMD_WRITE
|
||||
LD (PPIDE_CMD),A
|
||||
@@ -726,26 +732,34 @@ PPIDE_SETADDR:
|
||||
; IDE_IO_LBA3 HAS ALREADY BEEN SET
|
||||
; HSTLBA2-0 --> IDE_IO_LBA2-0
|
||||
LD A,(IY+PPIDE_LBA+2)
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL PPIDE_OUT
|
||||
.DB PPIDE_REG_LBA2
|
||||
;
|
||||
LD A,(IY+PPIDE_LBA+1)
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL PPIDE_OUT
|
||||
.DB PPIDE_REG_LBA1
|
||||
;
|
||||
LD A,(IY+PPIDE_LBA+0)
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL PPIDE_OUT
|
||||
.DB PPIDE_REG_LBA0
|
||||
;
|
||||
LD A,1
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CALL PPIDE_OUT
|
||||
.DB PPIDE_REG_COUNT
|
||||
;
|
||||
@@ -764,8 +778,10 @@ PPIDE_RUNCMD:
|
||||
RET NZ ; BAIL OUT ON TIMEOUT
|
||||
;
|
||||
LD A,(PPIDE_CMD) ; GET THE COMMAND
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
;OUT (PPIDE_REG_CMD),A ; SEND IT (STARTS EXECUTION)
|
||||
CALL PPIDE_OUT
|
||||
.DB PPIDE_REG_CMD
|
||||
@@ -930,16 +946,20 @@ PPIDE_GETRES:
|
||||
;IN A,(PPIDE_REG_STAT) ; READ STATUS
|
||||
CALL PPIDE_IN
|
||||
.DB PPIDE_REG_STAT
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
AND %00000001 ; ERROR BIT SET?
|
||||
RET Z ; NOPE, RETURN WITH ZF
|
||||
;
|
||||
;IN A,(PPIDE_REG_ERR) ; READ ERROR REGISTER
|
||||
CALL PPIDE_IN
|
||||
.DB PPIDE_REG_ERR
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
OR $FF ; FORCE NZ TO SIGNAL ERROR
|
||||
RET ; RETURN
|
||||
;
|
||||
@@ -1048,8 +1068,10 @@ PPIDE_PROBE:
|
||||
;OUT (IDE_IO_DRVHD),A
|
||||
CALL PPIDE_OUT
|
||||
.DB PPIDE_REG_DRVHD
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
|
||||
CALL DELAY ; DELAY ~16US
|
||||
;
|
||||
@@ -1068,12 +1090,16 @@ PPIDE_PROBE:
|
||||
; IN A,(PPIDE_REG_STAT) ; GET STATUS
|
||||
CALL PPIDE_IN
|
||||
.DB PPIDE_REG_STAT
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
OR A
|
||||
JP Z,PPIDE_NOMEDIA
|
||||
;
|
||||
DCALL PPIDE_REGDUMP
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PPIDE_REGDUMP
|
||||
#ENDIF
|
||||
;
|
||||
;JR PPIDE_PROBE1 ; *DEBUG*
|
||||
;
|
||||
@@ -1081,44 +1107,64 @@ PPIDE_PROBE0:
|
||||
CALL PPIDE_WAITBSY ; WAIT FOR BUSY TO CLEAR
|
||||
JP NZ,PPIDE_NOMEDIA ; CONVERT TIMEOUT TO NO MEDIA AND RETURN
|
||||
;
|
||||
DCALL PPIDE_REGDUMP
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PPIDE_REGDUMP
|
||||
#ENDIF
|
||||
;
|
||||
; CHECK STATUS
|
||||
; IN A,(PPIDE_REG_STAT) ; GET STATUS
|
||||
CALL PPIDE_IN
|
||||
.DB PPIDE_REG_STAT
|
||||
DCALL PC_SPACE
|
||||
DCALL PRTHEXBYTE ; IF DEBUG, PRINT STATUS
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
CALL PRTHEXBYTE ; IF DEBUG, PRINT STATUS
|
||||
#ENDIF
|
||||
OR A ; SET FLAGS TO TEST FOR ZERO
|
||||
JP Z,PPIDE_NOMEDIA ; CONTINUE IF NON-ZERO
|
||||
;
|
||||
; CHECK SIGNATURE
|
||||
DCALL PC_SPACE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
#ENDIF
|
||||
;IN A,(PPIDE_REG_COUNT)
|
||||
CALL PPIDE_IN
|
||||
.DB PPIDE_REG_COUNT
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CP $01
|
||||
JP NZ,PPIDE_NOMEDIA
|
||||
DCALL PC_SPACE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
#ENDIF
|
||||
;IN A,(PPIDE_REG_SECT)
|
||||
CALL PPIDE_IN
|
||||
.DB PPIDE_REG_SECT
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CP $01
|
||||
JP NZ,PPIDE_NOMEDIA
|
||||
DCALL PC_SPACE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
#ENDIF
|
||||
;IN A,(PPIDE_REG_CYLLO)
|
||||
CALL PPIDE_IN
|
||||
.DB PPIDE_REG_CYLLO
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CP $00
|
||||
JP NZ,PPIDE_NOMEDIA
|
||||
DCALL PC_SPACE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PC_SPACE
|
||||
#ENDIF
|
||||
;IN A,(PPIDE_REG_CYLHI)
|
||||
CALL PPIDE_IN
|
||||
.DB PPIDE_REG_CYLHI
|
||||
DCALL PRTHEXBYTE
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL PRTHEXBYTE
|
||||
#ENDIF
|
||||
CP $00
|
||||
JP NZ,PPIDE_NOMEDIA
|
||||
;
|
||||
@@ -1157,7 +1203,9 @@ PPIDE_INITDEV00:
|
||||
RET NZ ; BAIL OUT ON ERROR
|
||||
;
|
||||
LD DE,HB_WRKBUF ; POINT TO BUFFER
|
||||
DCALL DUMP_BUFFER ; DUMP IT IF DEBUGGING
|
||||
#IF (PPIDETRACE >= 3)
|
||||
CALL DUMP_BUFFER ; DUMP IT IF DEBUGGING
|
||||
#ENDIF
|
||||
;
|
||||
LD (IY+PPIDE_MED),0 ; CLEAR MEDIA FLAGS
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user