Browse Source

Merge pull request #7 from wwarthen/dev

Dev
pull/290/head
b1ackmai1er 4 years ago
committed by GitHub
parent
commit
d02fe9d8df
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      .gitignore
  2. 5
      Source/Fonts/Build.cmd
  3. 9
      Source/Fonts/Makefile
  4. BIN
      Source/Fonts/fontcgau.bin
  5. 3
      Source/Fonts/fonts.txt
  6. 2
      Source/HBIOS/Makefile
  7. 2
      Source/HBIOS/cfg_master.asm
  8. 4
      Source/HBIOS/cfg_mbc.asm
  9. 2
      Source/HBIOS/cfg_mk4.asm
  10. 2
      Source/HBIOS/cfg_n8.asm
  11. 2
      Source/HBIOS/cfg_sbc.asm
  12. 110
      Source/HBIOS/cvdu.asm
  13. 10
      Source/HBIOS/hbios.asm
  14. 12
      Source/HBIOS/std.asm
  15. 2
      Source/ver.inc
  16. 2
      Source/ver.lib

2
.gitignore

@ -83,7 +83,7 @@ Tools/unix/zx/zx
!Source/BPBIOS/*.lib
!Source/BPBIOS/Z34RCP11/cledinst.com
!Source/BPBIOS/Z34RCP11/cledsave.com
!Source/Fonts
!Source/Fonts/*
!Source/Images/**
!Source/RomDsk/**
!Source/UBIOS/FSFAT.BIN

5
Source/Fonts/Build.cmd

@ -12,9 +12,14 @@ lzsa -f2 -r font8x8u.bin font8x8c.bin || exit /b
lzsa -f2 -r font8x11u.bin font8x11c.bin || exit /b
lzsa -f2 -r font8x16u.bin font8x16c.bin || exit /b
lzsa -f2 -r fontcgau.bin fontcgac.bin || exit /b
fonttool font8x8u.bin > font8x8u.asm || exit /b
fonttool font8x11u.bin > font8x11u.asm || exit /b
fonttool font8x16u.bin > font8x16u.asm || exit /b
fonttool font8x8c.bin > font8x8c.asm || exit /b
fonttool font8x11c.bin > font8x11c.asm || exit /b
fonttool font8x16c.bin > font8x16c.asm || exit /b
fonttool fontcgau.bin > fontcgau.asm || exit /b
fonttool fontcgac.bin > fontcgac.asm || exit /b

9
Source/Fonts/Makefile

@ -1,8 +1,8 @@
OBJECTS = \
font8x8u.asm font8x11u.asm font8x16u.asm \
font8x8c.asm font8x11c.asm font8x16c.asm
font8x8u.asm font8x11u.asm font8x16u.asm fontcgau.asm \
font8x8c.asm font8x11c.asm font8x16c.asm fontcgac.asm
OTHERS = font8x8c.bin font8x11c.bin font8x16c.bin
OTHERS = font8x8c.bin font8x11c.bin font8x16c.bin fontcgac.bin
TOOLS = ../../Tools
@ -23,5 +23,8 @@ font8x11c.bin: font8x11u.bin
font8x16c.bin: font8x16u.bin
$(BINDIR)/lzsa -f2 -r $< $@
fontcgac.bin: fontcgau.bin
$(BINDIR)/lzsa -f2 -r $< $@
%.asm: %.bin
$(BINDIR)/bin2asm $< > $@

BIN
Source/Fonts/fontcgau.bin

Binary file not shown.

3
Source/Fonts/fonts.txt

@ -6,7 +6,8 @@ Name Format Size Board & Display Mode
------------------------------------------------------------------------------------
font8x8u.bin 8x8 2048 ECB-SCG, ECB-VGA3 (80x60)
font8x11u.bin 8x11 2816 ECB-VGA3 (80x43)
font8x16u.bin 8x16 4096 ECB-CVDU (80x25), ECB-VGA3 (80x24, 80x25, 80x30)
font8x16u.bin 8x16 4096 ECB-CVDU (80x25), ECB-VGA3 (80x24, 80x25, 80x30), MBC-VDC
fontcgau.bin 8x8 4096 ECB-CVDU (80x25), MBC-VDC
For inclusion in HBIOS the .bin format files must be convert to assembler .asm format.
This is acheived using the fonttool utility and is completed automatically as part of the build process.

2
Source/HBIOS/Makefile

@ -10,7 +10,7 @@ TOOLS =../../Tools
OTHERS = *.img *.rom *.com *.upd *.bin *.z80 cpm.sys zsys.sys Build.inc font*.asm *.dat
include $(TOOLS)/Makefile.inc
FONTS := font8x11c.asm font8x11u.asm font8x16c.asm font8x16u.asm font8x8c.asm font8x8u.asm
FONTS := font8x11c.asm font8x11u.asm font8x16c.asm font8x16u.asm font8x8c.asm font8x8u.asm fontcgac.asm fontcgau.asm
ifneq ($(findstring $(ROM_PLATFORM), N8 MK4 RCZ180 SCZ180 DYNO),)
TASM=$(BINDIR)/uz80as -t hd64180

2
Source/HBIOS/cfg_master.asm

@ -202,6 +202,8 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
CVDUMODE .EQU CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
CVDUMON .EQU CVDUMON_CGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]

4
Source/HBIOS/cfg_mbc.asm

@ -137,7 +137,9 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
;
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
CVDUENABLE .EQU TRUE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
CVDUMODE .EQU CVDUMODE_MBC ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
CVDUMON .EQU CVDUMON_CGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]

2
Source/HBIOS/cfg_mk4.asm

@ -137,6 +137,8 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
CVDUMODE .EQU CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
CVDUMON .EQU CVDUMON_EGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]

2
Source/HBIOS/cfg_n8.asm

@ -139,6 +139,8 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
CVDUMODE .EQU CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
CVDUMON .EQU CVDUMON_EGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
TMSENABLE .EQU TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE .EQU TMSMODE_N8 ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]

2
Source/HBIOS/cfg_sbc.asm

@ -138,6 +138,8 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
CVDUMODE .EQU CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
CVDUMON .EQU CVDUMON_EGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]

110
Source/HBIOS/cvdu.asm

@ -18,17 +18,34 @@
;
CVDU_BASE .EQU $E0
;
#IF (CVDUMODE == CVDUMODE_ECB)
CVDU_KBDDATA .EQU CVDU_BASE + $02 ; KBD CTLR DATA PORT
CVDU_KBDST .EQU CVDU_BASE + $0A ; KBD CTLR STATUS/CMD PORT
CVDU_STAT .EQU CVDU_BASE + $04 ; READ M8563 STATUS
CVDU_REG .EQU CVDU_BASE + $04 ; SELECT M8563 REGISTER
CVDU_DATA .EQU CVDU_BASE + $0C ; READ/WRITE M8563 DATA
#ENDIF
;
#IF (CVDUMODE == CVDUMODE_MBC)
CVDU_KBDDATA .EQU CVDU_BASE + $02 ; KBD CTLR DATA PORT
CVDU_KBDST .EQU CVDU_BASE + $03 ; KBD CTLR STATUS/CMD PORT
CVDU_STAT .EQU CVDU_BASE + $04 ; READ M8563 STATUS
CVDU_REG .EQU CVDU_BASE + $04 ; SELECT M8563 REGISTER
CVDU_DATA .EQU CVDU_BASE + $05 ; READ/WRITE M8563 DATA
#ENDIF
;
CVDU_ROWS .EQU 25
CVDU_COLS .EQU 80
;
#DEFINE USEFONT8X16
#DEFINE CVDU_FONT FONT8X16
#IF (CVDUMON == CVDUMON_CGA)
#DEFINE USEFONTCGA
#DEFINE CVDU_FONT FONTCGA
#ENDIF
;
#IF (CVDUMON == CVDUMON_EGA)
#DEFINE USEFONT8X16
#DEFINE CVDU_FONT FONT8X16
#ENDIF
;
TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER
;
@ -775,9 +792,56 @@ CVDU_POS .DW 0 ; CURRENT DISPLAY POSITION
;
;
CVDU_INIT8563:
#IF 1
; EGA 720X368 9-BIT CHARACTERS
;
#IF (CVDUMON == CVDUMON_CGA)
;
; CGA 640x200 8-BIT CHARACTERS
; - requires 16.000Mhz oscillator frequency
;
.DB $7E ; 0: hor. total - 1
.DB $50 ; 1: hor. displayed
.DB $66 ; 2: hor. sync position 85
.DB $49 ; 3: vert/hor sync width or 0x4F -- MDA
.DB $20 ; 4: vert total
.DB $E0 ; 5: vert total adjust
.DB $19 ; 6: vert. displayed
.DB $1D ; 7: vert. sync postition
.DB $FC ; 8: interlace mode
.DB $E7 ; 9: char height - 1
.DB $A0 ; 10: cursor mode, start line
.DB $E7 ; 11: cursor end line
.DB $00 ; 12: display start addr hi
.DB $00 ; 13: display start addr lo
.DB $07 ; 14: cursor position hi
.DB $80 ; 15: cursor position lo
.DB $12 ; 16: light pen vertical
.DB $17 ; 17: light pen horizontal
.DB $0F ; 18: update address hi
.DB $D0 ; 19: update address lo
.DB $08 ; 20: attribute start addr hi
.DB $20 ; 21: attribute start addr lo
.DB $78 ; 22: char hor size cntrl 0x78
.DB $E8 ; 23: vert char pixel space - 1, increase to 13 with new font
.DB $20 ; 24: copy/fill, reverse, blink rate; vertical scroll
.DB $47 ; 25: gr/txt, color/mono, pxl-rpt, dbl-wide; horiz. scroll
.DB $F0 ; 26: fg/bg colors (monochr)
.DB $00 ; 27: row addr display incr
.DB $2F ; 28: char set addr; RAM size (64/16)
.DB $E7 ; 29: underline position
.DB $4F ; 30: word count - 1
.DB $07 ; 31: data
.DB $0F ; 32: block copy src hi
.DB $D0 ; 33: block copy src lo
.DB $7D ; 34: display enable begin
.DB $64 ; 35: display enable end
.DB $F5 ; 36: refresh rate
#ENDIF
;
#IF (CVDUMON == CVDUMON_EGA)
;
; EGA 720X350 9-BIT CHARACTERS
; - requires 16.257Mhz oscillator frequency
;
.DB $61 ; 0: hor. total - 1
.DB $50 ; 1: hor. displayed
.DB $5A ; 2: hor. sync position 85
@ -815,44 +879,6 @@ CVDU_INIT8563:
.DB $06 ; 34: display enable begin
.DB $56 ; 35: display enable end
.DB $00 ; 36: refresh rate
#ELSE
.DB $7E ; 0: hor. total - 1
.DB $50 ; 1: hor. displayed
.DB $66 ; 2: hor. sync position 85
.DB $49 ; 3: vert/hor sync width or 0x4F -- MDA
.DB $20 ; 4: vert total
.DB $E0 ; 5: vert total adjust
.DB $19 ; 6: vert. displayed
.DB $1D ; 7: vert. sync postition
.DB $FC ; 8: interlace mode
.DB $E7 ; 9: char height - 1
.DB $A0 ; 10: cursor mode, start line
.DB $E7 ; 11: cursor end line
.DB $00 ; 12: display start addr hi
.DB $00 ; 13: display start addr lo
.DB $07 ; 14: cursor position hi
.DB $80 ; 15: cursor position lo
.DB $12 ; 16: light pen vertical
.DB $17 ; 17: light pen horizontal
.DB $0F ; 18: update address hi
.DB $D0 ; 19: update address lo
.DB $08 ; 20: attribute start addr hi
.DB $20 ; 21: attribute start addr lo
.DB $78 ; 22: char hor size cntrl 0x78
.DB $E8 ; 23: vert char pixel space - 1, increase to 13 with new font
.DB $20 ; 24: copy/fill, reverse, blink rate; vertical scroll
.DB $47 ; 25: gr/txt, color/mono, pxl-rpt, dbl-wide; horiz. scroll
.DB $F0 ; 26: fg/bg colors (monochr)
.DB $00 ; 27: row addr display incr
.DB $2F ; 28: char set addr; RAM size (64/16)
.DB $E7 ; 29: underline position
.DB $4F ; 30: word count - 1
.DB $07 ; 31: data
.DB $0F ; 32: block copy src hi
.DB $D0 ; 33: block copy src lo
.DB $7D ; 34: display enable begin
.DB $64 ; 35: display enable end
.DB $F5 ; 36: refresh rate
#ENDIF
;
;==================================================================================================

10
Source/HBIOS/hbios.asm

@ -5023,6 +5023,16 @@ FONT8X16:
.ECHO " 8X16"
#ENDIF
;
#IFDEF USEFONTCGA
FONTCGA:
#IF USELZSA2
#INCLUDE "fontcgac.asm"
#ELSE
#INCLUDE "fontcgau.asm"
#ENDIF
.ECHO " CGA"
#ENDIF
;
SIZ_FONTS .EQU $ - ORG_FONTS
.ECHO " occupy "
.ECHO SIZ_FONTS

12
Source/HBIOS/std.asm

@ -225,6 +225,18 @@ TMSMODE_RC .EQU 3 ; RC2014 TMS9918 VIDEO BOARD
TMSMODE_RCV9958 .EQU 4 ; RC2014 V9958 VIDEO BOARD
TMSMODE_RCKBD .EQU 5 ; RC2014 TMS9918 + PS2 KEYBOARD
;
; CVDU VIDEO MODE SELECTIONS
;
CVDUMODE_NONE .EQU 0
CVDUMODE_ECB .EQU 1 ; SCG ECB BOARD
CVDUMODE_MBC .EQU 2 ; MBC VDC BOARD
;
; CVDU MONITOR SELECTIONS
;
CVDUMON_NONE .EQU 0
CVDUMON_CGA .EQU 1 ; CGA MONITOR TIMING (16.000 MHZ OSC)
CVDUMON_EGA .EQU 2 ; EGA MONITOR TIMING (16.257 MHZ OSC)
;
; DMA MODE SELECTIONS
;
DMAMODE_NONE .EQU 0

2
Source/ver.inc

@ -2,4 +2,4 @@
#DEFINE RMN 1
#DEFINE RUP 1
#DEFINE RTP 0
#DEFINE BIOSVER "3.1.1-pre.143"
#DEFINE BIOSVER "3.1.1-pre.144"

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 1
rup equ 1
rtp equ 0
biosver macro
db "3.1.1-pre.143"
db "3.1.1-pre.144"
endm

Loading…
Cancel
Save