'===========================================================================
' Subject: ON SCREEN DIGITAL CLOCK            Date: 07-24-98 (16:19)       
'  Author: Dieter Folger                      Code: PB                     
'  Origin: folger@bamberg.baynet.de         Packet: DATETIME.ABC
'===========================================================================
'-----------------------------------------------
' DCLOCK.BAS for Power Basic
' Shows system time as a digital clock
' Can be used as screen saver
' Freeware (c) by Dieter Folger
'-----------------------------------------------
  DEFINT A-Z: SCREEN 12
  x = 200: y = 200  'upper left position of display
  C(0) = 0: C(1) = 3'background black, segments green
  FOR i = 0 TO 9: READ Segment(i): NEXT
  FOR i = 1 TO 7: READ x(i), y(i): NEXT
  FOR i = 1 TO 3: READ xp(i), yp(i): NEXT
  Digit$(1) = "F2 D11 G2 H2 U11 E2 B D1 P" 'segment vertical
  Digit$(0) = "E2 R14 F2 G2 L14 H2 B R1 P" 'segment diagonal
  DO
     xt = 0
     FOR i = 1 TO 6
         T = VAL(MID$(REMOVE$(TIME$, ":"), i, 1))
         FOR j = 1 TO 7  'draw segments
             C$ = STR$(C(1)): Segm$ = Digit$(1)
             IF j MOD 2 = 0 THEN Segm$ = Digit$(0)
             IF BIT(Segment(T), j - 1) = 0 THEN C$ = STR$(C(0))
             DRAW "BM"+STR$(x(j)+x+xt)+","+STR$(y(j)+y)
             DRAW "C" + C$ + Segm$ + C$ + "," + C$
         NEXT
         INCR xt, 32
         IF i MOD 2 = 0 THEN INCR xt, 15
     NEXT
     FOR i = 1 TO 3 'dots
         CIRCLE (xp(i) + x, yp(i) + y), 3, C(1)
         PAINT (xp(i) + x + 1, yp(i) + y + 1), C(1)
     NEXT
 LOOP WHILE INKEY$ = ""
 END
'       s6       Example of number 4:
'      ÄÄÄÄ        1  0  0  1  1  0  1 = 77 decimal
'   s7³ s4 ³s5    s1 s2 s3 s4 s5 s6 s7
'      ÄÄÄÄ
'   s3³ s2 ³s1
'      ÄÄÄ-
'     0  1  2   3  4   5   6  7   8   9 bitmaps of numbers
DATA 119,68,62,110,77,107,123,70,127,111
'position of segments:
DATA 9,11,10,10,29,11,10,27,9,28,10,44,29,28
'position of dots:
DATA 153,42,75,20,76,38
