home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / LANGUAGS / PASCAL-P / XREFC26.LBR / TIMETV.MZC / TIMETV.MAC
Text File  |  2000-06-30  |  2KB  |  73 lines

  1.  title    'TIMEDAY overlay - TeleVideo 802, 803, TPCI (84/11/12)'
  2. ;
  3. ; Allow PCD/Pascal system V 2.4.4 to read date and time.
  4. ; Assemble to .HEX file and overlay.  CPMLINK must be first
  5. ; module of .COM file linked to use this.
  6. ;
  7. ; This version should work for any memory size configuration of TeleVideo
  8. ;    802, 803, or TPCI.   By Dennis Knudsen.
  9. ;
  10. ;        org    0f992h; Standard location for 62K system 
  11. ;                TS-802 V2.1 Rev. B
  12. ;                TeleVideo time/date storage
  13. ;    sec:    ds    1;    in BCD values
  14. ;    min:    ds    1
  15. ;    hour:    ds    1
  16. ;    day:    ds    1
  17. ;    month:    ds    1
  18. ;    year:    ds    1
  19. ;    cntury:    ds    1
  20. ;
  21. ; Clock pointer for TS-802, TS-803, and TPCI
  22. clockpt    equ    1bh
  23. ;
  24.     org    0124h;        CPMLINK connector vector
  25.     jmp    dotime
  26. ;    jmp    timers;        not implemented, leave original
  27. ;
  28.     org    0139h;        CPMLINK patch space
  29. ; return time/date values in binary (a). On entry, a = 1 for year,
  30. ;    2 for month, 3 for day, 4 for hour, 5 for minute.
  31. dotime:    push    h
  32.     push    b
  33. ;    lxi    h,cntury;    TeleVideo 802 format only here
  34. ;
  35. ;                Kludge to cntury location follows
  36.     lhld    clockpt;    TeleVideo date & time function pointer
  37.     lxi    b,13h+1;    add 13h to jmp to function 
  38.     dad    b;        + 1 & get address
  39.     mov    b,a;        save a in b for awhile
  40.     mov    a,m;        get address 
  41.     inx    h
  42.     mov    h,m
  43.     mov    l,a
  44.     inx    h;        increment hl 4 times for next address
  45.     inx    h
  46.     inx    h
  47.     inx    h
  48.     mov    a,m;        get address
  49.     inx    h
  50.     mov    h,m
  51.     mov    l,a
  52.     inx    h;        increment hl 2 times
  53.     inx    h;        hl has ^cntury
  54.     mov    a,l;        point to item of interest
  55.     sub    b
  56.     mov    l,a;        assumes no carries
  57.     mov    a,m
  58.     ani    0f0h;        convert BCD to binary
  59.     rar
  60.     mov    b,a
  61.     rar
  62.     rar
  63.     add    b
  64.     mov    b,a
  65.     mov    a,m
  66.     ani    00fh
  67.     add    b
  68.     pop    b
  69.     pop    h
  70.     ret
  71. ;
  72.     end
  73. í╧