Browse Source

Miscellaneous

- Support RCBus PS/2 Keyboard (EtchedPixels & Sally)
- Added AT-3-8910 register spreadsheet (Martin R)
- Improved FD hardware detection to eliminate a false positive
- Reorder Boot Loader menu (Martin R)
- Minor enhancement to new usrrom.asm (Martin R)
pull/409/head v3.5.0-dev.47
Wayne Warthen 2 years ago
parent
commit
3eea703d02
  1. 1
      Doc/ChangeLog.txt
  2. BIN
      Doc/Contrib/AY-3-8910 Registers.xlsx
  3. BIN
      Doc/RomWBW Applications.pdf
  4. BIN
      Doc/RomWBW Disk Catalog.pdf
  5. BIN
      Doc/RomWBW Errata.pdf
  6. BIN
      Doc/RomWBW ROM Applications.pdf
  7. BIN
      Doc/RomWBW System Guide.pdf
  8. BIN
      Doc/RomWBW User Guide.pdf
  9. 2
      ReadMe.md
  10. 2
      ReadMe.txt
  11. 19
      Source/Apps/Test/ps2info/ps2info.asm
  12. 9
      Source/HBIOS/ay38910.asm
  13. 20
      Source/HBIOS/fd.asm
  14. 10
      Source/HBIOS/romldr.asm
  15. 4
      Source/HBIOS/tms.asm
  16. 17
      Source/HBIOS/usrrom.asm
  17. 2
      Source/ver.inc
  18. 2
      Source/ver.lib

1
Doc/ChangeLog.txt

@ -17,6 +17,7 @@ Version 3.5
- M?P: Reorganization of Doc directory introducing subfolders
- WBW: Upgraded BBCBASIC to v5.00
- W?S: Updated FLASH utility to v1.3.9
- WBW: Support RCBus PS/2 Keyboard (EP/Sally)
Version 3.4
-----------

BIN
Doc/Contrib/AY-3-8910 Registers.xlsx

Binary file not shown.

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 ROM Applications.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** \
Version 3.5 \
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
17 May 2024
04 Jun 2024
# Overview

2
ReadMe.txt

@ -1,6 +1,6 @@
RomWBW ReadMe
Wayne Warthen (wwarthen@gmail.com)
17 May 2024
04 Jun 2024

19
Source/Apps/Test/ps2info/ps2info.asm

@ -11,6 +11,7 @@
; WBW 2022-04-01: Add menu for test functions
; WBW 2022-04-02: Fix prtchr register saving/recovery
; WBW 2023-10-19: Add support for Duodyne
; WBW 2024-06-10: Add support for RC2014
;
;=======================================================================
;
@ -25,6 +26,10 @@ iodat_rph .equ $8C ; PS/2 controller data port address
; Duodyne:
iocmd_duo .equ $4D ; PS/2 controller command port address
iodat_duo .equ $4C ; PS/2 controller data port address
; RC2014 (EP/Sally)
iocmd_rc .equ $64 ; PS/2 controller command port address
iodat_rc .equ $60 ; PS/2 controller data port address
;
cpumhz .equ 8 ; for time delay calculations (not critical)
;
@ -87,6 +92,8 @@ setup1:
jr z,setup_rph
cp '3' ; Duodyne
jr z,setup_duo
cp '4' ; RC2014 EP/Sally
jr z,setup_rc
cp 'X'
jr z,exit
jr setup
@ -115,6 +122,14 @@ setup_duo:
ld de,str_duo
jr setup2
;
setup_rc:
ld a,iocmd_rc
ld (iocmd),a
ld a,iodat_rc
ld (iodat),a
ld de,str_rc
jr setup2
;
setup2:
call prtstr
call crlf2
@ -1437,16 +1452,18 @@ delay1:
; Constants
;=======================================================================
;
str_banner .db "PS/2 Keyboard/Mouse Information v0.8, 6-Nov-2023",0
str_banner .db "PS/2 Keyboard/Mouse Information v0.9, 10-Jun-2024",0
str_hwmenu .db "PS/2 Controller Port Options:\r\n\r\n"
.db " 1 - Nhyodyne\r\n"
.db " 2 - Rhyophyre\r\n"
.db " 3 - Duodyne\r\n"
.db " 4 - RC2014\r\n"
.db " X - Exit Application\r\n"
.db "\r\nSelection? ",0
str_mbc .db "Nhyodyne",0
str_rph .db "Rhyophyre",0
str_duo .db "Duodyne",0
str_rc .db "RC2014 (Saly)",0
str_menu .db "PS/2 Testing Options:\r\n\r\n"
.db " C - Test PS/2 Controller\r\n"
.db " K - Test PS/2 Keyboard\r\n"

9
Source/HBIOS/ay38910.asm

@ -19,6 +19,15 @@
; UNUSED BITS CAN BE READ BACK AND WRITTEN ON YM.
; VOLTAGE LEVEL OUTPUT ON A AY-3-8910 IS LOW AND AROUND 2V ON YM2149.
;
; THERE ARE TWO VARIANTS OF AY-3-8910 SOUND CARDS THAT HAVE BEEN
; PRODUCED FOR THE RCBUS. THE ONE PRODUCED BY ED BRINDLEY (EB) USES
; THE SAME PORT FOR REGISTER SELECT (RSEL) AND REGISTER IN (RIN).
; THE ONE PRODUCED BY MARTEN FELDTMANN (MF) USES THE PORT FOLLOWING
; REGISTER SELECT (RSEL) FOR THE REGISTER IN (RIN) PORT. THE FOLLOWING
; EQUATE MUST BE SET CORRECTLY FOR THE HARDWARE BEING USED. THIS
; HAS NOT BEEN MOVED TO A CONFIG VARIABLE BECAUSE THE MF MODULE IS
; RARELY ENCOUNTERED IN THE WILD.
;
AY_RCSND .EQU 0 ; 0 = EB MODULE, 1=MF MODULE
;
DEVECHO "AY38910: MODE="

20
Source/HBIOS/fd.asm

@ -894,11 +894,11 @@ FD_DETECT:
IN A,(FDC_MSR) ; ... AND REREAD THE STATUS
;CALL PC_SPACE ; *DEBUG*
;CALL PRTHEXBYTE ; *DEBUG*
;
FD_DETECT1:
CP $80 ; WE EXPECT $80
RET Z ; IF SO, ALL DONE
JR Z,FD_DETECT2 ; IF SO, CONTINUE CHECKING
;
; WE HAVE SEEN AN FDC THAT NEEDS A SECOND READ TO GET
; DESIRED VALUE, SO TRY ONE MORE TIME
CALL DLY32 ; WAIT A BIT
@ -906,7 +906,19 @@ FD_DETECT1:
;CALL PC_SPACE ; *DEBUG*
;CALL PRTHEXBYTE ; *DEBUG*
CP $80 ; CHECK FOR CORRECT VALUE
RET ; RETURN WITH ZF ACCORDING TO RESULT
RET NZ ; RETURN IF FAILED WITH ZF RESET
;
FD_DETECT2:
; AS A FINAL TEST, WE REREAD THE MSR USING A DIFFERENT
; OPCODE. THIS SHOULD ELIMINATE ANY FALSE POSITIVES FROM
; A FLOATING BUS.
CALL DLY32 ; WAIT A BIT
LD C,FDC_MSR ; POINT TO MSR PORT
IN A,(C) ; READ USING (C) FORM OF INPUT
;CALL PC_SPACE ; *DEBUG*
;CALL PRTHEXBYTE ; *DEBUG*
CP $80 ; CHECK FOR CORRECT VALUE
RET ; RETURN WITH ZF SET CORRECTLY
;
; UNIT INITIALIZATION
;

10
Source/HBIOS/romldr.asm

@ -2415,8 +2415,8 @@ ra_ent .equ 12
;
; Note: The loadable ROM images are placed in ROM banks BID_IMG0 and
; BID_IMG1. However, RomWBW supports a mechanism to load a complete
; new system dynamically as a runnable application (see appboot and
; imgboot in hbios.asm). In this case, the contents of BID_IMG0 will
; new system dynamically as a runnable application (see appboot
; in hbios.asm). In this case, the contents of BID_IMG0 will
; be pre-loaded into the currently executing ram bank thereby allowing
; those images to be dynamically loaded as well. To support this
; concept, a pseudo-bank called bid_cur is used to specify the images
@ -2436,14 +2436,13 @@ ra_entsiz .equ $ - ra_tbl
ra_ent(str_smon, 'S', $FF, bid_cur , $8000, $8000, $0001, s100mon)
#endif
#endif
ra_ent(str_zsys, 'Z', KY_FW, BID_IMG0, ZSYS_IMGLOC, CPM_LOC, CPM_SIZ, CPM_ENT)
ra_ent(str_cpm22, 'C', KY_BK, BID_IMG0, CPM_IMGLOC, CPM_LOC, CPM_SIZ, CPM_ENT)
ra_ent(str_zsys, 'Z', KY_FW, BID_IMG0, ZSYS_IMGLOC, CPM_LOC, CPM_SIZ, CPM_ENT)
#if (BIOS == BIOS_WBW)
ra_ent(str_fth, 'F', KY_EX, BID_IMG1, FTH_IMGLOC, FTH_LOC, FTH_SIZ, FTH_LOC)
ra_ent(str_bas, 'B', KY_DE, BID_IMG1, BAS_IMGLOC, BAS_LOC, BAS_SIZ, BAS_LOC)
ra_ent(str_tbas, 'T', KY_EN, BID_IMG1, TBC_IMGLOC, TBC_LOC, TBC_SIZ, TBC_LOC)
ra_ent(str_fth, 'F', KY_EX, BID_IMG1, FTH_IMGLOC, FTH_LOC, FTH_SIZ, FTH_LOC)
ra_ent(str_play, 'P', $FF, BID_IMG1, GAM_IMGLOC, GAM_LOC, GAM_SIZ, GAM_LOC)
ra_ent(str_egg, 'E'+$80, $FF, BID_IMG1, EGG_IMGLOC, EGG_LOC, EGG_SIZ, EGG_LOC)
ra_ent(str_net, 'N', $FF, BID_IMG1, NET_IMGLOC, NET_LOC, NET_SIZ, NET_LOC)
ra_ent(str_upd, 'X', $FF, BID_IMG1, UPD_IMGLOC, UPD_LOC, UPD_SIZ, UPD_LOC)
ra_ent(str_user, 'U', $FF, BID_IMG1, USR_IMGLOC, USR_LOC, USR_SIZ, USR_LOC)
@ -2451,6 +2450,7 @@ ra_ent(str_user, 'U', $FF, BID_IMG1, USR_IMGLOC, USR_LOC, USR_SIZ, USR_LO
#if (DSKYENABLE)
ra_ent(str_dsky, 'Y'+$80, KY_GO, BID_IMG0, MON_IMGLOC, MON_LOC, MON_SIZ, MON_DSKY)
#endif
ra_ent(str_egg, 'E'+$80, $FF, BID_IMG1, EGG_IMGLOC, EGG_LOC, EGG_SIZ, EGG_LOC)
.dw 0 ; table terminator
;
ra_tbl_app:

4
Source/HBIOS/tms.asm

@ -66,8 +66,8 @@ TMS_CMDREG .EQU $BF ; READ STATUS / WRITE REG SEL
#IF (TMSMODE == TMSMODE_MSXKBD)
TMS_DATREG .EQU $98 ; READ/WRITE DATA
TMS_CMDREG .EQU $99 ; READ STATUS / WRITE REG SEL
TMS_KBDDATA .EQU $E0 ; KBD CTLR DATA PORT
TMS_KBDST .EQU $E1 ; KBD CTLR STATUS/CMD PORT
TMS_KBDDATA .EQU $60 ; KBD CTLR DATA PORT
TMS_KBDST .EQU $64 ; KBD CTLR STATUS/CMD PORT
DEVECHO "MSXKBD"
#ENDIF
;

17
Source/HBIOS/usrrom.asm

@ -21,6 +21,13 @@
; HBIOS WARM RESET FUNCTION AS DEMONSTRATED BELOW.
; - THE APPLICATION MAY MAKE HBIOS FUNCTION CALLS WITHOUT RESTRICTION,
; BUT CANNOT USE ANY OS (CP/M) FUNCTIONS BECAUSE NO OS IS LOADED.
; - THE APPLICATION MAY NOT CHANGE THE INTERRUPT MODE (WHICH IS DEFINED
; IN THE ROM CONFIGURATION). THE SYSTEM'S INTERRUPT
; MODE CAN BE QUERIED BY AN HBIOS API CALL IF DESIRED.
; - THE APPLICATION MAY TEMPORARILY DISABLE INTERRUPTS BY BRACKETING
; SECTIONS OF CODE WITH DI/EI AS NEEDED. IF INTERRUPTS ARE
; TEMPORARILY DISABLED, THEY SHOULD NOT SHOULD NOT
; BE LEFT DISABLED ACROSS HBIOS API CALLS.
;
; INCLUDE STD.ASM WHICH DEFINES SOME KEY EQUATES USED BELOW. MOST
; IMPORTANT ARE USR_LOC, USR_SIZ, AND USR_END. IT ALSO DEFINES EQUATES
@ -33,8 +40,8 @@
CR .EQU 0DH
LF .EQU 0AH
;
ROWS .EQU 008H ; NUMBER OF PIXEL ROWS PER CHARACTER
COLS .EQU 008H ; NUMBER OF PIXEL COLUMNS PER CHARACTER
ROWS .EQU 8 ; NUMBER OF PIXEL ROWS PER CHARACTER
COLS .EQU 8 ; NUMBER OF PIXEL COLUMNS PER CHARACTER
;
; APPLICATION WILL WILL BE LOADED AT USR_LOC. THEREFORE, THE CODE
; MUST "ORG" AT THIS ADDRESS. TO CHANGE THE LOAD LOCATION OF THIS
@ -145,10 +152,10 @@ CIN: PUSH BC
; DATA SECTION
;
BANNER:
.DB 006H; THE NUMBER OF CHARACTERS IN THE BANNER
.DB 6 ; THE NUMBER OF CHARACTERS IN THE BANNER
;
#IF FALSE
; UPPER CASE LOGO
; UPPER CASE LOGO ("ROMWBW")
.DB %01111100, %00011100, %01000001, %01000001, %01111100, %01000001
.DB %01000010, %00100010, %01100011, %01000001, %01000010, %01000001
.DB %01000001, %01000001, %01010101, %01000001, %01000001, %01000001
@ -160,7 +167,7 @@ BANNER:
#ENDIF
;
#IF TRUE
; UPPER AND LOWER CASE LOGO
; UPPER AND LOWER CASE LOGO ("RomWBW")
.DB %00000000, %00000000, %00000000, %00000000, %00000000, %00000000
.DB %01111000, %00000000, %00000000, %01000100, %01111000, %01000100
.DB %01000100, %00000000, %00000000, %01000100, %01000100, %01000100

2
Source/ver.inc

@ -2,7 +2,7 @@
#DEFINE RMN 5
#DEFINE RUP 0
#DEFINE RTP 0
#DEFINE BIOSVER "3.5.0-dev.45"
#DEFINE BIOSVER "3.5.0-dev.47"
#define rmj RMJ
#define rmn RMN
#define rup RUP

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 5
rup equ 0
rtp equ 0
biosver macro
db "3.5.0-dev.45"
db "3.5.0-dev.47"
endm

Loading…
Cancel
Save