Browse Source

Incorporate FDISK80

pull/3/head
Wayne Warthen 10 years ago
parent
commit
b4fc05acfb
  1. 200
      Source/Apps/Assign.asm
  2. 33
      Source/CBIOS/cbios.asm
  3. 18
      Source/HBIOS/API.txt
  4. 9
      Source/HBIOS/Config/mk4_cvdu.asm
  5. 9
      Source/HBIOS/Config/mk4_diskio3.asm
  6. 9
      Source/HBIOS/Config/mk4_dsd.asm
  7. 9
      Source/HBIOS/Config/mk4_propio.asm
  8. 9
      Source/HBIOS/Config/mk4_std.asm
  9. 9
      Source/HBIOS/Config/n8_2312.asm
  10. 9
      Source/HBIOS/Config/n8_2511.asm
  11. 13
      Source/HBIOS/Config/sbc_ci.asm
  12. 13
      Source/HBIOS/Config/sbc_cvdu.asm
  13. 13
      Source/HBIOS/Config/sbc_dide.asm
  14. 13
      Source/HBIOS/Config/sbc_diskio.asm
  15. 13
      Source/HBIOS/Config/sbc_diskio3+cvdu.asm
  16. 13
      Source/HBIOS/Config/sbc_diskio3.asm
  17. 13
      Source/HBIOS/Config/sbc_dsd.asm
  18. 15
      Source/HBIOS/Config/sbc_mfpic.asm
  19. 13
      Source/HBIOS/Config/sbc_ppide.asm
  20. 13
      Source/HBIOS/Config/sbc_ppisd.asm
  21. 13
      Source/HBIOS/Config/sbc_propio.asm
  22. 11
      Source/HBIOS/Config/sbc_rf.asm
  23. 11
      Source/HBIOS/Config/sbc_simh.asm
  24. 13
      Source/HBIOS/Config/sbc_std.asm
  25. 13
      Source/HBIOS/Config/sbc_vdu.asm
  26. 11
      Source/HBIOS/Config/zeta2_ppide.asm
  27. 11
      Source/HBIOS/Config/zeta2_ppisd.asm
  28. 11
      Source/HBIOS/Config/zeta2_ppp.asm
  29. 11
      Source/HBIOS/Config/zeta2_std.asm
  30. 11
      Source/HBIOS/Config/zeta_ppide.asm
  31. 11
      Source/HBIOS/Config/zeta_ppisd.asm
  32. 11
      Source/HBIOS/Config/zeta_ppp.asm
  33. 11
      Source/HBIOS/Config/zeta_std.asm
  34. 75
      Source/HBIOS/ansi.asm
  35. 12
      Source/HBIOS/cvdu.asm
  36. 2050
      Source/HBIOS/cvdu_font.asm
  37. 79
      Source/HBIOS/dbgmon.asm
  38. 19
      Source/HBIOS/fd.asm
  39. 283
      Source/HBIOS/hbios.asm
  40. 47
      Source/HBIOS/hbios.inc
  41. 8
      Source/HBIOS/md.asm
  42. 86
      Source/HBIOS/romldr.asm
  43. 500
      Source/HBIOS/scg.asm
  44. 0
      Source/HBIOS/scg_font.inc
  45. 4
      Source/HBIOS/std.asm
  46. 41
      Source/HBIOS/tty.asm
  47. 20
      Source/HBIOS/util.asm
  48. 10
      Source/HBIOS/vdu.asm
  49. 6
      Source/HBIOS/ver.inc
  50. BIN
      Source/RomDsk/ROM_1024KB/FDISK80.COM
  51. BIN
      Source/RomDsk/ROM_512KB/FDISK80.COM
  52. BIN
      Source/RomDsk/ROM_512KB/LBREXT.COM
  53. BIN
      Source/RomDsk/ROM_512KB/ZDENST.COM
  54. BIN
      Source/RomDsk/sbc_ci/T5.COM
  55. BIN
      Source/RomDsk/sbc_cvdu/T5.COM
  56. BIN
      Source/RomDsk/sbc_dide/T5.COM
  57. BIN
      Source/RomDsk/sbc_diskio/T5.COM
  58. BIN
      Source/RomDsk/sbc_diskio3+cvdu/T5.COM
  59. BIN
      Source/RomDsk/sbc_diskio3/T5.COM
  60. BIN
      Source/RomDsk/sbc_dsd/T5.COM
  61. BIN
      Source/RomDsk/sbc_mfpic/T5.COM
  62. BIN
      Source/RomDsk/sbc_ppide/T5.COM
  63. BIN
      Source/RomDsk/sbc_ppisd/T5.COM
  64. BIN
      Source/RomDsk/sbc_propio/T5.COM
  65. BIN
      Source/RomDsk/sbc_rf/T5.COM
  66. BIN
      Source/RomDsk/sbc_std/T5.COM
  67. BIN
      Source/RomDsk/sbc_vdu/T5.COM
  68. 0
      Source/UBIOS/ubios.inc

200
Source/Apps/Assign.asm

@ -18,6 +18,7 @@
;_______________________________________________________________________________
;
; Change Log:
; 2016-03-21 [WBW] Updated for HBIOS 2.8
;_______________________________________________________________________________
;
; ToDo:
@ -37,7 +38,7 @@ bdos .equ $0005 ; BDOS invocation vector
stamp .equ $40 ; loc of RomWBW CBIOS zero page stamp
;
rmj .equ 2 ; CBIOS version - major
rmn .equ 7 ; CBIOS version - minor
rmn .equ 8 ; CBIOS version - minor
;
;===============================================================================
; Code Section
@ -283,22 +284,18 @@ devlist:
or a ; set flags
jr nz,devlstu ; do UNA mode dev list
;
ld b,$1a ; hbios func: diodevcnt
rst 08 ; call hbios, device count to B
ld b,$f7 ; hbios func: sysget
ld c,$10 ; sysget subfunc: diocnt
rst 08 ; call hbios, E := device count
ld b,e ; use device count for loop count
ld c,0 ; use C for device index
devlist1:
call crlf ; formatting
ld de,indent ; indent
call prtstr ; ... to look nice
push bc ; preserve loop control
ld b,$1b ; hbios func: diodevinf
rst 08 ; call hbios, return device/unit in C
ld a,c ; device/unit to A
push af ; save it
ld c,a ; device to A
call prtdev ; print device mnemonic
pop af ; get device/unit back
and $0f ; isolate unit num
call prtdecb ; append unit num
ld a,':' ; colon for device/unit format
call prtchr ; print it
pop bc ; restore loop control
@ -426,7 +423,7 @@ dph_init2:
push bc ; save DPH location
push bc ; move DPH location
pop de ; ... to DE
ld a,(hl) ; device/unit to A
ld a,(hl) ; unit to A
call makdph ; make the DPH
pop de ; restore DPH pointer to DE
pop hl ; restore drive map pointer to HL
@ -644,11 +641,11 @@ valid2: ; setup for inner loop
;
valid3: ; inner loop
; bypass unassigned drives (only need to test 1)
ld a,(hl) ; get first drive device/unit in A
ld a,(hl) ; get first drive unit in A
cp $ff ; unassigned?
jr z,valid4 ; yes, skip
;
; compare device/unit/slice values
; compare unit/slice values
ld a,(de) ; first byte to A
cp (hl) ; compare
jr nz,valid4 ; if not equal, continue loop
@ -768,7 +765,7 @@ drvswap:
xor a ; signal success
ret ; exit
;
; Assign drive to specified device/unit/slice
; Assign drive to specified unit/slice
;
drvmap:
; check for UNA mode
@ -801,32 +798,46 @@ drvmap1: ; loop through device table looking for a match
djnz drvmap1 ; and loop
jp errdev
;
drvmap2: ; verify the unit is eligible for assignment (hard disk unit only!)
ld a,c ; get the specified device number
; call chktyp ; check it
; jp nz,errtyp ; abort with bad unit error
;
; construct the requested dph table entry
ld a,c ; C has device num
drvmap2:
; convert index to device type id
ld a,c ; index to accum
rlca ; move it to upper nibble
rlca ; ...
rlca ; ...
rlca ; ...
ld c,a ; stash it back in C
ld a,(unit) ; get the unit number
or c ; combine device and unit
ld c,a ; and save in C
ld a,(slice) ; get the slice
ld b,a ; and save in B
;
; check for valid device/unit (supported by BIOS)
push bc ; save device/unit/slice
ld a,c ; device/unit to A
call chkdev ; device/unit OK?
pop bc ; restore device/unit/slice
; jp nz,errdev ; invalid device specified
ret nz
ld (device),a ; save as device id
;
; loop thru hbios units looking for device type/unit match
ld b,$f7 ; hbios func: sysget
ld c,$10 ; sysget subfunc: diocnt
rst 08 ; call hbios, E := device count
ld b,e ; use device count for loop count
ld c,0 ; use C for device index
drvmap3:
push bc ; preserve loop control
ld b,$17 ; hbios func: diodevice
rst 08 ; call hbios, D := device, E := unit
pop bc ; restore loop control
ld a,(device)
cp d
jr nz,drvmap4
ld a,(unit)
cp e
jr z,drvmap5 ; match, continue, C = BIOS unit
drvmap4:
; continue looping
inc c
djnz drvmap3
jp errdev ; invalid device specified
;
drvmap5:
; check for valid unit (supported by BIOS)
push bc ; save unit
ld a,c ; unit to A
call chkdev ; check validity
pop bc ; restore unit
ret nz ; bail out on error
; resolve the CBIOS DPH table entry
ld a,(dstdrv) ; dest drv num to A
call chkdrv ; valid drive?
@ -837,10 +848,11 @@ drvmap2: ; verify the unit is eligible for assignment (hard disk unit only!)
call addhl ; adjust HL to point to entry
ld (dstptr),hl ; save it
;
; shove updated device/unit/slice into the entry
ld (hl),c ; save device/unit byte
; shove updated unit/slice into the entry
ld (hl),c ; save unit byte
inc hl ; bump to next byte
ld (hl),b ; save slice
ld a,(slice)
ld (hl),a ; save slice
;
; finish up
ld a,(dstdrv) ; get the destination drive
@ -911,14 +923,7 @@ drvmapu1:
call addhl ; adjust HL to point to entry
ld (dstptr),hl ; save it
;
; ; verify the drive letter being assigned is a hard disk
; ld a,(hl) ; get the device/unit byte
; push hl ; save pointer
; call chktypu ; check it
; pop hl ; recover pointer
; jp nz,errtyp ; abort with bad device type error
;
; shove updated device/unit/slice into the entry
; shove updated unit/slice into the entry
ld a,(unit) ; get specified unit
ld (hl),a ; save it
inc hl ; next byte is slice
@ -945,7 +950,9 @@ showall:
;
showall1: ; loop
ld a,c ;
push bc ; save loop control
call showass
pop bc ; restore loop control
inc c
djnz showall1
or $ff
@ -962,7 +969,7 @@ showass:
rlca
rlca
call addhl ; HL = address of drive map table entry
ld a,(hl) ; get device/unit value
ld a,(hl) ; get unit value
cp $ff ; compare to unassigned value
ld a,c ; recover original drive num
ret z ; bail out if unassigned drive
@ -997,16 +1004,13 @@ showone:
call prtchr ; print it
;
; render the map entry
ld a,(hl) ; load device/unit
ld a,(hl) ; load unit
cp $FF ; empty?
ret z ; yes, bypass
call prtdev ; print device mnemonic
ld a,(hl) ; load device/unit again
and $0f ; isolate unit num
call prtdecb ; print it
inc hl ; point to slice num
ld a,':' ; colon to separate slice
ld a,':' ; colon for device/unit format
call prtchr ; print it
inc hl ; point to slice num
ld a,(hl) ; load slice num
call prtdecb ; print it
;
@ -1033,6 +1037,11 @@ prtdev:
or a ; set flags
ld a,e ; put device num back
jr nz,prtdevu ; print device in UNA mode
ld b,$17 ; hbios func: diodevice
ld c,a ; unit to C
rst 08 ; call hbios, D := device, E := unit
push de ; save results
ld a,d ; device to A
rrca ; isolate high nibble (device)
rrca ; ...
rrca ; ...
@ -1048,54 +1057,63 @@ prtdev:
ld e,a ; ...
call prtstr ; print the device nmemonic
pop hl ; restore HL
pop de ; get device/unit data back
ld a,e ; device id to a
call prtdecb ; print it
ret ; done
;
prtdevu:
ld e,a ; save unit num in E
push bc
push de
push hl
;
; UNA mode version of print device
ld b,a ; B := unit num
push bc ; save for later
ld c,$48 ; UNA func: get disk type
rst 08 ; call UNA
ld a,d ; disk type to A
pop hl
pop de
pop bc
pop bc ; get unit num back in C
;
; pick string based on disk type
cp $40 ; RAM/ROM?
jr z,prtdevu1 ; if so, handle it
cp $41 ; IDE?
ld de,udevide ; load string
jp z,prtstr ; if IDE, print and return
jr z,prtdevu2 ; if IDE, print and return
cp $42 ; PPIDE?
ld de,udevppide ; load string
jp z,prtstr ; if PPIDE, print and return
jr z,prtdevu2 ; if PPIDE, print and return
cp $43 ; SD?
ld de,udevsd ; load string
jp z,prtstr ; if SD, print and return
jr z,prtdevu2 ; if SD, print and return
cp $44 ; DSD?
ld de,udevdsd ; load string
jp z,prtstr ; if DSD, print and return
jr z,prtdevu2 ; if DSD, print and return
ld de,udevunk ; load string for unknown
jp prtstr ; and print it
jr prtdevu2 ; and print it
;
prtdevu1:
; handle RAM/ROM
push bc
push hl
ld b,e ; unit num to B
push bc ; save unit num
ld c,$45 ; UNA func: get disk info
ld de,$9000 ; 512 byte buffer *** FIX!!! ***
rst 08 ; call UNA
bit 7,b ; test RAM drive bit
pop hl
pop bc
pop bc ; restore unit num
ld de,udevrom ; load string
jp z,prtstr ; print and return
jr z,prtdevu2 ; print and return
ld de,udevram ; load string
jp prtstr ; print and return
jr prtdevu2 ; print and return
;
prtdevu2:
call prtstr ; print the device nmemonic
ld a,b ; get the unit num back
call prtdecb ; append it
pop hl
pop de
pop bc
ret
;
; Check that specified drive num is valid
;
@ -1105,36 +1123,32 @@ chkdrv:
cp a ; set Z to signal good
ret ; and return
;
; Check that the device/unit value in A is valid
; Check that the unit value in A is valid
; according to active BIOS support.
;
;
chkdev: ; HBIOS variant
push af ; save incoming device/unit
ld b,$1a ; hbios func: diodevcnt
rst 08 ; call hbios, device count to B
ld c,0 ; use C for device index
pop af ; restore incoming device/unit
chkdev1:
push bc ; preserve loop control
push af ; save incoming device/unit
ld b,$1b ; hbios func: diodevinf
rst 08 ; call hbios, return device/unit in C
pop af ; restore incoming device/unit
cp c ; match to device/unit from BIOS list?
pop bc ; restore loop control
jr z,chkdev2 ; yes, match
inc c ; next device list entry
djnz chkdev1 ; loop as needed
jp errdev ; no match, handle error
;
chkdev2: ; check slice support
push af ; save incoming unit
ld b,$f7 ; hbios func: sysget
ld c,$10 ; sysget subfunc: diocnt
rst 08 ; call hbios, E := device count
pop af ; restore incoming unit
cp e ; compare to unit count
jp nc,errdev ; if too high, error
;
; get device/unit info
ld b,$17 ; hbios func: diodevice
ld c,a ; unit to C
rst 08 ; call hbios, D := device, E := unit
ld a,d ; device to A
;
; check slice support
cp $30 ; A has device/unit, in hard disk range?
jr c,chkdev3 ; if not hard disk, check slice val
jr c,chkdev1 ; if not hard disk, check slice val
xor a ; otherwise, signal OK
ret
;
chkdev3: ; not a hard disk, make sure slice == 0
chkdev1: ; not a hard disk, make sure slice == 0
ld a,(slice) ; get specified slice
or a ; set flags
jp nz,errslc ; invalid slice error
@ -1615,10 +1629,10 @@ stack .equ $ ; stack top
; Messages
;
indent .db " ",0
msgban1 .db "ASSIGN v1.0a for RomWBW CP/M 2.2, 25-Oct-2014",0
msgban1 .db "ASSIGN v1.0b for RomWBW CP/M 2.2, 20-Mar-2016",0
msghb .db " (HBIOS Mode)",0
msgub .db " (UBIOS Mode)",0
msgban2 .db "Copyright 2014, Wayne Warthen, GNU GPL v3",0
msgban2 .db "Copyright 2016, Wayne Warthen, GNU GPL v3",0
msguse .db "Usage: ASSIGN D:[=[{D:|<device>[<unitnum>]:[<slicenum>]}]][,...]",13,10
.db " ex. ASSIGN (display all active assignments)",13,10
.db " ASSIGN /? (display version and usage)",13,10

33
Source/CBIOS/cbios.asm

@ -59,7 +59,7 @@ MEMTOP .EQU $10000
#ENDIF
;
#IFDEF PLTUNA
#INCLUDE "../HBIOS/ubios.inc"
#INCLUDE "../UBIOS/ubios.inc"
#ENDIF
;
.ORG CBIOS_LOC ; DEFINED IN STD.ASM
@ -1790,19 +1790,14 @@ INIT:
LD HL,($FFFE) ; UNA ENTRY VECTOR
LD (9),HL ; STORE AT 0x0009
#ELSE
; ASK HBIOS FOR CRITICAL BANK ID'S (BIOS AND USER BANKS)
; SAVE THESE VALUES FOR LATER USE
LD B,BF_SYSHCBGETB ; HB FUNC: GET HCB BYTE
LD C,HCB_BIDBIOS ; BIOS BANK ID
CALL $FFF0 ; RST 8 IS NOT YET INSTALLED
LD A,E ; PUT IN A
LD (BNKBIOS),A ; SAVE IT
LD B,BF_SYSHCBGETB ; HB FUNC: GET HCB BYTE
LD C,HCB_BIDUSR ; USER BANK ID
CALL $FFF0 ; RST 8 IS NOT YET INSTALLED
LD A,E ; PUT IN A
LD (BNKUSER),A ; SAVE IT
LD B,BF_SYSGET ; HBIOS FUNC=GET SYS INFO
LD C,BF_SYSGET_BNKINFO ; HBIOS SUBFUNC=GET BANK ASSIGNMENTS
CALL $FFF0 ; CALL HBIOS, RST 08 NOT YET INSTALLED
LD A,D ; GET HBIOS BANK RETURNED IN D
LD (BNKBIOS),A ; ... AND SAVE IT
LD A,E ; GET USER BANK RETURNED IN E
LD (BNKUSER),A ; ... AND SAVE IT
; MAKE SURE USER BANK IS ACTIVE
LD B,BF_SYSSETBNK ; HB FUNC: SET BANK
LD A,(BNKUSER) ; SELECT USER BANK
@ -1831,11 +1826,6 @@ INIT:
LD (BNKRAMD),A
#ENDIF
; CBIOS BANNER
CALL NEWLINE ; FORMATTING
LD DE,STR_BANNER ; POINT TO BANNER
CALL WRITESTR ; DISPLAY IT
; PARAMETER INITIALIZATION
XOR A ; LOAD DEFAULT IOBYTE
LD (IOBYTE),A ; STORE IT
@ -1844,6 +1834,11 @@ INIT:
XOR A ; ZERO
LD (DEFDRIVE),A ; STORE IT
; CBIOS BANNER
CALL NEWLINE ; FORMATTING
LD DE,STR_BANNER ; POINT TO BANNER
CALL WRITESTR ; DISPLAY IT
#IFDEF PLTUNA
; SAVE COMMAND PROCESSOR IMAGE TO MALLOCED CACHE IN UNA BIOS PAGE
LD C,$F7 ; UNA MALLOC

18
Source/HBIOS/API.txt

@ -243,20 +243,22 @@ CP/M 2.2 Copyright 1979 (c) by Digital Research
<VDA>_INI:
- CALL <VDA>_RES
- INITIALIZE EMULATION BY CALLING EMU_INIT (PASS IN C=EMU_TYPE & DE=VDA_DISPATCH ADDRESS)
- EMU_INIT RETURNS ADDRESS OF CIO DISPATCHER ADDRESS FOR SUBSEQUENT FORWARDING
- RECORD EMULATORS CIO DISPATCHER ADDRESS IN <VDA>_CIODISPATCH
- INITIALIZE EMULATION BY CALLING EMU_INIT (PASS IN B=EMU_TYPE, C=VDA CIO UNIT NUM, DE=VDA DISPATCH ADR)
- RECORD DE (EMULATOR CIO DISPATCH ADR) <VDA>_CIODISPADR TO FORWARD SUBSEQUENT CIO FUNCTION CALLS
- RETURN (A=STATUS)
<VDA>_RES:
- RESET HARDWARE
- RETURN (A=STATUS)
EMU_INIT:
- CALL <EMU>_INIT BASED ON VALUE IN C
EMU_INIT: (B=EMU TYPE, C=VDA CIO UNIT #, DE=VDA DISPATCH ADR) ==> (DE=EMULATOR CIO DISPATCH ADR)
- GOTO TO <EMU>_INIT BASED ON VALUE IN B
<EMU>_INIT:
- RECORD DE IN VDA_DISPADR
<EMU>_INIT: (C=VDA CIO UNIT #, DE=VDA DISPATCH ADR) ==> (DE=EMULATOR CIO DISPATCH ADR)
- RECORD C (VDA CIO UNIT) IN <EMU>_VDACIOUNIT SO <EMU>_DEVICE FUNCTION CAN RETURN IT
- RECORD DE IN <EMU>_VDADISPADR FOR LATER USE IN CALLING PARENT VDA DRIVER
- INITIALIZE/RESET EMULATION ENGINE
- RETURN EMULATOR CIO DISPATCH ADDRESS IN DE
- RETURN (A=STATUS, DE=EMULATOR CIO DISPATCH)

9
Source/HBIOS/Config/mk4_cvdu.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 18432000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_ASCI ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_VDA ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_CVDU ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -31,7 +28,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_ASCIB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU TRUE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -67,9 +64,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU TRUE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

9
Source/HBIOS/Config/mk4_diskio3.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 18432000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_ASCI ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -31,7 +28,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_ASCIB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -67,9 +64,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

9
Source/HBIOS/Config/mk4_dsd.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 18432000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_ASCI ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_VDA ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_CVDU ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -31,7 +28,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_ASCIB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -64,9 +61,9 @@ SDMODE .EQU SDMODE_DSD ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDM
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCSIOFAST .EQU TRUE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)
;

9
Source/HBIOS/Config/mk4_propio.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 18432000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_ASCI ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_PRPCON ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -31,7 +28,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_ASCIB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -67,9 +64,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

9
Source/HBIOS/Config/mk4_std.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 18432000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_ASCI ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_VDA ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_CVDU ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -31,7 +28,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_ASCIB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -64,9 +61,9 @@ SDMODE .EQU SDMODE_MK4 ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDM
SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE)
SDCSIOFAST .EQU TRUE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)
;

9
Source/HBIOS/Config/n8_2312.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 18432000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_ASCI ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_VDA ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_N8V ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -31,7 +28,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_ASCIB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU TRUE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU TRUE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -67,9 +64,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU TRUE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

9
Source/HBIOS/Config/n8_2511.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 18432000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_ASCI ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_VDA ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_N8V ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -31,7 +28,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_ASCIB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU TRUE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU TRUE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -67,9 +64,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_ci.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC W/ CASSETTE INTERFACE
; ROMWBW 2.X CONFIGURATION FOR SBC W/ CASSETTE INTERFACE
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 2 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
UART1IOB .EQU $80 ; UART1 IOBASE IS $80 FOR CASSETTE INTERFACE
UART1OSC .EQU 1843200 ; UART1 OSC FREQUENCY
@ -41,7 +38,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -77,9 +74,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_cvdu.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC W/ COLOR VDU
; ROMWBW 2.X CONFIGURATION FOR SBC W/ COLOR VDU
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_VDA ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_CVDU ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU TRUE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU TRUE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_dide.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC W/ DUAL IDE + FLOPPY
; ROMWBW 2.X CONFIGURATION FOR SBC W/ DUAL IDE + FLOPPY
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_diskio.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM W/ DISKIO (ORIGINAL V1)
; ROMWBW 2.X CONFIGURATION FOR SBC W/ DISKIO (ORIGINAL V1)
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_diskio3+cvdu.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC W/ COLOR VDU
; ROMWBW 2.X CONFIGURATION FOR SBC W/ COLOR VDU
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_VDA ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU TRUE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_CVDU ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU TRUE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_diskio3.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC W/ DISKIO V3
; ROMWBW 2.X CONFIGURATION FOR SBC W/ DISKIO V3
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_dsd.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC W/ DUAL SD
; ROMWBW 2.X CONFIGURATION FOR SBC W/ DUAL SD
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

15
Source/HBIOS/Config/sbc_mfpic.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC W/ MF/PIC
; ROMWBW 2.X CONFIGURATION FOR SBC W/ MF/PIC
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,12 +23,12 @@ UARTCNT .EQU 2 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
UART1IOB .EQU $48 ; UART1 IOBASE AT $48 FOR MFPIC
UART1OSC .EQU 1843200 ; UART1 OSC FREQUENCY
UART1BAUD .EQU CONBAUD ; UART1 BAUDRATE
UART1FIFO .EQU TRUE ; UART1 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART1FIFO .EQU TRUE ; UART1 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART1AFC .EQU FALSE ; UART1 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -41,7 +38,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -77,9 +74,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_ppide.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC W/ PPIDE
; ROMWBW 2.X CONFIGURATION FOR SBC W/ PPIDE
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_ppisd.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC W/ PPISD
; ROMWBW 2.X CONFIGURATION FOR SBC W/ PPISD
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_propio.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC W/ PROP IO
; ROMWBW 2.X CONFIGURATION FOR SBC W/ PROP IO
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_PRPCON ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU TRUE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

11
Source/HBIOS/Config/sbc_rf.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

11
Source/HBIOS/Config/sbc_simh.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 115200 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU FALSE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU FALSE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_std.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC
; ROMWBW 2.X CONFIGURATION FOR SBC
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

13
Source/HBIOS/Config/sbc_vdu.asm

@ -1,6 +1,6 @@
;
;==================================================================================================
; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC W/ VDU
; ROMWBW 2.X CONFIGURATION FOR SBC W/ VDU
;==================================================================================================
;
; BUILD CONFIGURATION OPTIONS
@ -9,10 +9,7 @@ CPUOSC .EQU 8000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU TRUE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_VDU ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_ANSI ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU TRUE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

11
Source/HBIOS/Config/zeta2_ppide.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 20000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

11
Source/HBIOS/Config/zeta2_ppisd.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 20000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

11
Source/HBIOS/Config/zeta2_ppp.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 20000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_PPPCON ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU TRUE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

11
Source/HBIOS/Config/zeta2_std.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 20000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

11
Source/HBIOS/Config/zeta_ppide.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 20000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

11
Source/HBIOS/Config/zeta_ppisd.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 20000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

11
Source/HBIOS/Config/zeta_ppp.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 20000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_PPPCON ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU TRUE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

11
Source/HBIOS/Config/zeta_std.asm

@ -9,10 +9,7 @@ CPUOSC .EQU 20000000 ; CPU OSC FREQ
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!!
CONBAUD .EQU 38400 ; DEFAULT BAUDRATE USED BELOW
;
SERDEV .EQU CIODEV_UART ; PRIMARY SERIAL DEVICE FOR BOOT/DEBUG/MONITOR (TYPICALLY CIODEV_UART OR CIODEV_ASCI)
CRTDEV .EQU CIODEV_NUL ; CRT DEVICE (CIODEV_PRPCON, CIODEV_PPPCON, CIODEV_VDA), USE CIODEV_NUL IF NO CRT
CRTACT .EQU FALSE ; CRT ACTIVATION AT STARTUP
VDADEV .EQU VDADEV_NONE ; CRT VDA DEVICE (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_N8V, VDADEV_UPD7220)
VDAEMU .EQU EMUTYP_TTY ; DEFAULT VDA EMULATION (EMUTYP_TTY, EMUTYP_ANSI, ...)
;
DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE)
@ -26,7 +23,7 @@ UARTCNT .EQU 1 ; NUMBER OF UARTS
UART0IOB .EQU $68 ; UART0 IOBASE
UART0OSC .EQU 1843200 ; UART0 OSC FREQUENCY
UART0BAUD .EQU CONBAUD ; UART0 BAUDRATE
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY)
UART0FIFO .EQU TRUE ; UART0 TRUE ENABLES UART FIFO (16550 ASSUMED, SBC AND ZETA ONLY)
UART0AFC .EQU FALSE ; UART0 TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!)
;
ASCIENABLE .EQU FALSE ; TRUE FOR Z180 ASCI SUPPORT
@ -36,7 +33,7 @@ ASCI1BAUD .EQU CONBAUD ; ASCI1 BAUDRATE (IMPLEMENTED BY Z180_CNTLB1)
VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT
CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT
UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT
N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
SCGENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT
;
MDENABLE .EQU TRUE ; TRUE FOR ROM/RAM DISK SUPPORT (ALMOST ALWAYS WANT THIS ENABLED)
MDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF MDENABLE = TRUE)
@ -72,9 +69,9 @@ SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE
SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER
;
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SUPPORT
PRPIOB .EQU $A8 ; PORT IO ADDRESS BASE
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!)
PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT
PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE)
PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB)
PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO)

75
Source/HBIOS/ansi.asm

@ -18,17 +18,23 @@ ANSI_DEFCOLOR .EQU 7 ; WHITE ON BLACK
; ANSI EMULATION MODULE
;==================================================================================================
;
; INITIALIZATION OF EMULATION MODULE CALLED BY PARENT VDA DRIVER
; ON ENTRY:
; C: CIO UNIT NUMBER OF CALLING VDA DRIVER
; DE: DISPATCH ADDRESS OF CALLING VDA DRIVER
; RETURNS:
; DE: OUR CIO DISPATCH ADDRESS
;
ANSI_INIT:
; SAVE INCOMING VDA DISPATCH ADDRESS
CALL TSTPT ; *DEBUG*
LD (EMU_VDADISPADR),DE ; RECORD NEW VDA DISPATCH ADDRESS
LD C,A ; VDA DRIVER'S CIO UNIT NUMBER
LD (ANSI_CIOUNIT),A ; ... SAVED LOCALLY
LD (ANSI_VDADISPADR),DE ; RECORD NEW VDA DISPATCH ADDRESS
;
; QUERY THE VIDEO DRIVER FOR SCREEN DIMENSIONS
LD B,BF_VDAQRY ; FUNCTION IS QUERY
LD HL,0 ; WE DO NOT WANT A COPY OF THE CHARACTER BITMAP DATA
CALL TSTPT ; *DEBUG*
CALL EMU_VDADISP ; PERFORM THE QUERY FUNCTION
CALL TSTPT ; *DEBUG*
CALL ANSI_VDADISP ; PERFORM THE QUERY FUNCTION
LD (ANSI_DIM),DE ; SAVE THE SCREEN DIMENSIONS RETURNED
;
; INITIALIZE ALL WORKING VARIABLES
@ -60,14 +66,18 @@ ANSI_INIT2: ; LOOP TO RESET TAB STOPS
DJNZ ANSI_INIT2 ; LOOP TILL ALL BYTES DONE
;
LD DE,ANSI_DISPATCH ; RETURN OUR DISPATCH ADDRESS
CALL TSTPT ; *DEBUG*
XOR A
RET
;
;
;
ANSI_VDADISP:
JP PANIC
ANSI_VDADISPADR .EQU $ - 2
;
;
;
ANSI_DISPATCH:
LD (ANSI_CIODEV),A ; *DEBUG*
LD A,B ; GET REQUESTED FUNCTION
AND $0F ; ISOLATE SUB-FUNCTION
JR Z,ANSI_IN ; $30
@ -109,7 +119,7 @@ ANSI_IN: ; HANDLE INPUT REQUEST
;
ANSI_IN1: ; PERFORM ACTUAL KEYBOARD INPUT
LD B,BF_VDAKRD ; SET FUNCTION TO KEYBOARD READ
CALL EMU_VDADISP ; CALL VDA DISPATCHER
CALL ANSI_VDADISP ; CALL VDA DISPATCHER
LD A,E ; CHARACTER READ INTO A
BIT 7,A ; TEST HIGH BIT
JR NZ,ANSI_IN2 ; HANDLE $80 OR HIGHER AS SPECIAL CHAR
@ -151,13 +161,13 @@ ANSI_IST: ; CHECK QUEUE FIRST
;
; QUEUE WAS EMPTY, CHECK HARDWARE STATUS
LD B,BF_VDAKST ; SET FUNCTION TO KEYBOARD STATUS
CALL EMU_VDADISP ; CHECK STATUS
CALL ANSI_VDADISP ; CHECK STATUS
OR A ; SET FLAGS
RET Z ; NO KEYS WAITING, RETURN NO JOY
;
; KEY WAITING, GET IT AND HANDLE IT
LD B,BF_VDAKRD ; SET FUNCTION TO KEYBOARD READ
CALL EMU_VDADISP ; DO IT
CALL ANSI_VDADISP ; DO IT
LD A,E ; CHARACTER READ TO A
BIT 7,A ; TEST HIGH BIT
JR NZ,ANSI_IST1 ; HANDLE $80 OR HIGHER AS SPECIAL CHAR
@ -198,9 +208,8 @@ ANSI_QUERY:
; REPORT DEVICE
;
ANSI_DEVICE:
;LD D,CIODEV_VDA ; D := DEVICE TYPE
LD A,(ANSI_CIODEV) ; GET THE CURRENT CIO DEVICE *DEBUG*
LD D,A ; AND PASS BACK IN D *DEBUG*
LD A,(ANSI_CIOUNIT) ; GET THE CURRENT CIO DEVICE
LD D,A ; AND PASS BACK IN D
LD E,C ; E := PHYSICAL UNIT
XOR A ; SIGNAL SUCCESS
RET
@ -554,7 +563,7 @@ ANSI_RENDER:
ANSI_RENDER1: ; WRITE THE CHARACTER
POP DE ; RECOVER THE CHAR TO RENDER
LD B,BF_VDAWRC ; FUNC := WRITE CHARACTER
CALL EMU_VDADISP ; SPIT OUT THE RAW CHARACTER
CALL ANSI_VDADISP ; SPIT OUT THE RAW CHARACTER
;
; END OF LINE HANDLING (CHECK FOR RIGHT MARGIN EXCEEDED)
LD A,(ANSI_COLS) ; GET SCREEN COLUMNS
@ -582,7 +591,7 @@ ANSI_FF:
CALL MULT8 ; HL := H * E TO GET TOTAL SCREEN POSITIONS
LD E,' ' ; FILL SCREEN WITH BLANKS
LD B,BF_VDAFIL ; SET FUNCTION TO FILL
CALL EMU_VDADISP ; PERFORM FILL
CALL ANSI_VDADISP ; PERFORM FILL
JP ANSI_XY ; HOME CURSOR AND RETURN
;
ANSI_BS:
@ -610,7 +619,7 @@ ANSI_LF: ; LINEFEED (FORWARD INDEX)
ANSI_LF1: ; SCROLL
LD E,1 ; SCROLL FORWARD 1 LINE
LD B,BF_VDASCR ; SET FUNCTION TO SCROLL
JP EMU_VDADISP ; DO THE SCROLLING AND RETURN
JP ANSI_VDADISP ; DO THE SCROLLING AND RETURN
;
ANSI_RI: ; REVERSE INDEX (REVERSE LINEFEED)
LD A,(ANSI_ROW) ; GET CURRENT ROW
@ -653,7 +662,7 @@ ANSI_HT2: ; COMMIT THE NEW COLUMN VALUE
ANSI_RI1: ; REVERSE SCROLL
LD E,-1 ; SCROLL -1 LINES (REVERSE SCROLL 1 LINE)
LD B,BF_VDASCR ; SET FUNCTION TO SCROLL
JP EMU_VDADISP ; DO THE SCROLLING AND RETURN
JP ANSI_VDADISP ; DO THE SCROLLING AND RETURN
;
;
;
@ -915,7 +924,7 @@ ANSI_ED1: ; ERASE CURSOR THRU EOS
ANSI_ED2: ; ERASE START THRU CURSOR
LD DE,0 ; CURSOR TO 0,0 FOR NOW
LD B,BF_VDASCP ; SET FUNCTION TO SET CURSOR POSITION
CALL EMU_VDADISP ; DO IT
CALL ANSI_VDADISP ; DO IT
LD DE,(ANSI_POS) ; GET ORIGINAL CURSOR POSITION
CALL ANSI_XY2IDX ; HL NOW HAS INDEX
INC HL ; ADD 1 POSITION TO ERASE THRU CURSOR POSITION
@ -924,14 +933,14 @@ ANSI_ED2: ; ERASE START THRU CURSOR
ANSI_ED3: ; ERASE FULL DISPLAY
LD DE,0 ; CURSOR POS 0,0
LD B,BF_VDASCP ; FUNCTION = SET CURSOR POS
CALL EMU_VDADISP ; DO IT
CALL ANSI_VDADISP ; DO IT
LD DE,(ANSI_DIM) ; DE := SCREEN ROWS/COLS
CALL ANSI_XY2IDX ; HL := CHARS ON SCREEN
;
ANSI_ED4: ; COMMON FILL PROCESS COMPLETION
LD E,' ' ; FILL WITH BLANK
LD B,BF_VDAFIL ; FUNCTION = FILL
CALL EMU_VDADISP ; DO IT
CALL ANSI_VDADISP ; DO IT
JP ANSI_XY ; RESTORE CURSOR POS AND RETURN
;
;
@ -963,7 +972,7 @@ ANSI_EL2: ; ERASE START THRU CURSOR
LD DE,(ANSI_POS) ; GET CURSOR POS
LD E,0 ; COL := 0, START OF ROW
LD B,BF_VDASCP ; SET FUNCTION TO SET CURSOR POSITION
CALL EMU_VDADISP ; DO IT
CALL ANSI_VDADISP ; DO IT
LD HL,(ANSI_POS) ; GET ORIGINAL CURSOR POSITION
LD H,0 ; ONLY ERASE COLUMNS
INC HL ; ADD 1 POSITION TO ERASE THRU CURSOR POSITION
@ -973,7 +982,7 @@ ANSI_EL3: ; ERASE FULL LINE
LD DE,(ANSI_POS) ; GET CURSOR POSITION
LD E,0 ; COL := 0 (START OF ROW)
LD B,BF_VDASCP ; FUNC = SET CURSOR POS
CALL EMU_VDADISP ; DO IT
CALL ANSI_VDADISP ; DO IT
LD HL,(ANSI_DIM) ; GET SCREEN DIM IN HL
LD H,0 ; H := 0, HL IS NOW CHARS IN A LINE
JR ANSI_EL4 ; COMPLETE THE FILL
@ -1009,7 +1018,7 @@ ANSI_IL3:
; SET CURSOR POSITION TO DEST
PUSH DE ; PRESERVE DE
LD B,BF_VDASCP ; FUNC = SET CURSOR POS
CALL EMU_VDADISP ; DO IT
CALL ANSI_VDADISP ; DO IT
POP DE ; RECOVER DE
; SET HL TO LENGTH
LD HL,(ANSI_DIM) ; GET DIMENSIONS
@ -1023,14 +1032,14 @@ ANSI_IL3:
; DO THE COPY
PUSH DE ; PRESERVE DE
LD B,BF_VDACPY ; FUNCTION = COPY
CALL EMU_VDADISP ; COPY THE LINE
CALL ANSI_VDADISP ; COPY THE LINE
POP DE ; RECOVER DE
JR ANSI_IL3 ; LOOP
;
ANSI_IL4: ;CLEAR INSERTED LINE
LD E,' ' ; FILL WITH BLANK
LD B,BF_VDAFIL ; FUNCTION = FILL
JP EMU_VDADISP ; DO IT
JP ANSI_VDADISP ; DO IT
;
;
;
@ -1060,7 +1069,7 @@ ANSI_DL3:
; SET CURSOR TO START OF DEST ROW
PUSH DE ; PRESERVE DE
LD B,BF_VDASCP ; FUNC = SET CURSOR POS
CALL EMU_VDADISP ; DO IT
CALL ANSI_VDADISP ; DO IT
POP DE ; RECOVER DE
; SET DE TO SOURCE POS
INC D ; NEXT ROW, DE NOW HAS SOURCE
@ -1074,14 +1083,14 @@ ANSI_DL3:
; DO THE COPY
PUSH DE ; PRESERVE DE
LD B,BF_VDACPY ; FUNCTION = COPY
CALL EMU_VDADISP ; COPY THE LINE
CALL ANSI_VDADISP ; COPY THE LINE
POP DE ; RECOVER DE
JR ANSI_DL3 ; LOOP
;
ANSI_DL4: ;CLEAR BOTTOM LINE
LD E,' ' ; FILL WITH BLANK
LD B,BF_VDAFIL ; FUNCTION = FILL
JP EMU_VDADISP ; DO IT
JP ANSI_VDADISP ; DO IT
;
;
;
@ -1105,11 +1114,11 @@ ANSI_SGR1: ; PROCESSING LOOP
LD A,(ANSI_ATTR) ; GET THE ATTRIBUTE VALUE
LD E,A ; MOVE TO E
LD B,BF_VDASAT ; SET ATTRIBUTE FUNCTION
CALL EMU_VDADISP ; CALL THE FUNCTION
CALL ANSI_VDADISP ; CALL THE FUNCTION
LD A,(ANSI_COLOR) ; GET THE COLOR VALUE
LD E,A ; MOVE TO E
LD B,BF_VDASCO ; SET ATTRIBUTE FUNCTION
CALL EMU_VDADISP ; CALL THE FUNCTION
CALL ANSI_VDADISP ; CALL THE FUNCTION
RET ; RETURN
;
ANSI_SGR2: ; HANDLE THE REQUEST CODE
@ -1197,7 +1206,7 @@ ANSI_DECALN: ; DEC SCREEN ALIGNMENT TEST
CALL MULT8 ; HL := H * E TO GET TOTAL SCREEN POSITIONS
LD E,'E' ; FILL SCREEN WITH BLANKS
LD B,BF_VDAFIL ; SET FUNCTION TO FILL
CALL EMU_VDADISP ; PERFORM FILL
CALL ANSI_VDADISP ; PERFORM FILL
JP ANSI_XY ; HOME CURSOR AND RETURN
;
;==================================================================================================
@ -1318,7 +1327,7 @@ ANSI_XY:
LD (ANSI_WRAP),A ; CLEAR THE WRAP FLAG
LD DE,(ANSI_POS) ; GET THE DESIRED CURSOR POSITION
LD B,BF_VDASCP ; SET FUNCTION TO SET CURSOR POSITION
JP EMU_VDADISP ; REPOSITION CURSOR
JP ANSI_VDADISP ; REPOSITION CURSOR
;
; CONVERT XY COORDINATES IN DE INTO LINEAR INDEX IN HL
; D=ROW, E=COL
@ -1367,4 +1376,4 @@ ANSI_PARIDX .DB 0 ; NUMBER OF PARAMETERS RECORDED
ANSI_PARLST .FILL 16,0 ; PARAMETER VALUE LIST (UP TO 16 BYTE VALUES)
ANSI_VARLEN .EQU $ - ANSI_VARS
;
ANSI_CIODEV .DB 0 ; *DEBUG*
ANSI_CIOUNIT .DB $FF ; CIO UNIT NUMBER OF PARENT VDA

12
Source/HBIOS/cvdu.asm

@ -42,13 +42,13 @@ CVDU_INIT:
LD C,CIODEV_CVDU ; DEVICE TYPE
LD DE,0 ; UNIT DATA BLOB ADDRESS
CALL CIO_ADDENT ; ADD ENTRY, A := UNIT ASSIGNED
LD (CVDU_CIOUNIT),A ; SAVE IT LOCALLY
LD (HCB + HCB_CRTDEV),A ; SET OURSELVES AS THE CRT DEVICE
CALL TSTPT ; *DEBUG*
LD D,VDAEMU ; DEFAULT EMULATION
LD E,0 ; VIDEO MODE = 0
JP CVDU_VDAINI
;
;
;======================================================================
; CVDU DRIVER - CHARACTER I/O (CIO) DISPATCHER AND FUNCTIONS
;======================================================================
@ -101,12 +101,12 @@ CVDU_VDAINI:
POP DE ; RECOVER EMULATION TYPE
; INITIALIZE EMULATION
LD C,D ; EMULATION MODE TO C
LD B,D ; EMULATION TYPE TO B
LD A,(CVDU_CIOUNIT) ; CIO UNIT NUMBER
LD C,A ; ... IS PASSED IN C
LD DE,CVDU_DISPATCH ; DISPATCH ADDRESS TO DE
CALL TSTPT ; *DEBUG*
CALL EMU_INIT ; INITIALIZE EMULATION, DE := CIO DISPATCHER
LD (CVDU_CIODISPADR),DE ; SAVE EMULATORS CIO DISPATCH INTERFACE ADDRESS
CALL TSTPT ; *DEBUG*
XOR A ; SIGNAL SUCCESS
RET
@ -649,6 +649,8 @@ CVDU_BLKCPY1:
; CVDU DRIVER - DATA
;==================================================================================================
;
CVDU_CIOUNIT .DB $FF ; LOCAL COPY OF OUR CIO UNIT NUMBER
;
CVDU_ATTR .DB 0 ; CURRENT COLOR
CVDU_POS .DW 0 ; CURRENT DISPLAY POSITION
;

2050
Source/HBIOS/cvdu_font.asm

File diff suppressed because it is too large

79
Source/HBIOS/dbgmon.asm

@ -687,6 +687,83 @@ GETLNDONE:
LD (HL),00H ; STORE NULL IN BUFFER
POP DE ; RESTORE DE
RET ;
#IF (PLATFORM == PLT_UNA)
;
;__COUT_______________________________________________________________________
;
; OUTPUT CHARACTER FROM A
;_____________________________________________________________________________
;
COUT:
; SAVE ALL INCOMING REGISTERS
PUSH AF
PUSH BC
PUSH DE
PUSH HL
;
; OUTPUT CHARACTER TO CONSOLE VIA UBIOS
LD E,A
LD BC,$12
RST 08
;
; RESTORE ALL REGISTERS
POP HL
POP DE
POP BC
POP AF
RET
RET
;
;__CIN________________________________________________________________________
;
; INPUT CHARACTER TO A
;_____________________________________________________________________________
;
CIN:
; SAVE INCOMING REGISTERS (AF IS OUTPUT)
PUSH BC
PUSH DE
PUSH HL
;
; INPUT CHARACTER FROM CONSOLE VIA UBIOS
LD BC,$11
RST 08
LD A,E
;
; RESTORE REGISTERS (AF IS OUTPUT)
POP HL
POP DE
POP BC
RET
RET
;
;__CST________________________________________________________________________
;
; RETURN INPUT STATUS IN A (0 = NO CHAR, !=0 CHAR WAITING)
;_____________________________________________________________________________
;
CST:
; SAVE INCOMING REGISTERS (AF IS OUTPUT)
PUSH BC
PUSH DE
PUSH HL
;
; GET CONSOLE INPUT STATUS VIA UBIOS
LD BC,$13
RST 08
LD A,E
;
; RESTORE REGISTERS (AF IS OUTPUT)
POP HL
POP DE
POP BC
RET
RET
#ELSE
;
;__COUT_______________________________________________________________________
;
@ -757,6 +834,8 @@ CST:
POP DE
POP BC
RET
#ENDIF
;
;__KIN________________________________________________________________________
;

19
Source/HBIOS/fd.asm

@ -764,18 +764,6 @@ FD_SELECTUNIT:
;
;
FD_SEEK:
;CALL TSTPT ; *DEBUG*
;PUSH BC ; *DEBUG*
;CALL PC_COLON
;PUSH HL
;POP BC
;CALL PRTHEXWORD
;PUSH DE
;POP BC
;CALL PRTHEXWORD
;CALL PC_SPACE
;POP BC ; *DEBUG*
LD (HSTSEC),DE ; RECORD HEAD/SECTOR
LD (HSTTRK),HL ; RECORD TRACK
XOR A ; SIGNAL SUCCESS
@ -784,7 +772,6 @@ FD_SEEK:
;
;
FD_READ:
;CALL TSTPT ; *DEBUG*
LD (FD_DSKBUF),HL ; SAVE DISK BUFFER ADDRESS
LD A,DOP_READ
JR FD_RUN
@ -826,12 +813,10 @@ FD_RETRY:
PUSH BC
CALL FD_START
POP BC
;CALL TSTPT ; *DEBUG*
LD A,(FST_RC) ; CHECK RESULT
OR A
RET Z ; SUCCESS
;CALL TSTPT ; *DEBUG*
DJNZ FD_RETRY ; RETRY TILL COUNTER EXHAUSTED
@ -1297,10 +1282,6 @@ FOP_CMD2: ; START OF LOOP TO SEND NEXT BYTE
FOP_CMD4: ; START OF STATUS LOOP, WAIT FOR FDC TO BE READY FOR BYTE
CALL DELAY ; FDC MAY TAKE UP TO 12us TO UPDATE MSR
IN A,(FDC_MSR) ; READ MAIN STATUS REGISTER
; PUSH AF ; *DEBUG*
; CALL PC_SPACE ; *DEBUG*
; CALL PRTHEXBYTE ; *DEBUG*
; POP AF ; *DEBUG*
AND 0C0H ; ISOLATE RQM/DIO
CP 080H ; LOOKING FOR RQM=1, DIO=0 (FDC READY FOR A BYTE)
JR Z,FOP_CMD6 ; GOOD, GO TO SEND BYTE

283
Source/HBIOS/hbios.asm

@ -617,8 +617,8 @@ HB_INITTBL:
#IF (UPD7220ENABLE)
.DW UPD7220_INIT
#ENDIF
#IF (N8VENABLE)
.DW N8V_INIT
#IF (SCGENABLE)
.DW SCG_INIT
#ENDIF
#IF (DSKYENABLE)
.DW DSKY_INIT
@ -751,10 +751,6 @@ CIO_DISPATCH:
CALL PANIC ; PANIC
OR $FF ; SIGNAL ERROR
RET ; AND RETURN
;
CIO_DISPATCH_CON:
LD A,(HCB + HCB_CONDEV) ; PUT CONSOLE UNIT NUMBER IN A
JR CIO_DISPATCH1 ; AND CONTINUE
;;
;CIO_DISPATCH_VDA:
; LD A,B ; FUNCTION NUMBER TO A
@ -763,6 +759,10 @@ CIO_DISPATCH_CON:
; POP HL ; RESTORE HL/STACK
; JP EMU_DISPATCH ; CHAIN TO EMULATOR DISPATCH
;
CIO_DISPATCH_CON:
LD A,(HCB + HCB_CONDEV) ; PUT CONSOLE UNIT NUMBER IN A
; FALL THRU
;
CIO_DISPATCH1:
;
INC HL ; BUMP PAST COUNT PREFIX TO START OF TABLE
@ -804,9 +804,9 @@ CIO_DISPATCH1:
CP CIODEV_UPD7220
JP Z,UPD7220_DISPCIO
#ENDIF
#IF (N8VENABLE)
CP CIODEV_N8V
JP Z,N8V_DISPCIO
#IF (SCGENABLE)
CP CIODEV_SCG
JP Z,SCG_DISPCIO
#ENDIF
CALL PANIC
RET
@ -1069,10 +1069,13 @@ RTC_DISPATCH:
; THE VDA DRIVER CALLS EMU_INIT TO DISPATCH THE INITIALIZATION REQUEST
; TO THE CORRRECT EMULATION MODULE.
;
; C: EMULATION TYPE
; B: EMULATION TYPE ID (1=TTY, 2=ANSI, ETC.)
; C: VDA DRIVER'S CIO UNIT NUMBER
; DE: VDA DRIVER'S DISPATCH ADDRESS
;
;
EMU_INIT:
LD A,C ; GET REQUESTED EMULATION
LD A,B ; GET REQUESTED EMULATION
;
DEC A ; 1 = TTY
#IF (TTYENABLE)
@ -1088,26 +1091,9 @@ EMU_INIT:
RET
;
EMU_INIT1:
CALL TSTPT ; *DEBUG*
JP (HL) ; DO THE EMULATOR INIT, DE := CIO DISPATCH ADR
;
;==================================================================================================
; VDA DISPATCHING FOR EMULATION HANDLERS
;==================================================================================================
;
; BELOW IS THE DYNAMICALLY MANAGED EMULATION VDA DISPATCH.
; EMULATION HANDLERS CAN CALL EMU_VDADISP TO INVOKE A VDA
; FUNCTION. EMU_VDADISPADR IS USED TO MARK THE LOCATION
; OF THE VDA DISPATCH ADDRESS. THIS ALLOWS US TO MODIFY
; THE CODE DYNAMICALLY WHEN EMULATION IS INITIALIZED AND
; A NEW VDA TARGET IS SPECIFIED.
;
EMU_VDADISP:
JP PANIC ; JP TGT IS UPDATED DYNAMICALLY
;
EMU_VDADISPADR .EQU $ - 2 ; ADDRESS PORTION OF JP INSTRUCTION ABOVE
;
;==================================================================================================
; VIDEO DISPLAY ADAPTER DEVICE DISPATCHER
;==================================================================================================
;
@ -1130,9 +1116,9 @@ VDA_DISPATCH:
CP VDADEV_7220
JP Z,UPD7220_DISPATCH
#ENDIF
#IF (N8VENABLE)
CP VDADEV_N8V
JP Z,N8V_DISPATCH
#IF (SCGENABLE)
CP VDADEV_SCG
JP Z,SCG_DISPATCH
#ENDIF
CALL PANIC
;
@ -1145,29 +1131,27 @@ VDA_DISPATCH:
SYS_DISPATCH:
LD A,B ; GET REQUESTED FUNCTION
AND $0F ; ISOLATE SUB-FUNCTION
JR Z,SYS_SETBNK ; $F0
JP Z,SYS_SETBNK ; $F0
DEC A
JR Z,SYS_GETBNK ; $F1
JP Z,SYS_GETBNK ; $F1
DEC A
JP Z,SYS_COPY ; $F2
DEC A
JP Z,SYS_XCOPY ; $F3
DEC A
JR Z,SYS_ALLOC ; $F4
DEC A
JR Z,SYS_GET ; $F5
JP Z,SYS_ALLOC ; $F4
DEC A
JR Z,SYS_SET ; $F6
JP Z,SYS_FREE ; $F5
DEC A
;JR Z,SYS_??? ; $F7
JP Z,SYS_VER ; $F6
DEC A
JR Z,SYS_HCBGETB ; $F8
JP Z,SYS_GET ; $F7
DEC A
JR Z,SYS_HCBPUTB ; $F9
JP Z,SYS_SET ; $F8
DEC A
JR Z,SYS_HCBGETW ; $FA
JP Z,SYS_PEEK ; $F9
DEC A
JR Z,SYS_HCBPUTW ; $FB
JP Z,SYS_POKE ; $FA
CALL PANIC ; INVALID
;
; SET ACTIVE MEMORY BANK AND RETURN PREVIOUSLY ACTIVE MEMORY BANK
@ -1256,30 +1240,97 @@ SYS_XCOPY:
SYS_ALLOC:
JP HB_ALLOC
;
; FREE HEAP MEMORY BY SIMPLY RELEASING ALL
; MEMORY BEYOND POINTER IN HL.
; ON SUCCESS RETURN A == 0, AND Z SET
; ON FAILURE A <> 0 AND NZ SET AND HL TRASHED
; ALL OTHER REGISTERS PRESERVED
;
SYS_FREE:
CALL PANIC ; NOT YET IMPLEMENTED
OR $FF
RET
;
; GET THE CURRENT HBIOS VERSION
; ON INPUT, C=0
; RETURNS VERSION IN DE AS BCD
; D: MAJOR VERION IN TOP 4 BITS, MINOR VERSION IN LOW 4 BITS
; E: UPDATE VERION IN TOP 4 BITS, PATCH VERSION IN LOW 4 BITS
; L: PLATFORM ID
;
SYS_VER:
LD DE,0 | (RMJ << 12) | (RMN << 8) | (RUP << 4) | RTP
LD L,PLATFORM
XOR A
RET
;
; GET SYSTEM INFORMATION
; ITEM TO RETURN INDICATED IN C
;
SYS_GET:
LD A,C ; GET REQUESTED SUB-FUNCTION
CP BF_SYSGET_VER
JR Z,SYS_GETVER
CP BF_SYSGET_CIOCNT
JR Z,SYS_GETCIOCNT
CP BF_SYSGET_DIOCNT
JR Z,SYS_GETDIOCNT
CP BF_SYSGET_BOOTINFO
JR Z,SYS_GETBOOTINFO
CP BF_SYSGET_CPUINFO
JR Z,SYS_GETCPUINFO
CP BF_SYSGET_MEMINFO
JR Z,SYS_GETMEMINFO
CP BF_SYSGET_BNKINFO
JR Z,SYS_GETBNKINFO
OR $FF ; SIGNAL ERROR
RET
;
; GET THE CURRENT HBIOS VERSION
; RETURNS VERSION IN DE AS BCD
; D: MAJOR VERION IN TOP 4 BITS, MINOR VERSION IN LOW 4 BITS
; E: UPDATE VERION IN TOP 4 BITS, PATCH VERSION IN LOW 4 BITS
; L: PLATFORM ID
; GET BOOT INFORMATION
; RETURNS:
; L: BOOT BANK ID
; DE: BOOT DISK VOLUME (UNIT/SLICE)
;
SYS_GETVER:
LD DE,0 | (RMJ << 12) | (RMN << 8) | (RUP << 4) | RTP
LD L,PLATFORM
SYS_GETBOOTINFO:
LD A,(HCB + HCB_BOOTBID)
LD L,A
LD DE,(HCB + HCB_BOOTVOL)
XOR A
RET
;
; GET CPU INFORMATION
; RETURNS:
; H: Z80 CPU VARIANT
; L: CPU SPEED IN MHZ
; DE: CPU SPEED IN KHZ
;
SYS_GETCPUINFO:
LD H,0 ; NOT YET DEFINED
LD A,(HCB + HCB_CPUMHZ)
LD L,A
LD DE,(HCB + HCB_CPUKHZ)
XOR A
RET
;
; GET MEMORY INFORMATION
; RETURNS:
; D: COUNT OF ROM BANKS
; E: COUNT OF RAM BANKS
;
SYS_GETMEMINFO:
LD D,ROMSIZE / 32
LD D,RAMSIZE / 32
XOR A
RET
;
; GET SERIAL UNIT COUNT
; RETURNS:
; D: HBIOS BANK ID
; E: USER BANK ID
;
SYS_GETBNKINFO:
LD A,(HCB + HCB_BIDBIOS)
LD D,A
LD A,(HCB + HCB_BIDUSR)
LD E,A
XOR A
RET
;
@ -1298,63 +1349,93 @@ SYS_GETDIOCNT:
LD E,A ; PUT IT IN E
XOR A ; SIGNALS SUCCESS
RET
;
; SET SYSTEM PARAMETERS
; PARAMETER(S) TO SET INDICATED IN C
;
SYS_SET:
LD A,C ; GET REQUESTED SUB-FUNCTION
CP BF_SYSSET_BOOTINFO
JR Z,SYS_SETBOOTINFO
OR $FF ; SIGNAL ERROR
RET
;
; GET HCB VALUE BYTE
; C: HCB INDEX (OFFSET INTO HCB)
; RETURN BYTE VALUE IN E
;
SYS_HCBGETB:
CALL SYS_HCBPTR ; LOAD HL WITH PTR
LD E,(HL) ; GET BYTE VALUE
RET ; DONE
; SET BOOT INFORMATION
; ON ENTRY:
; L: BOOT BANK ID
; DE: BOOT DISK VOLUME (UNIT/SLICE)
;
; PUT HCB VALUE BYTE
; C: HCB INDEX (OFFSET INTO HCB)
; E: VALUE TO WRITE
;
SYS_HCBPUTB:
CALL SYS_HCBPTR ; LOAD HL WITH PTR
LD (HL),E ; PUT BYTE VALUE
SYS_SETBOOTINFO:
LD A,L
LD (HCB + HCB_BOOTBID),A
LD (HCB + HCB_BOOTVOL),DE
XOR A
RET
;
; GET HCB VALUE WORD
; C: HCB INDEX (OFFSET INTO HCB)
; RETURN WORD VALUE IN DE
;
SYS_HCBGETW:
CALL SYS_HCBPTR ; LOAD HL WITH PTR
LD E,(HL) ; GET BYTE VALUE
INC HL
LD D,(HL) ; GET BYTE VALUE
RET ; DONE
;
; PUT HCB VALUE WORD
; C: HCB INDEX (OFFSET INTO HCB)
; DE: VALUE TO WRITE
; RETURN A BYTE OF MEMORY FROM HBIOS BANK
; ENTRY: HL=ADDRESS IN HBIOS BANK (0H-7FFFH)
; RETURN: C=BYTE VALUE
;
SYS_HCBPUTW:
CALL SYS_HCBPTR ; LOAD HL WITH PTR
LD (HL),E ; PUT BYTE VALUE
INC HL
LD (HL),D ; PUT BYTE VALUE
SYS_PEEK:
LD C,(HL)
XOR A
RET
;
; CALCULATE REAL ADDRESS OF HCB VALUE FROM HCB OFFSET
; WRITE A BYTE OF MEMORY TO HBIOS BANK
; ENTRY: HL=ADDRESS IN HBIOS BANK (0H-7FFFH)
; RETURN: C=BYTE VALUE
;
SYS_HCBPTR:
LD A,C ; LOAD INDEX (HCB OFFSET)
LD HL,HCB ; GET HCB ADDRESS
JP ADDHLA ; CALC REAL ADDRESS AND RET
SYS_POKE:
LD (HL),C
XOR A
RET
;;
;; GET HCB VALUE BYTE
;; C: HCB INDEX (OFFSET INTO HCB)
;; RETURN BYTE VALUE IN E
;;
;SYS_HCBGETB:
; CALL SYS_HCBPTR ; LOAD HL WITH PTR
; LD E,(HL) ; GET BYTE VALUE
; RET ; DONE
;;
;; PUT HCB VALUE BYTE
;; C: HCB INDEX (OFFSET INTO HCB)
;; E: VALUE TO WRITE
;;
;SYS_HCBPUTB:
; CALL SYS_HCBPTR ; LOAD HL WITH PTR
; LD (HL),E ; PUT BYTE VALUE
; RET
;;
;; GET HCB VALUE WORD
;; C: HCB INDEX (OFFSET INTO HCB)
;; RETURN WORD VALUE IN DE
;;
;SYS_HCBGETW:
; CALL SYS_HCBPTR ; LOAD HL WITH PTR
; LD E,(HL) ; GET BYTE VALUE
; INC HL
; LD D,(HL) ; GET BYTE VALUE
; RET ; DONE
;;
;; PUT HCB VALUE WORD
;; C: HCB INDEX (OFFSET INTO HCB)
;; DE: VALUE TO WRITE
;;
;SYS_HCBPUTW:
; CALL SYS_HCBPTR ; LOAD HL WITH PTR
; LD (HL),E ; PUT BYTE VALUE
; INC HL
; LD (HL),D ; PUT BYTE VALUE
; RET
;
;; CALCULATE REAL ADDRESS OF HCB VALUE FROM HCB OFFSET
;;
;SYS_HCBPTR:
; LD A,C ; LOAD INDEX (HCB OFFSET)
; LD HL,HCB ; GET HCB ADDRESS
; JP ADDHLA ; CALC REAL ADDRESS AND RET
;
;==================================================================================================
; GLOBAL HBIOS FUNCTIONS
@ -1544,12 +1625,12 @@ SIZ_UPD7220 .EQU $ - ORG_UPD7220
.ECHO " bytes.\n"
#ENDIF
;
#IF (N8VENABLE)
ORG_N8V .EQU $
#INCLUDE "n8v.asm"
SIZ_N8V .EQU $ - ORG_N8V
.ECHO "N8V occupies "
.ECHO SIZ_N8V
#IF (SCGENABLE)
ORG_SCG .EQU $
#INCLUDE "scg.asm"
SIZ_SCG .EQU $ - ORG_SCG
.ECHO "SCG occupies "
.ECHO SIZ_SCG
.ECHO " bytes.\n"
#ENDIF
;

47
Source/HBIOS/hbios.inc

@ -57,32 +57,37 @@ BF_SYSGETBNK .EQU BF_SYS + 1 ; GET CURRENT BANK
BF_SYSCPY .EQU BF_SYS + 2 ; COPY TO/FROM RAM/ROM MEMORY BANK
BF_SYSXCPY .EQU BF_SYS + 3 ; EXTENDED COPY SETUP
BF_SYSALLOC .EQU BF_SYS + 4 ; ALLOC HBIOS HEAP MEMORY
BF_SYSGET .EQU BF_SYS + 5 ; GET HBIOS INFO
BF_SYSSET .EQU BF_SYS + 6 ; SET HBIOS PARMS
BF_SYSHCBGETB .EQU BF_SYS + 8 ; GET HCB BYTE VALUE
BF_SYSHCBPUTB .EQU BF_SYS + 9 ; PUT HCB BYTE VALUE
BF_SYSHCBGETW .EQU BF_SYS + 10 ; GET HCB WORD VALUE
BF_SYSHCBPUTW .EQU BF_SYS + 11 ; PUT HCB BYTE VALUE
;
BF_SYSGET_CIOCNT .EQU $00 ; GET SERIAL UNIT COUNT
BF_SYSFREE .EQU BF_SYS + 5 ; FREE HBIOS HEAP MEMORY
BF_SYSVER .EQU BF_SYS + 6 ; GET HBIOS VERSION
BF_SYSGET .EQU BF_SYS + 7 ; GET HBIOS INFO
BF_SYSSET .EQU BF_SYS + 8 ; SET HBIOS PARAMETERS
BF_PEEK .EQU BF_SYS + 9 ; GET A BYTE FROM HBIOS BANK
BF_POKE .EQU BF_SYS + 10 ; PUT A BYTE TO HBIOS BANK
;
BF_SYSGET_CIOCNT .EQU $00 ; GET CHAR UNIT COUNT
BF_SYSGET_DIOCNT .EQU $10 ; GET DISK UNIT COUNT
BF_SYSGET_VER .EQU $F0 ; GET HBIOS VERSION INFO
BF_SYSGET_BOOTINFO .EQU $E0 ; GET BOOT INFORMATION
BF_SYSGET_CPUINFO .EQU $F0 ; GET CPU INFORMATION
BF_SYSGET_MEMINFO .EQU $F1 ; GET MEMORY CAPACTITY INFO
BF_SYSGET_BNKINFO .EQU $F2 ; GET BANK ASSIGNMENT INFO
;
; CHARACTER DEVICES
BF_SYSSET_BOOTINFO .EQU $E0 ; SET BOOT INFORMATION
;
; CHARACTER DEVICE IDS
;
CIODEV_UART .EQU $00
CIODEV_ASCI .EQU $10
CIODEV_VDU .EQU $20
CIODEV_CVDU .EQU $30
CIODEV_UPD7220 .EQU $40
CIODEV_N8V .EQU $50
CIODEV_SCG .EQU $50
CIODEV_PRPCON .EQU $60
CIODEV_PPPCON .EQU $70
CIODEV_CONSOLE .EQU $D0
CIODEV_VDA .EQU $E0
CIODEV_NUL .EQU $F0
;CIODEV_VDA .EQU $E0 ; DEPRECATED
;CIODEV_NUL .EQU $F0 ; DEPRECATED
;
; DISK DEVICES (ONLY FIRST NIBBLE RELEVANT, SECOND NIBBLE RESERVED FOR UNIT)
; DISK DEVICE IDS
;
DIODEV_MD .EQU $00
DIODEV_FD .EQU $10
@ -95,13 +100,13 @@ DIODEV_PRPSD .EQU $70
DIODEV_PPPSD .EQU $80
DIODEV_HDSK .EQU $90
;
; VDA DEVICES (VIDEO DISPLAY ADAPTER)
; VDA DEVICE IDS
;
VDADEV_NONE .EQU $00 ; NO VDA DEVICE
VDADEV_VDU .EQU $10 ; ECB VDU - 6545 CHIP
VDADEV_CVDU .EQU $20 ; ECB COLOR VDU - 8563 CHIP (NOT IMP)
VDADEV_UPD7220 .EQU $30 ; ECB uP7220 (NOT IMPLEMENTED)
VDADEV_N8V .EQU $40 ; N8 ONBOARD VDA SUBSYSTEM
VDADEV_SCG .EQU $40 ; N8 ONBOARD VDA SUBSYSTEM
;
; EMULATION TYPES
;
@ -141,11 +146,11 @@ HCB_BIDRAMDN .EQU $DD ; LAST BANK OF RAM DRIVE
HCB_BIDROMD0 .EQU $DE ; FIRST BANK OF ROM DRIVE
HCB_BIDROMDN .EQU $DF ; LAST BANK OF ROM DRIVE
; DEVICE LISTS (POINTS TO START OF LIST, PREFIXED BY ENTRY COUNT)
HCB_CDL .EQU $E0 + 1 ; CHARACTER DEVICES (MAX 7)
HCB_PDL .EQU $E8 + 1 ; PRINT DEVICE LIST (MAX 3)
HCB_VDL .EQU $EC + 1 ; VIDEO DEVICE LIST (MAX 3)
HCB_DDL .EQU $F0 + 1 ; DISK DEVICE LIST (MAX 15)
;; DEVICE LISTS (POINTS TO START OF LIST, PREFIXED BY ENTRY COUNT)
;HCB_CDL .EQU $E0 + 1 ; CHARACTER DEVICES (MAX 7)
;HCB_PDL .EQU $E8 + 1 ; PRINT DEVICE LIST (MAX 3)
;HCB_VDL .EQU $EC + 1 ; VIDEO DEVICE LIST (MAX 3)
;HCB_DDL .EQU $F0 + 1 ; DISK DEVICE LIST (MAX 15)
;
; HBIOS PROXY COMMON DATA BLOCK
; EXACTLY 32 BYTES AT $FFE0-$FFFF

8
Source/HBIOS/md.asm

@ -103,12 +103,13 @@ MD_CAP:
JR Z,MD_CAP1 ; UNIT 1
CALL PANIC ; PANIC ON INVALID UNIT
MD_CAP0:
LD HL,(HCB + HCB_ROMBANKS) ; POINT TO ROM BANK COUNT
LD A,(HCB + HCB_ROMBANKS) ; POINT TO ROM BANK COUNT
JR MD_CAP2
MD_CAP1:
LD HL,(HCB + HCB_RAMBANKS) ; POINT TO RAM BANK COUNT
LD A,(HCB + HCB_RAMBANKS) ; POINT TO RAM BANK COUNT
MD_CAP2:
LD H,(HL) ; H := # BANKS
SUB 4 ; SUBTRACT OUT RESERVED BANKS
LD H,A ; H := # BANKS
LD E,64 ; # 512 BYTE BLOCKS / BANK
CALL MULT8 ; HL := TOTAL # 512 BYTE BLOCKS
LD DE,0 ; NEVER EXCEEDS 64K, ZERO HIGH WORD
@ -121,7 +122,6 @@ MD_GEOM:
; RAM/ROM DISKS ALLOW CHS STYLE ACCESS BY EMULATING
; A DISK DEVICE WITH 1 HEAD AND 16 SECTORS / TRACK.
CALL MD_CAP ; HL := CAPACITY IN BLOCKS
EX DE,HL ; SWAP
LD D,1 | $80 ; HEADS / CYL := 1 BY DEFINITION, SET LBA CAPABILITY BIT
LD E,16 ; SECTORS / TRACK := 16 BY DEFINTION
LD B,4 ; PREPARE TO DIVIDE BY 16

86
Source/HBIOS/romldr.asm

@ -219,9 +219,14 @@ GOCPM2:
LD BC,$01FC ; UNA FUNC: SET BOOTSTRAP HISTORY
RST 08 ; CALL UNA
#ELSE
LD B,BF_SYSHCBPUTW ; HB FUNC: PUT HCB WORD
LD C,HCB_BOOTVOL ; BOOT VOLUME (UNIT, SLICE)
LD DE,$0100
;LD B,BF_SYSHCBPUTW ; HB FUNC: PUT HCB WORD
;LD C,HCB_BOOTVOL ; BOOT VOLUME (UNIT, SLICE)
;LD DE,$0100
LD B,BF_SYSSET ; HB FUNC: SET HBIOS PARAMETER
LD C,BF_SYSSET_BOOTINFO ; HB SUBFUNC: SET BOOT INFO
LD A,(HB_CURBNK) ; GET CURRENT BANK ID FROM PROXY DATA
LD L,A ; ... AND SAVE AND BOOT BANK
LD DE,$0100 ; BOOT VOLUME (UNIT, SLICE)
RST 08
#ENDIF
JP CPM_ENT
@ -571,8 +576,12 @@ DB_LOOP:
CALL NEWLINE ; FORMATTING
; PASS BOOT DEVICE/UNIT/LU TO CBIOS COLD BOOT
LD B,BF_SYSHCBPUTW ; HB FUNC: PUT HCB WORD
LD C,HCB_BOOTVOL ; BOOT VOLUME (DEV/UNIT, SLICE)
;LD B,BF_SYSHCBPUTW ; HB FUNC: PUT HCB WORD
;LD C,HCB_BOOTVOL ; BOOT VOLUME (DEV/UNIT, SLICE)
LD B,BF_SYSSET ; HB FUNC: SET HBIOS PARAMETER
LD C,BF_SYSSET_BOOTINFO ; HB SUBFUNC: SET BOOT INFO
LD A,(HB_CURBNK) ; GET CURRENT BANK ID FROM PROXY DATA
LD L,A ; ... AND SAVE AND BOOT BANK
LD A,(BL_DEVICE) ; LOAD BOOT DEVICE/UNIT
LD D,A ; SAVE IN D
LD A,(BL_LU) ; LOAD BOOT LU
@ -887,6 +896,8 @@ BOOT:
; CONSOLE CHARACTER I/O HELPER ROUTINES (REGISTERS PRESERVED)
;==================================================================================================
;
#IF (PLATFORM != PLT_UNA)
;
; OUTPUT CHARACTER FROM A
;
COUT:
@ -948,6 +959,71 @@ CST:
POP BC
RET
;
#ENDIF
;
#IF (PLATFORM == PLT_UNA)
;
; OUTPUT CHARACTER FROM A
;
COUT:
; SAVE ALL INCOMING REGISTERS
PUSH AF
PUSH BC
PUSH DE
PUSH HL
;
; OUTPUT CHARACTER TO CONSOLE VIA UBIOS
LD E,A
LD BC,$12
RST 08
;
; RESTORE ALL REGISTERS
POP HL
POP DE
POP BC
POP AF
RET
;
; INPUT CHARACTER TO A
;
CIN:
; SAVE INCOMING REGISTERS (AF IS OUTPUT)
PUSH BC
PUSH DE
PUSH HL
;
; INPUT CHARACTER FROM CONSOLE VIA UBIOS
LD BC,$11
RST 08
LD A,E
;
; RESTORE REGISTERS (AF IS OUTPUT)
POP HL
POP DE
POP BC
RET
;
; RETURN INPUT STATUS IN A (0 = NO CHAR, !=0 CHAR WAITING)
;
CST:
; SAVE INCOMING REGISTERS (AF IS OUTPUT)
PUSH BC
PUSH DE
PUSH HL
;
; GET CONSOLE INPUT STATUS VIA UBIOS
LD BC,$13
RST 08
LD A,E
;
; RESTORE REGISTERS (AF IS OUTPUT)
POP HL
POP DE
POP BC
RET
;
#ENDIF
;
; READ A CONSOLE CHARACTER AND CONVERT TO UPPER CASE
;
CINUC:

500
Source/HBIOS/n8v.asm → Source/HBIOS/scg.asm

@ -11,82 +11,82 @@
; - IMPLEMENT DYNAMIC READ/WRITE OF CHARACTER BITMAP DATA?
;
;======================================================================
; N8V DRIVER - CONSTANTS
; SCG DRIVER - CONSTANTS
;======================================================================
;
N8V_CMDREG .EQU N8_BASE + $19 ; READ STATUS / WRITE REG SEL
N8V_DATREG .EQU N8_BASE + $18 ; READ/WRITE DATA
SCG_CMDREG .EQU N8_BASE + $19 ; READ STATUS / WRITE REG SEL
SCG_DATREG .EQU N8_BASE + $18 ; READ/WRITE DATA
;
N8V_ROWS .EQU 24
N8V_COLS .EQU 40
SCG_ROWS .EQU 24
SCG_COLS .EQU 40
;
; BELOW WAS TUNED FOR N8 AT 18MHZ WITH 3 IO WAIT STATES
; WILL NEED TO BE MODIFIED FOR DIFFERENT ACCESS SPEEDS
; IF YOU SEE SCREEN CORRUPTION, ADJUST THIS!!!
;
#DEFINE N8V_IODELAY NOP \ NOP \ NOP \ NOP \ NOP \ NOP
#DEFINE SCG_IODELAY NOP \ NOP \ NOP \ NOP \ NOP \ NOP
;
;======================================================================
; N8V DRIVER - INITIALIZATION
; SCG DRIVER - INITIALIZATION
;======================================================================
;
N8V_INIT:
PRTS("N8V: IO=0x$")
LD A,N8V_DATREG
SCG_INIT:
PRTS("SCG: IO=0x$")
LD A,SCG_DATREG
CALL PRTHEXBYTE
;
CALL N8V_CRTINIT ; SETUP THE N8V CHIP REGISTERS
CALL N8V_LOADFONT ; LOAD FONT DATA FROM ROM TO N8V STRORAGE
CALL SCG_CRTINIT ; SETUP THE SCG CHIP REGISTERS
CALL SCG_LOADFONT ; LOAD FONT DATA FROM ROM TO SCG STRORAGE
;
; ADD OURSELVES TO CIO DISPATCH TABLE
LD B,0 ; PHYSICAL UNIT IS ZERO
LD C,CIODEV_N8V ; DEVICE TYPE
LD C,CIODEV_SCG ; DEVICE TYPE
LD DE,0 ; UNIT DATA BLOB ADDRESS
CALL CIO_ADDENT ; ADD ENTRY, A := UNIT ASSIGNED
LD (SCG_CIOUNIT),A ; SAVE IT LOCALLY
LD (HCB + HCB_CRTDEV),A ; SET OURSELVES AS THE CRT DEVICE
CALL TSTPT ; *DEBUG*
LD D,VDAEMU ; DEFAULT EMULATION
LD E,0 ; VIDEO MODE = 0
JP N8V_VDAINI
JP SCG_VDAINI
;
;======================================================================
; N8V DRIVER - CHARACTER I/O (CIO) DISPATCHER AND FUNCTIONS
; SCG DRIVER - CHARACTER I/O (CIO) DISPATCHER AND FUNCTIONS
;======================================================================
;
N8V_DISPCIO:
SCG_DISPCIO:
JP PANIC
N8V_CIODISPADR .EQU $ - 2
SCG_CIODISPADR .EQU $ - 2
;
;======================================================================
; N8V DRIVER - VIDEO DISPLAY ADAPTER (VDA) DISPATCHER AND FUNCTIONS
; SCG DRIVER - VIDEO DISPLAY ADAPTER (VDA) DISPATCHER AND FUNCTIONS
;======================================================================
;
N8V_DISPATCH:
SCG_DISPATCH:
LD A,B ; GET REQUESTED FUNCTION
AND $0F ; ISOLATE SUB-FUNCTION
JP Z,N8V_VDAINI ; $40
JP Z,SCG_VDAINI ; $40
DEC A
JP Z,N8V_VDAQRY ; $41
JP Z,SCG_VDAQRY ; $41
DEC A
JP Z,N8V_VDARES ; $42
JP Z,SCG_VDARES ; $42
DEC A
JP Z,N8V_VDASCS ; $43
JP Z,SCG_VDASCS ; $43
DEC A
JP Z,N8V_VDASCP ; $44
JP Z,SCG_VDASCP ; $44
DEC A
JP Z,N8V_VDASAT ; $45
JP Z,SCG_VDASAT ; $45
DEC A
JP Z,N8V_VDASCO ; $46
JP Z,SCG_VDASCO ; $46
DEC A
JP Z,N8V_VDAWRC ; $47
JP Z,SCG_VDAWRC ; $47
DEC A
JP Z,N8V_VDAFIL ; $48
JP Z,SCG_VDAFIL ; $48
DEC A
JP Z,N8V_VDACPY ; $49
JP Z,SCG_VDACPY ; $49
DEC A
JP Z,N8V_VDASCR ; $4A
JP Z,SCG_VDASCR ; $4A
DEC A
JP Z,PPK_STAT ; $4B
DEC A
@ -95,302 +95,302 @@ N8V_DISPATCH:
JP Z,PPK_READ ; $4D
CALL PANIC
N8V_VDAINI:
SCG_VDAINI:
; RESET VDA
PUSH DE ; SAVE EMULATION TYPE (IN D)
CALL N8V_VDARES ; RESET VDA
CALL SCG_VDARES ; RESET VDA
POP DE ; RECOVER EMULATION TYPE
; INITIALIZE EMULATION
LD C,D ; EMULATION MODE TO C
LD DE,N8V_DISPATCH ; DISPATCH ADDRESS TO DE
CALL TSTPT ; *DEBUG*
LD B,D ; EMULATION TYPE TO B
LD A,(SCG_CIOUNIT) ; CIO UNIT NUMBER
LD C,A ; ... IS PASSED IN C
LD DE,SCG_DISPATCH ; DISPATCH ADDRESS TO DE
CALL EMU_INIT ; INITIALIZE EMULATION, DE := CIO DISPATCHER
LD (N8V_CIODISPADR),DE ; SAVE EMULATORS CIO DISPATCH INTERFACE ADDRESS
CALL TSTPT ; *DEBUG*
LD (SCG_CIODISPADR),DE ; SAVE EMULATORS CIO DISPATCH INTERFACE ADDRESS
XOR A ; SIGNAL SUCCESS
RET
N8V_VDAQRY:
SCG_VDAQRY:
LD C,$00 ; MODE ZERO IS ALL WE KNOW
LD D,N8V_ROWS ; ROWS
LD E,N8V_COLS ; COLS
LD D,SCG_ROWS ; ROWS
LD E,SCG_COLS ; COLS
LD HL,0 ; EXTRACTION OF CURRENT BITMAP DATA NOT SUPPORTED YET
XOR A ; SIGNAL SUCCESS
RET
N8V_VDARES:
SCG_VDARES:
LD DE,0 ; ROW = 0, COL = 0
CALL N8V_XY ; SEND CURSOR TO TOP LEFT
CALL SCG_XY ; SEND CURSOR TO TOP LEFT
LD A,' ' ; BLANK THE SCREEN
LD DE,N8V_ROWS * N8V_COLS ; FILL ENTIRE BUFFER
CALL N8V_FILL ; DO IT
LD DE,SCG_ROWS * SCG_COLS ; FILL ENTIRE BUFFER
CALL SCG_FILL ; DO IT
LD DE,0 ; ROW = 0, COL = 0
CALL N8V_XY ; SEND CURSOR TO TOP LEFT
CALL SCG_XY ; SEND CURSOR TO TOP LEFT
XOR A
DEC A
LD (N8V_CURSAV),A
CALL N8V_SETCUR ; SET CURSOR
LD (SCG_CURSAV),A
CALL SCG_SETCUR ; SET CURSOR
XOR A ; SIGNAL SUCCESS
RET
N8V_VDASCS:
SCG_VDASCS:
CALL PANIC ; NOT IMPLEMENTED (YET)
N8V_VDASCP:
CALL N8V_CLRCUR
CALL N8V_XY ; SET CURSOR POSITION
CALL N8V_SETCUR
SCG_VDASCP:
CALL SCG_CLRCUR
CALL SCG_XY ; SET CURSOR POSITION
CALL SCG_SETCUR
XOR A ; SIGNAL SUCCESS
RET
N8V_VDASAT:
SCG_VDASAT:
XOR A ; NOT POSSIBLE, JUST SIGNAL SUCCESS
RET
N8V_VDASCO:
SCG_VDASCO:
XOR A ; NOT POSSIBLE, JUST SIGNAL SUCCESS
RET
N8V_VDAWRC:
CALL N8V_CLRCUR ; CURSOR OFF
SCG_VDAWRC:
CALL SCG_CLRCUR ; CURSOR OFF
LD A,E ; CHARACTER TO WRITE GOES IN A
CALL N8V_PUTCHAR ; PUT IT ON THE SCREEN
CALL N8V_SETCUR
CALL SCG_PUTCHAR ; PUT IT ON THE SCREEN
CALL SCG_SETCUR
XOR A ; SIGNAL SUCCESS
RET
N8V_VDAFIL:
CALL N8V_CLRCUR
SCG_VDAFIL:
CALL SCG_CLRCUR
LD A,E ; FILL CHARACTER GOES IN A
EX DE,HL ; FILL LENGTH GOES IN DE
CALL N8V_FILL ; DO THE FILL
CALL N8V_SETCUR
CALL SCG_FILL ; DO THE FILL
CALL SCG_SETCUR
XOR A ; SIGNAL SUCCESS
RET
N8V_VDACPY:
CALL N8V_CLRCUR
; LENGTH IN HL, SOURCE ROW/COL IN DE, DEST IS N8V_POS
SCG_VDACPY:
CALL SCG_CLRCUR
; LENGTH IN HL, SOURCE ROW/COL IN DE, DEST IS SCG_POS
; BLKCPY USES: HL=SOURCE, DE=DEST, BC=COUNT
PUSH HL ; SAVE LENGTH
CALL N8V_XY2IDX ; ROW/COL IN DE -> SOURCE ADR IN HL
CALL SCG_XY2IDX ; ROW/COL IN DE -> SOURCE ADR IN HL
POP BC ; RECOVER LENGTH IN BC
LD DE,(N8V_POS) ; PUT DEST IN DE
CALL N8V_BLKCPY ; DO A BLOCK COPY
CALL N8V_SETCUR
LD DE,(SCG_POS) ; PUT DEST IN DE
CALL SCG_BLKCPY ; DO A BLOCK COPY
CALL SCG_SETCUR
XOR A
RET
N8V_VDASCR:
CALL N8V_CLRCUR
N8V_VDASCR0:
SCG_VDASCR:
CALL SCG_CLRCUR
SCG_VDASCR0:
LD A,E ; LOAD E INTO A
OR A ; SET FLAGS
JR Z,N8V_VDASCR2 ; IF ZERO, WE ARE DONE
JR Z,SCG_VDASCR2 ; IF ZERO, WE ARE DONE
PUSH DE ; SAVE E
JP M,N8V_VDASCR1 ; E IS NEGATIVE, REVERSE SCROLL
CALL N8V_SCROLL ; SCROLL FORWARD ONE LINE
JP M,SCG_VDASCR1 ; E IS NEGATIVE, REVERSE SCROLL
CALL SCG_SCROLL ; SCROLL FORWARD ONE LINE
POP DE ; RECOVER E
DEC E ; DECREMENT IT
JR N8V_VDASCR0 ; LOOP
N8V_VDASCR1:
CALL N8V_RSCROLL ; SCROLL REVERSE ONE LINE
JR SCG_VDASCR0 ; LOOP
SCG_VDASCR1:
CALL SCG_RSCROLL ; SCROLL REVERSE ONE LINE
POP DE ; RECOVER E
INC E ; INCREMENT IT
JR N8V_VDASCR0 ; LOOP
N8V_VDASCR2:
CALL N8V_SETCUR
JR SCG_VDASCR0 ; LOOP
SCG_VDASCR2:
CALL SCG_SETCUR
XOR A
RET
;
;======================================================================
; N8V DRIVER - PRIVATE DRIVER FUNCTIONS
; SCG DRIVER - PRIVATE DRIVER FUNCTIONS
;======================================================================
;
;----------------------------------------------------------------------
; SET TMS9918 REGISTER VALUE
; N8V_SET WRITES VALUE IN A TO VDU REGISTER SPECIFIED IN C
; SCG_SET WRITES VALUE IN A TO VDU REGISTER SPECIFIED IN C
;----------------------------------------------------------------------
;
N8V_SET:
OUT (N8V_CMDREG),A ; WRITE IT
N8V_IODELAY
SCG_SET:
OUT (SCG_CMDREG),A ; WRITE IT
SCG_IODELAY
LD A,C ; GET THE DESIRED REGISTER
OR $80 ; SET BIT 7
OUT (N8V_CMDREG),A ; SELECT THE DESIRED REGISTER
N8V_IODELAY
OUT (SCG_CMDREG),A ; SELECT THE DESIRED REGISTER
SCG_IODELAY
RET
;
;----------------------------------------------------------------------
; SET TMS9918 READ/WRITE ADDRESS
; N8V_WR SETS TMS9918 TO BEGIN WRITING TO ADDRESS SPECIFIED IN HL
; N8V_RD SETS TMS9918 TO BEGIN READING TO ADDRESS SPECIFIED IN HL
; SCG_WR SETS TMS9918 TO BEGIN WRITING TO ADDRESS SPECIFIED IN HL
; SCG_RD SETS TMS9918 TO BEGIN READING TO ADDRESS SPECIFIED IN HL
;----------------------------------------------------------------------
;
N8V_WR:
SCG_WR:
PUSH HL
SET 6,H ; SET WRITE BIT
CALL N8V_RD
CALL SCG_RD
POP HL
RET
;
N8V_RD:
SCG_RD:
LD A,L
OUT (N8V_CMDREG),A
N8V_IODELAY
OUT (SCG_CMDREG),A
SCG_IODELAY
LD A,H
OUT (N8V_CMDREG),A
N8V_IODELAY
OUT (SCG_CMDREG),A
SCG_IODELAY
RET
;
;----------------------------------------------------------------------
; MOS 8563 DISPLAY CONTROLLER CHIP INITIALIZATION
;----------------------------------------------------------------------
;
N8V_CRTINIT:
SCG_CRTINIT:
; SET WRITE ADDRESS TO $0
LD HL,0
CALL N8V_WR
CALL SCG_WR
;
; FILL ENTIRE RAM CONTENTS
LD DE,$4000
N8V_CRTINIT1:
SCG_CRTINIT1:
XOR A
OUT (N8V_DATREG),A
OUT (SCG_DATREG),A
DEC DE
LD A,D
OR E
JR NZ,N8V_CRTINIT1
JR NZ,SCG_CRTINIT1
;
; INITIALIZE VDU REGISTERS
LD C,0 ; START WITH REGISTER 0
LD B,N8V_INIT9918LEN ; NUMBER OF REGISTERS TO INIT
LD HL,N8V_INIT9918 ; HL = POINTER TO THE DEFAULT VALUES
N8V_CRTINIT2:
LD B,SCG_INIT9918LEN ; NUMBER OF REGISTERS TO INIT
LD HL,SCG_INIT9918 ; HL = POINTER TO THE DEFAULT VALUES
SCG_CRTINIT2:
LD A,(HL) ; GET VALUE
CALL N8V_SET ; WRITE IT
CALL SCG_SET ; WRITE IT
INC HL ; POINT TO NEXT VALUE
INC C ; POINT TO NEXT REGISTER
DJNZ N8V_CRTINIT2 ; LOOP
DJNZ SCG_CRTINIT2 ; LOOP
RET
;
;----------------------------------------------------------------------
; LOAD FONT DATA
;----------------------------------------------------------------------
;
N8V_LOADFONT:
SCG_LOADFONT:
; SET WRITE ADDRESS TO $800
LD HL,$800
CALL N8V_WR
CALL SCG_WR
;
; FILL $800 BYTES FROM FONTDATA
LD HL,N8V_FONTDATA
LD HL,SCG_FONTDATA
LD DE,$100 * 8
N8V_LOADFONT1:
SCG_LOADFONT1:
LD B,8
N8V_LOADFONT2:
SCG_LOADFONT2:
LD A,(HL)
PUSH AF
INC HL
DJNZ N8V_LOADFONT2
DJNZ SCG_LOADFONT2
;
LD B,8
N8V_LOADFONT3:
SCG_LOADFONT3:
POP AF
OUT (N8V_DATREG),A
OUT (SCG_DATREG),A
DEC DE
DJNZ N8V_LOADFONT3
DJNZ SCG_LOADFONT3
;
LD A,D
OR E
JR NZ,N8V_LOADFONT1
JR NZ,SCG_LOADFONT1
;
RET
;
;----------------------------------------------------------------------
; VIRTUAL CURSOR MANAGEMENT
; N8V_SETCUR CONFIGURES AND DISPLAYS CURSOR AT CURRENT CURSOR LOCATION
; N8V_CLRCUR REMOVES THE CURSOR
; SCG_SETCUR CONFIGURES AND DISPLAYS CURSOR AT CURRENT CURSOR LOCATION
; SCG_CLRCUR REMOVES THE CURSOR
;
; VIRTUAL CURSOR IS GENERATED BY DYNAMICALLY CHANGING FONT GLYPH
; FOR CHAR 255 TO BE THE INVERSE OF THE GLYPH OF THE CHARACTER UNDER
; THE CURRENT CURSOR POSITION. THE CHARACTER CODE IS THEN SWITCH TO
; THE VALUE 255 AND THE ORIGINAL VALUE IS SAVED. WHEN THE DISPLAY
; NEEDS TO BE CHANGED THE PROCESS IS UNDONE. IT IS ESSENTIAL THAT
; ALL DISPLAY CHANGES BE BRACKETED WITH CALLS TO N8V_CLRCUR PRIOR TO
; CHANGES AND N8V_SETCUR AFTER CHANGES.
; ALL DISPLAY CHANGES BE BRACKETED WITH CALLS TO SCG_CLRCUR PRIOR TO
; CHANGES AND SCG_SETCUR AFTER CHANGES.
;----------------------------------------------------------------------
;
N8V_SETCUR:
SCG_SETCUR:
PUSH HL ; PRESERVE HL
PUSH DE ; PRESERVE DE
LD HL,(N8V_POS) ; GET CURSOR POSITION
CALL N8V_RD ; SETUP TO READ VDU BUF
IN A,(N8V_DATREG) ; GET REAL CHAR UNDER CURSOR
N8V_IODELAY ; DELAY
LD HL,(SCG_POS) ; GET CURSOR POSITION
CALL SCG_RD ; SETUP TO READ VDU BUF
IN A,(SCG_DATREG) ; GET REAL CHAR UNDER CURSOR
SCG_IODELAY ; DELAY
PUSH AF ; SAVE THE CHARACTER
CALL N8V_WR ; SETUP TO WRITE TO THE SAME PLACE
CALL SCG_WR ; SETUP TO WRITE TO THE SAME PLACE
LD A,$FF ; REPLACE REAL CHAR WITH 255
OUT (N8V_DATREG),A ; DO IT
N8V_IODELAY ; DELAY
OUT (SCG_DATREG),A ; DO IT
SCG_IODELAY ; DELAY
POP AF ; RECOVER THE REAL CHARACTER
LD B,A ; PUT IT IN B
LD A,(N8V_CURSAV) ; GET THE CURRENTLY SAVED CHAR
LD A,(SCG_CURSAV) ; GET THE CURRENTLY SAVED CHAR
CP B ; COMPARE TO CURRENT
JR Z,N8V_SETCUR3 ; IF EQUAL, BYPASS EXTRA WORK
JR Z,SCG_SETCUR3 ; IF EQUAL, BYPASS EXTRA WORK
LD A,B ; GET REAL CHAR BACK TO A
LD (N8V_CURSAV),A ; SAVE IT
LD (SCG_CURSAV),A ; SAVE IT
; GET THE GLYPH DATA FOR REAL CHARACTER
LD HL,0 ; ZERO HL
LD L,A ; HL IS NOW RAW CHAR INDEX
LD B,3 ; LEFT SHIFT BY 3 BITS
N8V_SETCUR0: ; MULT BY 8 FOR FONT INDEX
SCG_SETCUR0: ; MULT BY 8 FOR FONT INDEX
SLA L ; SHIFT LSB INTO CARRY
RL H ; SHFT MSB FROM CARRY
DJNZ N8V_SETCUR0 ; LOOP 3 TIMES
DJNZ SCG_SETCUR0 ; LOOP 3 TIMES
LD DE,$800 ; OFFSET TO START OF FONT TABLE
ADD HL,DE ; ADD TO FONT INDEX
CALL N8V_RD ; SETUP TO READ GLYPH
CALL SCG_RD ; SETUP TO READ GLYPH
LD B,8 ; 8 BYTES
LD HL,N8V_BUF ; INTO BUFFER
N8V_SETCUR1: ; READ GLYPH LOOP
IN A,(N8V_DATREG) ; GET NEXT BYTE
N8V_IODELAY ; IO DELAY
LD HL,SCG_BUF ; INTO BUFFER
SCG_SETCUR1: ; READ GLYPH LOOP
IN A,(SCG_DATREG) ; GET NEXT BYTE
SCG_IODELAY ; IO DELAY
LD (HL),A ; SAVE VALUE IN BUF
INC HL ; BUMP BUF POINTER
DJNZ N8V_SETCUR1 ; LOOP FOR 8 BYTES
DJNZ SCG_SETCUR1 ; LOOP FOR 8 BYTES
;
; NOW WRITE INVERTED GLYPH INTO FONT INDEX 255
LD HL,$800 + (255 * 8) ; LOC OF GLPYPH DATA FOR CHAR 255
CALL N8V_WR ; SETUP TO WRITE THE INVERTED GLYPH
CALL SCG_WR ; SETUP TO WRITE THE INVERTED GLYPH
LD B,8 ; 8 BYTES PER GLYPH
LD HL,N8V_BUF ; POINT TO BUFFER
N8V_SETCUR2: ; WRITE INVERTED GLYPH LOOP
LD HL,SCG_BUF ; POINT TO BUFFER
SCG_SETCUR2: ; WRITE INVERTED GLYPH LOOP
LD A,(HL) ; GET THE BYTE
INC HL ; BUMP THE BUF POINTER
XOR $FF ; INVERT THE VALUE
OUT (N8V_DATREG),A ; WRITE IT TO VDU
N8V_IODELAY ; IO DELAY
DJNZ N8V_SETCUR2 ; LOOP FOR ALL 8 BYTES OF GLYPH
OUT (SCG_DATREG),A ; WRITE IT TO VDU
SCG_IODELAY ; IO DELAY
DJNZ SCG_SETCUR2 ; LOOP FOR ALL 8 BYTES OF GLYPH
;
N8V_SETCUR3: ; RESTORE REGISTERS AND RETURN
SCG_SETCUR3: ; RESTORE REGISTERS AND RETURN
POP DE ; RECOVER DE
POP HL ; RECOVER HL
RET ; RETURN
;
;
;
N8V_CLRCUR: ; REMOVE VIRTUAL CURSOR FROM SCREEN
SCG_CLRCUR: ; REMOVE VIRTUAL CURSOR FROM SCREEN
PUSH HL ; SAVE HL
LD HL,(N8V_POS) ; POINT TO CURRENT CURSOR POS
CALL N8V_WR ; SET UP TO WRITE TO VDU
LD A,(N8V_CURSAV) ; GET THE REAL CHARACTER
OUT (N8V_DATREG),A ; WRITE IT
N8V_IODELAY ; IO DELAY
LD HL,(SCG_POS) ; POINT TO CURRENT CURSOR POS
CALL SCG_WR ; SET UP TO WRITE TO VDU
LD A,(SCG_CURSAV) ; GET THE REAL CHARACTER
OUT (SCG_DATREG),A ; WRITE IT
SCG_IODELAY ; IO DELAY
POP HL ; RECOVER HL
RET ; RETURN
;
@ -398,9 +398,9 @@ N8V_CLRCUR: ; REMOVE VIRTUAL CURSOR FROM SCREEN
; SET CURSOR POSITION TO ROW IN D AND COLUMN IN E
;----------------------------------------------------------------------
;
N8V_XY:
CALL N8V_XY2IDX ; CONVERT ROW/COL TO BUF IDX
LD (N8V_POS),HL ; SAVE THE RESULT (DISPLAY POSITION)
SCG_XY:
CALL SCG_XY2IDX ; CONVERT ROW/COL TO BUF IDX
LD (SCG_POS),HL ; SAVE THE RESULT (DISPLAY POSITION)
RET
;
;----------------------------------------------------------------------
@ -408,10 +408,10 @@ N8V_XY:
; D=ROW, E=COL
;----------------------------------------------------------------------
;
N8V_XY2IDX:
SCG_XY2IDX:
LD A,E ; SAVE COLUMN NUMBER IN A
LD H,D ; SET H TO ROW NUMBER
LD E,N8V_COLS ; SET E TO ROW LENGTH
LD E,SCG_COLS ; SET E TO ROW LENGTH
CALL MULT8 ; MULTIPLY TO GET ROW OFFSET
LD E,A ; GET COLUMN BACK
ADD HL,DE ; ADD IT IN
@ -421,15 +421,15 @@ N8V_XY2IDX:
; WRITE VALUE IN A TO CURRENT VDU BUFFER POSTION, ADVANCE CURSOR
;----------------------------------------------------------------------
;
N8V_PUTCHAR:
SCG_PUTCHAR:
PUSH AF ; SAVE CHARACTER
LD HL,(N8V_POS) ; LOAD CURRENT POSITION INTO HL
CALL N8V_WR ; SET THE WRITE ADDRESS
LD HL,(SCG_POS) ; LOAD CURRENT POSITION INTO HL
CALL SCG_WR ; SET THE WRITE ADDRESS
POP AF ; RECOVER CHARACTER TO WRITE
OUT (N8V_DATREG),A ; WRITE THE CHARACTER
LD HL,(N8V_POS) ; LOAD CURRENT POSITION INTO HL
OUT (SCG_DATREG),A ; WRITE THE CHARACTER
LD HL,(SCG_POS) ; LOAD CURRENT POSITION INTO HL
INC HL
LD (N8V_POS),HL
LD (SCG_POS),HL
RET
;
;----------------------------------------------------------------------
@ -439,19 +439,19 @@ N8V_PUTCHAR:
; DE: NUMBER OF CHARACTERS TO FILL
;----------------------------------------------------------------------
;
N8V_FILL:
SCG_FILL:
LD C,A ; SAVE THE CHARACTER TO WRITE
LD HL,(N8V_POS) ; SET STARTING POSITION
CALL N8V_WR ; SET UP FOR WRITE
LD HL,(SCG_POS) ; SET STARTING POSITION
CALL SCG_WR ; SET UP FOR WRITE
;
N8V_FILL1:
SCG_FILL1:
LD A,C ; RECOVER CHARACTER TO WRITE
OUT (N8V_DATREG),A
N8V_IODELAY
OUT (SCG_DATREG),A
SCG_IODELAY
DEC DE
LD A,D
OR E
JR NZ,N8V_FILL1
JR NZ,SCG_FILL1
;
RET
;
@ -459,50 +459,50 @@ N8V_FILL1:
; SCROLL ENTIRE SCREEN FORWARD BY ONE LINE (CURSOR POSITION UNCHANGED)
;----------------------------------------------------------------------
;
N8V_SCROLL:
SCG_SCROLL:
LD HL,0 ; SOURCE ADDRESS OF CHARACER BUFFER
LD C,N8V_ROWS - 1 ; SET UP LOOP COUNTER FOR ROWS - 1
LD C,SCG_ROWS - 1 ; SET UP LOOP COUNTER FOR ROWS - 1
;
N8V_SCROLL0: ; READ LINE THAT IS ONE PAST CURRENT DESTINATION
SCG_SCROLL0: ; READ LINE THAT IS ONE PAST CURRENT DESTINATION
PUSH HL ; SAVE CURRENT DESTINATION
LD DE,N8V_COLS
LD DE,SCG_COLS
ADD HL,DE ; POINT TO NEXT ROW SOURCE
CALL N8V_RD ; SET UP TO READ
LD DE,N8V_BUF
LD B,N8V_COLS
N8V_SCROLL1:
IN A,(N8V_DATREG)
N8V_IODELAY
CALL SCG_RD ; SET UP TO READ
LD DE,SCG_BUF
LD B,SCG_COLS
SCG_SCROLL1:
IN A,(SCG_DATREG)
SCG_IODELAY
LD (DE),A
INC DE
DJNZ N8V_SCROLL1
DJNZ SCG_SCROLL1
POP HL ; RECOVER THE DESTINATION
;
; WRITE THE BUFFERED LINE TO CURRENT DESTINATION
CALL N8V_WR ; SET UP TO WRITE
LD DE,N8V_BUF
LD B,N8V_COLS
N8V_SCROLL2:
CALL SCG_WR ; SET UP TO WRITE
LD DE,SCG_BUF
LD B,SCG_COLS
SCG_SCROLL2:
LD A,(DE)
OUT (N8V_DATREG),A
N8V_IODELAY
OUT (SCG_DATREG),A
SCG_IODELAY
INC DE
DJNZ N8V_SCROLL2
DJNZ SCG_SCROLL2
;
; BUMP TO NEXT LINE
LD DE,N8V_COLS
LD DE,SCG_COLS
ADD HL,DE
DEC C ; DECREMENT ROW COUNTER
JR NZ,N8V_SCROLL0 ; LOOP THRU ALL ROWS
JR NZ,SCG_SCROLL0 ; LOOP THRU ALL ROWS
;
; FILL THE NEWLY EXPOSED BOTTOM LINE
CALL N8V_WR
CALL SCG_WR
LD A,' '
LD B,N8V_COLS
N8V_SCROLL3:
OUT (N8V_DATREG),A
N8V_IODELAY
DJNZ N8V_SCROLL3
LD B,SCG_COLS
SCG_SCROLL3:
OUT (SCG_DATREG),A
SCG_IODELAY
DJNZ SCG_SCROLL3
;
RET
;
@ -510,50 +510,50 @@ N8V_SCROLL3:
; REVERSE SCROLL ENTIRE SCREEN BY ONE LINE (CURSOR POSITION UNCHANGED)
;----------------------------------------------------------------------
;
N8V_RSCROLL:
LD HL,N8V_COLS * (N8V_ROWS - 1)
LD C,N8V_ROWS - 1
SCG_RSCROLL:
LD HL,SCG_COLS * (SCG_ROWS - 1)
LD C,SCG_ROWS - 1
;
N8V_RSCROLL0: ; READ THE LINE THAT IS ONE PRIOR TO CURRENT DESTINATION
SCG_RSCROLL0: ; READ THE LINE THAT IS ONE PRIOR TO CURRENT DESTINATION
PUSH HL ; SAVE THE DESTINATION ADDRESS
LD DE,-N8V_COLS
LD DE,-SCG_COLS
ADD HL,DE ; SET SOURCE ADDRESS
CALL N8V_RD ; SET UP TO READ
LD DE,N8V_BUF ; POINT TO BUFFER
LD B,N8V_COLS ; LOOP FOR EACH COLUMN
N8V_RSCROLL1:
IN A,(N8V_DATREG) ; GET THE CHAR
N8V_IODELAY ; RECOVER
CALL SCG_RD ; SET UP TO READ
LD DE,SCG_BUF ; POINT TO BUFFER
LD B,SCG_COLS ; LOOP FOR EACH COLUMN
SCG_RSCROLL1:
IN A,(SCG_DATREG) ; GET THE CHAR
SCG_IODELAY ; RECOVER
LD (DE),A ; SAVE IN BUFFER
INC DE ; BUMP BUFFER POINTER
DJNZ N8V_RSCROLL1 ; LOOP THRU ALL COLS
DJNZ SCG_RSCROLL1 ; LOOP THRU ALL COLS
POP HL ; RECOVER THE DESTINATION ADDRESS
;
; WRITE THE BUFFERED LINE TO CURRENT DESTINATION
CALL N8V_WR ; SET THE WRITE ADDRESS
LD DE,N8V_BUF ; POINT TO BUFFER
LD B,N8V_COLS ; INIT LOOP COUNTER
N8V_RSCROLL2:
CALL SCG_WR ; SET THE WRITE ADDRESS
LD DE,SCG_BUF ; POINT TO BUFFER
LD B,SCG_COLS ; INIT LOOP COUNTER
SCG_RSCROLL2:
LD A,(DE) ; LOAD THE CHAR
OUT (N8V_DATREG),A ; WRITE TO SCREEN
N8V_IODELAY ; DELAY
OUT (SCG_DATREG),A ; WRITE TO SCREEN
SCG_IODELAY ; DELAY
INC DE ; BUMP BUF POINTER
DJNZ N8V_RSCROLL2 ; LOOP THRU ALL COLS
DJNZ SCG_RSCROLL2 ; LOOP THRU ALL COLS
;
; BUMP TO THE PRIOR LINE
LD DE,-N8V_COLS ; LOAD COLS (NEGATIVE)
LD DE,-SCG_COLS ; LOAD COLS (NEGATIVE)
ADD HL,DE ; BACK UP THE ADDRESS
DEC C ; DECREMENT ROW COUNTER
JR NZ,N8V_RSCROLL0 ; LOOP THRU ALL ROWS
JR NZ,SCG_RSCROLL0 ; LOOP THRU ALL ROWS
;
; FILL THE NEWLY EXPOSED BOTTOM LINE
CALL N8V_WR
CALL SCG_WR
LD A,' '
LD B,N8V_COLS
N8V_RSCROLL3:
OUT (N8V_DATREG),A
N8V_IODELAY
DJNZ N8V_RSCROLL3
LD B,SCG_COLS
SCG_RSCROLL3:
OUT (SCG_DATREG),A
SCG_IODELAY
DJNZ SCG_RSCROLL3
;
RET
;
@ -561,48 +561,50 @@ N8V_RSCROLL3:
; BLOCK COPY BC BYTES FROM HL TO DE
;----------------------------------------------------------------------
;
N8V_BLKCPY:
SCG_BLKCPY:
; SAVE DESTINATION AND LENGTH
PUSH BC ; LENGTH
PUSH DE ; DEST
;
; READ FROM THE SOURCE LOCATION
N8V_BLKCPY1:
CALL N8V_RD ; SET UP TO READ FROM ADDRESS IN HL
LD DE,N8V_BUF ; POINT TO BUFFER
SCG_BLKCPY1:
CALL SCG_RD ; SET UP TO READ FROM ADDRESS IN HL
LD DE,SCG_BUF ; POINT TO BUFFER
LD B,C
N8V_BLKCPY2:
IN A,(N8V_DATREG) ; GET THE NEXT BYTE
N8V_IODELAY ; DELAY
SCG_BLKCPY2:
IN A,(SCG_DATREG) ; GET THE NEXT BYTE
SCG_IODELAY ; DELAY
LD (DE),A ; SAVE IN BUFFER
INC DE ; BUMP BUF PTR
DJNZ N8V_BLKCPY2 ; LOOP AS NEEDED
DJNZ SCG_BLKCPY2 ; LOOP AS NEEDED
;
; WRITE TO THE DESTINATION LOCATION
POP HL ; RECOVER DESTINATION INTO HL
CALL N8V_WR ; SET UP TO WRITE
LD DE,N8V_BUF ; POINT TO BUFFER
CALL SCG_WR ; SET UP TO WRITE
LD DE,SCG_BUF ; POINT TO BUFFER
POP BC ; GET LOOP COUNTER BACK
LD B,C
N8V_BLKCPY3:
SCG_BLKCPY3:
LD A,(DE) ; GET THE CHAR FROM BUFFER
OUT (N8V_DATREG),A ; WRITE TO VDU
N8V_IODELAY ; DELAY
OUT (SCG_DATREG),A ; WRITE TO VDU
SCG_IODELAY ; DELAY
INC DE ; BUMP BUF PTR
DJNZ N8V_BLKCPY3 ; LOOP AS NEEDED
DJNZ SCG_BLKCPY3 ; LOOP AS NEEDED
;
RET
;
;==================================================================================================
; N8V DRIVER - DATA
; SCG DRIVER - DATA
;==================================================================================================
;
N8V_POS .DW 0 ; CURRENT DISPLAY POSITION
N8V_CURSAV .DB 0 ; SAVES ORIGINAL CHARACTER UNDER CURSOR
N8V_BUF .FILL 256,0 ; COPY BUFFER
SCG_CIOUNIT .DB $FF ; LOCAL COPY OF OUR CIO UNIT NUMBER
;
SCG_POS .DW 0 ; CURRENT DISPLAY POSITION
SCG_CURSAV .DB 0 ; SAVES ORIGINAL CHARACTER UNDER CURSOR
SCG_BUF .FILL 256,0 ; COPY BUFFER
;
;==================================================================================================
; N8V DRIVER - TMS9918 REGISTER INITIALIZATION
; SCG DRIVER - TMS9918 REGISTER INITIALIZATION
;==================================================================================================
;
; Control Registers (write CMDREG):
@ -643,7 +645,7 @@ N8V_BUF .FILL 256,0 ; COPY BUFFER
; 5S Fifth sprite (not displayed) detected. Value in FS* is valid.
; INT Set at each screen update, used for interrupts.
;
N8V_INIT9918:
SCG_INIT9918:
.DB $00 ; REG 0 - NO EXTERNAL VID
.DB $50 ; REG 1 - ENABLE SCREEN, SET MODE 1
.DB $00 ; REG 2 - PATTERN NAME TABLE := 0
@ -653,11 +655,11 @@ N8V_INIT9918:
.DB $00 ; REG 6 - NO SPRITE GENERATOR TABLE
.DB $F0 ; REG 7 - WHITE ON BLACK
;
N8V_INIT9918LEN .EQU $ - N8V_INIT9918
SCG_INIT9918LEN .EQU $ - SCG_INIT9918
;
;==================================================================================================
; N8V DRIVER - FONT DATA
; SCG DRIVER - FONT DATA
;==================================================================================================
;
N8V_FONTDATA:
#INCLUDE "n8v_font.inc"
SCG_FONTDATA:
#INCLUDE "scg_font.inc"

0
Source/HBIOS/n8v_font.inc → Source/HBIOS/scg_font.inc

4
Source/HBIOS/std.asm

@ -33,9 +33,9 @@ PLT_N8 .EQU 4 ; N8 (HOME COMPUTER) Z180 SBC
PLT_MK4 .EQU 5 ; MARK IV
PLT_UNA .EQU 6 ; UNA BIOS
;
;#IFDEF PLTWBW
#IF (PLATFORM != PLT_UNA)
#INCLUDE "hbios.inc"
;#ENDIF
#ENDIF
;
; BOOT STYLE
;

41
Source/HBIOS/tty.asm

@ -6,14 +6,23 @@
; TODO:
; - SOME FUNCTIONS ARE NOT IMPLEMENTED!!!
;
; INITIALIZATION OF EMULATION MODULE CALLED BY PARENT VDA DRIVER
; ON ENTRY:
; C: CIO UNIT NUMBER OF CALLING VDA DRIVER
; DE: DISPATCH ADDRESS OF CALLING VDA DRIVER
; RETURNS:
; DE: OUR CIO DISPATCH ADDRESS
;
TTY_INIT:
; SAVE INCOMING VDA DISPATCH ADDRESS
LD (EMU_VDADISPADR),DE ; RECORD NEW VDA DISPATCH ADDRESS
; SAVE CALLING VDA DRIVER'S CIO UNIT NUMBER AND VDA DISPATCH ADDRESS
LD C,A ; VDA DRIVER'S CIO UNIT NUMBER
LD (TTY_CIOUNIT),A ; ... SAVED LOCALLY
LD (TTY_VDADISPADR),DE ; ALSO SAVE VDA DRIVER'S DISPATCH ADDRESS
;
; QUERY THE VIDEO DRIVER FOR SCREEN DIMENSIONS
LD B,BF_VDAQRY ; FUNCTION IS QUERY
LD HL,0 ; WE DO NOT WANT A COPY OF THE CHARACTER BITMAP DATA
CALL EMU_VDADISP ; PERFORM THE QUERY FUNCTION
CALL TTY_VDADISP ; PERFORM THE QUERY FUNCTION
LD (TTY_DIM),DE ; SAVE THE SCREEN DIMENSIONS RETURNED
;
LD DE,0 ; DE := 0, CURSOR TO HOME POSITION 0,0
@ -25,8 +34,13 @@ TTY_INIT:
;
;
;
TTY_VDADISP:
JP PANIC
TTY_VDADISPADR .EQU $ - 2
;
;
;
TTY_DISPATCH:
LD (TTY_CIODEV),A ; *DEBUG*
LD A,B ; GET REQUESTED FUNCTION
AND $0F ; ISOLATE SUB-FUNCTION
JR Z,TTY_IN ; $30
@ -48,7 +62,7 @@ TTY_DISPATCH:
;
TTY_IN:
LD B,BF_VDAKRD ; SET FUNCTION TO KEYBOARD READ
JP EMU_VDADISP ; CHAIN TO VDA DISPATCHER
JP TTY_VDADISP ; CHAIN TO VDA DISPATCHER
;
;
;
@ -61,7 +75,7 @@ TTY_OUT:
;
TTY_IST:
LD B,BF_VDAKST ; SET FUNCTION TO KEYBOARD STATUS
JP EMU_VDADISP ; CHAIN TO VDA DISPATCHER
JP TTY_VDADISP ; CHAIN TO VDA DISPATCHER
;
;
;
@ -85,9 +99,8 @@ TTY_QUERY:
;
;
TTY_DEVICE:
;LD D,CIODEV_VDA ; D := DEVICE TYPE
LD A,(TTY_CIODEV) ; GET THE CURRENT CIO DEVICE *DEBUG*
LD D,A ; AND PASS BACK IN D *DEBUG*
LD A,(TTY_CIOUNIT) ; PARENT VDA CIO UNIT
LD D,A ; AND PASS BACK IN D
LD E,C ; E := PHYSICAL UNIT
XOR A ; SIGNAL SUCCESS
RET
@ -107,7 +120,7 @@ TTY_DOCHAR:
CP 32 ; COMPARE TO SPACE (FIRST PRINTABLE CHARACTER)
RET C ; SWALLOW OTHER CONTROL CHARACTERS
LD B,BF_VDAWRC
CALL EMU_VDADISP ; SPIT OUT THE RAW CHARACTER
CALL TTY_VDADISP ; SPIT OUT THE RAW CHARACTER
LD A,(TTY_COL) ; GET CUR COL
INC A ; INCREMENT
LD (TTY_COL),A ; SAVE IT
@ -126,7 +139,7 @@ TTY_FF:
CALL MULT8 ; HL := H * E TO GET TOTAL SCREEN POSITIONS
LD E,' ' ; FILL SCREEN WITH BLANKS
LD B,BF_VDAFIL ; SET FUNCTION TO FILL
CALL EMU_VDADISP ; PERFORM FILL
CALL TTY_VDADISP ; PERFORM FILL
JR TTY_XY ; HOME CURSOR AND RETURN
;
TTY_BS:
@ -154,12 +167,12 @@ TTY_LF: ; LINEFEED (FORWARD INDEX)
TTY_LF1: ; SCROLL
LD E,1 ; SCROLL FORWARD 1 LINE
LD B,BF_VDASCR ; SET FUNCTION TO SCROLL
JP EMU_VDADISP ; DO THE SCROLLING AND RETURN
JP TTY_VDADISP ; DO THE SCROLLING AND RETURN
;
TTY_XY:
LD DE,(TTY_POS) ; GET THE DESIRED CURSOR POSITION
LD B,BF_VDASCP ; SET FUNCTIONT TO SET CURSOR POSITION
JP EMU_VDADISP ; REPOSITION CURSOR
JP TTY_VDADISP ; REPOSITION CURSOR
;
;
;
@ -171,4 +184,4 @@ TTY_DIM:
TTY_COLS .DB 80 ; NUMBER OF COLUMNS ON SCREEN
TTY_ROWS .DB 24 ; NUMBER OF ROWS ON SCREEN
;
TTY_CIODEV .DB 0 ; *DEBUG*
TTY_CIOUNIT .DB $FF ; CIO UNIT NUMBER OF PARENT VDA

20
Source/HBIOS/util.asm

@ -501,7 +501,8 @@ BYTE2BCD1:
POP BC
RET
;#IFDEF PLTWBW
#IF (PLATFORM != PLT_UNA)
#IFDEF USEDELAY
;
@ -593,10 +594,14 @@ LDELAY:
; CPU SCALER := MAX(1, (PHIMHZ - 2))
;
DELAY_INIT:
LD B,BF_SYSHCBGETB ; HB FUNC: GET HCB BYTE
LD C,HCB_CPUMHZ ; CPU SPEED IN MHZ
RST 08 ; DO IT
LD A,E ; VALUE TO ACCUM
;LD B,BF_SYSHCBGETB ; HB FUNC: GET HCB BYTE
;LD C,HCB_CPUMHZ ; CPU SPEED IN MHZ
;RST 08 ; DO IT
;LD A,E ; VALUE TO ACCUM
LD B,BF_SYSGET ; HBIOS FUNC=GET SYS INFO
LD C,BF_SYSGET_CPUINFO ; HBIOS SUBFUNC=GET CPU INFO
RST 08 ; CALL HBIOS, RST 08 NOT YET INSTALLED
LD A,L ; PUT SPEED IN MHZ IN ACCUM
SUB 2 ; ADJUST AS REQUIRED BY DELAY FUNCTIONS
LD (CPUSCL),A ; UPDATE CPU SCALER VALUE
CP 1 ; CHECK FOR MINIMUM VALUE ALLOWED
@ -604,7 +609,7 @@ DELAY_INIT:
LD A,1 ; OTHERWISE, SET MIN VALUE
LD (CPUSCL),A ; AND SAVE IT
RET
;
#IF (CPUMHZ < 3)
CPUSCL .DB 1 ; CPU SCALER MUST BE > 0
#ELSE
@ -612,7 +617,8 @@ CPUSCL .DB CPUMHZ - 2 ; OTHERWISE 2 LESS THAN PHI MHZ
#ENDIF
;
#ENDIF
;#ENDIF
;
#ENDIF
;
; SHORT DELAY FUNCTIONS. NO CLOCK SPEED COMPENSATION, SO THEY
; WILL RUN LONGER ON SLOWER SYSTEMS. THE NUMBER INDICATES THE

10
Source/HBIOS/vdu.asm

@ -39,9 +39,9 @@ VDU_INIT:
LD C,CIODEV_VDU ; DEVICE TYPE
LD DE,0 ; UNIT DATA BLOB ADDRESS
CALL CIO_ADDENT ; ADD ENTRY, A := UNIT ASSIGNED
LD (VDU_CIOUNIT),A ; SAVE IT LOCALLY
LD (HCB + HCB_CRTDEV),A ; SET OURSELVES AS THE CRT DEVICE
CALL TSTPT ; *DEBUG*
LD D,VDAEMU ; DEFAULT EMULATION
LD E,0 ; VIDEO MODE = 0
JP VDU_VDAINI
@ -98,12 +98,12 @@ VDU_VDAINI:
POP DE ; RECOVER EMULATION TYPE
; INITIALIZE EMULATION
LD C,D ; EMULATION MODE TO C
LD B,D ; EMULATION TYPE TO B
LD A,(VDU_CIOUNIT) ; CIO UNIT NUMBER
LD C,A ; ... IS PASSED IN C
LD DE,VDU_DISPATCH ; DISPATCH ADDRESS TO DE
CALL TSTPT ; *DEBUG*
CALL EMU_INIT ; INITIALIZE EMULATION, DE := CIO DISPATCHER
LD (VDU_CIODISPADR),DE ; SAVE EMULATORS CIO DISPATCH INTERFACE ADDRESS
CALL TSTPT ; *DEBUG*
XOR A ; SIGNAL SUCCESS
RET
@ -468,6 +468,8 @@ VDU_RSCROLL:
; VDU DRIVER - DATA
;==================================================================================================
;
VDU_CIOUNIT .DB $FF ; LOCAL COPY OF OUR CIO UNIT NUMBER
;
VDU_POS .DW 0 ; CURRENT DISPLAY POSITION
VDU_OFFSET .DW 0 ; CURRENT DISPLAY POSITION
VDU_BUF .FILL 256,0 ; COPY BUFFER

6
Source/HBIOS/ver.inc

@ -1,5 +1,5 @@
#DEFINE RMJ 2
#DEFINE RMN 7
#DEFINE RUP 2
#DEFINE RMN 8
#DEFINE RUP 0
#DEFINE RTP 0
#DEFINE BIOSVER "2.7.2-alpha.7"
#DEFINE BIOSVER "2.8.0-alpha.0"

BIN
Source/RomDsk/ROM_1024KB/FDISK80.COM

Binary file not shown.

BIN
Source/RomDsk/ROM_512KB/FDISK80.COM

Binary file not shown.

BIN
Source/RomDsk/ROM_512KB/LBREXT.COM

Binary file not shown.

BIN
Source/RomDsk/ROM_512KB/ZDENST.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_ci/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_cvdu/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_dide/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_diskio/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_diskio3+cvdu/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_diskio3/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_dsd/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_mfpic/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_ppide/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_ppisd/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_propio/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_rf/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_std/T5.COM

Binary file not shown.

BIN
Source/RomDsk/sbc_vdu/T5.COM

Binary file not shown.

0
Source/HBIOS/ubios.inc → Source/UBIOS/ubios.inc

Loading…
Cancel
Save