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. 7
      Source/CPM3/boot.z80
  3. 2
      Source/HBIOS/hbios.asm
  4. 607
      Source/HBIOS/imm.asm
  5. 2
      Source/HBIOS/lpt.asm
  6. 1170
      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
;
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
PUSH DE ; SAVE DE (HARD DISK VOLUME COUNTER)
PUSH HL ; SAVE DRIVE LIST PTR
@ -2944,6 +2950,7 @@ DRV_INIT3A:
RET NZ ; IF NO MEDIA, JUST RETURN
DRV_INIT3B:
; IF ACTIVE...
LD (HL),C ; SAVE UNIT NUM IN LIST
INC HL ; BUMP PTR

7
Source/CPM3/boot.z80

@ -181,6 +181,12 @@ dinit3:
ret
;
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
push de ; save de (hard disk volume counter)
push hl ; save drive list ptr
@ -196,6 +202,7 @@ dinit3a:
ret nz ; if no media, just return
dinit3b:
; if active...
ld (hl),c ; save unit num in list
inc hl ; bump ptr

2
Source/HBIOS/hbios.asm

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

607
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
; PRINT THE LPT TYPE
CALL PC_SPACE ; FORMATTING
PRTS(": MODE=$") ; FORMATTING
LD A,(IY+1) ; GET LPT TYPE BYTE
RLCA ; MAKE IT A WORD OFFSET
LD HL,LPT_TYPE_MAP ; POINT HL TO TYPE MAP TABLE

1170
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
RET NZ ; ABORT ON ERROR
LD B,16 ; GET 4 BYTES
LD B,16 ; GET 16 BYTES
LD HL,PPPSD_CSDBUF
PPPSD_GETCSD1:
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_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 Z180 REGISTER DEFINITIONS

2
Source/ver.inc

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

2
Source/ver.lib

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

Loading…
Cancel
Save