home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / bbsing / bbs / qrun410.lbr / QTIME.IZC / QTIME.INC
Text File  |  1989-11-02  |  2KB  |  75 lines

  1.         'QTIME.INC
  2.         'version 1.00
  3.         'Lee McEwen 24 July 1989
  4.  
  5.         'Include file for QBBS
  6.  
  7.         '  This file reads the system clock function in BYE and returns the
  8.         '  date and time in DATE$
  9.  
  10.         '** Read the clock, convert to 12 hour time
  11.  
  12.         'Variables:
  13.         ' A$           = temporary string
  14.         ' CMD          = BDOS command
  15.         ' DATE$        = Date (output variable)
  16.         ' DAT          = BDOS command data
  17.         ' I            = temporary integer
  18.         ' I1$          = temporary string
  19.         ' RES          = BDOS result
  20.         ' RTC          = memory address of RTC
  21.  
  22. 20000   CMD = 79
  23.         DAT = 0
  24.         RTC = 0
  25.         CALL BDOSHL(CMD, DAT, RTC)
  26.  
  27.         I = PEEK(RTC + 5)                       'get month
  28.         GOSUB 20010                             'convert hex value
  29.         DATE$ = A$ + "/"
  30.  
  31.         I = PEEK(RTC + 6)                       'get day
  32.         GOSUB 20010                             'convert hex value
  33.         DATE$ = DATE$ + A$ + "/"
  34.  
  35.         I = PEEK(RTC + 4)                       'get year
  36.         GOSUB 20010                             'convert hex value
  37.         DATE$ = DATE$ + A$
  38.  
  39.         A$ = ""
  40.         I = PEEK(RTC)                           'get hour
  41.         GOSUB 20020                             'convert hex value
  42.         I = VAL(A$)
  43.  
  44.         IF I = 24_                              'the witching hour
  45.              THEN I = 0
  46.  
  47.         IF I > 11_                              'set am or pm
  48.              THEN I1$ = " PM"_
  49.              ELSE I1$ = " AM"
  50.  
  51.         IF I > 12_
  52.              THEN I = I-12
  53.  
  54.         DATE$ = DATE$ + STR$(I) + ":"
  55.  
  56.         I = PEEK(RTC + 1)                       'get minute
  57.         GOSUB 20010                             'convert hex value
  58.         DATE$ = DATE$ + A$ + I1$
  59.         DATE$ = LEFT$(DATE$ + SPACE$(17), 17)
  60.         A$ = ""
  61.  
  62.         RETURN
  63.  
  64. 20010   A$ = ""
  65.  
  66.         IF I < 10_
  67.              THEN A$ = "0"
  68.  
  69. 20020   A$ = A$ + HEX$(I)
  70.         RETURN
  71.  
  72.         'end QTIME.INC
  73.  
  74.  
  75.