home *** CD-ROM | disk | FTP | other *** search
- title 'TIMEDAY overlay - TeleVideo 802, 803, TPCI (84/11/12)'
- ;
- ; Allow PCD/Pascal system V 2.4.4 to read date and time.
- ; Assemble to .HEX file and overlay. CPMLINK must be first
- ; module of .COM file linked to use this.
- ;
- ; This version should work for any memory size configuration of TeleVideo
- ; 802, 803, or TPCI. By Dennis Knudsen.
- ;
- ; org 0f992h; Standard location for 62K system
- ; TS-802 V2.1 Rev. B
- ; TeleVideo time/date storage
- ; sec: ds 1; in BCD values
- ; min: ds 1
- ; hour: ds 1
- ; day: ds 1
- ; month: ds 1
- ; year: ds 1
- ; cntury: ds 1
- ;
- ; Clock pointer for TS-802, TS-803, and TPCI
- clockpt equ 1bh
- ;
- org 0124h; CPMLINK connector vector
- jmp dotime
- ; jmp timers; not implemented, leave original
- ;
- org 0139h; CPMLINK patch space
- ; return time/date values in binary (a). On entry, a = 1 for year,
- ; 2 for month, 3 for day, 4 for hour, 5 for minute.
- dotime: push h
- push b
- ; lxi h,cntury; TeleVideo 802 format only here
- ;
- ; Kludge to cntury location follows
- lhld clockpt; TeleVideo date & time function pointer
- lxi b,13h+1; add 13h to jmp to function
- dad b; + 1 & get address
- mov b,a; save a in b for awhile
- mov a,m; get address
- inx h
- mov h,m
- mov l,a
- inx h; increment hl 4 times for next address
- inx h
- inx h
- inx h
- mov a,m; get address
- inx h
- mov h,m
- mov l,a
- inx h; increment hl 2 times
- inx h; hl has ^cntury
- mov a,l; point to item of interest
- sub b
- mov l,a; assumes no carries
- mov a,m
- ani 0f0h; convert BCD to binary
- rar
- mov b,a
- rar
- rar
- add b
- mov b,a
- mov a,m
- ani 00fh
- add b
- pop b
- pop h
- ret
- ;
- end
- í╧