Browse Source

resync

pull/206/head
b1ackmai1er 5 years ago
parent
commit
1603556577
  1. 20
      Source/Apps/Build.cmd
  2. 4
      Source/Apps/mode.asm
  3. 0
      Source/Apps/rtchb.asm
  4. 86
      Source/HBIOS/hbios.asm

20
Source/Apps/Build.cmd

@ -12,15 +12,18 @@ set ZXBINDIR=%TOOLS%/cpm/bin/
set ZXLIBDIR=%TOOLS%/cpm/lib/
set ZXINCDIR=%TOOLS%/cpm/include/
call :asm SysCopy || goto :eof
call :asm Assign || goto :eof
call :asm Format || goto :eof
call :asm Talk || goto :eof
call :asm Mode || goto :eof
call :asm RTC || goto :eof
call :asm Timer || goto :eof
call :asm180 IntTest || goto :eof
call :asm syscopy || goto :eof
call :asm assign || goto :eof
call :asm format || goto :eof
call :asm talk || goto :eof
call :asm mode || goto :eof
call :asm rtc || goto :eof
call :asm timer || goto :eof
call :asm180 inttest || goto :eof
call :asm rtcds7 || goto :eof
call :asm rtchb || goto :eof
call :asm ppidetst || goto :eof
call :asm tstdskng || goto :eof
zx Z80ASM -SYSGEN/F
@ -31,7 +34,6 @@ setlocal & cd XM && call Build || exit /b 1 & endlocal
setlocal & cd FDU && call Build || exit /b 1 & endlocal
setlocal & cd Tune && call Build || exit /b 1 & endlocal
setlocal & cd FAT && call Build || exit /b 1 & endlocal
setlocal & cd I2C && call Build || exit /b 1 & endlocal
copy *.com %APPBIN%\

4
Source/Apps/mode.asm

@ -984,8 +984,8 @@ err2: ; without the string
; Utility modules
;===============================================================================
;
#include "Encode.asm"
#include "Decode.asm"
#include "encode.asm"
#include "decode.asm"
#include "bcd.asm"
;
;===============================================================================

0
Source/Apps/RTChb.asm → Source/Apps/rtchb.asm

86
Source/HBIOS/hbios.asm

@ -97,10 +97,21 @@ MODCNT .SET MODCNT + 1
#ENDIF
;
#IF (LEDENABLE)
#DEFINE LED(N) PUSH AF
#DEFCONT \ LD A,~N
#DEFCONT \ OUT (LEDPORT),A
#DEFCONT \ POP AF
#IF (LEDMODE == LEDMODE_STD)
#DEFINE LED(N) PUSH AF
#DEFCONT \ LD A,~N
#DEFCONT \ OUT (LEDPORT),A
#DEFCONT \ POP AF
#ENDIF
#IF (LEDMODE == LEDMODE_RTC)
#DEFINE LED(N) PUSH AF
#DEFCONT \ LD A,(RTCVAL)
#DEFCONT \ AND %11111100
#DEFCONT \ OR (N & %00000011)
#DEFCONT \ LD (RTCVAL),A
#DEFCONT \ OUT (LEDPORT),A
#DEFCONT \ POP AF
#ENDIF
#ELSE
#DEFINE LED(N) \;
#ENDIF
@ -1050,6 +1061,16 @@ Z280_BOOTERR .TEXT "\r\n\r\n*** Application mode boot not supported under Z280 n
LD A,%00000001
OUT (DIAGPORT),A
#ENDIF
#IF (LEDENABLE)
#IF (LEDMODE == LEDMODE_STD)
XOR A ; LED IS INVERTED, TURN IT ON
#ENDIF
#IF (LEDMODE == LEDMODE_RTC)
LD A,%00000001 ; LED 0
LD (RTCVAL),A ; SAVE TO SHADOW REGISTER
#ENDIF
OUT (LEDPORT),A
#ENDIF
;
LD SP,HBX_LOC ; SETUP INITIAL STACK JUST BELOW HBIOS PROXY
;
@ -1222,7 +1243,6 @@ Z280_INITZ:
#ENDIF
;
DIAG(%00000011)
LED($00)
;
; CHECK BATTERY BACKUP STATUS BEFORE WE COPY PROXY TO UPPER MEMORY
;
@ -1307,6 +1327,7 @@ HB_RAMFLAG .DB FALSE ; INITIALLY FALSE, SET TO TRUE BELOW AFTER RAM TRANSITION
HB_START1: ; BNKCALL ARRIVES HERE, BUT NOW RUNNING IN RAM BANK
;
DIAG(%00000111)
LED(%00000010)
;
LD A,(HBX_LOC - 1) ; RECALL BATTERY STATE AND SAVE
LD (HB_BATCOND),A ; FOR FUTURE REFERENCE
@ -1365,7 +1386,7 @@ HB_START1: ; BNKCALL ARRIVES HERE, BUT NOW RUNNING IN RAM BANK
LD A,1 ; SET FOR RECOVERY MODE
LD (HB_BOOT_REC),A ; SAVE FOR LATER
#ENDIF
#IF (PLATFORM == PLT_SBC)
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC))
#IF (BT_REC_TYPE == BT_REC_SBC01)
LD A,%00100000 ; DISABLE RTC AND
OUT (RTCIO),A ; DRQ DRIVER READ
@ -1398,13 +1419,17 @@ SAVE_REC_M:
DIAG(%00001111)
;
#IF (DSKYENABLE)
CALL DSKY_INIT
LD HL,MSG_HBVER + 5
LD A,(DSKY_NUMS + RMJ)
AND $7F
;AND $7F
OR $80
LD (HL),A
INC HL
LD A,(DSKY_NUMS + RMN)
AND $7F
;AND $7F
OR $80
LD (HL),A
INC HL
LD A,(DSKY_NUMS + RUP)
@ -1760,7 +1785,7 @@ NOT_REC_M0:
#ENDIF
;
DIAG(%01111111)
LED($FF)
LED(%00000011)
;
; PRIOR TO THIS POINT, CONSOLE I/O WAS NOT AVAILABLE UNLESS DIRECTED TO DEBUG OUTPUT I.E. XIO
; NOW THAT HBIOS IS READY, SET THE CONSOLE UNIT TO ACTIVATE CONSOLE I/O
@ -1978,6 +2003,9 @@ HB_Z280BUS1:
#ENDIF
#IF (MEMMGR == MM_ZRC)
.TEXT "ZRC$"
#ENDIF
#IF (MEMMGR == MM_MBC)
.TEXT "MBC$"
#ENDIF
CALL PRTSTRD
.TEXT " MMU$"
@ -2108,7 +2136,7 @@ HB_WDZ:
; IF PLATFORM HAS A CONFIG JUMPER, CHECK TO SEE IF IT IS JUMPERED.
; IF SO, BYPASS SWITCH TO CRT CONSOLE (FAILSAFE MODE)
;
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_ZETA) | (PLATFORM == PLT_ZETA2))
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_ZETA) | (PLATFORM == PLT_ZETA2) | (PLATFORM == PLT_MBC))
IN A,(RTCIO) ; RTC PORT, BIT 6 HAS STATE OF CONFIG JUMPER
BIT 6,A ; BIT 6 HAS CONFIG JUMPER STATE
JR Z,INITSYS3 ; Z=SHORTED, BYPASS CONSOLE SWITCH
@ -2214,14 +2242,14 @@ CALLDUMMY:
#IF (BT_REC_TYPE != BT_REC_NONE)
;
HB_PCINIT_REC:
#IF (PLATFORM == PLT_SBC)
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC))
.DW UART_PREINIT
; .DW CALLDUMMY
#ENDIF
HB_PCINITRLEN .EQU (($ - HB_PCINIT_REC) / 2)
;
HB_INIT_REC:
#IF (PLATFORM == PLT_SBC)
#IF ((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC))
.DW UART_INIT
.DW MD_INIT
.DW PPIDE_INIT
@ -2336,12 +2364,9 @@ HB_INITTBL:
#IF (TMSENABLE)
.DW TMS_INIT
#ENDIF
#IF (DSKYENABLE)
.DW DSKY_INIT
#ENDIF
#IF (DMAENABLE)
.DW DMA_INIT
#ENDIF
;#IF (DSKYENABLE)
; .DW DSKY_INIT
;#ENDIF
#IF (MDENABLE)
.DW MD_INIT
#ENDIF
@ -2789,7 +2814,7 @@ HB_DSKFN:
OUT (DIAGPORT),A ; DISPLAY ON DIAG LEDS
#ENDIF
#IF (LEDENABLE & LEDDISKIO)
LED($FF)
LED(%00000001)
#ENDIF
LD E,1 ; ONE SECTOR
HB_DSKFNADR .EQU $+1
@ -4648,14 +4673,6 @@ SIZ_NEC .EQU $ - ORG_NEC
.ECHO SIZ_NEC
.ECHO " bytes.\n"
#ENDIF
#IF (DMAENABLE)
ORG_DMA .EQU $
#INCLUDE "dma.asm"
SIZ_DMA .EQU $ - ORG_DMA
.ECHO "DMA occupies "
.ECHO SIZ_DMA
.ECHO " bytes.\n"
#ENDIF
;
; FONTS AREA
;
@ -4825,7 +4842,7 @@ SIZ_SPK .EQU $ - ORG_SPK
.ECHO " bytes.\n"
#ENDIF
;
#IF (PIO_4P | PIO_ZP | PPI_SBC)
#IF (PIO_4P | PIO_ZP | PIO_SBC)
ORG_PIO .EQU $
#INCLUDE "pio.asm"
SIZ_PIO .EQU $ - ORG_PIO
@ -4891,7 +4908,12 @@ SIZ_AY38910 .EQU $ - ORG_AY38910
;
#IF (DSKYENABLE)
#DEFINE DSKY_KBD
#IF (DSKYMODE == DSKYMODE_V1)
#INCLUDE "dsky.asm"
#ENDIF
#IF (DSKYMODE == DSKYMODE_NG)
#INCLUDE "dskyng.asm"
#ENDIF
#ENDIF
;
; INCLUDE LZSA2 decompression engine if required.
@ -4922,6 +4944,7 @@ HB_CPUSPD1:
; WAIT FOR AN INITIAL TICK TO ALIGN, THEN WAIT
; FOR SECOND TICK AND TO GET A FULL ONE SECOND LOOP COUNT
CALL DSRTC_START
CALL HB_RDSEC ; GET SECONDS
LD (HB_CURSEC),A ; AND INIT CURSEC
CALL HB_WAITSEC ; WAIT FOR SECONDS TICK
@ -5907,7 +5930,12 @@ STR_SYSCHK .TEXT "\r\n>>> SYSCHK: $"
STR_CONTINUE .TEXT "\r\nContinue (Y/N)? $"
;
#IF (DSKYENABLE) ; 'H','B','I','O',' ',' ',' ',' '
MSG_HBVER .DB $BE,$FF,$8A,$FB,$80,$80,$80,$80 ; "HBIO "
#IF (DSKYMODE == DSKYMODE_V1)
MSG_HBVER .DB $3E,$7F,$0A,$7B,$00,$00,$00,$00 ; "HBIO "
#ENDIF
#IF (DSKYMODE == DSKYMODE_NG)
MSG_HBVER .DB $76,$7F,$30,$3F,$00,$00,$00,$00 ; "HBIO "
#ENDIF
#ENDIF
;
HB_APPBNK .DB 0 ; START BANK WHEN RUN IN APP MODE

Loading…
Cancel
Save