Browse Source

Misc Cleanup

patch
Wayne Warthen 6 years ago
parent
commit
04f374a4da
  1. 2
      Doc/ChangeLog.txt
  2. 6
      Source/Apps/Timer.asm
  3. 1
      Source/HBIOS/cfg_ezz80.asm
  4. 1
      Source/HBIOS/cfg_mk4.asm
  5. 1
      Source/HBIOS/cfg_n8.asm
  6. 1
      Source/HBIOS/cfg_rcz180.asm
  7. 1
      Source/HBIOS/cfg_rcz80.asm
  8. 1
      Source/HBIOS/cfg_sbc.asm
  9. 1
      Source/HBIOS/cfg_scz180.asm
  10. 1
      Source/HBIOS/cfg_zeta.asm
  11. 1
      Source/HBIOS/cfg_zeta2.asm
  12. 17
      Source/HBIOS/dbgmon.asm
  13. 22
      Source/HBIOS/hbios.asm
  14. 4
      Source/HBIOS/std.asm

2
Doc/ChangeLog.txt

@ -28,7 +28,7 @@ Version 2.9.2
- WBW: Updated FAT to add MD and FORMAT commands
- WBW: Add CP/M 3 (experimental)
- M?T: Support Shift register SPI WIZNET for RC2014
- WBW: Added seconds register in HBIOS
- P?S: Added seconds register in HBIOS
Version 2.9.1
-------------

6
Source/Apps/Timer.asm

@ -139,6 +139,10 @@ process1a:
ld c,bf_sysgetsecs ; SECONDS subfunction
rst 08 ; call HBIOS, DE:HL := seconds value
call prthex32 ; display it
ld a,'.' ; fraction separator
call prtchr ; print it
ld a,c ; get fractional component
call prthex ; print it
ld de,strsec ; tag
call prtstr ; display it
;
@ -476,7 +480,7 @@ stack .equ $ ; stack top
;
; Messages
;
msgban .db "TIMER v1.1, 8-Nov-2019",13,10
msgban .db "TIMER v1.1, 10-Nov-2019",13,10
.db "Copyright (C) 2019, Wayne Warthen, GNU GPL v3",0
msguse .db "Usage: TIMER [/C] [/?]",13,10
.db " ex. TIMER (display current timer value)",13,10

1
Source/HBIOS/cfg_ezz80.asm

@ -23,6 +23,7 @@ BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT
;
CPUOSC .EQU 10000000 ; CPU OSC FREQ IN MHZ
TICKSPERSEC .EQU 50 ; TICKS PER SECOND
INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
;

1
Source/HBIOS/cfg_mk4.asm

@ -23,6 +23,7 @@ BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT
;
CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ
TICKSPERSEC .EQU 50 ; TICKS PER SECOND
INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
;

1
Source/HBIOS/cfg_n8.asm

@ -23,6 +23,7 @@ BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT
;
CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ
TICKSPERSEC .EQU 50 ; TICKS PER SECOND
INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
;

1
Source/HBIOS/cfg_rcz180.asm

@ -23,6 +23,7 @@ BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT
;
CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ
TICKSPERSEC .EQU 50 ; TICKS PER SECOND
INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
;

1
Source/HBIOS/cfg_rcz80.asm

@ -23,6 +23,7 @@ BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT
;
CPUOSC .EQU 7372800 ; CPU OSC FREQ IN MHZ
TICKSPERSEC .EQU 50 ; TICKS PER SECOND
INTMODE .EQU 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
;

1
Source/HBIOS/cfg_sbc.asm

@ -23,6 +23,7 @@ BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT
;
CPUOSC .EQU 8000000 ; CPU OSC FREQ IN MHZ
TICKSPERSEC .EQU 50 ; TICKS PER SECOND
INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
;

1
Source/HBIOS/cfg_scz180.asm

@ -23,6 +23,7 @@ BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT
;
CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ
TICKSPERSEC .EQU 50 ; TICKS PER SECOND
INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
;

1
Source/HBIOS/cfg_zeta.asm

@ -23,6 +23,7 @@ BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT
;
CPUOSC .EQU 20000000 ; CPU OSC FREQ IN MHZ
TICKSPERSEC .EQU 50 ; TICKS PER SECOND
INTMODE .EQU 0 ; INTERRUPT MODE: 0=NONE, 1=MODE 1, 2=MODE 2
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
;

1
Source/HBIOS/cfg_zeta2.asm

@ -23,6 +23,7 @@ BOOT_TIMEOUT .EQU 20 ; AUTO BOOT TIMEOUT IN SECONDS, 0 FOR IMMEDIATE BOOT
BOOT_DEFAULT .EQU 'Z' ; AUTO BOOT SELECTION TO INVOKE AT TIMEOUT
;
CPUOSC .EQU 20000000 ; CPU OSC FREQ IN MHZ
TICKSPERSEC .EQU 50 ; TICKS PER SECOND
INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
;

17
Source/HBIOS/dbgmon.asm

@ -42,6 +42,7 @@ BUFLEN .EQU 40 ; INPUT LINE LENGTH
UART_ENTRY:
LD SP,MON_STACK ; SET THE STACK POINTER
EI ; INTS OK NOW
LD HL,UART_ENTRY ; RESTART ADDRESS
CALL INITIALIZE ; INITIALIZE SYSTEM
LD HL,TXT_READY ; POINT AT TEXT
@ -108,9 +109,14 @@ SERIALCMDLOOP:
;__INITIALIZE_________________________________________________________________
;
; INITIALIZE SYSTEM
; AT ENTRY, HL SHOULD HAVE ADDRESS OF DESIRED RESTART ADDRESS
;_____________________________________________________________________________
;
INITIALIZE:
LD A,$C3 ; JP OPCODE
LD (0),A ; STORE AT $0000
LD (1),HL ; STORE AT $0001
#IF (BIOS == BIOS_UNA)
; INSTALL UNA INVOCATION VECTOR FOR RST 08
LD A,$C3 ; JP INSTRUCTION
@ -932,6 +938,7 @@ KY_PW .EQU KY_BK ; USE [BW] FOR [PW] (PORT WRITE)
DSKY_ENTRY:
LD SP,MON_STACK ; SET THE STACK POINTER
EI ; INTS OK NOW
LD HL,DSKY_ENTRY ; RESTART ADDRESS
CALL INITIALIZE
;
;__FRONT_PANEL_STARTUP________________________________________________________
@ -1381,5 +1388,13 @@ MON_STACK .EQU $
.ECHO "DBGMON space remaining: "
.ECHO SLACK
.ECHO " bytes.\n"
;
; DBGMON CURRENTLY OCCUPIES $F000-$FDFF BECAUSE THE
; HBIOS PROXY OCCUPIES $FE00-$FFFF. HOWEVER THE DBGMON
; IMAGE MUST OCCUPY A FULL $1000 BYTES IN THE ROM.
; BELOW WE JUST PAD OUT THE IMAGE BY $200 SO IT
; OCCUPIES THE FULL $1000 BYTES IN ROM.
;
.FILL $200,$00
;
.END

22
Source/HBIOS/hbios.asm

@ -2396,24 +2396,16 @@ SYS_GETTIMER:
; GET SECONDS
; RETURNS:
; DE:HL: SECONDS VALUE (32 BIT)
; C TICKS OF TICKSPERSEC (8 BIT)
; C: NUM TICKS WITHIN CURRENT SECOND
;
SYS_GETSECS:
LD HL,HB_SECTCK
LD A,TICKSPERSEC
LD HL,HB_SECS
HB_DI
SUB (HL)
INC HL ; NOW POINTING TO HB_SECS
LD C,(HL)
INC HL
LD B,(HL)
INC HL
LD E,(HL)
INC HL
LD D,(HL)
CALL LD32
LD A,(HB_SECTCK)
HB_EI
LD L,C
LD H,B
NEG ; CONVERT DOWNCOUNTER TO UPCOUNTER
ADD A,TICKSPERSEC
LD C,A
XOR A
RET
@ -2533,7 +2525,7 @@ SYS_SETTIMER:
;
; SET SECS
; ON ENTRY:
; DE:HL: TIMER VALUE (32 BIT)
; DE:HL: SECONDS VALUE (32 BIT)
;
SYS_SETSECS:
LD BC,HB_SECS

4
Source/HBIOS/std.asm

@ -371,8 +371,8 @@ CPM_ENT .EQU CBIOS_LOC ; CPM ENTRY POINT (IN CBIOS)
LDR_SIZ .EQU $0E00
MON_LOC .EQU $C000 ; LOCATION OF MONITOR FOR RUNNING SYSTEM
MON_SIZ .EQU $1000 ; SIZE OF MONITOR BINARY IMAGE
MON_LOC .EQU $F000 ; LOCATION OF MONITOR FOR RUNNING SYSTEM
MON_SIZ .EQU $0E00 ; SIZE OF MONITOR BINARY IMAGE
MON_END .EQU MON_LOC + MON_SIZ ; END OF MONITOR
BAS_LOC .EQU $0200 ; NASCOM BASIC

Loading…
Cancel
Save