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 / NUBYE / NUC-TV.INS < prev    next >
Text File  |  2000-06-30  |  2KB  |  129 lines

  1. ; NUC-TV.INS -- Televideo TS800/802/802H -- 03/18/86
  2. ;
  3. ; Note: This is an insert, NOT an overlay.
  4. ;       Set BCDBIN to YES in NUBYE.
  5. ;
  6. ;  NU-CLKTV - NUBYE clock rutine for Televideo TS802 & TS802H
  7. ;       Version 1.0 -- 03/18/86 -- by Joe Earls
  8. ;
  9. ;  This subroutine is designed to work on a Televideo computer,
  10. ;  models 800, 802, 802H (and perhaps others).  Use the TOD
  11. ;  program to initialize the clock outside of NUBYE.
  12. ;
  13. ;  This routine obtains the date/time from the date/time routines
  14. ;  in the Televideo BIOS.  The seconds obtained are compared to the
  15. ;  seconds in the RTC buffer.  If no change, we return, else the
  16. ;  new date/time data is copied to the RTCBUF, with appropriate
  17. ;  formatting.
  18. ;
  19. ; ========
  20. ; 03/18/86   First version by Joe Earls
  21. ; ========
  22. ;
  23. TIME:    PUSH    B
  24.     PUSH    D
  25.     PUSH    H
  26.     CALL    RDCLOK        ;get ts802 date/time
  27.     LDA    TS8BUF+18    ;see if seconds changed
  28.     LXI    H,RTCBUF+2
  29.     XRA    M
  30.     ANI    0FH
  31.     JZ    CLKEXIT        ;no change, so exit
  32.     LXI    H,RTCBUF+0    ;reformat into RTCBUF
  33.     LDA    TS8BUF+11
  34.     CALL    CLOK3
  35.     LDA    TS8BUF+12
  36.     CALL    CLOK4
  37.     LXI    H,RTCBUF+1
  38.     LDA    TS8BUF+14
  39.     CALL    CLOK3
  40.     LDA    TS8BUF+15
  41.     CALL    CLOK4
  42.     LXI    H,RTCBUF+2
  43.     LDA    TS8BUF+17
  44.     CALL    CLOK3
  45.     LDA    TS8BUF+18
  46.     CALL    CLOK4
  47.     LXI    H,RTCBUF+3
  48.     LDA    TS8BUF+6
  49.     CALL    CLOK3
  50.     LDA    TS8BUF+7
  51.     CALL    CLOK4
  52.     LXI    H,RTCBUF+4
  53.     LDA    TS8BUF+8
  54.     CALL    CLOK3
  55.     LDA    TS8BUF+9
  56.     CALL    CLOK4
  57.     LXI    H,RTCBUF+5
  58.     LDA    TS8BUF+0
  59.     CALL    CLOK3
  60.     LDA    TS8BUF+1
  61.     CALL    CLOK4
  62.     LXI    H,RTCBUF+6
  63.     LDA    TS8BUF+3
  64.     CALL    CLOK3
  65.     LDA    TS8BUF+4
  66.     CALL    CLOK4
  67. CLKEXIT:
  68.     LDA    RTCBUF        
  69.     CALL    BCDBIN
  70.     STA    CCHOUR
  71.     LDA    RTCBUF+1
  72.     CALL    BCDBIN
  73.     STA    CCMIN
  74.     POP    H
  75.     POP    D
  76.     POP    B    
  77.     RET
  78. ;
  79. ;  read the ts802 clock
  80. ;
  81. RDCLOK:
  82.     LXI    H,RDCLO2
  83.     PUSH    H
  84.     LHLD    27
  85.     LXI    D,19
  86.     DAD    D
  87.     LXI    D,TS8BUF
  88.     MVI    C,0
  89.     PCHL
  90. RDCLO2:
  91.     RET
  92. ;
  93. ;  fmt cvt routine
  94. ;
  95. CLOK3:
  96.     ANI    0FH
  97.     RLC
  98.     RLC
  99.     RLC
  100.     RLC
  101.     MOV    M,A
  102.     RET
  103. ;
  104. CLOK4:
  105.     ANI    0FH
  106.     ORA    M
  107.     MOV    M,A
  108.     RET
  109. ;
  110. ;  ts802 date/time buffer area
  111. ;
  112. TS8BUF:
  113.     DS    2    ;mm
  114.     DS    1
  115.     DS    2    ;dd
  116.     DS    1
  117.     DS    4    ;yyyy
  118.     DS    1
  119.     DS    2    ;hh
  120.     DS    1
  121.     DS    2    ;mm
  122.     DS    1
  123.     DS    2    ;ss
  124.     DS    1
  125.     DS    2    ;tt
  126. ;
  127. ; end of insert
  128. ; -------------
  129.