Browse Source

IMM Driver Cleanup, PPA Driver Skeleton

IMM Driver has rational timeouts now.  It also lights the MG014 LED during activity.
The PPA skeleton just attempts to determine if the PPA interface is present.  It does not attempt any I/O.
pull/351/head v3.3.0-dev.16
Wayne Warthen 3 years ago
parent
commit
364e48a5d3
  1. 7
      Source/CBIOS/cbios.asm
  2. 9
      Source/CPM3/boot.z80
  3. 2
      Source/HBIOS/hbios.asm
  4. 619
      Source/HBIOS/imm.asm
  5. 2
      Source/HBIOS/lpt.asm
  6. 1182
      Source/HBIOS/ppa.asm
  7. 2
      Source/HBIOS/ppp.asm
  8. 10
      Source/HBIOS/std.asm
  9. 2
      Source/ver.inc
  10. 2
      Source/ver.lib

7
Source/CBIOS/cbios.asm

@ -2929,6 +2929,12 @@ DRV_INIT3:
RET RET
; ;
DRV_INIT3A: DRV_INIT3A:
; CHECK FOR HARD DISK REMOVABLE CARTRIDGE DRIVES
CP DIODEV_PPA ; PPA (ZIP DRIVE) IS REMOVABLE
JR Z,DRV_INIT3B ; IF SO, SKIP MEDIA CHECK
CP DIODEV_IMM ; IMM (ZIP DRIVE) IS REMOVABLE
JR Z,DRV_INIT3B ; IF SO, SKIP MEDIA CHECK
; CHECK FOR ACTIVE AND RETURN IF NOT ; CHECK FOR ACTIVE AND RETURN IF NOT
PUSH DE ; SAVE DE (HARD DISK VOLUME COUNTER) PUSH DE ; SAVE DE (HARD DISK VOLUME COUNTER)
PUSH HL ; SAVE DRIVE LIST PTR PUSH HL ; SAVE DRIVE LIST PTR
@ -2944,6 +2950,7 @@ DRV_INIT3A:
RET NZ ; IF NO MEDIA, JUST RETURN RET NZ ; IF NO MEDIA, JUST RETURN
DRV_INIT3B:
; IF ACTIVE... ; IF ACTIVE...
LD (HL),C ; SAVE UNIT NUM IN LIST LD (HL),C ; SAVE UNIT NUM IN LIST
INC HL ; BUMP PTR INC HL ; BUMP PTR

9
Source/CPM3/boot.z80

@ -181,6 +181,12 @@ dinit3:
ret ret
; ;
dinit3a: dinit3a:
; check for hard disk removable cartridge drives
cp 0A0h ; ppa (zip drive) is removable
jr z,dinit3b ; if so, skip media check
cp 0B0h ; imm (zip drive) is removable
jr z,dinit3b ; if so, skip media check
; check for active and return if not ; check for active and return if not
push de ; save de (hard disk volume counter) push de ; save de (hard disk volume counter)
push hl ; save drive list ptr push hl ; save drive list ptr
@ -195,7 +201,8 @@ dinit3a:
pop de ; restore de pop de ; restore de
ret nz ; if no media, just return ret nz ; if no media, just return
dinit3b:
; if active... ; if active...
ld (hl),c ; save unit num in list ld (hl),c ; save unit num in list
inc hl ; bump ptr inc hl ; bump ptr

2
Source/HBIOS/hbios.asm

@ -6786,7 +6786,6 @@ PS_PRTDC:
RES 7,D ; CLEAR LBA BIT RES 7,D ; CLEAR LBA BIT
LD B,11 ; 11 BIT SHIFT TO CONVERT BLOCKS --> MB LD B,11 ; 11 BIT SHIFT TO CONVERT BLOCKS --> MB
CALL SRL32 ; RIGHT SHIFT CALL SRL32 ; RIGHT SHIFT
;CALL PRTDEC ; PRINT LOW WORD IN DECIMAL (HIGH WORD DISCARDED)
CALL PRTDEC32 ; PRINT DWORD IN DECIMAL CALL PRTDEC32 ; PRINT DWORD IN DECIMAL
PRTS("MB$") ; PRINT SUFFIX PRTS("MB$") ; PRINT SUFFIX
CALL PC_COMMA CALL PC_COMMA
@ -6801,7 +6800,6 @@ PS_PRTDC1:
RES 7,D ; CLEAR LBA BIT RES 7,D ; CLEAR LBA BIT
LD B,1 ; 11 BIT SHIFT TO CONVERT BLOCKS --> MB LD B,1 ; 11 BIT SHIFT TO CONVERT BLOCKS --> MB
CALL SRL32 ; RIGHT SHIFT CALL SRL32 ; RIGHT SHIFT
;CALL PRTDEC ; PRINT LOW WORD IN DECIMAL (HIGH WORD DISCARDED)
CALL PRTDEC32 ; PRINT DWORD IN DECIMAL CALL PRTDEC32 ; PRINT DWORD IN DECIMAL
PRTS("KB$") ; PRINT SUFFIX PRTS("KB$") ; PRINT SUFFIX
CALL PC_COMMA CALL PC_COMMA

619
Source/HBIOS/imm.asm

File diff suppressed because it is too large

2
Source/HBIOS/lpt.asm

@ -372,7 +372,7 @@ LPT_PRTCFG:
CALL PRTHEXBYTE ; PRINT BASE PORT CALL PRTHEXBYTE ; PRINT BASE PORT
; PRINT THE LPT TYPE ; PRINT THE LPT TYPE
CALL PC_SPACE ; FORMATTING
PRTS(": MODE=$") ; FORMATTING
LD A,(IY+1) ; GET LPT TYPE BYTE LD A,(IY+1) ; GET LPT TYPE BYTE
RLCA ; MAKE IT A WORD OFFSET RLCA ; MAKE IT A WORD OFFSET
LD HL,LPT_TYPE_MAP ; POINT HL TO TYPE MAP TABLE LD HL,LPT_TYPE_MAP ; POINT HL TO TYPE MAP TABLE

1182
Source/HBIOS/ppa.asm

File diff suppressed because it is too large

2
Source/HBIOS/ppp.asm

@ -904,7 +904,7 @@ PPPSD_GETCSD:
CALL PPP_SNDCMD ; SEND COMMAND CALL PPP_SNDCMD ; SEND COMMAND
RET NZ ; ABORT ON ERROR RET NZ ; ABORT ON ERROR
LD B,16 ; GET 4 BYTES
LD B,16 ; GET 16 BYTES
LD HL,PPPSD_CSDBUF LD HL,PPPSD_CSDBUF
PPPSD_GETCSD1: PPPSD_GETCSD1:
CALL PPP_GETBYTE CALL PPP_GETBYTE

10
Source/HBIOS/std.asm

@ -447,6 +447,16 @@ SPD_UNSUP .EQU 0 ; PLATFORM CAN CHANGE SPEEDS BUT IS UNSUPPORTED
SPD_HIGH .EQU 1 ; PLATFORM CAN CHANGE SPEED, STARTS HIGH SPD_HIGH .EQU 1 ; PLATFORM CAN CHANGE SPEED, STARTS HIGH
SPD_LOW .EQU 2 ; PLATFORM CAN CHANGE SPEED, STARTS LOW SPD_LOW .EQU 2 ; PLATFORM CAN CHANGE SPEED, STARTS LOW
; ;
; SCSI COMMAND CODES (SHOULD BE IT IT'S OWN FILE)
;
SCSI_CMD_READ .EQU $08
SCSI_CMD_INQ .EQU $12
SCSI_CMD_TEST .EQU $00
SCSI_CMD_START .EQU $1B
SCSI_CMD_SENSE .EQU $03
SCSI_CMD_WRITE .EQU $0A
SCSI_CMD_RDCAP .EQU $25
;
#INCLUDE "build.inc" ; INCLUDE USER CONFIG, ADD VARIANT, TIMESTAMP, & ROMSIZE #INCLUDE "build.inc" ; INCLUDE USER CONFIG, ADD VARIANT, TIMESTAMP, & ROMSIZE
; ;
; INCLUDE Z180 REGISTER DEFINITIONS ; INCLUDE Z180 REGISTER DEFINITIONS

2
Source/ver.inc

@ -2,7 +2,7 @@
#DEFINE RMN 3 #DEFINE RMN 3
#DEFINE RUP 0 #DEFINE RUP 0
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "3.3.0-dev.15"
#DEFINE BIOSVER "3.3.0-dev.16"
#define rmj RMJ #define rmj RMJ
#define rmn RMN #define rmn RMN
#define rup RUP #define rup RUP

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 3
rup equ 0 rup equ 0
rtp equ 0 rtp equ 0
biosver macro biosver macro
db "3.3.0-dev.15"
db "3.3.0-dev.16"
endm endm

Loading…
Cancel
Save