; Patches SETD22.COM for use with Z80DOS written ; June 29, 1988 by Eugene Nolan ; From the original: ; February 11, 1988 by Bruce Morgen ; Patch and overlay file for SETD20. To use, modify EURO and ; OVERWR bytes as desired. If your system has a clock, you may ; code a routine to get the date at getdate. If you do so, you ; should change the byte at DATEREQ to 0. Otherwise, leave it ; at 0FFh. ; Assemble to SETDZ80.HEX with ZAS, Z80ASM, Z80MR (rename this file ; to SETDZ80.AZM for Z80MR), etc. Load with Ron Fowler's MLOAD: ; MLOAD SETD.COM,SETDZ80 ORG 100H DS 3 ; Leave here (space for jmp to start of ; SETD itself) EUROMODE: DB 0 ; Change to 0FFh for default euro mode ; [don't change for this overlay unless ; you reverse the (MONTH) & (DAY) loads ; on lines 45 & 47! - b/m] OVERWRMODE: DB 0 ; Change to 0FFh for default overwr mode DATE: DW 0 ; This is where the system date should go. DATEREQ:DB 0 ; If you code a routine below to access the ; System date, or use the CPM/3 function ; Below, you must change this to 0. GETDATE:;RET ; And delete this RET! ; ADDING CLOCK SUPPORT: ; ; Support for a system clock may be added here. If your system has ; a clock, simply add the routine to access it. You have about 127 ; bytes in which to do so. The format of the date is an integer ; number of days since January 1, 1978. This number must be placed ; in DATE, above. LD C,105 ; Z80DOS call for get time LD DE,JDAY ; Put it here CALL 005H LD HL,(JDAY) ; Z80DOS stores Julian Day, so get it LD (DATE),HL ; And put it where SETD22 wants it LD A,H OR A,L RET NZ ; NZ means Time was set LD DE,TIMMES LD C,9 CALL 005H RST 0 JDAY: DS 5 timmes: db 0dh,0ah,'Time Not Set, Aborting',0dh,0ah,'$' ; This routine must end before GETDATE+7Fh END