Browse Source

Documentation Updates Inspired by Martin R

- Implemented a crude mechanism to output config settings during a build which can be imported into the User Guide appendix.
pull/378/head v3.4.0-dev.26
Wayne Warthen 2 years ago
parent
commit
72cdbdd4ad
  1. BIN
      Doc/RomWBW Applications.pdf
  2. BIN
      Doc/RomWBW Disk Catalog.pdf
  3. BIN
      Doc/RomWBW Errata.pdf
  4. BIN
      Doc/RomWBW ROM Applications.pdf
  5. BIN
      Doc/RomWBW System Guide.pdf
  6. BIN
      Doc/RomWBW User Guide.pdf
  7. 2
      ReadMe.md
  8. 2
      ReadMe.txt
  9. 942
      Source/Doc/UserGuide.md
  10. 16
      Source/HBIOS/Build.cmd
  11. 14
      Source/HBIOS/acia.asm
  12. 27
      Source/HBIOS/asci.asm
  13. 19
      Source/HBIOS/ay38910.asm
  14. 4
      Source/HBIOS/bqrtc.asm
  15. 32
      Source/HBIOS/ch.asm
  16. 23
      Source/HBIOS/ctc.asm
  17. 11
      Source/HBIOS/cvdu.asm
  18. 14
      Source/HBIOS/dma.asm
  19. 6
      Source/HBIOS/ds1501rtc.asm
  20. 2
      Source/HBIOS/ds7rtc.asm
  21. 10
      Source/HBIOS/dsrtc.asm
  22. 16
      Source/HBIOS/duart.asm
  23. 11
      Source/HBIOS/esp.asm
  24. 63
      Source/HBIOS/fd.asm
  25. 17
      Source/HBIOS/gdc.asm
  26. 18
      Source/HBIOS/hbios.asm
  27. 6
      Source/HBIOS/hdsk.asm
  28. 126
      Source/HBIOS/ide.asm
  29. 22
      Source/HBIOS/imm.asm
  30. 2
      Source/HBIOS/intrtc.asm
  31. 2
      Source/HBIOS/kbd.asm
  32. 26
      Source/HBIOS/lpt.asm
  33. 4
      Source/HBIOS/md.asm
  34. 4
      Source/HBIOS/pcf.asm
  35. 16
      Source/HBIOS/pio.asm
  36. 4
      Source/HBIOS/pkd.asm
  37. 24
      Source/HBIOS/ppa.asm
  38. 30
      Source/HBIOS/ppide.asm
  39. 2
      Source/HBIOS/ppk.asm
  40. 8
      Source/HBIOS/ppp.asm
  41. 8
      Source/HBIOS/prp.asm
  42. 22
      Source/HBIOS/rf.asm
  43. 4
      Source/HBIOS/rp5rtc.asm
  44. 4
      Source/HBIOS/scon.asm
  45. 16
      Source/HBIOS/sd.asm
  46. 4
      Source/HBIOS/simrtc.asm
  47. 110
      Source/HBIOS/sio.asm
  48. 17
      Source/HBIOS/sn76489.asm
  49. 4
      Source/HBIOS/spk.asm
  50. 12
      Source/HBIOS/std.asm
  51. 22
      Source/HBIOS/syq.asm
  52. 23
      Source/HBIOS/tms.asm
  53. 61
      Source/HBIOS/uart.asm
  54. 4
      Source/HBIOS/uf.asm
  55. 6
      Source/HBIOS/vdu.asm
  56. 8
      Source/HBIOS/vga.asm
  57. 7
      Source/HBIOS/vrc.asm
  58. 4
      Source/HBIOS/ym2612.asm
  59. 9
      Source/HBIOS/z2u.asm
  60. 2
      Source/ver.inc
  61. 2
      Source/ver.lib

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** \ **RomWBW ReadMe** \
Version 3.4 \ Version 3.4 \
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
27 Nov 2023
29 Nov 2023
# Overview # Overview

2
ReadMe.txt

@ -1,6 +1,6 @@
RomWBW ReadMe RomWBW ReadMe
Wayne Warthen (wwarthen@gmail.com) Wayne Warthen (wwarthen@gmail.com)
27 Nov 2023
29 Nov 2023

942
Source/Doc/UserGuide.md

File diff suppressed because it is too large

16
Source/HBIOS/Build.cmd

@ -33,6 +33,16 @@ PowerShell -ExecutionPolicy Unrestricted .\Build.ps1 %* || exit /b
call build_env.cmd call build_env.cmd
::
:: Start of the actual build process for a given ROM.
::
echo.
echo ============================================================
echo %ROMName% for Z%CPUType% CPU
echo ============================================================
echo.
:: ::
:: Create a small app that is used to export key build variables of the build. :: Create a small app that is used to export key build variables of the build.
:: Then run the app to output a file with the variables. Finally, read the :: Then run the app to output a file with the variables. Finally, read the
@ -43,12 +53,6 @@ tasm -t80 -g3 -dCMD hbios_env.asm hbios_env.com hbios_env.lst || exit /b
zxcc hbios_env >hbios_env.cmd zxcc hbios_env >hbios_env.cmd
call hbios_env.cmd call hbios_env.cmd
::
:: Start of the actual build process for a given ROM.
::
echo Building %ROMSize%K ROM %ROMName% for Z%CPUType% CPU...
:: ::
:: UNA is a special case, check for it and jump if needed. :: UNA is a special case, check for it and jump if needed.
:: ::

14
Source/HBIOS/acia.asm

@ -717,6 +717,13 @@ ACIA0_CFG:
.DW ACIA0_INT ; INT HANDLER POINTER .DW ACIA0_INT ; INT HANDLER POINTER
.DW (ACIA0CLK / ACIA0DIV) & $FFFF ; CLOCK FREQ AS .DW (ACIA0CLK / ACIA0DIV) & $FFFF ; CLOCK FREQ AS
.DW (ACIA0CLK / ACIA0DIV) >> 16 ; ... DWORD VALUE .DW (ACIA0CLK / ACIA0DIV) >> 16 ; ... DWORD VALUE
;
.ECHO "ACIA: IO="
.ECHO ACIA0BASE
#IF (INTMODE == 1)
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
; ;
ACIA_CFGSIZ .EQU $ - ACIA_CFG ; SIZE OF ONE CFG TABLE ENTRY ACIA_CFGSIZ .EQU $ - ACIA_CFG ; SIZE OF ONE CFG TABLE ENTRY
; ;
@ -733,6 +740,13 @@ ACIA1_CFG:
.DW ACIA1_INT ; INT HANDLER POINTER .DW ACIA1_INT ; INT HANDLER POINTER
.DW (ACIA1CLK / ACIA1DIV) & $FFFF ; CLOCK FREQ AS .DW (ACIA1CLK / ACIA1DIV) & $FFFF ; CLOCK FREQ AS
.DW (ACIA1CLK / ACIA1DIV) >> 16 ; ... DWORD VALUE .DW (ACIA1CLK / ACIA1DIV) >> 16 ; ... DWORD VALUE
;
.ECHO "ACIA: IO="
.ECHO ACIA1BASE
#IF (INTMODE == 1)
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
; ;
#ENDIF #ENDIF
; ;

27
Source/HBIOS/asci.asm

@ -836,6 +836,13 @@ ASCI1_CFG:
.DB ASCI1_BASE ; BASE PORT .DB ASCI1_BASE ; BASE PORT
.DW ASCI1CFG ; LINE CONFIGURATION .DW ASCI1CFG ; LINE CONFIGURATION
.DW ASCI1_RCVBUF ; POINTER TO RCV BUFFER STRUCT .DW ASCI1_RCVBUF ; POINTER TO RCV BUFFER STRUCT
;
.ECHO "ASCI: IO="
.ECHO ASCI1_BASE
#IF ((ASCIINTS) & (INTMODE >0))
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
; ;
ASCI_CFGSIZ .EQU $ - ASCI_CFG ; SIZE OF ONE CFG TABLE ENTRY ASCI_CFGSIZ .EQU $ - ASCI_CFG ; SIZE OF ONE CFG TABLE ENTRY
; ;
@ -847,6 +854,13 @@ ASCI0_CFG:
.DB ASCI0_BASE ; BASE PORT .DB ASCI0_BASE ; BASE PORT
.DW ASCI0CFG ; LINE CONFIGURATION .DW ASCI0CFG ; LINE CONFIGURATION
.DW ASCI0_RCVBUF ; POINTER TO RCV BUFFER STRUCT .DW ASCI0_RCVBUF ; POINTER TO RCV BUFFER STRUCT
;
.ECHO "ASCI: IO="
.ECHO ASCI0_BASE
#IF ((ASCIINTS) & (INTMODE >0))
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
; ;
#ELSE #ELSE
; ;
@ -858,6 +872,13 @@ ASCI0_CFG:
.DB ASCI0_BASE ; BASE PORT .DB ASCI0_BASE ; BASE PORT
.DW ASCI0CFG ; LINE CONFIGURATION .DW ASCI0CFG ; LINE CONFIGURATION
.DW ASCI0_RCVBUF ; POINTER TO RCV BUFFER STRUCT .DW ASCI0_RCVBUF ; POINTER TO RCV BUFFER STRUCT
;
.ECHO "ASCI: IO="
.ECHO ASCI0_BASE
#IF ((ASCIINTS) & (INTMODE >0))
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
; ;
ASCI_CFGSIZ .EQU $ - ASCI_CFG ; SIZE OF ONE CFG TABLE ENTRY ASCI_CFGSIZ .EQU $ - ASCI_CFG ; SIZE OF ONE CFG TABLE ENTRY
; ;
@ -870,7 +891,13 @@ ASCI1_CFG:
.DW ASCI1CFG ; LINE CONFIGURATION .DW ASCI1CFG ; LINE CONFIGURATION
.DW ASCI1_RCVBUF ; POINTER TO RCV BUFFER STRUCT .DW ASCI1_RCVBUF ; POINTER TO RCV BUFFER STRUCT
; ;
.ECHO "ASCI: IO="
.ECHO ASCI1_BASE
#IF ((ASCIINTS) & (INTMODE > 0))
.ECHO ", INTERRUPTS ENABLED"
#ENDIF #ENDIF
.ECHO "\n"
; ;
#ENDIF
; ;
ASCI_CFGCNT .EQU ($ - ASCI_CFG) / ASCI_CFGSIZ ASCI_CFGCNT .EQU ($ - ASCI_CFG) / ASCI_CFGSIZ

19
Source/HBIOS/ay38910.asm

@ -19,12 +19,15 @@
; VOLTAGE LEVEL OUTPUT ON A AY-3-8910 IS LOW AND AROUND 2V ON YM2149. ; VOLTAGE LEVEL OUTPUT ON A AY-3-8910 IS LOW AND AROUND 2V ON YM2149.
; ;
AY_RCSND .EQU 0 ; 0 = EB MODULE, 1=MF MODULE AY_RCSND .EQU 0 ; 0 = EB MODULE, 1=MF MODULE
;
.ECHO "AY38910: MODE="
; ;
#IF (AYMODE == AYMODE_SCG) #IF (AYMODE == AYMODE_SCG)
AY_RSEL .EQU $9A AY_RSEL .EQU $9A
AY_RDAT .EQU $9B AY_RDAT .EQU $9B
AY_RIN .EQU AY_RSEL AY_RIN .EQU AY_RSEL
AY_ACR .EQU $9C AY_ACR .EQU $9C
.ECHO "SCG"
#ENDIF #ENDIF
; ;
#IF (AYMODE == AYMODE_N8) #IF (AYMODE == AYMODE_N8)
@ -32,30 +35,35 @@ AY_RSEL .EQU $9C
AY_RDAT .EQU $9D AY_RDAT .EQU $9D
AY_RIN .EQU AY_RSEL AY_RIN .EQU AY_RSEL
AY_ACR .EQU N8_DEFACR AY_ACR .EQU N8_DEFACR
.ECHO "N8"
#ENDIF #ENDIF
; ;
#IF (AYMODE == AYMODE_RCZ80) #IF (AYMODE == AYMODE_RCZ80)
AY_RSEL .EQU $D8 AY_RSEL .EQU $D8
AY_RDAT .EQU $D0 AY_RDAT .EQU $D0
AY_RIN .EQU AY_RSEL+AY_RCSND AY_RIN .EQU AY_RSEL+AY_RCSND
.ECHO "RCZ80"
#ENDIF #ENDIF
; ;
#IF (AYMODE == AYMODE_RCZ180) #IF (AYMODE == AYMODE_RCZ180)
AY_RSEL .EQU $68 AY_RSEL .EQU $68
AY_RDAT .EQU $60 AY_RDAT .EQU $60
AY_RIN .EQU AY_RSEL+AY_RCSND AY_RIN .EQU AY_RSEL+AY_RCSND
.ECHO "RCZ180"
#ENDIF #ENDIF
; ;
#IF (AYMODE == AYMODE_MSX) #IF (AYMODE == AYMODE_MSX)
AY_RSEL .EQU $A0 AY_RSEL .EQU $A0
AY_RDAT .EQU $A1 AY_RDAT .EQU $A1
AY_RIN .EQU $A2 AY_RIN .EQU $A2
.ECHO "MSX"
#ENDIF #ENDIF
; ;
#IF (AYMODE == AYMODE_LINC) #IF (AYMODE == AYMODE_LINC)
AY_RSEL .EQU $33 AY_RSEL .EQU $33
AY_RDAT .EQU $32 AY_RDAT .EQU $32
AY_RIN .EQU $32 AY_RIN .EQU $32
.ECHO "LINC"
#ENDIF #ENDIF
; ;
#IF (AYMODE == AYMODE_MBC) #IF (AYMODE == AYMODE_MBC)
@ -63,7 +71,14 @@ AY_RSEL .EQU $A0
AY_RDAT .EQU $A1 AY_RDAT .EQU $A1
AY_RIN .EQU AY_RSEL AY_RIN .EQU AY_RSEL
AY_ACR .EQU $A2 AY_ACR .EQU $A2
.ECHO "MBC"
#ENDIF #ENDIF
;
.ECHO ", IO="
.ECHO AY_RSEL
.ECHO ", CLOCK="
.ECHO AY_CLK
.ECHO " HZ\n"
; ;
;====================================================================== ;======================================================================
; ;
@ -107,10 +122,6 @@ AY_NOISECNT .EQU 1 ; COUNT NUMBER OF NOISE CHANNELS
;#ELSE ; PRESCALE THE TONE PERIOD ;#ELSE ; PRESCALE THE TONE PERIOD
;AY_SCALE .EQU 3 ; DATA TO MAINTAIN MAXIMUM ;AY_SCALE .EQU 3 ; DATA TO MAINTAIN MAXIMUM
;#ENDIF ; RANGE AND ACCURACY ;#ENDIF ; RANGE AND ACCURACY
;
.ECHO "AY38910 CLOCK: "
.ECHO AY_CLK
.ECHO "\n"
; ;
#INCLUDE "audio.inc" #INCLUDE "audio.inc"
; ;

4
Source/HBIOS/bqrtc.asm

@ -91,6 +91,10 @@ BQRTC_UTI .EQU %00001000
BQRTC_BUFSIZE .EQU 6 ; 6 BYTE BUFFER (YYMMDDHHMMSS) BQRTC_BUFSIZE .EQU 6 ; 6 BYTE BUFFER (YYMMDDHHMMSS)
.ECHO "BQRTC: IO="
.ECHO BQRTC_BASE
.ECHO "\n"
; RTC Device Initialization Entry ; RTC Device Initialization Entry
BQRTC_INIT: BQRTC_INIT:

32
Source/HBIOS/ch.asm

@ -102,6 +102,10 @@ CH_CFG0: ; DEVICE 0
.DW CHUSB_CFG0 ; USB SUB-DRIVER INIT ADR .DW CHUSB_CFG0 ; USB SUB-DRIVER INIT ADR
.DB CH0SDENABLE ; ENABLE SD CARD SUB-DRIVER .DB CH0SDENABLE ; ENABLE SD CARD SUB-DRIVER
.DW CHSD_CFG0 ; SD CARD SUB-DRIVER INIT ADR .DW CHSD_CFG0 ; SD CARD SUB-DRIVER INIT ADR
;
.ECHO "CH: IO="
.ECHO CH0BASE
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF (CHCNT >= 2) #IF (CHCNT >= 2)
@ -113,6 +117,10 @@ CH_CFG1: ; DEVICE 1
.DW CHUSB_CFG1 ; USB SUB-DRIVER INIT ADR .DW CHUSB_CFG1 ; USB SUB-DRIVER INIT ADR
.DB CH1SDENABLE ; ENABLE SD CARD SUB-DRIVER .DB CH1SDENABLE ; ENABLE SD CARD SUB-DRIVER
.DW CHSD_CFG1 ; SD CARD SUB-DRIVER INIT ADR .DW CHSD_CFG1 ; SD CARD SUB-DRIVER INIT ADR
;
.ECHO "CH: IO="
.ECHO CH1BASE
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF ($ - CH_CFGTBL) != (CHCNT * CH_CFGSIZ) #IF ($ - CH_CFGTBL) != (CHCNT * CH_CFGSIZ)
@ -451,6 +459,12 @@ CHUSB_CFG0:
.DB 0 ; DEVICE STATUS .DB 0 ; DEVICE STATUS
.DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; DEVICE CAPACITY
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
;
#IF (CH0USBENABLE)
.ECHO "CHUSB: IO="
.ECHO CH0BASE
.ECHO "\n"
#ENDIF
#ENDIF #ENDIF
; ;
#IF (CHCNT >= 2) #IF (CHCNT >= 2)
@ -461,6 +475,12 @@ CHUSB_CFG1:
.DB 0 ; DEVICE STATUS .DB 0 ; DEVICE STATUS
.DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; DEVICE CAPACITY
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
;
#IF (CH1USBENABLE)
.ECHO "CHUSB: IO="
.ECHO CH1BASE
.ECHO "\n"
#ENDIF
#ENDIF #ENDIF
; ;
#IF ($ - CHUSB_CFGTBL) != (CHCNT * CHUSB_CFGSIZ) #IF ($ - CHUSB_CFGTBL) != (CHCNT * CHUSB_CFGSIZ)
@ -1203,6 +1223,12 @@ CHSD_CFG0:
.DB 0 ; DEVICE STATUS .DB 0 ; DEVICE STATUS
.DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; DEVICE CAPACITY
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
;
#IF (CH0SDENABLE)
.ECHO "CHSD: IO="
.ECHO CH0BASE
.ECHO "\n"
#ENDIF
#ENDIF #ENDIF
; ;
#IF (CHCNT >= 2) #IF (CHCNT >= 2)
@ -1213,6 +1239,12 @@ CHSD_CFG1:
.DB 0 ; DEVICE STATUS .DB 0 ; DEVICE STATUS
.DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; DEVICE CAPACITY
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
;
#IF (CH1SDENABLE)
.ECHO "CHSD: IO="
.ECHO CH1BASE
.ECHO "\n"
#ENDIF
#ENDIF #ENDIF
; ;
#IF ($ - CHSD_CFGTBL) != (CHCNT * CHSD_CFGSIZ) #IF ($ - CHSD_CFGTBL) != (CHCNT * CHSD_CFGSIZ)

23
Source/HBIOS/ctc.asm

@ -28,6 +28,8 @@ CTC_TIM256CFG .EQU %00110111 ; CTC TIMER/256 MODE CONFIG
#IF (CTCTIMER & (INTMODE != 2)) #IF (CTCTIMER & (INTMODE != 2))
.ECHO "*** WARNING: CTC TIMER DISABLED -- INTMODE 2 REQUIRED!!!\n" .ECHO "*** WARNING: CTC TIMER DISABLED -- INTMODE 2 REQUIRED!!!\n"
#ENDIF #ENDIF
.ECHO "CTC: IO="
.ECHO CTCBASE
; ;
#IF (CTCTIMER & (INTMODE == 2)) #IF (CTCTIMER & (INTMODE == 2))
; ;
@ -109,13 +111,24 @@ CTC_DIV .EQU CTCOSC / CTC_PRESCL / TICKFREQ
CTC_DIVHI .EQU CTCPRE CTC_DIVHI .EQU CTCPRE
CTC_DIVLO .EQU (CTC_DIV / CTC_DIVHI) CTC_DIVLO .EQU (CTC_DIV / CTC_DIVHI)
; ;
.ECHO "CTC DIVISOR: "
.ECHO ", TIMER MODE="
#IF (CTCMODE == CTCMODE_CTR)
.ECHO "COUNTER"
#ENDIF
#IF (CTCMODE == CTCMODE_TIM16)
.ECHO "TIMER/16"
#ENDIF
#IF (CTCMODE == CTCMODE_TIM256)
.ECHO "TIMER/256"
#ENDIF
.ECHO ", DIVISOR="
.ECHO CTC_DIV .ECHO CTC_DIV
.ECHO ", HI: "
.ECHO ", HI="
.ECHO CTC_DIVHI .ECHO CTC_DIVHI
.ECHO ", LO: "
.ECHO ", LO="
.ECHO CTC_DIVLO .ECHO CTC_DIVLO
.ECHO "\n"
.ECHO ", INTERRUPTS ENABLED"
; ;
#IF ((CTC_DIV == 0) | (CTC_DIV > $FFFF)) #IF ((CTC_DIV == 0) | (CTC_DIV > $FFFF))
.ECHO "COMPUTED CTC DIVISOR IS UNUSABLE!\n" .ECHO "COMPUTED CTC DIVISOR IS UNUSABLE!\n"
@ -134,6 +147,8 @@ CTC_DIVLO .EQU (CTC_DIV / CTC_DIVHI)
CTCTIVT .EQU INT_CTC0A + CTCTIMCH CTCTIVT .EQU INT_CTC0A + CTCTIMCH
; ;
#ENDIF #ENDIF
;
.ECHO "\n"
; ;
;================================================================================================== ;==================================================================================================
; CTC PRE-INITIALIZATION ; CTC PRE-INITIALIZATION

11
Source/HBIOS/cvdu.asm

@ -17,6 +17,8 @@
;====================================================================== ;======================================================================
; ;
CVDU_BASE .EQU $E0 CVDU_BASE .EQU $E0
;
.ECHO "CVDU: MODE="
; ;
#IF (CVDUMODE == CVDUMODE_ECB) #IF (CVDUMODE == CVDUMODE_ECB)
CVDU_KBDDATA .EQU CVDU_BASE + $02 ; KBD CTLR DATA PORT CVDU_KBDDATA .EQU CVDU_BASE + $02 ; KBD CTLR DATA PORT
@ -24,6 +26,7 @@ CVDU_KBDST .EQU CVDU_BASE + $0A ; KBD CTLR STATUS/CMD PORT
CVDU_STAT .EQU CVDU_BASE + $04 ; READ M8563 STATUS CVDU_STAT .EQU CVDU_BASE + $04 ; READ M8563 STATUS
CVDU_REG .EQU CVDU_BASE + $04 ; SELECT M8563 REGISTER CVDU_REG .EQU CVDU_BASE + $04 ; SELECT M8563 REGISTER
CVDU_DATA .EQU CVDU_BASE + $0C ; READ/WRITE M8563 DATA CVDU_DATA .EQU CVDU_BASE + $0C ; READ/WRITE M8563 DATA
.ECHO "ECB"
#ENDIF #ENDIF
; ;
#IF (CVDUMODE == CVDUMODE_MBC) #IF (CVDUMODE == CVDUMODE_MBC)
@ -32,7 +35,15 @@ CVDU_KBDST .EQU CVDU_BASE + $03 ; KBD CTLR STATUS/CMD PORT
CVDU_STAT .EQU CVDU_BASE + $04 ; READ M8563 STATUS CVDU_STAT .EQU CVDU_BASE + $04 ; READ M8563 STATUS
CVDU_REG .EQU CVDU_BASE + $04 ; SELECT M8563 REGISTER CVDU_REG .EQU CVDU_BASE + $04 ; SELECT M8563 REGISTER
CVDU_DATA .EQU CVDU_BASE + $05 ; READ/WRITE M8563 DATA CVDU_DATA .EQU CVDU_BASE + $05 ; READ/WRITE M8563 DATA
.ECHO "MBC"
#ENDIF #ENDIF
;
.ECHO ", IO="
.ECHO CVDU_BASE
.ECHO ", KBD MODE=PS/2"
.ECHO ", KBD IO="
.ECHO CVDU_KBDDATA
.ECHO "\n"
; ;
CVDU_ROWS .EQU 25 CVDU_ROWS .EQU 25
CVDU_COLS .EQU 80 CVDU_COLS .EQU 80

14
Source/HBIOS/dma.asm

@ -2,17 +2,31 @@
; Z80 DMA DRIVER ; Z80 DMA DRIVER
;================================================================================================== ;==================================================================================================
; ;
;
.ECHO "DMA: MODE="
;
#IF ((DMAMODE == DMAMODE_ECB) | (DMAMODE == DMAMODE_MBC)) #IF ((DMAMODE == DMAMODE_ECB) | (DMAMODE == DMAMODE_MBC))
DMA_IO .EQU DMABASE DMA_IO .EQU DMABASE
DMA_CTL .EQU DMABASE + 1 DMA_CTL .EQU DMABASE + 1
DMA_USEHALF .EQU TRUE DMA_USEHALF .EQU TRUE
#IF (DMAMODE == DMAMODE_ECB)
.ECHO "ECB"
#ENDIF
#IF (DMAMODE == DMAMODE_MBC)
.ECHO "MBC"
#ENDIF
#ENDIF #ENDIF
; ;
#IF (DMAMODE == DMAMODE_DUO) #IF (DMAMODE == DMAMODE_DUO)
DMA_IO .EQU DMABASE DMA_IO .EQU DMABASE
DMA_CTL .EQU DMABASE + 3 DMA_CTL .EQU DMABASE + 3
DMA_USEHALF .EQU FALSE DMA_USEHALF .EQU FALSE
.ECHO "DUO"
#ENDIF #ENDIF
;S
.ECHO ", IO="
.ECHO DMA_IO
.ECHO "\n"
; ;
DMA_CONTINUOUS .equ %10111101 ; + Pulse DMA_CONTINUOUS .equ %10111101 ; + Pulse
DMA_BYTE .equ %10011101 ; + Pulse DMA_BYTE .equ %10011101 ; + Pulse

6
Source/HBIOS/ds1501rtc.asm

@ -111,6 +111,12 @@ DS1501RTC_TE .EQU %10000000
DS1501RTC_BUFSIZE .EQU 6 ; 6 BYTE BUFFER (YYMMDDHHMMSS) DS1501RTC_BUFSIZE .EQU 6 ; 6 BYTE BUFFER (YYMMDDHHMMSS)
.ECHO "DS1501RTC: RTCIO="
.ECHO DS1501RTC_BASE
.ECHO ", NVMIO="
.ECHO DS1501NVM_BASE
.ECHO "\n"
; RTC Device Initialization Entry ; RTC Device Initialization Entry
DS1501RTC_INIT: DS1501RTC_INIT:

2
Source/HBIOS/ds7rtc.asm

@ -22,6 +22,8 @@ DS7_READ .EQU (DS7_DS1307 | DS7_R) ; READ
DS7_WRITE .EQU (DS7_DS1307 | DS7_W) ; WRITE DS7_WRITE .EQU (DS7_DS1307 | DS7_W) ; WRITE
; ;
DS7_CTL .EQU (DS7_OUT | DS7_SQWE | DS7_RATE) DS7_CTL .EQU (DS7_OUT | DS7_SQWE | DS7_RATE)
;
.ECHO "DS1307: ENABLED\n"
; ;
;----------------------------------------------------------------------------- ;-----------------------------------------------------------------------------
; DS1307 INITIALIZATION ; DS1307 INITIALIZATION

10
Source/HBIOS/dsrtc.asm

@ -88,6 +88,8 @@
; D2 -- -- -- -- -- -- -- -- -- -- -- ; D2 -- -- -- -- -- -- -- -- -- -- --
; D1 ---- -- -- -- -- -- -- -- -- CLKSEL -- ; D1 ---- -- -- -- -- -- -- -- -- CLKSEL --
; D0 RTC_IN RTC_IN RTC_IN RTC_IN RTC_IN RTC_IN -- -- RTC_IN RTC_IN RTC_IN ; D0 RTC_IN RTC_IN RTC_IN RTC_IN RTC_IN RTC_IN -- -- RTC_IN RTC_IN RTC_IN
;
.ECHO "DSRTC: MODE="
; ;
#IF (DSRTCMODE == DSRTCMODE_STD) #IF (DSRTCMODE == DSRTCMODE_STD)
; ;
@ -113,6 +115,8 @@ DS1d8k .EQU %10100111 ; 1 DOIDE 8K RESISTOR
DS2d2k .EQU %10101001 ; 2 DIODES 2K RESISTOR DS2d2k .EQU %10101001 ; 2 DIODES 2K RESISTOR
DS2d4k .EQU %10101010 ; 2 DIODES 4K RESISTOR DS2d4k .EQU %10101010 ; 2 DIODES 4K RESISTOR
DS2d8k .EQU %10101011 ; 2 DIODES 8K RESISTOR DS2d8k .EQU %10101011 ; 2 DIODES 8K RESISTOR
;
.ECHO "STD"
; ;
#ENDIF #ENDIF
; ;
@ -129,8 +133,14 @@ DSRTC_MASK .EQU %00001111 ; MASK FOR BITS WE OWN IN RTC LATCH PORT
DSRTC_IDLE .EQU %00001000 ; QUIESCENT STATE DSRTC_IDLE .EQU %00001000 ; QUIESCENT STATE
; ;
#DEFINE DSRTC_OPRVAL DSRTC_RTCVAL #DEFINE DSRTC_OPRVAL DSRTC_RTCVAL
;
.ECHO "MFPIC"
; ;
#ENDIF #ENDIF
;
.ECHO ", IO="
.ECHO DSRTC_IO
.ECHO "\n"
; ;
DSRTC_BUFSIZ .EQU 7 ; 7 BYTE BUFFER (YYMMDDHHMMSSWW) DSRTC_BUFSIZ .EQU 7 ; 7 BYTE BUFFER (YYMMDDHHMMSSWW)
; ;

16
Source/HBIOS/duart.asm

@ -822,6 +822,10 @@ DUART0A_CFG:
.DW DUART0_ACR ; IY+6 POINTER TO SHADOW ACR FOR THIS CHIP .DW DUART0_ACR ; IY+6 POINTER TO SHADOW ACR FOR THIS CHIP
.DW DUART0ACFG ; IY+8 LINE CONFIGURATION .DW DUART0ACFG ; IY+8 LINE CONFIGURATION
.DB 1 ; IY+10 MULTIPLIER WRT 3.6864MHZ CLOCK .DB 1 ; IY+10 MULTIPLIER WRT 3.6864MHZ CLOCK
;
.ECHO "DUART: IO="
.ECHO DUART0BASE + $00
.ECHO ", CHANNEL A\n"
; ;
DUART_CFGSIZ .EQU $ - DUART_CFG ; SIZE OF ONE CFG TABLE ENTRY DUART_CFGSIZ .EQU $ - DUART_CFG ; SIZE OF ONE CFG TABLE ENTRY
; ;
@ -835,6 +839,10 @@ DUART0B_CFG:
.DW DUART0_ACR ; POINTER TO SHADOW ACR FOR THIS CHIP .DW DUART0_ACR ; POINTER TO SHADOW ACR FOR THIS CHIP
.DW DUART0BCFG ; LINE CONFIGURATION .DW DUART0BCFG ; LINE CONFIGURATION
.DB 1 ; MULTIPLIER WRT 3.6864MHZ CLOCK .DB 1 ; MULTIPLIER WRT 3.6864MHZ CLOCK
;
.ECHO "DUART: IO="
.ECHO DUART0BASE + $08
.ECHO ", CHANNEL B\n"
; ;
#IF (DUARTCNT >= 2) #IF (DUARTCNT >= 2)
; ;
@ -848,6 +856,10 @@ DUART1A_CFG:
.DW DUART1_ACR ; POINTER TO SHADOW ACR FOR THIS CHIP .DW DUART1_ACR ; POINTER TO SHADOW ACR FOR THIS CHIP
.DW DUART1ACFG ; LINE CONFIGURATION .DW DUART1ACFG ; LINE CONFIGURATION
.DB 1 ; MULTIPLIER WRT 3.6864MHZ CLOCK .DB 1 ; MULTIPLIER WRT 3.6864MHZ CLOCK
;
.ECHO "DUART: IO="
.ECHO DUART1BASE + $00
.ECHO ", CHANNEL A\n"
; ;
DUART1B_CFG: DUART1B_CFG:
; 2ND DUART MODULE CHANNEL B ; 2ND DUART MODULE CHANNEL B
@ -859,6 +871,10 @@ DUART1B_CFG:
.DW DUART1_ACR ; POINTER TO SHADOW ACR FOR THIS CHIP .DW DUART1_ACR ; POINTER TO SHADOW ACR FOR THIS CHIP
.DW DUART1BCFG ; LINE CONFIGURATION .DW DUART1BCFG ; LINE CONFIGURATION
.DB 1 ; MULTIPLIER WRT 3.6864MHZ CLOCK .DB 1 ; MULTIPLIER WRT 3.6864MHZ CLOCK
;
.ECHO "DUART: IO="
.ECHO DUART1BASE + $08
.ECHO ", CHANNEL B\n"
; ;
#ENDIF #ENDIF
; ;

11
Source/HBIOS/esp.asm

@ -53,6 +53,10 @@ ESP_CFG_IO .EQU 1 ; ESP I/O PORT
ESP_CFG_ST .EQU 2 ; ESP STATUS PORT ESP_CFG_ST .EQU 2 ; ESP STATUS PORT
ESP_CFG_RDYMSK .EQU 3 ; ESP READY MASK ESP_CFG_RDYMSK .EQU 3 ; ESP READY MASK
ESP_CFG_BSYMSK .EQU 4 ; ESP BUSY MASK ESP_CFG_BSYMSK .EQU 4 ; ESP BUSY MASK
;
.ECHO "ESP: IO="
.ECHO ESP_IOBASE
.ECHO "\n"
; ;
; GLOBAL ESP INITIALIZATION ; GLOBAL ESP INITIALIZATION
; ;
@ -343,6 +347,8 @@ ESP_STR_UPGRADE .TEXT "!!!UPGRADE REQUIRED!!!$"
; ;
ESPCON_ROWS .EQU 25 ; VGA DISPLAY ROWS ESPCON_ROWS .EQU 25 ; VGA DISPLAY ROWS
ESPCON_COLS .EQU 80 ; VGA DISPLAY COLS ESPCON_COLS .EQU 80 ; VGA DISPLAY COLS
;
.ECHO "ESPCON: ENABLED\n"
; ;
; ;
; ;
@ -685,7 +691,8 @@ ESPSER0_CFG:
.DB ESP_0_RDY ; ESP READY BIT MASK .DB ESP_0_RDY ; ESP READY BIT MASK
.DB ESP_0_BUSY ; ESP BUSY BIT MASK .DB ESP_0_BUSY ; ESP BUSY BIT MASK
.DW ESPSER_LINECFG ; LINE CONFIGURATION .DW ESPSER_LINECFG ; LINE CONFIGURATION
;
.ECHO "ESPSER: DEVICE=0\n"
; ;
ESPSER1_CFG: ESPSER1_CFG:
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
@ -694,6 +701,8 @@ ESPSER1_CFG:
.DB ESP_1_RDY ; ESP READY BIT MASK .DB ESP_1_RDY ; ESP READY BIT MASK
.DB ESP_1_BUSY ; ESP BUSY BIT MASK .DB ESP_1_BUSY ; ESP BUSY BIT MASK
.DW ESPSER_LINECFG ; LINE CONFIGURATION .DW ESPSER_LINECFG ; LINE CONFIGURATION
;
.ECHO "ESPSER: DEVICE=1\n"
; ;
; ;
; ;

63
Source/HBIOS/fd.asm

@ -14,6 +14,7 @@ FDC_DATA .EQU $37 ; 8272 DATA PORT
FDC_DIR .EQU $38 ; DATA INPUT REGISTER FDC_DIR .EQU $38 ; DATA INPUT REGISTER
FDC_DOR .EQU $3A ; DIGITAL OUTPUT REGISTER (LATCH) FDC_DOR .EQU $3A ; DIGITAL OUTPUT REGISTER (LATCH)
FDC_DMA .EQU $3C ; PSEUDO DMA DATA PORT FDC_DMA .EQU $3C ; PSEUDO DMA DATA PORT
#DEFINE FDMODE_STR "DIO"
#ENDIF #ENDIF
#IF (FDMODE = FDMODE_ZETA2) #IF (FDMODE = FDMODE_ZETA2)
FDC_MSR .EQU $30 ; 8272 MAIN STATUS REGISTER FDC_MSR .EQU $30 ; 8272 MAIN STATUS REGISTER
@ -21,6 +22,7 @@ FDC_DATA .EQU $31 ; 8272 DATA PORT
FDC_DOR .EQU $38 ; DIGITAL OUTPUT REGISTER FDC_DOR .EQU $38 ; DIGITAL OUTPUT REGISTER
FDC_DCR .EQU $28 ; CONFIGURATION CONTROL REGISTER FDC_DCR .EQU $28 ; CONFIGURATION CONTROL REGISTER
FDC_TC .EQU $38 ; TERMINAL COUNT (W/ DACK) FDC_TC .EQU $38 ; TERMINAL COUNT (W/ DACK)
#DEFINE FDMODE_STR "ZETA2"
#ENDIF #ENDIF
#IF (FDMODE == FDMODE_DIDE) #IF (FDMODE == FDMODE_DIDE)
FDC_BID .EQU $20 ; IO RANGE 20H-3FH FDC_BID .EQU $20 ; IO RANGE 20H-3FH
@ -31,6 +33,7 @@ FDC_DCR .EQU $2D ; DCR
FDC_DACK .EQU $3C ; DACK FDC_DACK .EQU $3C ; DACK
FDC_TC .EQU $3D ; TERMINAL COUNT (W/ DACK) FDC_TC .EQU $3D ; TERMINAL COUNT (W/ DACK)
FDC_DMA .EQU $3C ; NOT USED BY DIDE FDC_DMA .EQU $3C ; NOT USED BY DIDE
#DEFINE FDMODE_STR "DIDE"
#ENDIF #ENDIF
#IF (FDMODE == FDMODE_N8) #IF (FDMODE == FDMODE_N8)
FDC_MSR .EQU $8C ; 8272 MAIN STATUS REGISTER FDC_MSR .EQU $8C ; 8272 MAIN STATUS REGISTER
@ -40,11 +43,13 @@ FDC_DCR .EQU $91 ; DCR
FDC_DACK .EQU $90 ; DACK FDC_DACK .EQU $90 ; DACK
FDC_TC .EQU $93 ; TERMINAL COUNT (W/ DACK) FDC_TC .EQU $93 ; TERMINAL COUNT (W/ DACK)
FDC_DMA .EQU $3C ; NOT USED BY N8 FDC_DMA .EQU $3C ; NOT USED BY N8
#DEFINE FDMODE_STR "N8"
#ENDIF #ENDIF
#IF (FDMODE == FDMODE_RCSMC) #IF (FDMODE == FDMODE_RCSMC)
FDC_MSR .EQU $50 ; 8272 MAIN STATUS REGISTER FDC_MSR .EQU $50 ; 8272 MAIN STATUS REGISTER
FDC_DATA .EQU $51 ; 8272 DATA PORT FDC_DATA .EQU $51 ; 8272 DATA PORT
FDC_DOR .EQU $58 ; DIGITAL OUTPUT REGISTER (LATCH) FDC_DOR .EQU $58 ; DIGITAL OUTPUT REGISTER (LATCH)
#DEFINE FDMODE_STR "RCSMC"
#ENDIF #ENDIF
#IF (FDMODE == FDMODE_RCWDC) #IF (FDMODE == FDMODE_RCWDC)
FDC_MSR .EQU $50 ; 8272 MAIN STATUS REGISTER FDC_MSR .EQU $50 ; 8272 MAIN STATUS REGISTER
@ -52,6 +57,7 @@ FDC_DATA .EQU $51 ; 8272 DATA PORT
FDC_DOR .EQU $58 ; DIGITAL OUTPUT REGISTER FDC_DOR .EQU $58 ; DIGITAL OUTPUT REGISTER
FDC_DCR .EQU $48 ; CONFIGURATION CONTROL REGISTER FDC_DCR .EQU $48 ; CONFIGURATION CONTROL REGISTER
FDC_TC .EQU $58 ; TERMINAL COUNT (W/ DACK) FDC_TC .EQU $58 ; TERMINAL COUNT (W/ DACK)
#DEFINE FDMODE_STR "RCWDC"
#ENDIF #ENDIF
#IF (FDMODE == FDMODE_DYNO) #IF (FDMODE == FDMODE_DYNO)
FDC_BASE .EQU $84 FDC_BASE .EQU $84
@ -60,6 +66,7 @@ FDC_DATA .EQU FDC_BASE + $01 ; 8272 DATA PORT
FDC_DOR .EQU FDC_BASE + $02 ; DIGITAL OUTPUT REGISTER FDC_DOR .EQU FDC_BASE + $02 ; DIGITAL OUTPUT REGISTER
FDC_DCR .EQU FDC_BASE + $03 ; CONFIGURATION CONTROL REGISTER FDC_DCR .EQU FDC_BASE + $03 ; CONFIGURATION CONTROL REGISTER
FDC_TC .EQU FDC_BASE + $02 ; TERMINAL COUNT (W/ DACK) FDC_TC .EQU FDC_BASE + $02 ; TERMINAL COUNT (W/ DACK)
#DEFINE FDMODE_STR "DYNO"
#ENDIF #ENDIF
#IF (FDMODE == FDMODE_EPFDC) #IF (FDMODE == FDMODE_EPFDC)
FDC_MSR .EQU $48 ; 8272 MAIN STATUS REGISTER FDC_MSR .EQU $48 ; 8272 MAIN STATUS REGISTER
@ -67,6 +74,7 @@ FDC_DATA .EQU $49 ; 8272 DATA PORT
FDC_DOR .EQU $4A ; DIGITAL OUTPUT REGISTER FDC_DOR .EQU $4A ; DIGITAL OUTPUT REGISTER
FDC_DCR .EQU $4B ; CONFIGURATION CONTROL REGISTER FDC_DCR .EQU $4B ; CONFIGURATION CONTROL REGISTER
FDC_TC .EQU $4C ; TERMINAL COUNT (W/ DACK) FDC_TC .EQU $4C ; TERMINAL COUNT (W/ DACK)
#DEFINE FDMODE_STR "EPFDC"
#ENDIF #ENDIF
#IF (FDMODE == FDMODE_MBC) #IF (FDMODE == FDMODE_MBC)
FDC_MSR .EQU $30 ; 8272 MAIN STATUS REGISTER FDC_MSR .EQU $30 ; 8272 MAIN STATUS REGISTER
@ -74,8 +82,10 @@ FDC_DATA .EQU $31 ; 8272 DATA PORT
FDC_DOR .EQU $36 ; DIGITAL OUTPUT REGISTER FDC_DOR .EQU $36 ; DIGITAL OUTPUT REGISTER
FDC_DCR .EQU $35 ; CONFIGURATION CONTROL REGISTER FDC_DCR .EQU $35 ; CONFIGURATION CONTROL REGISTER
FDC_TC .EQU $37 ; TERMINAL COUNT (W/ DACK) FDC_TC .EQU $37 ; TERMINAL COUNT (W/ DACK)
#DEFINE FDMODE_STR "MBC"
#ENDIF #ENDIF
; ;
;
; DISK OPERATIONS ; DISK OPERATIONS
; ;
DOP_READ .EQU 0 ; READ OPERATION DOP_READ .EQU 0 ; READ OPERATION
@ -133,6 +143,33 @@ FD_CFGTBL:
.DB 0 ; HOST SECTOR .DB 0 ; HOST SECTOR
.DB 0 ; HOST HEAD .DB 0 ; HOST HEAD
.DB FD0TYPE ; DRIVE TYPE .DB FD0TYPE ; DRIVE TYPE
;
.ECHO "FD: MODE="
.ECHO FDMODE_STR
.ECHO ", IO="
.ECHO FDC_MSR
.ECHO ", DRIVE 0"
.ECHO ", TYPE="
#IF (FD0TYPE == FDT_NONE
.ECHO "NONE"
#ENDIF
#IF (FD0TYPE == FDT_3DD
.ECHO "3.5\" DD"
#ENDIF
#IF (FD0TYPE == FDT_3HD
.ECHO "3.5\" HD"
#ENDIF
#IF (FD0TYPE == FDT_5DD
.ECHO "5.25\" DD"
#ENDIF
#IF (FD0TYPE == FDT_5HD
.ECHO "5.25\" HD"
#ENDIF
#IF (FD0TYPE == FDT_8
.ECHO "8\" DD"
#ENDIF
.ECHO "\n"
;
#IF (FD_DEVCNT >= 2) #IF (FD_DEVCNT >= 2)
; DEVICE 1, PRIMARY SLAVE ; DEVICE 1, PRIMARY SLAVE
.DB 1 ; DRIVER DEVICE NUMBER .DB 1 ; DRIVER DEVICE NUMBER
@ -143,6 +180,32 @@ FD_CFGTBL:
.DB 0 ; HOST SECTOR .DB 0 ; HOST SECTOR
.DB 0 ; HOST HEAD .DB 0 ; HOST HEAD
.DB FD1TYPE ; DRIVE TYPE .DB FD1TYPE ; DRIVE TYPE
;
.ECHO "FD: MODE="
.ECHO FDMODE_STR
.ECHO ", IO="
.ECHO FDC_MSR
.ECHO ", DRIVE 1"
.ECHO ", TYPE="
#IF (FD1TYPE == FDT_NONE
.ECHO "NONE"
#ENDIF
#IF (FD1TYPE == FDT_3DD
.ECHO "3.5\" DD"
#ENDIF
#IF (FD1TYPE == FDT_3HD
.ECHO "3.5\" HD"
#ENDIF
#IF (FD1TYPE == FDT_5DD
.ECHO "5.25\" DD"
#ENDIF
#IF (FD1TYPE == FDT_5HD
.ECHO "5.25\" HD"
#ENDIF
#IF (FD1TYPE == FDT_8
.ECHO "8\" DD"
#ENDIF
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF ($ - FD_CFGTBL) != (FD_DEVCNT * FD_CFGSIZ) #IF ($ - FD_CFGTBL) != (FD_DEVCNT * FD_CFGSIZ)

17
Source/HBIOS/gdc.asm

@ -36,16 +36,33 @@ GDC_COLS .EQU 80
; *** TODO: CGA AND EGA ARE PLACEHOLDERS. THESE EQUATES SHOULD ; *** TODO: CGA AND EGA ARE PLACEHOLDERS. THESE EQUATES SHOULD
; BE USED TO ALLOW FOR MULTIPLE MONITOR TIMINGS AND/OR FONT ; BE USED TO ALLOW FOR MULTIPLE MONITOR TIMINGS AND/OR FONT
; DEFINITIONS. ; DEFINITIONS.
;
.ECHO "GDC: MODE="
;
#IF (GDCMODE == GDCMODE_ECB)
.ECHO "ECB"
#ENDIF
#IF (GDCMODE == GDCMODE_RPH)
.ECHO "RPH"
#ENDIF
;
.ECHO ", DISPLAY="
; ;
#IF (GDCMON == GDCMON_CGA) #IF (GDCMON == GDCMON_CGA)
#DEFINE USEFONTCGA #DEFINE USEFONTCGA
#DEFINE GDC_FONT FONTCGA #DEFINE GDC_FONT FONTCGA
.ECHO "CGA"
#ENDIF #ENDIF
; ;
#IF (GDCMON == GDCMON_EGA) #IF (GDCMON == GDCMON_EGA)
#DEFINE USEFONT8X16 #DEFINE USEFONT8X16
#DEFINE GDC_FONT FONT8X16 #DEFINE GDC_FONT FONT8X16
.ECHO "EGA"
#ENDIF #ENDIF
;
.ECHO ", IO="
.ECHO GDC_BASE
.ECHO "\n"
; ;
TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER
; ;

18
Source/HBIOS/hbios.asm

@ -217,6 +217,24 @@ RTCDEF .SET RTCDEF | %00001000 ; INITIAL SPEED LOW
; ;
; ;
; ;
#IF (FPLED_ENABLE | FPSW_ENABLE)
.ECHO "FP: "
#IF (FPLED_ENABLE)
.ECHO "LEDIO="
.ECHO FPLED_IO
#ENDIF
#IF (FPLED_ENABLE & FPSW_ENABLE)
.ECHO ", "
#ENDIF
#IF (FPSW_ENABLE)
.ECHO "SWIO="
.ECHO FPSW_IO
#ENDIF
.ECHO "\n"
#ENDIF
;
;
;
#IFNDEF APPBOOT #IFNDEF APPBOOT
; ;
.ORG 0 .ORG 0

6
Source/HBIOS/hdsk.asm

@ -21,6 +21,12 @@ HDSK_CFGSIZ .EQU 6 ; SIZE OF CFG TBL ENTRIES
HDSK_DEV .EQU 0 ; OFFSET OF DEVICE NUMBER (BYTE) HDSK_DEV .EQU 0 ; OFFSET OF DEVICE NUMBER (BYTE)
HDSK_STAT .EQU 1 ; OFFSET OF STATUS (BYTE) HDSK_STAT .EQU 1 ; OFFSET OF STATUS (BYTE)
HDSK_LBA .EQU 2 ; OFFSET OF LBA (DWORD) HDSK_LBA .EQU 2 ; OFFSET OF LBA (DWORD)
;
.ECHO "HDSK: IO="
.ECHO HDSK_IO
.ECHO ", DEVICE COUNT="
.ECHO HDSK_DEVCNT
.ECHO "\n"
; ;
HDSK_CFGTBL: HDSK_CFGTBL:
; DEVICE 0 ; DEVICE 0

126
Source/HBIOS/ide.asm

@ -213,6 +213,27 @@ IDE_DEV0M: ; DEVICE 0, MASTER
.DB IDE0DATLO ; IO BASE ADDRESS .DB IDE0DATLO ; IO BASE ADDRESS
.DB IDE0DATHI ; IO BASE ADDRESS .DB IDE0DATHI ; IO BASE ADDRESS
.DW IDE_DEV0S ; PARTNER .DW IDE_DEV0S ; PARTNER
;
.ECHO "IDE: MODE="
#IF (IDE0MODE == IDEMODE_NONE)
.ECHO "NONE"
#ENDIF
#IF (IDE0MODE == IDEMODE_DIO)
.ECHO "DIO"
#ENDIF
#IF (IDE0MODE == IDEMODE_DIDE)
.ECHO "DIDE"
#ENDIF
#IF (IDE0MODE == IDEMODE_MK4)
.ECHO "MK4"
#ENDIF
#IF (IDE0MODE == IDEMODE_RC)
.ECHO "RC"
#ENDIF
.ECHO ", IO="
.ECHO IDE0BASE
.ECHO ", MASTER"
.ECHO "\n"
; ;
IDE_DEV0S: ; DEVICE 0, SLAVE IDE_DEV0S: ; DEVICE 0, SLAVE
.DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY)
@ -227,6 +248,27 @@ IDE_DEV0S: ; DEVICE 0, SLAVE
.DB IDE0DATLO ; IO BASE ADDRESS .DB IDE0DATLO ; IO BASE ADDRESS
.DB IDE0DATHI ; IO BASE ADDRESS .DB IDE0DATHI ; IO BASE ADDRESS
.DW IDE_DEV0M ; PARTNER .DW IDE_DEV0M ; PARTNER
;
.ECHO "IDE: MODE="
#IF (IDE0MODE == IDEMODE_NONE)
.ECHO "NONE"
#ENDIF
#IF (IDE0MODE == IDEMODE_DIO)
.ECHO "DIO"
#ENDIF
#IF (IDE0MODE == IDEMODE_DIDE)
.ECHO "DIDE"
#ENDIF
#IF (IDE0MODE == IDEMODE_MK4)
.ECHO "MK4"
#ENDIF
#IF (IDE0MODE == IDEMODE_RC)
.ECHO "RC"
#ENDIF
.ECHO ", IO="
.ECHO IDE0BASE
.ECHO ", SLAVE"
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF (IDECNT >= 2) #IF (IDECNT >= 2)
@ -244,6 +286,27 @@ IDE_DEV1M: ; DEVICE 1, MASTER
.DB IDE1DATLO ; IO BASE ADDRESS .DB IDE1DATLO ; IO BASE ADDRESS
.DB IDE1DATHI ; IO BASE ADDRESS .DB IDE1DATHI ; IO BASE ADDRESS
.DW IDE_DEV1S ; PARTNER .DW IDE_DEV1S ; PARTNER
;
.ECHO "IDE: MODE="
#IF (IDE1MODE == IDEMODE_NONE)
.ECHO "NONE"
#ENDIF
#IF (IDE1MODE == IDEMODE_DIO)
.ECHO "DIO"
#ENDIF
#IF (IDE1MODE == IDEMODE_DIDE)
.ECHO "DIDE"
#ENDIF
#IF (IDE1MODE == IDEMODE_MK4)
.ECHO "MK4"
#ENDIF
#IF (IDE1MODE == IDEMODE_RC)
.ECHO "RC"
#ENDIF
.ECHO ", IO="
.ECHO IDE1BASE
.ECHO ", MASTER"
.ECHO "\n"
; ;
IDE_DEV1S: ; DEVICE 1, SLAVE IDE_DEV1S: ; DEVICE 1, SLAVE
.DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY)
@ -258,6 +321,27 @@ IDE_DEV1S: ; DEVICE 1, SLAVE
.DB IDE1DATLO ; IO BASE ADDRESS .DB IDE1DATLO ; IO BASE ADDRESS
.DB IDE1DATHI ; IO BASE ADDRESS .DB IDE1DATHI ; IO BASE ADDRESS
.DW IDE_DEV1M ; PARTNER .DW IDE_DEV1M ; PARTNER
;
.ECHO "IDE: MODE="
#IF (IDE1MODE == IDEMODE_NONE)
.ECHO "NONE"
#ENDIF
#IF (IDE1MODE == IDEMODE_DIO)
.ECHO "DIO"
#ENDIF
#IF (IDE1MODE == IDEMODE_DIDE)
.ECHO "DIDE"
#ENDIF
#IF (IDE1MODE == IDEMODE_MK4)
.ECHO "MK4"
#ENDIF
#IF (IDE1MODE == IDEMODE_RC)
.ECHO "RC"
#ENDIF
.ECHO ", IO="
.ECHO IDE1BASE
.ECHO ", SLAVE"
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF (IDECNT >= 3) #IF (IDECNT >= 3)
@ -275,6 +359,27 @@ IDE_DEV2M: ; DEVICE 2, MASTER
.DB IDE2DATLO ; IO BASE ADDRESS .DB IDE2DATLO ; IO BASE ADDRESS
.DB IDE2DATHI ; IO BASE ADDRESS .DB IDE2DATHI ; IO BASE ADDRESS
.DW IDE_DEV2S ; PARTNER .DW IDE_DEV2S ; PARTNER
;
.ECHO "IDE: MODE="
#IF (IDE2MODE == IDEMODE_NONE)
.ECHO "NONE"
#ENDIF
#IF (IDE2MODE == IDEMODE_DIO)
.ECHO "DIO"
#ENDIF
#IF (IDE2MODE == IDEMODE_DIDE)
.ECHO "DIDE"
#ENDIF
#IF (IDE2MODE == IDEMODE_MK4)
.ECHO "MK4"
#ENDIF
#IF (IDE2MODE == IDEMODE_RC)
.ECHO "RC"
#ENDIF
.ECHO ", IO="
.ECHO IDE2BASE
.ECHO ", MASTER"
.ECHO "\n"
; ;
IDE_DEV2S: ; DEVICE 2, SLAVE IDE_DEV2S: ; DEVICE 2, SLAVE
.DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY)
@ -289,6 +394,27 @@ IDE_DEV2S: ; DEVICE 2, SLAVE
.DB IDE2DATLO ; IO BASE ADDRESS .DB IDE2DATLO ; IO BASE ADDRESS
.DB IDE2DATHI ; IO BASE ADDRESS .DB IDE2DATHI ; IO BASE ADDRESS
.DW IDE_DEV1M ; PARTNER .DW IDE_DEV1M ; PARTNER
;
.ECHO "IDE: MODE="
#IF (IDE2MODE == IDEMODE_NONE)
.ECHO "NONE"
#ENDIF
#IF (IDE2MODE == IDEMODE_DIO)
.ECHO "DIO"
#ENDIF
#IF (IDE2MODE == IDEMODE_DIDE)
.ECHO "DIDE"
#ENDIF
#IF (IDE2MODE == IDEMODE_MK4)
.ECHO "MK4"
#ENDIF
#IF (IDE2MODE == IDEMODE_RC)
.ECHO "RC"
#ENDIF
.ECHO ", IO="
.ECHO IDE2BASE
.ECHO ", SLAVE"
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF ($ - IDE_CFGTBL) != (IDE_DEVCNT * IDE_CFGSIZ) #IF ($ - IDE_CFGTBL) != (IDE_DEVCNT * IDE_CFGSIZ)

22
Source/HBIOS/imm.asm

@ -1525,6 +1525,17 @@ IMM0_CFG: ; DEVICE 0
.DB IMM0BASE ; IO BASE ADDRESS .DB IMM0BASE ; IO BASE ADDRESS
.DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; DEVICE CAPACITY
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
;
.ECHO "IMM: MODE="
#IF (IMMMODE == IMMMODE_SPP)
.ECHO "SPP"
#ENDIF
#IF (IMMMODE == IMMMODE_MG014)
.ECHO "MG014"
#ENDIF
.ECHO ", IO="
.ECHO IMM0BASE
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF (IMMCNT >= 2) #IF (IMMCNT >= 2)
@ -1536,6 +1547,17 @@ IMM1_CFG: ; DEVICE 1
.DB IMM1BASE ; IO BASE ADDRESS .DB IMM1BASE ; IO BASE ADDRESS
.DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; DEVICE CAPACITY
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
;
.ECHO "IMM: MODE="
#IF (IMMMODE == IMMMODE_SPP)
.ECHO "SPP"
#ENDIF
#IF (IMMMODE == IMMMODE_MG014)
.ECHO "MG014"
#ENDIF
.ECHO ", IO="
.ECHO IMM1BASE
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF ($ - IMM_CFG) != (IMMCNT * IMM_CFGSIZ) #IF ($ - IMM_CFG) != (IMMCNT * IMM_CFGSIZ)

2
Source/HBIOS/intrtc.asm

@ -4,6 +4,8 @@
;================================================================================================== ;==================================================================================================
; ;
INTRTC_BUFSIZ .EQU 6 ; SIX BYTE BUFFER (YYMMDDHHMMSS) INTRTC_BUFSIZ .EQU 6 ; SIX BYTE BUFFER (YYMMDDHHMMSS)
;
.ECHO "INTRTC: ENABLED\n"
; ;
; RTC DEVICE INITIALIZATION ENTRY ; RTC DEVICE INITIALIZATION ENTRY
; ;

2
Source/HBIOS/kbd.asm

@ -55,6 +55,8 @@ KBD_RSTATE .DB 0 ; STATE BITS FOR "RIGHT" KEYS
KBD_STATUS .DB 0 ; CURRENT STATUS BITS (SEE ABOVE) KBD_STATUS .DB 0 ; CURRENT STATUS BITS (SEE ABOVE)
KBD_REPEAT .DB 0 ; CURRENT REPEAT RATE KBD_REPEAT .DB 0 ; CURRENT REPEAT RATE
KBD_IDLE .DB 0 ; IDLE COUNT KBD_IDLE .DB 0 ; IDLE COUNT
;
.ECHO "KBD: ENABLED\n"
; ;
;__________________________________________________________________________________________________ ;__________________________________________________________________________________________________
; KEYBOARD INITIALIZATION ; KEYBOARD INITIALIZATION

26
Source/HBIOS/lpt.asm

@ -346,10 +346,10 @@ LPT_DETECT:
LD A,$A5 ; TEST VALUE LD A,$A5 ; TEST VALUE
OUT (C),A ; PUSH VALUE TO PORT OUT (C),A ; PUSH VALUE TO PORT
IN A,(C) ; GET PORT VALUE IN A,(C) ; GET PORT VALUE
#IF (LPTTRACE >= 3)
#IF (LPTTRACE >= 3)
CALL PC_SPACE CALL PC_SPACE
CALL PRTHEXBYTE CALL PRTHEXBYTE
#ENDIF
#ENDIF
CP $A5 ; CHECK FOR TEST VALUE CP $A5 ; CHECK FOR TEST VALUE
JR Z,LPT_DETECT1 ; FOUND IT JR Z,LPT_DETECT1 ; FOUND IT
LD A,LPTMODE_NONE ; NOT FOUND LD A,LPTMODE_NONE ; NOT FOUND
@ -420,6 +420,17 @@ LPT0_CFG:
.DB 0 ; MODULE ID .DB 0 ; MODULE ID
.DB LPT0BASE ; BASE PORT .DB LPT0BASE ; BASE PORT
.DW 0 ; LINE CONFIGURATION .DW 0 ; LINE CONFIGURATION
;
.ECHO "LPT: MODE="
#IF (LPTMODE == LPTMODE_SPP)
.ECHO "SPP"
#ENDIF
#IF (LPTMODE == LPTMODE_MG014)
.ECHO "MG014"
#ENDIF
.ECHO ", IO="
.ECHO LPT0BASE
.ECHO "\n"
; ;
LPT_CFGSIZ .EQU $ - LPT_CFG ; SIZE OF ONE CFG TABLE ENTRY LPT_CFGSIZ .EQU $ - LPT_CFG ; SIZE OF ONE CFG TABLE ENTRY
; ;
@ -432,6 +443,17 @@ LPT1_CFG:
.DB 1 ; MODULE ID .DB 1 ; MODULE ID
.DB LPT1BASE ; BASE PORT .DB LPT1BASE ; BASE PORT
.DW 0 ; LINE CONFIGURATION .DW 0 ; LINE CONFIGURATION
;
.ECHO "LPT: MODE="
#IF (LPTMODE == LPTMODE_SPP)
.ECHO "SPP"
#ENDIF
#IF (LPTMODE == LPTMODE_MG014)
.ECHO "MG014"
#ENDIF
.ECHO ", IO="
.ECHO LPT1BASE
.ECHO "\n"
; ;
#ENDIF #ENDIF
; ;

4
Source/HBIOS/md.asm

@ -39,6 +39,8 @@ MD_CFGTBL:
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
.DB MID_MDRAM ; DEVICE MEDIA ID .DB MID_MDRAM ; DEVICE MEDIA ID
.DB MD_ARAM ; DEVICE ATTRIBUTE .DB MD_ARAM ; DEVICE ATTRIBUTE
;
.ECHO "MD: TYPE=RAM\n"
#ENDIF #ENDIF
; ;
#IF (MDROM) #IF (MDROM)
@ -48,6 +50,8 @@ MD_CFGTBL:
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
.DB MID_MDROM ; DEVICE MEDIA ID .DB MID_MDROM ; DEVICE MEDIA ID
.DB MD_AROM ; DEVICE ATTRIBUTE .DB MD_AROM ; DEVICE ATTRIBUTE
;
.ECHO "MD: TYPE=ROM\n"
#ENDIF #ENDIF
; ;
MD_DEVCNT .EQU ($ - MD_CFGTBL) / MD_CFGSIZ MD_DEVCNT .EQU ($ - MD_CFGTBL) / MD_CFGSIZ

4
Source/HBIOS/pcf.asm

@ -93,6 +93,10 @@ PCF_PINTO .EQU 65000
PCF_ACKTO .EQU 65000 PCF_ACKTO .EQU 65000
PCF_BBTO .EQU 65000 PCF_BBTO .EQU 65000
PCF_LABDLY .EQU 65000 PCF_LABDLY .EQU 65000
;
.ECHO "PCF: IO="
.ECHO PCF_BASE
.ECHO "\n"
; ;
; DATA PORT REGISTERS ; DATA PORT REGISTERS
; ;

16
Source/HBIOS/pio.asm

@ -307,6 +307,10 @@ PIO0A_CFG:
.DB PIO0A_DAT ; DATA PORT .DB PIO0A_DAT ; DATA PORT
.DW DEFSERCFG ; LINE CONFIGURATION .DW DEFSERCFG ; LINE CONFIGURATION
.DW PIO0A_RCVBUF ; POINTER TO RCV BUFFER STRUCT .DW PIO0A_RCVBUF ; POINTER TO RCV BUFFER STRUCT
;
.ECHO "PIO: IO="
.ECHO PIO0BASE
.ECHO ", CHANNEL A\n"
; ;
PIO_CFGSIZ .EQU $ - PIO_CFG ; SIZE OF ONE CFG TABLE ENTRY PIO_CFGSIZ .EQU $ - PIO_CFG ; SIZE OF ONE CFG TABLE ENTRY
; ;
@ -319,6 +323,10 @@ PIO0B_CFG:
.DB PIO0B_DAT ; DATA PORT .DB PIO0B_DAT ; DATA PORT
.DW DEFSERCFG ; LINE CONFIGURATION .DW DEFSERCFG ; LINE CONFIGURATION
.DW PIO0B_RCVBUF ; POINTER TO RCV BUFFER STRUCT .DW PIO0B_RCVBUF ; POINTER TO RCV BUFFER STRUCT
;
.ECHO "PIO: IO="
.ECHO PIO0BASE
.ECHO ", CHANNEL B\n"
; ;
#IF (PIOCNT >= 2) #IF (PIOCNT >= 2)
; ;
@ -331,6 +339,10 @@ PIO1A_CFG:
.DB PIO1A_DAT ; DATA PORT .DB PIO1A_DAT ; DATA PORT
.DW DEFSERCFG ; LINE CONFIGURATION .DW DEFSERCFG ; LINE CONFIGURATION
.DW PIO1A_RCVBUF ; POINTER TO RCV BUFFER STRUCT .DW PIO1A_RCVBUF ; POINTER TO RCV BUFFER STRUCT
;
.ECHO "PIO: IO="
.ECHO PIO1BASE
.ECHO ", CHANNEL A\n"
; ;
; PIO1 CHANNEL B ; PIO1 CHANNEL B
PIO1B_CFG: PIO1B_CFG:
@ -341,6 +353,10 @@ PIO1B_CFG:
.DB PIO1B_DAT ; DATA PORT .DB PIO1B_DAT ; DATA PORT
.DW DEFSERCFG ; LINE CONFIGURATION .DW DEFSERCFG ; LINE CONFIGURATION
.DW PIO1B_RCVBUF ; POINTER TO RCV BUFFER STRUCT .DW PIO1B_RCVBUF ; POINTER TO RCV BUFFER STRUCT
;
.ECHO "PIO: IO="
.ECHO PIO1BASE
.ECHO ", CHANNEL B\n"
; ;
#ENDIF #ENDIF
; ;

4
Source/HBIOS/pkd.asm

@ -65,6 +65,10 @@ PKD_CMD_CLK .EQU %00100000 ; SET CLK PRESCALE
PKD_CMD_FIFO .EQU %01000000 ; READ FIFO PKD_CMD_FIFO .EQU %01000000 ; READ FIFO
; ;
PKD_PRESCL .EQU PKDOSC/100000 ; PRESCALER PKD_PRESCL .EQU PKDOSC/100000 ; PRESCALER
;
.ECHO "PKD: IO="
.ECHO PKDPPIBASE
.ECHO "\n"
; ;
;__PKD_PREINIT_______________________________________________________________________________________ ;__PKD_PREINIT_______________________________________________________________________________________
; ;

24
Source/HBIOS/ppa.asm

@ -139,7 +139,7 @@ PPA_LBA .EQU 8 ; OFFSET OF LBA (DWORD)
; ;
; INCLUDE MG014 NIBBLE MAP FOR MG014 MODE ; INCLUDE MG014 NIBBLE MAP FOR MG014 MODE
; ;
#IF (IMMMODE == IMMMODE_MG014)
#IF (PPAMODE == IMMMODE_MG014)
#DEFINE MG014_MAP #DEFINE MG014_MAP
#ENDIF #ENDIF
; ;
@ -1385,6 +1385,17 @@ PPA0_CFG: ; DEVICE 0
.DB PPA0BASE ; IO BASE ADDRESS .DB PPA0BASE ; IO BASE ADDRESS
.DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; DEVICE CAPACITY
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
;
.ECHO "PPA: MODE="
#IF (PPAMODE == PPAMODE_SPP)
.ECHO "SPP"
#ENDIF
#IF (PPAMODE == PPAMODE_MG014)
.ECHO "MG014"
#ENDIF
.ECHO ", IO="
.ECHO PPA0BASE
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF (PPACNT >= 2) #IF (PPACNT >= 2)
@ -1396,6 +1407,17 @@ PPA1_CFG: ; DEVICE 1
.DB PPA1BASE ; IO BASE ADDRESS .DB PPA1BASE ; IO BASE ADDRESS
.DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; DEVICE CAPACITY
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
;
.ECHO "PPA: MODE="
#IF (PPAMODE == PPAMODE_SPP)
.ECHO "SPP"
#ENDIF
#IF (PPAMODE == PPAMODE_MG014)
.ECHO "MG014"
#ENDIF
.ECHO ", IO="
.ECHO PPA1BASE
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF ($ - PPA_CFG) != (PPACNT * PPA_CFGSIZ) #IF ($ - PPA_CFG) != (PPACNT * PPA_CFGSIZ)

30
Source/HBIOS/ppide.asm

@ -229,6 +229,11 @@ PPIDE_DEV0M: ; DEVICE 0, MASTER
.DB PPIDE0BASE+2 ; CTL .DB PPIDE0BASE+2 ; CTL
.DB PPIDE0BASE+3 ; PPI .DB PPIDE0BASE+3 ; PPI
.DW PPIDE_DEV0S ; PARTNER .DW PPIDE_DEV0S ; PARTNER
;
.ECHO "PPIDE: IO="
.ECHO PPIDE0BASE
.ECHO ", MASTER"
.ECHO "\n"
; ;
PPIDE_DEV0S: ; DEVICE 0, SLAVE PPIDE_DEV0S: ; DEVICE 0, SLAVE
.DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY)
@ -242,6 +247,11 @@ PPIDE_DEV0S: ; DEVICE 0, SLAVE
.DB PPIDE0BASE+2 ; CTL .DB PPIDE0BASE+2 ; CTL
.DB PPIDE0BASE+3 ; PPI .DB PPIDE0BASE+3 ; PPI
.DW PPIDE_DEV0M ; PARTNER .DW PPIDE_DEV0M ; PARTNER
;
.ECHO "PPIDE: IO="
.ECHO PPIDE0BASE
.ECHO ", SLAVE"
.ECHO "\n"
; ;
#ENDIF #ENDIF
; ;
@ -259,6 +269,11 @@ PPIDE_DEV1M: ; DEVICE 1, MASTER
.DB PPIDE1BASE+2 ; CTL .DB PPIDE1BASE+2 ; CTL
.DB PPIDE1BASE+3 ; PPI .DB PPIDE1BASE+3 ; PPI
.DW PPIDE_DEV1S ; PARTNER .DW PPIDE_DEV1S ; PARTNER
;
.ECHO "PPIDE: IO="
.ECHO PPIDE1BASE
.ECHO ", MASTER"
.ECHO "\n"
; ;
PPIDE_DEV1S: ; DEVICE 1, SLAVE PPIDE_DEV1S: ; DEVICE 1, SLAVE
.DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY)
@ -272,6 +287,11 @@ PPIDE_DEV1S: ; DEVICE 1, SLAVE
.DB PPIDE1BASE+2 ; CTL .DB PPIDE1BASE+2 ; CTL
.DB PPIDE1BASE+3 ; PPI .DB PPIDE1BASE+3 ; PPI
.DW PPIDE_DEV1M ; PARTNER .DW PPIDE_DEV1M ; PARTNER
;
.ECHO "PPIDE: IO="
.ECHO PPIDE1BASE
.ECHO ", SLAVE"
.ECHO "\n"
; ;
#ENDIF #ENDIF
; ;
@ -289,6 +309,11 @@ PPIDE_DEV2M: ; DEVICE 2, MASTER
.DB PPIDE2BASE+2 ; CTL .DB PPIDE2BASE+2 ; CTL
.DB PPIDE2BASE+3 ; PPI .DB PPIDE2BASE+3 ; PPI
.DW PPIDE_DEV2S ; PARTNER .DW PPIDE_DEV2S ; PARTNER
;
.ECHO "PPIDE: IO="
.ECHO PPIDE2BASE
.ECHO ", MASTER"
.ECHO "\n"
; ;
PPIDE_DEV2S: ; DEVICE 2, SLAVE PPIDE_DEV2S: ; DEVICE 2, SLAVE
.DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY) .DB $FE ; DRIVER DEVICE NUMBER (FILLED DYNAMICALLY)
@ -302,6 +327,11 @@ PPIDE_DEV2S: ; DEVICE 2, SLAVE
.DB PPIDE2BASE+2 ; CTL .DB PPIDE2BASE+2 ; CTL
.DB PPIDE2BASE+3 ; PPI .DB PPIDE2BASE+3 ; PPI
.DW PPIDE_DEV2M ; PARTNER .DW PPIDE_DEV2M ; PARTNER
;
.ECHO "PPIDE: IO="
.ECHO PPIDE2BASE
.ECHO ", SLAVE"
.ECHO "\n"
; ;
#ENDIF #ENDIF
; ;

2
Source/HBIOS/ppk.asm

@ -59,6 +59,8 @@ PPK_STATUS .DB 0 ; CURRENT STATUS BITS (SEE ABOVE)
PPK_REPEAT .DB 0 ; CURRENT REPEAT RATE PPK_REPEAT .DB 0 ; CURRENT REPEAT RATE
PPK_IDLE .DB 0 ; IDLE COUNT PPK_IDLE .DB 0 ; IDLE COUNT
PPK_WAITTO .DW 0 ; TIMEOUT WAIT LOOP COUNT (COMPUTED IN INIT) PPK_WAITTO .DW 0 ; TIMEOUT WAIT LOOP COUNT (COMPUTED IN INIT)
;
.ECHO "PPK: ENABLED\n"
; ;
;__________________________________________________________________________________________________ ;__________________________________________________________________________________________________
; KEYBOARD INITIALIZATION ; KEYBOARD INITIALIZATION

8
Source/HBIOS/ppp.asm

@ -8,6 +8,10 @@
PPP_IO .EQU PPPBASE + 0 ; PPP DATA I/O (PPI PORT A) PPP_IO .EQU PPPBASE + 0 ; PPP DATA I/O (PPI PORT A)
PPP_CTL .EQU PPPBASE + 2 ; PPP CTL LINES (PPI PORT C) PPP_CTL .EQU PPPBASE + 2 ; PPP CTL LINES (PPI PORT C)
PPP_PPICTL .EQU PPPBASE + 3 ; PPI CONTROL PORT PPP_PPICTL .EQU PPPBASE + 3 ; PPI CONTROL PORT
;
.ECHO "PPP: IO="
.ECHO PPP_IO
.ECHO "\n"
; ;
; COMMAND BYTES ; COMMAND BYTES
; ;
@ -248,6 +252,8 @@ PPP_FWVER .DB $00, $00, $00, $00 ; MMNNBBB (M=MAJOR, N=MINOR, B=BUILD)
; ;
PPPCON_ROWS .EQU 37 ; PROPELLER VGA DISPLAY ROWS (40 - 3 STATUS LINES) PPPCON_ROWS .EQU 37 ; PROPELLER VGA DISPLAY ROWS (40 - 3 STATUS LINES)
PPPCON_COLS .EQU 80 ; PROPELLER VGA DISPLAY COLS PPPCON_COLS .EQU 80 ; PROPELLER VGA DISPLAY COLS
;
.ECHO "PPPCON: ENABLED\n"
; ;
PPPCON_INIT: PPPCON_INIT:
CALL NEWLINE CALL NEWLINE
@ -413,6 +419,8 @@ PPPSD_CFGTBL:
#ENDIF #ENDIF
; ;
.DB $FF ; END MARKER .DB $FF ; END MARKER
;
.ECHO "PPPSD: ENABLED\n"
; ;
; SD CARD INITIALIZATION ; SD CARD INITIALIZATION
; ;

8
Source/HBIOS/prp.asm

@ -6,6 +6,10 @@
; TODO: ; TODO:
; ;
PRP_IOBASE .EQU $A8 PRP_IOBASE .EQU $A8
;
.ECHO "PRP: IO="
.ECHO PRP_IOBASE
.ECHO "\n"
; ;
; GLOBAL PROPIO INITIALIZATION ; GLOBAL PROPIO INITIALIZATION
; ;
@ -119,6 +123,8 @@ PRPCON_DSPRDY .EQU $10 ; BIT SET WHEN DISPLAY BUF IS READY FOR A BYTE (BUF EMPT
; ;
PRPCON_ROWS .EQU 37 ; PROPELLER VGA DISPLAY ROWS (40 - 3 STATUS LINES) PRPCON_ROWS .EQU 37 ; PROPELLER VGA DISPLAY ROWS (40 - 3 STATUS LINES)
PRPCON_COLS .EQU 80 ; PROPELLER VGA DISPLAY COLS PRPCON_COLS .EQU 80 ; PROPELLER VGA DISPLAY COLS
;
.ECHO "PRPCON: ENABLED\n"
; ;
; ;
; ;
@ -310,6 +316,8 @@ PRPSD_CFGTBL:
#ENDIF #ENDIF
; ;
.DB $FF ; END MARKER .DB $FF ; END MARKER
;
.ECHO "PRPSD: ENABLED\n"
; ;
; SD CARD INITIALIZATION ; SD CARD INITIALIZATION
; ;

22
Source/HBIOS/rf.asm

@ -42,6 +42,11 @@ RF_CFGTBL:
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
.DB 0 ; UNUSED .DB 0 ; UNUSED
.DB RF_U0IO ; DEVICE BASE ADDR .DB RF_U0IO ; DEVICE BASE ADDR
;
.ECHO "RF: IO="
.ECHO RF_U0IO
.ECHO "\n"
;
#IF (RF_DEVCNT > 1) #IF (RF_DEVCNT > 1)
; DEVICE 1 ; DEVICE 1
.DB 1 ; DEVICE NUMBER .DB 1 ; DEVICE NUMBER
@ -50,6 +55,11 @@ RF_CFGTBL:
.DB 0 ; UNUSED .DB 0 ; UNUSED
.DB RF_U1IO ; DEVICE BASE ADDR .DB RF_U1IO ; DEVICE BASE ADDR
#ENDIF #ENDIF
;
.ECHO "RF: IO="
.ECHO RF_U1IO
.ECHO "\n"
;
#IF (RF_DEVCNT > 2) #IF (RF_DEVCNT > 2)
; DEVICE 2 ; DEVICE 2
.DB 2 ; DRIVER DEVICE NUMBER .DB 2 ; DRIVER DEVICE NUMBER
@ -58,13 +68,23 @@ RF_CFGTBL:
.DB 0 ; UNUSED .DB 0 ; UNUSED
.DB RF_U2IO ; DEVICE BASE ADDR .DB RF_U2IO ; DEVICE BASE ADDR
#ENDIF #ENDIF
; ; DEVICE 3
;
.ECHO "RF: IO="
.ECHO RF_U2IO
.ECHO "\n"
;
#IF (RF_DEVCNT > 3) #IF (RF_DEVCNT > 3)
; DEVICE 3
.DB 3 ; DEVICE NUMBER .DB 3 ; DEVICE NUMBER
.DB 0 ; DEVICE STATUS .DB 0 ; DEVICE STATUS
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
.DB 0 ; UNUSED .DB 0 ; UNUSED
.DB RF_U3IO ; DEVICE BASE ADDR .DB RF_U3IO ; DEVICE BASE ADDR
;
.ECHO "RF: IO="
.ECHO RF_U3IO
.ECHO "\n"
;
#ENDIF #ENDIF
; ;
#IF ($ - RF_CFGTBL) != (RF_DEVCNT * RF_CFGSIZ) #IF ($ - RF_CFGTBL) != (RF_DEVCNT * RF_CFGSIZ)

4
Source/HBIOS/rp5rtc.asm

@ -55,6 +55,10 @@ MODE_RAM1 .EQU 3
MD_TIME .EQU 8 MD_TIME .EQU 8
MD_ALRM .EQU 4 MD_ALRM .EQU 4
.ECHO "RP5C01: IO="
.ECHO RP5RTC_REG
.ECHO "\n"
RP5RTC_INIT: RP5RTC_INIT:
LD A, (RTC_DISPACT) ; RTC DISPATCHER ALREADY SET? LD A, (RTC_DISPACT) ; RTC DISPATCHER ALREADY SET?
OR A ; SET FLAGS OR A ; SET FLAGS

4
Source/HBIOS/scon.asm

@ -15,6 +15,10 @@ SCON_DSPRDY .EQU %00000100
; ;
SCON_COLS .EQU 80 SCON_COLS .EQU 80
SCON_ROWS .EQU 40 SCON_ROWS .EQU 40
;
.ECHO "SCON: IO="
.ECHO SCON_IOBASE
.ECHO "\n"
; ;
; ;
; ;

16
Source/HBIOS/sd.asm

@ -116,6 +116,8 @@
SD_NOPULLUP .EQU TRUE ; ASSUME NO PULLUP SD_NOPULLUP .EQU TRUE ; ASSUME NO PULLUP
; ;
SD_DEVCNT .EQU SDCNT ; SET SD_DEVCNT TO SDCNT CONFIG VAR SD_DEVCNT .EQU SDCNT ; SET SD_DEVCNT TO SDCNT CONFIG VAR
;
.ECHO "SD: MODE="
; ;
#IF (SDMODE == SDMODE_JUHA) ; JUHA MINI-BOARD #IF (SDMODE == SDMODE_JUHA) ; JUHA MINI-BOARD
SD_DEVMAX .EQU 1 ; NUMBER OF PHYSICAL UNITS (SOCKETS) SD_DEVMAX .EQU 1 ; NUMBER OF PHYSICAL UNITS (SOCKETS)
@ -129,6 +131,7 @@ SD_DI .EQU %00000001 ; RTC:0 IS DATA IN (CARD <- CPU)
SD_DO .EQU %10000000 ; RTC:7 IS DATA OUT (CARD -> CPU) SD_DO .EQU %10000000 ; RTC:7 IS DATA OUT (CARD -> CPU)
SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS SD_INVCS .EQU FALSE ; INVERT CS
.ECHO "JUHA"
; ;
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
#ENDIF #ENDIF
@ -145,6 +148,7 @@ SD_DI .EQU %00000001 ; RTC:0 IS DATA IN (CARD <- CPU)
SD_DO .EQU %01000000 ; RTC:6 IS DATA OUT (CARD -> CPU) SD_DO .EQU %01000000 ; RTC:6 IS DATA OUT (CARD -> CPU)
SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS SD_INVCS .EQU FALSE ; INVERT CS
.ECHO "N8"
; ;
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
#ENDIF #ENDIF
@ -159,6 +163,7 @@ SD_CNTR .EQU Z180_CNTR
SD_TRDR .EQU Z180_TRDR SD_TRDR .EQU Z180_TRDR
SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS SD_INVCS .EQU FALSE ; INVERT CS
.ECHO "CSIO"
; ;
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
#ENDIF #ENDIF
@ -179,6 +184,7 @@ SD_DI .EQU %00000001 ; PPIC:0 IS DATA IN (CARD <- CPU)
SD_DO .EQU %10000000 ; PPIB:7 IS DATA OUT (CARD -> CPU) SD_DO .EQU %10000000 ; PPIB:7 IS DATA OUT (CARD -> CPU)
SD_IOBASE .EQU SD_PPIBASE ; IOBASE SD_IOBASE .EQU SD_PPIBASE ; IOBASE
SD_INVCS .EQU TRUE ; INVERT CS SD_INVCS .EQU TRUE ; INVERT CS
.ECHO "PPI"
#ENDIF #ENDIF
; ;
#IF (SDMODE == SDMODE_UART) #IF (SDMODE == SDMODE_UART)
@ -193,6 +199,7 @@ SD_DI .EQU %00000001 ; UART MCR:0 IS DATA IN (CARD <- CPU)
SD_DO .EQU %00100000 ; UART MSR:5 IS DATA OUT (CARD -> CPU) SD_DO .EQU %00100000 ; UART MSR:5 IS DATA OUT (CARD -> CPU)
SD_IOBASE .EQU UARTIOB ; IOBASE SD_IOBASE .EQU UARTIOB ; IOBASE
SD_INVCS .EQU TRUE ; INVERT CS SD_INVCS .EQU TRUE ; INVERT CS
.ECHO "UART"
#ENDIF #ENDIF
; ;
#IF (SDMODE == SDMODE_DSD) ; DUAL SD #IF (SDMODE == SDMODE_DSD) ; DUAL SD
@ -208,6 +215,7 @@ SD_DI .EQU %00000001 ; RTC:6 IS DATA IN (CARD <- CPU)
SD_DO .EQU %00000001 ; RTC:0 IS DATA OUT (CARD -> CPU) SD_DO .EQU %00000001 ; RTC:0 IS DATA OUT (CARD -> CPU)
SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS SD_INVCS .EQU FALSE ; INVERT CS
.ECHO "DSD"
#ENDIF #ENDIF
; ;
#IF (SDMODE == SDMODE_MK4) ; MARK IV (CSIO STYLE INTERFACE) #IF (SDMODE == SDMODE_MK4) ; MARK IV (CSIO STYLE INTERFACE)
@ -219,6 +227,7 @@ SD_CNTR .EQU Z180_CNTR
SD_TRDR .EQU Z180_TRDR SD_TRDR .EQU Z180_TRDR
SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU FALSE ; INVERT CS SD_INVCS .EQU FALSE ; INVERT CS
.ECHO "MK4"
#ENDIF #ENDIF
; ;
#IF (SDMODE == SDMODE_SC) ; SC #IF (SDMODE == SDMODE_SC) ; SC
@ -232,9 +241,16 @@ SD_CNTR .EQU Z180_CNTR
SD_TRDR .EQU Z180_TRDR SD_TRDR .EQU Z180_TRDR
SD_IOBASE .EQU SD_OPRREG ; IOBASE SD_IOBASE .EQU SD_OPRREG ; IOBASE
SD_INVCS .EQU TRUE ; INVERT CS SD_INVCS .EQU TRUE ; INVERT CS
.ECHO "SC"
; ;
RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE RTCDEF .SET RTCDEF | SD_OPRDEF ; SET DEFAULT IN HBIOS MAINLINE
#ENDIF #ENDIF
;
.ECHO ", IO="
.ECHO SD_IOBASE
.ECHO ", UNITS="
.ECHO SDCNT
.ECHO "\n"
; ;
#IF (SDMODE == SDMODE_MT) ; MT shift register for RCBUS (ref SDMODE_CSIO) #IF (SDMODE == SDMODE_MT) ; MT shift register for RCBUS (ref SDMODE_CSIO)
; ;

4
Source/HBIOS/simrtc.asm

@ -7,6 +7,10 @@ SIMRTC_IO .EQU $FE ; SIMH IO PORT
SIMRTC_CLKREAD .EQU 7 ; READ CLOCK COMMAND SIMRTC_CLKREAD .EQU 7 ; READ CLOCK COMMAND
SIMRTC_CLKWRITE .EQU 8 ; WRITE CLOCK COMMAND SIMRTC_CLKWRITE .EQU 8 ; WRITE CLOCK COMMAND
SIMRTC_BUFSIZ .EQU 6 ; SIX BYTE BUFFER (YYMMDDHHMMSS) SIMRTC_BUFSIZ .EQU 6 ; SIX BYTE BUFFER (YYMMDDHHMMSS)
;
.ECHO "SIMRTC: IO="
.ECHO SIMRTC_IO
.ECHO "\n"
; ;
; RTC DEVICE INITIALIZATION ENTRY ; RTC DEVICE INITIALIZATION ENTRY
; ;

110
Source/HBIOS/sio.asm

@ -104,12 +104,12 @@ SIO1B_CMD .EQU SIO1BASE + $07
SIO1B_DAT .EQU SIO1BASE + $05 SIO1B_DAT .EQU SIO1BASE + $05
#ENDIF #ENDIF
; ;
#IF (SIO1MODE == SIOMODE_Z80R)
SIO1A_CMD .EQU SIO0BASE + $03
SIO1A_DAT .EQU SIO0BASE + $01
SIO1B_CMD .EQU SIO0BASE + $02
SIO1B_DAT .EQU SIO0BASE + $00
#ENDIF
#IF (SIO1MODE == SIOMODE_Z80R)
SIO1A_CMD .EQU SIO1BASE + $03
SIO1A_DAT .EQU SIO1BASE + $01
SIO1B_CMD .EQU SIO1BASE + $02
SIO1B_DAT .EQU SIO1BASE + $00
#ENDIF
; ;
#ENDIF #ENDIF
; ;
@ -1170,6 +1170,31 @@ SIO0A_CFG:
.DW SIO0ACLK >> 16 ; ... DWORD VALUE .DW SIO0ACLK >> 16 ; ... DWORD VALUE
.DB SIO0ACTCC ; CTC CHANNEL .DB SIO0ACTCC ; CTC CHANNEL
.DB SIO0MODE ; MODE .DB SIO0MODE ; MODE
;
.ECHO "SIO MODE="
#IF (SIO0MODE == SIOMODE_STD)
.ECHO "STD"
#ENDIF
#IF (SIO0MODE == SIOMODE_RC)
.ECHO "RC"
#ENDIF
#IF (SIO0MODE == SIOMODE_SMB)
.ECHO "SMB"
#ENDIF
#IF (SIO0MODE == SIOMODE_ZP)
.ECHO "ZP"
#ENDIF
#IF (SIO0MODE == SIOMODE_Z80R)
.ECHO "Z80R"
#ENDIF
.ECHO ", IO="
.ECHO SIO0BASE
.ECHO ", CHANNEL A"
#IF (INTMODE > 0)
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
; ;
SIO_CFGSIZ .EQU $ - SIO_CFG ; SIZE OF ONE CFG TABLE ENTRY SIO_CFGSIZ .EQU $ - SIO_CFG ; SIZE OF ONE CFG TABLE ENTRY
; ;
@ -1186,6 +1211,30 @@ SIO0B_CFG:
.DW SIO0BCLK >> 16 ; ... DWORD VALUE .DW SIO0BCLK >> 16 ; ... DWORD VALUE
.DB SIO0BCTCC ; CTC CHANNEL .DB SIO0BCTCC ; CTC CHANNEL
.DB SIO0MODE ; MODE .DB SIO0MODE ; MODE
;
.ECHO "SIO MODE="
#IF (SIO0MODE == SIOMODE_STD)
.ECHO "STD"
#ENDIF
#IF (SIO0MODE == SIOMODE_RC)
.ECHO "RC"
#ENDIF
#IF (SIO0MODE == SIOMODE_SMB)
.ECHO "SMB"
#ENDIF
#IF (SIO0MODE == SIOMODE_ZP)
.ECHO "ZP"
#ENDIF
#IF (SIO0MODE == SIOMODE_Z80R)
.ECHO "Z80R"
#ENDIF
.ECHO ", IO="
.ECHO SIO0BASE
.ECHO ", CHANNEL B"
#IF (INTMODE > 0)
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
; ;
#IF (SIOCNT >= 2) #IF (SIOCNT >= 2)
; ;
@ -1202,6 +1251,31 @@ SIO1A_CFG:
.DW SIO1ACLK >> 16 ; ... DWORD VALUE .DW SIO1ACLK >> 16 ; ... DWORD VALUE
.DB SIO1ACTCC ; CTC CHANNEL .DB SIO1ACTCC ; CTC CHANNEL
.DB SIO1MODE ; MODE .DB SIO1MODE ; MODE
;
.ECHO "SIO MODE="
#IF (SIO1MODE == SIOMODE_STD)
.ECHO "STD"
#ENDIF
#IF (SIO1MODE == SIOMODE_RC)
.ECHO "RC"
#ENDIF
#IF (SIO1MODE == SIOMODE_SMB)
.ECHO "SMB"
#ENDIF
#IF (SIO1MODE == SIOMODE_ZP)
.ECHO "ZP"
#ENDIF
#IF (SIO1MODE == SIOMODE_Z80R)
.ECHO "Z80R"
#ENDIF
.ECHO ", IO="
.ECHO SIO1BASE
.ECHO ", CHANNEL A"
#IF (INTMODE > 0)
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
; ;
; SIO1 CHANNEL B ; SIO1 CHANNEL B
SIO1B_CFG: SIO1B_CFG:
@ -1216,6 +1290,30 @@ SIO1B_CFG:
.DW SIO1BCLK >> 16 ; ... DWORD VALUE .DW SIO1BCLK >> 16 ; ... DWORD VALUE
.DB SIO1BCTCC ; CTC CHANNEL .DB SIO1BCTCC ; CTC CHANNEL
.DB SIO1MODE ; MODE .DB SIO1MODE ; MODE
;
.ECHO "SIO MODE="
#IF (SIO1MODE == SIOMODE_STD)
.ECHO "STD"
#ENDIF
#IF (SIO1MODE == SIOMODE_RC)
.ECHO "RC"
#ENDIF
#IF (SIO1MODE == SIOMODE_SMB)
.ECHO "SMB"
#ENDIF
#IF (SIO1MODE == SIOMODE_ZP)
.ECHO "ZP"
#ENDIF
#IF (SIO1MODE == SIOMODE_Z80R)
.ECHO "Z80R"
#ENDIF
.ECHO ", IO="
.ECHO SIO1BASE
.ECHO ", CHANNEL B"
#IF (INTMODE > 0)
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
; ;
#ENDIF #ENDIF
; ;

17
Source/HBIOS/sn76489.asm

@ -15,16 +15,29 @@
;====================================================================== ;======================================================================
; CONSTANTS ; CONSTANTS
;====================================================================== ;======================================================================
;
.ECHO "SN76489 MODE="
; ;
#IF (SNMODE == SNMODE_VGM) #IF (SNMODE == SNMODE_VGM)
SN76489_PORT_LEFT .EQU $C6 ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) SN76489_PORT_LEFT .EQU $C6 ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT)
SN76489_PORT_RIGHT .EQU $C7 ; PORTS FOR ACCESSING THE SN76489 CHIP (RIGHT) SN76489_PORT_RIGHT .EQU $C7 ; PORTS FOR ACCESSING THE SN76489 CHIP (RIGHT)
.ECHO "VGM"
#ENDIF #ENDIF
; ;
#IF (SNMODE == SNMODE_RC) #IF (SNMODE == SNMODE_RC)
SN76489_PORT_LEFT .EQU $FF ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) SN76489_PORT_LEFT .EQU $FF ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT)
SN76489_PORT_RIGHT .EQU $FB ; PORTS FOR ACCESSING THE SN76489 CHIP (RIGHT) SN76489_PORT_RIGHT .EQU $FB ; PORTS FOR ACCESSING THE SN76489 CHIP (RIGHT)
.ECHO "RC"
#ENDIF #ENDIF
;
.ECHO ", IO_LEFT="
.ECHO SN76489_PORT_LEFT
.ECHO ", IO_RIGHT="
.ECHO SN76489_PORT_RIGHT
.ECHO ", CLOCK="
.ECHO SN7CLK
.ECHO " HZ\n"
; ;
SN7_IDAT .EQU 0 SN7_IDAT .EQU 0
SN7_TONECNT .EQU 3 ; COUNT NUMBER OF TONE CHANNELS SN7_TONECNT .EQU 3 ; COUNT NUMBER OF TONE CHANNELS
@ -34,10 +47,6 @@ CHANNEL_0_SILENT .EQU $9F
CHANNEL_1_SILENT .EQU $BF CHANNEL_1_SILENT .EQU $BF
CHANNEL_2_SILENT .EQU $DF CHANNEL_2_SILENT .EQU $DF
CHANNEL_3_SILENT .EQU $FF CHANNEL_3_SILENT .EQU $FF
;
.ECHO "SN76489 CLOCK: "
.ECHO SN7CLK
.ECHO "\n"
; ;
#INCLUDE "audio.inc" #INCLUDE "audio.inc"
; ;

4
Source/HBIOS/spk.asm

@ -40,6 +40,10 @@ SP_RTCIOMSK .EQU 00000100B
SP_PENDING_PERIOD .DW SP_NOTE_C8 ; PENDING PERIOD (16 BITS) SP_PENDING_PERIOD .DW SP_NOTE_C8 ; PENDING PERIOD (16 BITS)
SP_PENDING_VOLUME .DB $FF ; PENDING VOL (8 BITS) SP_PENDING_VOLUME .DB $FF ; PENDING VOL (8 BITS)
SP_PENDING_DURATION .DW 0 ; PENDING DURATION (16 BITS) SP_PENDING_DURATION .DW 0 ; PENDING DURATION (16 BITS)
;
.ECHO "SPK: IO="
.ECHO RTCIO
.ECHO "\n"
; ;
;====================================================================== ;======================================================================
; DRIVER INITIALIZATION ; DRIVER INITIALIZATION

12
Source/HBIOS/std.asm

@ -510,7 +510,7 @@ CPUMHZ .EQU CPUKHZ / 1000 ; CPU FREQ IN MHZ
; ;
.ECHO "ASSUMED CPU SPEED: " .ECHO "ASSUMED CPU SPEED: "
.ECHO CPUKHZ .ECHO CPUKHZ
.ECHO " KHZ\r\n"
.ECHO " KHZ\n"
; ;
.ECHO "INTERRUPTS: " .ECHO "INTERRUPTS: "
#IF (INTMODE == 0) #IF (INTMODE == 0)
@ -525,7 +525,7 @@ CPUMHZ .EQU CPUKHZ / 1000 ; CPU FREQ IN MHZ
#IF (INTMODE == 3) #IF (INTMODE == 3)
.ECHO "MODE 3" .ECHO "MODE 3"
#ENDIF #ENDIF
.ECHO "\r\n"
.ECHO "\n"
; ;
; SYSTEM PERIODIC TIMER MODE ; SYSTEM PERIODIC TIMER MODE
; ;
@ -598,7 +598,7 @@ SYSTIM .SET TM_Z280
#IF ((DEFSERCFG & %1111100000000) == SER_BAUD115200 #IF ((DEFSERCFG & %1111100000000) == SER_BAUD115200
.ECHO "115200" .ECHO "115200"
#ENDIF #ENDIF
.ECHO " BAUD\r\n"
.ECHO " BAUD\n"
#ENDIF #ENDIF
; ;
; ;
@ -629,16 +629,16 @@ SYSTIM .SET TM_Z280
#IF (MEMMGR == MM_RPH) #IF (MEMMGR == MM_RPH)
.ECHO "RHYOPHYRE ONBOARD (RPH)" .ECHO "RHYOPHYRE ONBOARD (RPH)"
#ENDIF #ENDIF
.ECHO "\r\n"
.ECHO "\n"
#ENDIF #ENDIF
; ;
.ECHO "ROM SIZE: " .ECHO "ROM SIZE: "
.ECHO ROMSIZE .ECHO ROMSIZE
.ECHO " KB\r\n"
.ECHO " KB\n"
; ;
.ECHO "RAM SIZE: " .ECHO "RAM SIZE: "
.ECHO RAMSIZE .ECHO RAMSIZE
.ECHO " KB\r\n"
.ECHO " KB\n"
; ;
; MEMORY BANK CONFIGURATION ; MEMORY BANK CONFIGURATION
; ;

22
Source/HBIOS/syq.asm

@ -1446,6 +1446,17 @@ SYQ0_CFG: ; DEVICE 0
.DB SYQ0BASE ; IO BASE ADDRESS .DB SYQ0BASE ; IO BASE ADDRESS
.DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; DEVICE CAPACITY
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
;
.ECHO "SYQ: MODE="
#IF (SYQMODE == SYQMODE_SPP)
.ECHO "SPP"
#ENDIF
#IF (SYQMODE == SYQMODE_MG014)
.ECHO "MG014"
#ENDIF
.ECHO ", IO="
.ECHO SYQ0BASE
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF (SYQCNT >= 2) #IF (SYQCNT >= 2)
@ -1457,6 +1468,17 @@ SYQ1_CFG: ; DEVICE 1
.DB SYQ1BASE ; IO BASE ADDRESS .DB SYQ1BASE ; IO BASE ADDRESS
.DW 0,0 ; DEVICE CAPACITY .DW 0,0 ; DEVICE CAPACITY
.DW 0,0 ; CURRENT LBA .DW 0,0 ; CURRENT LBA
;
.ECHO "SYQ: MODE="
#IF (SYQMODE == SYQMODE_SPP)
.ECHO "SPP"
#ENDIF
#IF (SYQMODE == SYQMODE_MG014)
.ECHO "MG014"
#ENDIF
.ECHO ", IO="
.ECHO SYQ1BASE
.ECHO "\n"
#ENDIF #ENDIF
; ;
#IF ($ - SYQ_CFG) != (SYQCNT * SYQ_CFGSIZ) #IF ($ - SYQ_CFG) != (SYQCNT * SYQ_CFGSIZ)

23
Source/HBIOS/tms.asm

@ -42,9 +42,7 @@
TMSCTRL1: .EQU 1 ; CONTROL BITS TMSCTRL1: .EQU 1 ; CONTROL BITS
TMSINTEN: .EQU 5 ; INTERRUPT ENABLE BIT TMSINTEN: .EQU 5 ; INTERRUPT ENABLE BIT
; ;
#IF TMSTIMENABLE
.ECHO "TMS INTERRUPTS ENABLED\n"
#ENDIF
.ECHO "TMS: MODE="
; ;
#IF ((TMSMODE == TMSMODE_MSX) | (TMSMODE == TMSMODE_MSX9958)) #IF ((TMSMODE == TMSMODE_MSX) | (TMSMODE == TMSMODE_MSX9958))
TMS_DATREG .EQU $98 ; READ/WRITE DATA TMS_DATREG .EQU $98 ; READ/WRITE DATA
@ -53,6 +51,13 @@ TMS_PPIA .EQU 0 ; PPI PORT A
TMS_PPIB .EQU 0 ; PPI PORT B TMS_PPIB .EQU 0 ; PPI PORT B
TMS_PPIC .EQU 0 ; PPI PORT C TMS_PPIC .EQU 0 ; PPI PORT C
TMS_PPIX .EQU 0 ; PPI CONTROL PORT TMS_PPIX .EQU 0 ; PPI CONTROL PORT
;
#IF (TMSMODE == TMSMODE_MSX)
.ECHO "MSX"
#ENDIF
#IF (TMSMODE == TMSMODE_MSX9958)
.ECHO "MSX9958"
#ENDIF
#ENDIF #ENDIF
; ;
#IF (TMSMODE == TMSMODE_COLECO) #IF (TMSMODE == TMSMODE_COLECO)
@ -62,6 +67,7 @@ TMS_PPIA .EQU 0 ; PPI PORT A
TMS_PPIB .EQU 0 ; PPI PORT B TMS_PPIB .EQU 0 ; PPI PORT B
TMS_PPIC .EQU 0 ; PPI PORT C TMS_PPIC .EQU 0 ; PPI PORT C
TMS_PPIX .EQU 0 ; PPI CONTROL PORT TMS_PPIX .EQU 0 ; PPI CONTROL PORT
.ECHO "COLECO"
#ENDIF #ENDIF
; ;
#IF (TMSMODE == TMSMODE_MSXKBD) #IF (TMSMODE == TMSMODE_MSXKBD)
@ -69,6 +75,7 @@ TMS_DATREG .EQU $98 ; READ/WRITE DATA
TMS_CMDREG .EQU $99 ; READ STATUS / WRITE REG SEL TMS_CMDREG .EQU $99 ; READ STATUS / WRITE REG SEL
TMS_KBDDATA .EQU $E0 ; KBD CTLR DATA PORT TMS_KBDDATA .EQU $E0 ; KBD CTLR DATA PORT
TMS_KBDST .EQU $E1 ; KBD CTLR STATUS/CMD PORT TMS_KBDST .EQU $E1 ; KBD CTLR STATUS/CMD PORT
.ECHO "MSXKBD"
#ENDIF #ENDIF
; ;
#IF (TMSMODE == TMSMODE_N8) #IF (TMSMODE == TMSMODE_N8)
@ -78,6 +85,7 @@ TMS_PPIA .EQU $84 ; PPI PORT A
TMS_PPIB .EQU $85 ; PPI PORT B TMS_PPIB .EQU $85 ; PPI PORT B
TMS_PPIC .EQU $86 ; PPI PORT C TMS_PPIC .EQU $86 ; PPI PORT C
TMS_PPIX .EQU $87 ; PPI CONTROL PORT TMS_PPIX .EQU $87 ; PPI CONTROL PORT
.ECHO "N8"
#ENDIF #ENDIF
; ;
#IF (TMSMODE == TMSMODE_SCG) #IF (TMSMODE == TMSMODE_SCG)
@ -88,6 +96,7 @@ TMS_PPIA .EQU 0 ; PPI PORT A
TMS_PPIB .EQU 0 ; PPI PORT B TMS_PPIB .EQU 0 ; PPI PORT B
TMS_PPIC .EQU 0 ; PPI PORT C TMS_PPIC .EQU 0 ; PPI PORT C
TMS_PPIX .EQU 0 ; PPI CONTROL PORT TMS_PPIX .EQU 0 ; PPI CONTROL PORT
.ECHO "SCG"
#ENDIF #ENDIF
; ;
#IF (TMSMODE == TMSMODE_MBC) #IF (TMSMODE == TMSMODE_MBC)
@ -100,7 +109,15 @@ TMS_PPIC .EQU 0 ; PPI PORT C
TMS_PPIX .EQU 0 ; PPI CONTROL PORT TMS_PPIX .EQU 0 ; PPI CONTROL PORT
TMS_KBDDATA .EQU $E2 ; KBD CTLR DATA PORT TMS_KBDDATA .EQU $E2 ; KBD CTLR DATA PORT
TMS_KBDST .EQU $E3 ; KBD CTLR STATUS/CMD PORT TMS_KBDST .EQU $E3 ; KBD CTLR STATUS/CMD PORT
.ECHO "MBC"
#ENDIF
;
.ECHO ", IO="
.ECHO TMS_DATREG
#IF TMSTIMENABLE
.ECHO ", INTERRUPTS ENABLED"
#ENDIF #ENDIF
.ECHO "\n"
; ;
TMS_ROWS .EQU 24 TMS_ROWS .EQU 24
; ;

61
Source/HBIOS/uart.asm

@ -1041,6 +1041,13 @@ UART_CFG_SBC:
.DB UARTSBASE + UART_LSR ; LINE STATUS PORT (LSR) .DB UARTSBASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION .DW UARTCFG ; LINE CONFIGURATION
.DW UARTSBC_RCVBUF ; POINTER TO RCV BUFFER STRUCT .DW UARTSBC_RCVBUF ; POINTER TO RCV BUFFER STRUCT
;
.ECHO "UART: MODE=SBC, IO="
.ECHO UARTSBASE
#IF ((UARTINTS) & (INTMODE > 0))
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
#ENDIF #ENDIF
#IF (UARTAUX) #IF (UARTAUX)
UART_CFG_AUX: UART_CFG_AUX:
@ -1051,6 +1058,10 @@ UART_CFG_AUX:
.DB UARTABASE + UART_LSR ; LINE STATUS PORT (LSR) .DB UARTABASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION .DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; NO INT HANDLER .DW 0 ; NO INT HANDLER
;
.ECHO "UART: MODE=AUX, IO="
.ECHO UARTABASE
.ECHO "\n"
#ENDIF #ENDIF
#IF (UARTCAS) #IF (UARTCAS)
UART_CFG_CAS: UART_CFG_CAS:
@ -1061,6 +1072,13 @@ UART_CFG_CAS:
.DB UARTCBASE + UART_LSR ; LINE STATUS PORT (LSR) .DB UARTCBASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCASSPD ; LINE CONFIGURATION .DW UARTCASSPD ; LINE CONFIGURATION
.DW UARTCAS_RCVBUF ; POINTER TO RCV BUFFER STRUCT .DW UARTCAS_RCVBUF ; POINTER TO RCV BUFFER STRUCT
;
.ECHO "UART: MODE=CAS, IO="
.ECHO UARTCBASE
#IF ((UARTINTS) & (INTMODE > 0))
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
#ENDIF #ENDIF
#IF (UARTMFP) #IF (UARTMFP)
UART_CFG_MFP: UART_CFG_MFP:
@ -1071,6 +1089,10 @@ UART_CFG_MFP:
.DB UARTMBASE + UART_LSR ; LINE STATUS PORT (LSR) .DB UARTMBASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION .DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER .DW 0 ; SHOULD NEVER NEED INT HANDLER
;
.ECHO "UART: MODE=MFP, IO="
.ECHO UARTSBASE
.ECHO "\n"
#ENDIF #ENDIF
#IF (UART4) #IF (UART4)
; 4UART SERIAL PORT A ; 4UART SERIAL PORT A
@ -1080,6 +1102,11 @@ UART_CFG_MFP:
.DB UART4BASE+0 + UART_LSR ; LINE STATUS PORT (LSR) .DB UART4BASE+0 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION .DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER .DW 0 ; SHOULD NEVER NEED INT HANDLER
;
.ECHO "UART: MODE=4UART, IO="
.ECHO UART4BASE+0
.ECHO "\n"
;
; 4UART SERIAL PORT B ; 4UART SERIAL PORT B
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE .DB 0 ; UART TYPE
@ -1087,6 +1114,11 @@ UART_CFG_MFP:
.DB UART4BASE+8 + UART_LSR ; LINE STATUS PORT (LSR) .DB UART4BASE+8 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION .DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER .DW 0 ; SHOULD NEVER NEED INT HANDLER
;
.ECHO "UART: MODE=4UART, IO="
.ECHO UART4BASE+8
.ECHO "\n"
;
; 4UART SERIAL PORT C ; 4UART SERIAL PORT C
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE .DB 0 ; UART TYPE
@ -1094,6 +1126,11 @@ UART_CFG_MFP:
.DB UART4BASE+16 + UART_LSR ; LINE STATUS PORT (LSR) .DB UART4BASE+16 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION .DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER .DW 0 ; SHOULD NEVER NEED INT HANDLER
;
.ECHO "UART: MODE=4UART, IO="
.ECHO UART4BASE+16
.ECHO "\n"
;
; 4UART SERIAL PORT D ; 4UART SERIAL PORT D
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE .DB 0 ; UART TYPE
@ -1101,6 +1138,10 @@ UART_CFG_MFP:
.DB UART4BASE+24 + UART_LSR ; LINE STATUS PORT (LSR) .DB UART4BASE+24 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION .DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER .DW 0 ; SHOULD NEVER NEED INT HANDLER
;
.ECHO "UART: MODE=4UART, IO="
.ECHO UART4BASE+24
.ECHO "\n"
#ENDIF #ENDIF
#IF (UARTRC) #IF (UARTRC)
; UARTRC SERIAL PORT A ; UARTRC SERIAL PORT A
@ -1110,6 +1151,11 @@ UART_CFG_MFP:
.DB UARTRBASE + UART_LSR ; LINE STATUS PORT (LSR) .DB UARTRBASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION .DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER .DW 0 ; SHOULD NEVER NEED INT HANDLER
;
.ECHO "UART: MODE=RC, IO="
.ECHO UARTRBASE+0
.ECHO "\n"
;
; UARTRC SERIAL PORT B ; UARTRC SERIAL PORT B
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE .DB 0 ; UART TYPE
@ -1117,6 +1163,11 @@ UART_CFG_MFP:
.DB UARTRBASE+8 + UART_LSR ; LINE STATUS PORT (LSR) .DB UARTRBASE+8 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION .DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER .DW 0 ; SHOULD NEVER NEED INT HANDLER
;
.ECHO "UART: MODE=RC, IO="
.ECHO UARTRBASE+8
.ECHO "\n"
;
#ENDIF #ENDIF
#IF (UARTDUAL) #IF (UARTDUAL)
; DUAL UART CHANNEL A ; DUAL UART CHANNEL A
@ -1126,6 +1177,11 @@ UART_CFG_MFP:
.DB UARTDBASE + UART_LSR ; LINE STATUS PORT (LSR) .DB UARTDBASE + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION .DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER .DW 0 ; SHOULD NEVER NEED INT HANDLER
;
.ECHO "UART: MODE=DUAL, IO="
.ECHO UARTDBASE+0
.ECHO "\n"
;
; DUAL UART CHANNEL B ; DUAL UART CHANNEL B
.DB 0 ; DEVICE NUMBER (UPDATED DURING INIT) .DB 0 ; DEVICE NUMBER (UPDATED DURING INIT)
.DB 0 ; UART TYPE .DB 0 ; UART TYPE
@ -1133,6 +1189,11 @@ UART_CFG_MFP:
.DB UARTDBASE+8 + UART_LSR ; LINE STATUS PORT (LSR) .DB UARTDBASE+8 + UART_LSR ; LINE STATUS PORT (LSR)
.DW UARTCFG ; LINE CONFIGURATION .DW UARTCFG ; LINE CONFIGURATION
.DW 0 ; SHOULD NEVER NEED INT HANDLER .DW 0 ; SHOULD NEVER NEED INT HANDLER
;
.ECHO "UART: MODE=DUAL, IO="
.ECHO UARTDBASE+8
.ECHO "\n"
;
#ENDIF #ENDIF
; ;
UART_CNT .EQU ($ - UART_CFG) / 8 UART_CNT .EQU ($ - UART_CFG) / 8

4
Source/HBIOS/uf.asm

@ -23,6 +23,10 @@ UF_USB_ACTIVE .DB 0 ; USB CABLE CONNECTED STATUS FLAG
; DEVICE DESCRIPTION TABLE ; DEVICE DESCRIPTION TABLE
; ;
UF_CFG: .DW SER_9600_8N1 ; DUMMY CONFIGURATION UF_CFG: .DW SER_9600_8N1 ; DUMMY CONFIGURATION
;
.ECHO "USB-FIFO: IO="
.ECHO UFBASE
.ECHO "\n"
; ;
; SETUP THE DISPATCH TABLE ENTRY AND INITIALIZE HARDWARE ; SETUP THE DISPATCH TABLE ENTRY AND INITIALIZE HARDWARE
; ;

6
Source/HBIOS/vdu.asm

@ -81,6 +81,12 @@ VDU_R11 .EQU DSCANL-1
VDU_R10 .EQU (VDU_BLNK + DSCANL-1) VDU_R10 .EQU (VDU_BLNK + DSCANL-1)
VDU_R11 .EQU DSCANL-1 VDU_R11 .EQU DSCANL-1
#ENDIF #ENDIF
;
.ECHO "VDU: IO="
.ECHO VDU_RAMRD
.ECHO ", PPK IO="
.ECHO VDU_PPIA
.ECHO "\n"
; ;
;====================================================================== ;======================================================================
; VDU DRIVER - INITIALIZATION ; VDU DRIVER - INITIALIZATION

8
Source/HBIOS/vga.asm

@ -20,6 +20,14 @@ VGA_CFG .EQU VGA_BASE + $04 ; VGA3 BOARD CFG REGISTER
VGA_HI .EQU VGA_BASE + $05 ; BOARD RAM HI ADDRESS VGA_HI .EQU VGA_BASE + $05 ; BOARD RAM HI ADDRESS
VGA_LO .EQU VGA_BASE + $06 ; BOARD RAM LO ADDRESS VGA_LO .EQU VGA_BASE + $06 ; BOARD RAM LO ADDRESS
VGA_DAT .EQU VGA_BASE + $07 ; BOARD RAM BYTE R/W VGA_DAT .EQU VGA_BASE + $07 ; BOARD RAM BYTE R/W
;
.ECHO "VGA: "
.ECHO "IO="
.ECHO VGA_BASE
.ECHO ", KBD MODE=PS/2"
.ECHO ", KBD IO="
.ECHO VGA_KBDDATA
.ECHO "\n"
; ;
VGA_NOBL .EQU 00000000B ; NO BLINK VGA_NOBL .EQU 00000000B ; NO BLINK
VGA_NOCU .EQU 00100000B ; NO CURSOR VGA_NOCU .EQU 00100000B ; NO CURSOR

7
Source/HBIOS/vrc.asm

@ -25,6 +25,13 @@ VRC_COLS .EQU 64
#DEFINE VRC_FONT FONTVGARC #DEFINE VRC_FONT FONTVGARC
; ;
TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER
;
.ECHO "VRC: IO="
.ECHO VRC_BASE
.ECHO ", KBD MODE=VRC"
.ECHO ", KBD IO="
.ECHO VRC_KBDDATA
.ECHO "\n"
; ;
;====================================================================== ;======================================================================
; VRC DRIVER - INITIALIZATION ; VRC DRIVER - INITIALIZATION

4
Source/HBIOS/ym2612.asm

@ -38,6 +38,10 @@ YM_RDY_RST .DB 0 ; FLAG INDICATES IF DEVICE IS IN READY (NZ) OR RESET STATE (Z)
YM_DEBUG .EQU 0 ; CHANGE TO 1 TO ENABLE DEBUGGING YM_DEBUG .EQU 0 ; CHANGE TO 1 TO ENABLE DEBUGGING
YM_RSTCFG .EQU 0 ; SET TO 1 FOR FULL REGISTER CLEAR YM_RSTCFG .EQU 0 ; SET TO 1 FOR FULL REGISTER CLEAR
YM_FAST3438 .EQU 0 ; FAST CPU'S WITH A YM3438 MAY REQUIRE A DELAY YM_FAST3438 .EQU 0 ; FAST CPU'S WITH A YM3438 MAY REQUIRE A DELAY
;
.ECHO "YM: IO="
.ECHO YMSEL
.ECHO "\n"
; ;
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
; Driver function table and instance data ; Driver function table and instance data

9
Source/HBIOS/z2u.asm

@ -715,6 +715,15 @@ Z2U0_CFG:
.DW Z2U0CFG ; LINE CONFIGURATION .DW Z2U0CFG ; LINE CONFIGURATION
.DW Z2U0_RCVBUF ; POINTER TO RCV BUFFER STRUCT .DW Z2U0_RCVBUF ; POINTER TO RCV BUFFER STRUCT
; ;
;
.ECHO "Z2U: IO="
.ECHO Z2U0BASE
#IF (INTMODE == 3)
.ECHO ", INTERRUPTS ENABLED"
#ENDIF
.ECHO "\n"
;
Z2U_CFGSIZ .EQU $ - Z2U_CFG ; SIZE OF ONE CFG TABLE ENTRY Z2U_CFGSIZ .EQU $ - Z2U_CFG ; SIZE OF ONE CFG TABLE ENTRY
; ;
Z2U_CFGCNT .EQU ($ - Z2U_CFG) / Z2U_CFGSIZ Z2U_CFGCNT .EQU ($ - Z2U_CFG) / Z2U_CFGSIZ

2
Source/ver.inc

@ -2,7 +2,7 @@
#DEFINE RMN 4 #DEFINE RMN 4
#DEFINE RUP 0 #DEFINE RUP 0
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "3.4.0-dev.25"
#DEFINE BIOSVER "3.4.0-dev.26"
#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 4
rup equ 0 rup equ 0
rtp equ 0 rtp equ 0
biosver macro biosver macro
db "3.4.0-dev.25"
db "3.4.0-dev.26"
endm endm

Loading…
Cancel
Save