Browse Source

Merge branch 'master' into master

pull/464/head
Wayne Warthen 1 year ago
committed by GitHub
parent
commit
59a7b6c42d
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. BIN
      Doc/RomWBW Applications.pdf
  2. BIN
      Doc/RomWBW Disk Catalog.pdf
  3. BIN
      Doc/RomWBW Errata.pdf
  4. BIN
      Doc/RomWBW System Guide.pdf
  5. BIN
      Doc/RomWBW User Guide.pdf
  6. 2
      ReadMe.md
  7. 2
      ReadMe.txt
  8. 10
      Source/Doc/UserGuide.md
  9. 8
      Source/HBIOS/cvdu.asm
  10. 8
      Source/HBIOS/gdc.asm
  11. 11
      Source/HBIOS/hbios.asm
  12. 33
      Source/HBIOS/kbd.asm
  13. 2
      Source/HBIOS/ps2iface.inc
  14. 4
      Source/HBIOS/romldr.asm
  15. 8
      Source/HBIOS/tms.asm
  16. 8
      Source/HBIOS/vga.asm
  17. 8
      Source/HBIOS/vrc.asm

BIN
Doc/RomWBW Applications.pdf

Binary file not shown.

BIN
Doc/RomWBW Disk Catalog.pdf

Binary file not shown.

BIN
Doc/RomWBW Errata.pdf

Binary file not shown.

BIN
Doc/RomWBW System Guide.pdf

Binary file not shown.

BIN
Doc/RomWBW User Guide.pdf

Binary file not shown.

2
ReadMe.md

@ -3,7 +3,7 @@
**RomWBW ReadMe** \ **RomWBW ReadMe** \
Version 3.5 \ Version 3.5 \
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
05 Dec 2024
08 Dec 2024
# Overview # Overview

2
ReadMe.txt

@ -1,6 +1,6 @@
RomWBW ReadMe RomWBW ReadMe
Wayne Warthen (wwarthen@gmail.com) Wayne Warthen (wwarthen@gmail.com)
05 Dec 2024
08 Dec 2024

10
Source/Doc/UserGuide.md

@ -573,14 +573,15 @@ For example, typing `H<enter>` will display a short command summary:
Boot [H=Help]: h Boot [H=Help]: h
L - List ROM Applications L - List ROM Applications
D - Disk Device Inventory
D - Device Inventory
R - Reboot System R - Reboot System
I <u> [<c>] - Set Console Interface/Baud code
W - RomWBW Configure
I <u> [<c>] - Set Console Interface/Baud Rate
V [<n>] - View/Set HBIOS Diagnostic Verbosity V [<n>] - View/Set HBIOS Diagnostic Verbosity
<u>[.<s>] - Boot Disk Unit/Slice <u>[.<s>] - Boot Disk Unit/Slice
``` ```
Likewise the `L` command will display the list of ROM Applications that
Likewise the `L` command (List ROM Applications) will display the list of ROM Applications that
you can launch right from the Boot Loader: you can launch right from the Boot Loader:
``` ```
@ -600,6 +601,9 @@ ROM Applications:
U: User App U: User App
``` ```
A more complete description of these options is found below in
[System Management].
## Starting Applications from ROM ## Starting Applications from ROM
To start a ROM application you just enter the corresponding letter at To start a ROM application you just enter the corresponding letter at

8
Source/HBIOS/cvdu.asm

@ -921,11 +921,3 @@ CVDU_IDAT:
.DB KBDMODE_PS2 ; PS/2 8242 KEYBOARD CONTROLLER .DB KBDMODE_PS2 ; PS/2 8242 KEYBOARD CONTROLLER
.DB CVDU_KBDST .DB CVDU_KBDST
.DB CVDU_KBDDATA .DB CVDU_KBDDATA
;
; IF WE ARE USING PS2 INTERRUPTS, WE NEED TO PASS THE INSTANCE
; DATA POINTER TO PS2IFACE.INC VIA KBDIDAT FOR USE BY THE INTERRUPT
; HANDLER IN PS2IFACE.INC.
;
#IF (KBDINTS)
KBDIDAT .EQU CVDU_IDAT
#ENDIF

8
Source/HBIOS/gdc.asm

@ -350,11 +350,3 @@ GDC_IDAT:
.DB KBDMODE_PS2 ; PS/2 8242 KEYBOARD CONTROLLER .DB KBDMODE_PS2 ; PS/2 8242 KEYBOARD CONTROLLER
.DB GDC_KBDST .DB GDC_KBDST
.DB GDC_KBDDATA .DB GDC_KBDDATA
;
; IF WE ARE USING PS2 INTERRUPTS, WE NEED TO PASS THE INSTANCE
; DATA POINTER TO PS2IFACE.INC VIA KBDIDAT FOR USE BY THE INTERRUPT
; HANDLER IN PS2IFACE.INC.
;
#IF (KBDINTS)
KBDIDAT .EQU GDC_IDAT
#ENDIF

11
Source/HBIOS/hbios.asm

@ -3030,8 +3030,6 @@ HB_SPDTST:
;-------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------
; ENABLE INTERRUPTS ; ENABLE INTERRUPTS
;-------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------
;
;;;CALL HB_PREINT_HOOKS ; HACK TO ALLOW SOME DRIVERS TO DO PRE INTERRUPT STUFF
; ;
#IFDEF TESTING #IFDEF TESTING
; ;
@ -9374,15 +9372,6 @@ SIZ_EZ80DRVS .EQU $ - ORG_EZ80DRVS
MEMECHO "RTCDEF=" MEMECHO "RTCDEF="
MEMECHO RTCDEF MEMECHO RTCDEF
MEMECHO "\n" MEMECHO "\n"
;;;;
;;;; PRE-INTERRUPT HOOKS
;;;;
;;;HB_PREINT_HOOKS:
;;;;
;;;#IF (KBDENABLE)
;;; CALL KBD_PREINT_HOOK
;;;#ENDIF
;;; RET
; ;
HB_DRIVERS_END .EQU $ HB_DRIVERS_END .EQU $
; ;

33
Source/HBIOS/kbd.asm

@ -6,6 +6,16 @@
; ROMWBW ADAPTATION BY WAYNE WARTHEN ; ROMWBW ADAPTATION BY WAYNE WARTHEN
; INTERRUPT DRIVER ADDITION BY PHIL SUMMERS ; INTERRUPT DRIVER ADDITION BY PHIL SUMMERS
; ;
; THIS DRIVER IS INVOKED BY VIDEO DRIVERS AS NEEDED. WHEN INVOKED,
; THE VIDEO DRIVER IS RESPONSIBLE FOR SETTING IY TO THE INSTANCE
; DATA FOR IT'S INSTANCE OF THE KBD DRIVER. THIS ALLOWS THIS CODE
; TO BE REUSED BY MULTIPLE VIDEO DRIVERS USING MULTIPLE PS/2 KBD
; INTERFACES IN A SINGLE SYSTEM.
;
; WARNING: WHEN INTERRUPTS ARE ENABLED FOR THIS DRIVER (KBDINTS), IT IS
; *NOT* POSSIBLE TO HAVE MULTIPLE VIDEO DRIVERS USING THIS KBD DRIVER
; ACTIVELY IN A SYSTEM. THE USE OF INTERRUPTS IMPLIES ONLY ONE PS/2
; KBD INTERFACE CAN BE USED CONCURRENTLY.
; ;
; IN DEBUG MODE: ; IN DEBUG MODE:
; >>nn SHOWS HEX COMMAND nn BEING WRITTEN TO THE COMMAND PORT ; >>nn SHOWS HEX COMMAND nn BEING WRITTEN TO THE COMMAND PORT
@ -70,12 +80,22 @@ KBD_IDLE .DB 0 ; IDLE COUNT
;__________________________________________________________________________________________________ ;__________________________________________________________________________________________________
; ;
#INCLUDE "ps2iface.inc" #INCLUDE "ps2iface.inc"
;
;__________________________________________________________________________________________________
; KEYBOARD PRE-INITIALIZATION
;__________________________________________________________________________________________________
;
; TO BE CALLED PRIOR TO INITERRUPTS BEING ENABLED
; MUST BE CALLED FROM VIDEO DRIVER PREINIT WITH IY SET
; THIS PREVENTS INTRERRUPT ISSUES IF 8242 HAS INTERRUPTS ENABLED
;
; AT STARTUP. NOT USING IT FOR NOW BECAUSE IT IS NOT A PROBLEM IF
; YOU DON'T USE THE KEYBOARD DURING BOOT.
;
;;;KBD_PREINT:
;;;; ;;;;
;;;; HACK TO ENSURE PS/2 CONTROLLER INTERRUPTS ARE TURNED OFF!!!
;;;; ;;;;
;;;KBD_PREINT_HOOK:
;;;#IF (KBDINTS) ;;;#IF (KBDINTS)
;;; LD IY,KBDIDAT
;;; LD A,$60 ; SET COMMAND REGISTER ;;; LD A,$60 ; SET COMMAND REGISTER
;;; CALL KBD_PUTCMD ; SEND IT ;;; CALL KBD_PUTCMD ; SEND IT
;;; LD A,$20 ; XLAT DISABLED, MOUSE DISABLED, NO INTS ;;; LD A,$20 ; XLAT DISABLED, MOUSE DISABLED, NO INTS
@ -87,7 +107,7 @@ KBD_IDLE .DB 0 ; IDLE COUNT
;;; CALL KBD_IN_P ;;; CALL KBD_IN_P
;;; DJNZ KBD_PREINT_HOOK1 ;;; DJNZ KBD_PREINT_HOOK1
;;;#ENDIF ;;;#ENDIF
RET
;;; RET
; ;
;__________________________________________________________________________________________________ ;__________________________________________________________________________________________________
; KEYBOARD INITIALIZATION ; KEYBOARD INITIALIZATION
@ -127,6 +147,7 @@ KBD_INIT:
KBD_INIT1: KBD_INIT1:
#IF ((INTMODE == 2) & KBDINTS) #IF ((INTMODE == 2) & KBDINTS)
; CALL KBDQINIT ; INITIALIZE QUEUE ; CALL KBDQINIT ; INITIALIZE QUEUE
LD (KBD_IDAT),IY ; SAVE IY FOR INT HANDLER
LD HL,KBD_INT ; INSTALL VECTOR LD HL,KBD_INT ; INSTALL VECTOR
LD (IVT(INT_PS2KB)),HL ; IVT INDEX LD (IVT(INT_PS2KB)),HL ; IVT INDEX
#ENDIF #ENDIF
@ -770,6 +791,10 @@ KBD_STR_MODEPS2 .TEXT "PS2$"
KBD_STR_MODEVRC .TEXT "VRC$" KBD_STR_MODEVRC .TEXT "VRC$"
KBD_STR_MODEUNK .TEXT "???$" KBD_STR_MODEUNK .TEXT "???$"
; ;
#IF ((INTMODE == 2) & KBDINTS)
KBD_IDAT .DW 0 ; ADR OF INSTANCE DATA FOR INTS
#ENDIF
;
; ;
; ;
#IF (KBDKBLOUT == KBD_US) #IF (KBDKBLOUT == KBD_US)

2
Source/HBIOS/ps2iface.inc

@ -38,7 +38,7 @@ KBDQ .FILL KBDQSIZ,0 ; CIRCULAR KEYBOARD BUFFER ; BUFFERED. ONE KEY PRESS CAN
; ;
KBD_INT: KBD_INT:
; CALL KBDQDBG ; CALL KBDQDBG
LD IY,KBDIDAT ; POINT TO PORT TABLE
LD IY,(KBD_IDAT) ; POINT TO INSTANCE DATA
; ;
CALL KBD_IST_P ; READ CONTROLLER STATUS CALL KBD_IST_P ; READ CONTROLLER STATUS
RET Z ; EXIT IF NOTHINGTO READ RET Z ; EXIT IF NOTHINGTO READ

4
Source/HBIOS/romldr.asm

@ -905,7 +905,7 @@ setcon:
jp nz,err_invcmd ; abort on error jp nz,err_invcmd ; abort on error
; ;
ld a,d ; mask off current ld a,d ; mask off current
and $11100000 ; baud rate
and %11100000 ; baud rate
ld hl,newspeed ; and load in new ld hl,newspeed ; and load in new
or (hl) ; baud rate or (hl) ; baud rate
ld d,a ld d,a
@ -2496,7 +2496,7 @@ str_help .db "\r\n"
.db "\r\n R - Reboot System" .db "\r\n R - Reboot System"
#if (BIOS == BIOS_WBW) #if (BIOS == BIOS_WBW)
.db "\r\n W - RomWBW Configure" .db "\r\n W - RomWBW Configure"
.db "\r\n I <u> [<c>] - Set Console Interface/Baud code"
.db "\r\n I <u> [<c>] - Set Console Interface/Baud Rate"
.db "\r\n V [<n>] - View/Set HBIOS Diagnostic Verbosity" .db "\r\n V [<n>] - View/Set HBIOS Diagnostic Verbosity"
#endif #endif
.db "\r\n <u>[.<s>] - Boot Disk Unit/Slice" .db "\r\n <u>[.<s>] - Boot Disk Unit/Slice"

8
Source/HBIOS/tms.asm

@ -1189,14 +1189,6 @@ TMS_IDAT:
.DB TMS_DATREG .DB TMS_DATREG
.DB TMS_CMDREG .DB TMS_CMDREG
; ;
; IF WE ARE USING PS2 INTERRUPTS, WE NEED TO PASS THE INSTANCE
; DATA POINTER TO PS2IFACE.INC VIA KBDIDAT FOR USE BY THE INTERRUPT
; HANDLER IN PS2IFACE.INC.
;
#IF ((TMSKBD == TMSKBD_KBD) & KBDINTS)
KBDIDAT .EQU TMS_IDAT
#ENDIF
;
;================================================================================================== ;==================================================================================================
; TMS DRIVER - TMS9918 REGISTER INITIALIZATION ; TMS DRIVER - TMS9918 REGISTER INITIALIZATION
;================================================================================================== ;==================================================================================================

8
Source/HBIOS/vga.asm

@ -1056,11 +1056,3 @@ VGA_IDAT:
.DB KBDMODE_PS2 ; PS/2 8242 KEYBOARD CONTROLLER .DB KBDMODE_PS2 ; PS/2 8242 KEYBOARD CONTROLLER
.DB VGA_KBDST .DB VGA_KBDST
.DB VGA_KBDDATA .DB VGA_KBDDATA
;
; IF WE ARE USING PS2 INTERRUPTS, WE NEED TO PASS THE INSTANCE
; DATA POINTER TO PS2IFACE.INC VIA KBDIDAT FOR USE BY THE INTERRUPT
; HANDLER IN PS2IFACE.INC.
;
#IF (KBDINTS)
KBDIDAT .EQU VGA_IDAT
#ENDIF

8
Source/HBIOS/vrc.asm

@ -675,11 +675,3 @@ VRC_IDAT:
.DB KBDMODE_VRC ; VGARC KEYBOARD CONTROLLER .DB KBDMODE_VRC ; VGARC KEYBOARD CONTROLLER
.DB VRC_KBDST .DB VRC_KBDST
.DB VRC_KBDDATA .DB VRC_KBDDATA
;
; IF WE ARE USING PS2 INTERRUPTS, WE NEED TO PASS THE INSTANCE
; DATA POINTER TO PS2IFACE.INC VIA KBDIDAT FOR USE BY THE INTERRUPT
; HANDLER IN PS2IFACE.INC.
;
#IF (KBDINTS)
KBDIDAT .EQU VRC_IDAT
#ENDIF

Loading…
Cancel
Save