Skip to content

Commit

Permalink
Functional PPA Driver
Browse files Browse the repository at this point in the history
  • Loading branch information
wwarthen committed Jun 2, 2023
1 parent b7e865d commit 1333d6a
Show file tree
Hide file tree
Showing 14 changed files with 565 additions and 85 deletions.
Binary file modified Doc/RomWBW Applications.pdf
Binary file not shown.
Binary file modified Doc/RomWBW Disk Catalog.pdf
Binary file not shown.
Binary file modified Doc/RomWBW Errata.pdf
Binary file not shown.
Binary file modified Doc/RomWBW ROM Applications.pdf
Binary file not shown.
Binary file modified Doc/RomWBW System Guide.pdf
Binary file not shown.
Binary file modified Doc/RomWBW User Guide.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
**RomWBW ReadMe** \
Version 3.3 \
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
23 May 2023
02 Jun 2023

# Overview

Expand Down
2 changes: 1 addition & 1 deletion ReadMe.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
RomWBW ReadMe
Wayne Warthen (wwarthen@gmail.com)
23 May 2023
02 Jun 2023



Expand Down
3 changes: 3 additions & 0 deletions Source/Doc/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -3901,6 +3901,7 @@ may be discovered by RomWBW in your system.
| GDC | Video | uPD7220 Video Display Controller |
| HDSK | Disk | SIMH Simulator Hard Disk |
| IDE | Disk | IDE/ATA Hard Disk Interface |
| IMM | Disk | IMM Zip Drive on PPI |
| INTRTC | RTC | Interrupt-based Real Time Clock |
| KBD | Kbd | 8242 PS/2 Keyboard Controller |
| KIO | System | Zilog Serial/ Parallel Counter/Timer |
Expand All @@ -3910,6 +3911,7 @@ may be discovered by RomWBW in your system.
| I2C | System | I2C Interface |
| PIO | Char | Zilog Parallel Interface Controller |
| PPIDE | Disk | 8255 IDE/ATA Hard Disk Interface |
| PPA | Disk | PPA Zip Drive on PPI |
| PPK | Kbd | Matrix Keyboard |
| PPPSD | Disk | ParPortProp SD Card Interface |
| PPPCON | Serial | ParPortProp Serial Console Interface |
Expand All @@ -3922,6 +3924,7 @@ may be discovered by RomWBW in your system.
| SIO | Char | Zilog Serial Port Interface |
| SN76489 | Sound | SN76489 Programmable Sound Generator |
| SPK | Sound | Bit-bang Speaker |
| SYQ | Disk | Iomega SparQ Drive on PPI |
| TMS | Video | TMS9918/38/58 Video Display Controller |
| UART | Char | 16C550 Family Serial Interface |
| USB-FIFO | Char | FT232H-based ECB USB FIFO |
Expand Down
20 changes: 13 additions & 7 deletions Source/HBIOS/imm.asm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
; INTENDED TO CO-EXIST WITH LPT DRIVER.
;
; CREATED BY WAYNE WARTHEN FOR ROMWBW HBIOS.
; MUCH OF THE CODE IS DERIVED FROM FUZIX (ALAN COX).
; MUCH OF THE CODE IS DERIVED FROM LINUX AND FUZIX (ALAN COX).
;
; 5/23/2023 WBW - INITIAL RELEASE
; 5/26/2023 WBW - CLEAN UP, LED ACTIVITY
Expand Down Expand Up @@ -189,7 +189,7 @@ IMM_INIT4:
CALL DIO_ADDENT ; ADD ENTRY TO GLOBAL DISK DEV TABLE
;
CALL IMM_RESET ; RESET/INIT THE INTERFACE
#IF (IMMTRACE == 0)
#IF (IMMTRACE <= 1)
CALL IMM_PRTSTAT
#ENDIF
JR NZ,IMM_INIT6
Expand Down Expand Up @@ -224,6 +224,9 @@ IMM_INIT6:
; ON RETURN, ZF SET INDICATES HARDWARE FOUND
;
IMM_DETECT:
#IF (IMMTRACE >= 3)
PRTS("\r\nDETECT:$")
#ENDIF
; INITIALIZE 8255
LD A,(IY+IMM_IOBASE) ; BASE PORT
ADD A,IMM_IOSETUP ; BUMP TO SETUP PORT
Expand Down Expand Up @@ -1024,7 +1027,7 @@ IMM_GETSTATUS:
;
RET
;
; TERMINATE A BULD READ OPERATION
; TERMINATE A BULK READ OPERATION
;
IMM_ENDREAD:
IMM_WCTL($04)
Expand Down Expand Up @@ -1151,7 +1154,8 @@ IMM_CHKCMD1:
;
; REQ SENSE CMD COMPLETED
#IF (IMMTRACE >= 3)
LD A,16
PRTS("\r\nSENSE:$")
LD A,$19
LD DE,HB_WRKBUF
CALL Z,PRTHEXBUF
#ENDIF
Expand Down Expand Up @@ -1219,7 +1223,8 @@ IMM_INITDEV1:
JR NZ,IMM_INITDEV2 ; IF ERROR, LOOP
;
#IF (IMMTRACE >= 3)
LD A,16
PRTS("\r\nSENSE:$")
LD A,$19
LD DE,HB_WRKBUF
CALL PRTHEXBUF
#ENDIF
Expand All @@ -1241,9 +1246,10 @@ IMM_INITDEV3:
LD HL,IMM_CMD_RDCAP ; POINT TO READ CAPACITY CMD
CALL IMM_RUNCMD ; RUN THE SCSI ENGINE
CALL Z,IMM_CHKCMD ; CHECK AND RECORD ANY ERRORS
RET NZ ; BAIL ON ON ERROR
RET NZ ; BAIL OUT ON ERROR
;
#IF (IMMTRACE >= 3)
PRTS("\r\nRDCAP:$")
LD A,8
LD DE,HB_WRKBUF
CALL PRTHEXBUF
Expand Down Expand Up @@ -1302,7 +1308,7 @@ IMM_ERR:
LD (IY+IMM_STAT),A ; SAVE NEW STATUS
;
IMM_ERR2:
#IF (IMMTRACE >= 1)
#IF (IMMTRACE >= 2)
CALL IMM_PRTSTAT
#ENDIF
OR A ; SET FLAGS
Expand Down
Loading

0 comments on commit 1333d6a

Please sign in to comment.