!*************************** AMUS Program Label ******************************
! Filename: XMAS2.BAS                                       Date: 12/13/90
! Category: GRAP         Hash Code: 242-370-241-504      Version: 1.0(1)
! Initials: ARCH/US      Name: STEVE ARCHULETA
! Company: ALPHA MICRO USERS SOCIETY               Telephone #: 3034496917
! Related Files: XMAS2.SCR
! Min. Op. Sys.:                               Expertise Level: BEG
! Special:
! Description: Christmas terminal display. Best when run at 9600 baud or
! greater.
!
!*****************************************************************************

       MAP1    SCR'ARRAY(24),S,80
       MAP1    ROW,F
       MAP1    COL,F
       MAP1    FLASH,F
       MAP1    TIM,F
       MAP1    BLOCKS,F

       LOOKUP "XMAS2.SCR",BLOCKS
       IF BLOCKS = 0 THEN &
         PRINT "oops, you need a file named XMAS2.SCR for this program to work" :&
         GOTO EXIT

       OPEN #1,"XMAS2.SCR",INPUT               ! picture file

       INPUT LINE #1,SCR'ARRAY(23)                     ! throw away line

       FOR ROW = 23 TO 1 STEP -2                       ! load slightly
         INPUT LINE #1, SCR'ARRAY(ROW)                 ! scrambled screen
       NEXT ROW
       FOR ROW = 24 TO 2 STEP -2
         INPUT LINE #1, SCR'ARRAY(ROW)
       NEXT ROW

       PRINT TAB(-1,29);                       ! turn cursor off
       PRINT TAB(-1,0);                        ! clear screen
       PRINT TAB(12,1);                        ! position cursor

       FOR ROW = 12 TO 23                      ! display bottom portion
         PRINT SCR'ARRAY(ROW)
       NEXT ROW
       PRINT SCR'ARRAY(ROW);                   ! keep screen from scrolling

       FOR COL = 2 TO 74 STEP 2                ! move santa across screen
         PRINT TAB(1,1);
         FOR ROW = 1 TO 10
           PRINT RIGHT(SCR'ARRAY(ROW),COL)
         NEXT ROW
       NEXT COL

       FOR FLASH = 1 TO 4                      ! flash stuff on screen
         PRINT TAB(2,17) "  ";
         PRINT TAB(3,19) "  ";
         PRINT TAB(4,21) "  ";
         PRINT TAB(5,74) " ";
         CALL DELAY
         PRINT TAB(2,17) "Ho";
         PRINT TAB(3,19) "Ho";
         PRINT TAB(4,21) "Ho";
         PRINT TAB(5,74) "o";
         CALL DELAY
       NEXT FLASH

       PRINT TAB(13,2) "** MERRY CHRISTMAS FROM AMUS! **";     ! clean up
       CALL DELAY
       CALL DELAY
       CALL DELAY
       CALL DELAY
       CALL DELAY
       PRINT TAB(24,1) "What do you mean that doesn't look like Santa?! ";
       PRINT TAB(-1,28);                       ! turn cursor on
       CLOSE #1
EXIT:
       END


DELAY:                                          ! provide time delay
       FOR TIM = 1 TO 5000 : NEXT TIM
       RETURN