diff --git a/Source/Apps/rtchb.asm b/Source/Apps/rtchb.asm index 6103b551..cf4669bf 100644 --- a/Source/Apps/rtchb.asm +++ b/Source/Apps/rtchb.asm @@ -3,104 +3,24 @@ ;================================================================================================== ; ; HBIOS FORMAT = YYMMDDHHMMSS -; -;----------------------------------------------------------------------------- -; GENERIC CP/M STUFF -; -BS .EQU 8 ; BACKSPACE -TAB .EQU 9 ; TABULATOR -LF .EQU 0AH ; LINE-FEED -CR .EQU 0DH ; CARRIAGE-RETURN -CLIARGS .EQU $81 -RESTART .EQU $0000 ; CP/M restart vector -BDOS .EQU $0005 ; BDOS invocation vector -FCB .EQU $5C ; Location of default FCB -; -;----------------------------------------------------------------------------- ; .ORG 100H ; -HBC_START: - LD A,(FCB+1) ; GET FIRST CHAR - CP ' ' ; COMPARE TO BLANK. IF SO NO - JR Z,HBC_ST0 ; ARGUMENTS SO DISLAY TIME AND DATE -; - LD A,(FCB+1) ; GET FIRST CHAR - CP '/' ; IS IT INDICATING AN ARGUMENT - JR NZ,HBC_ST0 ; -; - LD A,(FCB+2) ; GET NEXT CHARACTER - CP 'D' ; - JR NZ,HBC_ST1 ; -; -; /D SET DATE DDMMYY -; - LD B,$21 ; WRITE CLOCK DATA INTO BUFFER - LD HL,HBC_BUF1 - RST 08 -; - LD HL,FCB+3 -; - LD A,(HL) - CP 0 -; JP HBC_ST4 ; EXIT IF END OF BUFFER - LD B,6 - - - - - JP HBC_ST0 -; -HBC_ST1: - LD A,(FCB+2) ; GET NEXT CHARACTER - CP 'T' ; - JR NZ,HBC_ST2 ; -; -; /T SET TIME HHMMSS -; - LD B,$21 ; WRITE CLOCK DATA INTO BUFFER - LD HL,HBC_BUF1 - RST 08 - JP HBC_ST0 -; -HBC_ST2: - LD A,(FCB+2) ; GET NEXT CHARACTER - CP 'S' ; - JR NZ,HBC_ST3 ; -; -; /S SET TIME AND DATE -; - JP HBC_ST0 ; -HBC_ST3: -; -; UNREGOGNIZED ARGUMENT -; - RET -; -HBC_ST0: - LD B,$20 ; READ CLOCK DATA INTO BUFFER - LD HL,HBC_BUF + LD B,$20 ; READ CLOCK DATA INTO BUFFER + LD HL,HBC_BUF ; DISPLAY TIME AND DATE FROM BUFFER RST 08 ; #IF (0) LD A,6 - LD DE,HBC_BUF ; DISLAY DATA READ + LD DE,HBC_BUF ; DISLAY DATA READ ; CALL PRTHEXBUF CALL NEWLINE #ENDIF ; CALL HBC_DISP RET -; -HBC_BUF1: - .DB 099H - .DB 011H - .DB 022H - .DB 008H - .DB 031H - .DB 000H -; + HBC_BUF .FILL 6,0 ; ;----------------------------------------------------------------------------- @@ -167,6 +87,12 @@ HBC_FAIL .DB "ERROR$" ;----------------------------------------------------------------------------- ; GENERIC CP/M ROUTINES ; +BDOS .EQU 5 ;ENTRY BDOS +BS .EQU 8 ;BACKSPACE +TAB .EQU 9 ;TABULATOR +LF .EQU 0AH ;LINE-FEED +CR .EQU 0DH ;CARRIAGE-RETURN +; ; OUTPUT TEXT AT HL ; PRTSTR: LD A,(HL)