'===========================================================================
' Subject: EGA LOGO                           Date: 01-14-98 (23:30)       
'  Author: David A. Wicker                    Code: QB, QBasic, PDS        
'  Origin: pyramax@fastlane.net             Packet: EGAVGA.ABC
'===========================================================================
DEFINT A-Z
' Written by David A. Wicker - if you use any of this in your coding, please give credit!  Thanks!
  DIM C(10), B(10)
  C(0) = 15
  C(1) = 15
  C(2) = 11
  C(3) = 9
  C(4) = 1
  B(0) = 7
  B(1) = 8
  B(2) = 8

SCREEN 7
S = 14
N = S
T = 0
LINE (159, 0)-(32, 127), 8
LINE (160, 0)-(287, 127), 8
LINE (158, 0)-(31, 127), 7
LINE (161, 0)-(288, 127), 7

FOR I = 2 TO 159
  FOR J = 0 TO 127
    C = C(T + (D XOR -((J + I) MOD N = 0)))
    IF C > 0 THEN
      PSET (159 - J - I, J), C
      PSET (160 + J + I, J), C
    END IF
  NEXT
  A = I / 4
  B = I / 6
  C = C(T)
  IF C > 0 THEN
    PSET (160, 66 - A), C
    PSET (160, 62 + A), C
    PSET (160 - A, 64), C
    PSET (160 + A, 64), C
    PSET (162 - B, 66 - B), C
    PSET (158 + B, 66 - B), C
    PSET (162 - B, 62 + B), C
    PSET (158 + B, 62 + B), C
  END IF
  C = B(T)
  IF C > 0 THEN
    PSET (159, 64 - A), C
    PSET (161, 64 - A), C
    PSET (159, 65 + A), C
    PSET (161, 65 + A), C
    PSET (161 + A, 63), C
    PSET (161 + A, 65), C
    PSET (159 - A, 63), C
    PSET (159 - A, 65), C
    PSET (159 + B, 64 - B), C
    PSET (161 + B, 64 - B), C
    PSET (161 + B, 64 + B), C
    PSET (159 + B, 64 + B), C
    PSET (161 - B, 64 + B), C
    PSET (159 - B, 64 + B), C
    PSET (161 - B, 64 - B), C
    PSET (159 - B, 64 - B), C
  END IF
  N = N + D * 2 - 1
  IF N = 1 OR N = S THEN D = 1 - D: IF D = 0 THEN T = T + 1
NEXT
