home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol112 / rbsclock.bas < prev    next >
Encoding:
BASIC Source File  |  1985-02-10  |  2.4 KB  |  70 lines

  1. 1 ' Clock routines for RBBENT, RBBMIN, and EXITBBS1, using the
  2. 2 ' CompuTime clock board (late model, using the OKI-5832 clock
  3. 3 ' chip.)
  4. 4 '
  5. 5 ' The base port address (frequently 80h) should be specified
  6. 6 ' with CLKBASE = &H80 (or whatever) somewhere in the initialization
  7. 7 ' section of EACH of the programs in which it is used.
  8. 8 '
  9. 9 '                                    Dave Goodman - 02/15/82
  10. 10 '
  11.  
  12.  
  13. 20 'The module with line numbers 14000-14999 replaces all code
  14. 21 'within those line numbers in RBBENT.
  15. 22 '
  16. 23 'The module with line numbers 44000-xxxxx replaces all code
  17. 24 'within those line numbers in RBBMIN and EXITBBS1.
  18. 25 '
  19. 26 'Don't forget to put the CLKBASE equate somewhere!
  20.  
  21.  
  22. 14000 ' Date getting subroutine
  23. 14010 ' For CompuTime with OKI-5832 chip.  DG - 2/15/82
  24. 14030 '
  25. 14035 INDX = 12 : GOSUB 14092 : DY$ = TEMP$
  26. 14040 INDX = 10 : GOSUB 14092 : DM$ = TEMP$
  27. 14045 INDX = 8  : GOSUB 14092 : DD$ = TEMP$
  28. 14055 DT$=DM$+"/"+DD$
  29. 14060 DZ$=DM$+"/"+DD$+"/"+DY$
  30. 14090 RETURN
  31. 14091  '
  32. 14092 OUT CLKBASE + 1, &H10 : TEMP$ = ""
  33. 14093   FOR REGISTER = INDX TO INDX - 1 STEP -1
  34. 14094      OUT CLKBASE + 2, REGISTER + &H20
  35. 14095     IF REGISTER=8 THEN TEMP$=TEMP$+CHR$((INP(CLKBASE + 2) AND 3) + &H30)
  36.           ELSE TEMP$ = TEMP$ + CHR$(INP(CLKBASE + 2) + &H30)
  37. 14096   NEXT
  38. 14097 OUT CLKBASE + 1, 0
  39. 14098 RETURN
  40. 14100 ' 
  41. 14200 ' Time-finding subroutine
  42. 14205 '
  43. 14210 OUT CLKBASE + 1, &H10
  44. 14215   FOR REGISTER = 5 TO 0 STEP -1
  45. 14220      OUT CLKBASE + 2, REGISTER + &H20
  46. 14225      IF REGISTER = 5 THEN H(1) = INP(CLKBASE + 2) AND 3
  47.       ELSE H(6 - REGISTER) = INP(CLKBASE + 2)
  48. 14230   NEXT
  49. 14235 OUT CLKBASE + 1, 0
  50. 14240 '
  51. 14245 TD$ = ""
  52. 14250   FOR INDX = 1 TO 6
  53. 14255      TD$ = TD$ + CHR$(H(INDX) + &H30)
  54. 14260   NEXT
  55. 14265 TD$ = LEFT$(TD$, 2) + ":" + MID$(TD$, 3, 2) + ":" + RIGHT$(TD$, 2)
  56. 14270 TI$ = DD$ + "-" + LEFT$(TD$, 5)
  57. 14290 RETURN
  58. 14999 '
  59.  
  60.  
  61. 44000 ' Clock routine for Computime with OKI-5832 chip.  DG - 2/15/81
  62. 44010 ' Print present time first
  63. 44210 OUT CLKBASE + 1, &H10
  64. 44215   FOR REGISTER = 5 TO 0 STEP -1
  65. 44220      OUT CLKBASE + 2, REGISTER + &H20
  66. 44225      IF REGISTER = 5 THEN H(1) = INP(CLKBASE + 2) AND 3
  67.       ELSE H(6 - REGISTER) = INP(CLKBASE + 2)
  68. 44230   NEXT
  69. 44235 OUT CLKBASE + 1, 0
  70.