'           +===================================================+
'           |                   DAZZDEMO.BAS                    |
'           |             Written and Developed by:             |
'           |                  Lawrence Stone                   |
'           |                  November, 1990                   |
'           +---------------------------------------------------+
'           |    Purpose:  Demonstrate the various window       |
'           |              routines in the DAZZLING module.     |
'           +---------------------------------------------------+
'           |  Compile:  bc dazzling /o;                        |
'           |  Compile:  bc dazzdemo /x/o;                      |
'           |  Link:  link /e dazzdemo+dazzling,dazzling,nul;   |
'           +---------------------------------------------------+
'
'           +===================================================+
'           |                   Declarations                    |
'           +---------------------------------------------------+

' $INCLUDE: 'DAZZLING.BI'


'           +===================================================+
'           |                Initialization Code                |
'           +---------------------------------------------------+

    MaxLine = 50                'Designate the number of screen rows.
    ON ERROR GOTO ScreenErr     'Trap it if it is wrong.
        WIDTH , MaxLine         'Set the number of screen rows.
    ON ERROR GOTO 0
    LOCATE , , 0                'Turn off cursor.
    ScrnEls = MaxLine * 80      'Determine array sizes for the monitor.

    REM $DYNAMIC                'Use a data area outside of BASIC.
    DIM Wind(ScrnEls)           'Integer array (2000, 3440, or 4000 Elements)
    DIM Wind2(ScrnEls)          'Integer array (2000, 3440, or 4000 Elements)
    DIM ClrScreen(ScrnEls)      'Integer array (2000, 3440, or 4000 Elements)
    REM $STATIC                 'Back to BASIC's data area.

    GetMonitorSeg               'Get the address for the video map.

    FOR N = 0 TO ScrnEls        'Create a 'Black Screen' array
        ClrScreen(N) = &H700    'for dazzling screen clearing.
    NEXT

    IF MaxLine > 25 THEN LeadingRows = 10 ELSE LeadingRows = 0

'           +===================================================+
'           |             Demonstration of DAZZLING             |
'           +---------------------------------------------------+

    ReadBinFile Wind(), "CRESCENT.BIN", LeadingRows
    IF MaxLine > 25 THEN GOSUB ExpandCrescentPic
    
    Curtains 0, Wind()          'Display Crescent Screen with opening curtains
    TickPause 18                'One second pause.

    COLOR 11, 1: LOCATE LeadingRows + 11, 27
    PRINT "Get prepared for LSRGroup's"
    LOCATE , 27: PRINT "DAZZLING set of QB screen"
    LOCATE , 27: PRINT "routines."
    PRINT : PRINT : COLOR 0, 7
    LOCATE , 27: PRINT " Press Any Key to Continue. "

    ReadBinFile Wind2(), "SHUTTLE.BIN", LeadingRows
    IF MaxLine > 25 THEN GOSUB ExpandShuttlePic

    Z$ = INPUT$(1)              'Wait for a key stroke.
    COLOR 15, 0
    
    Curtains 1, Wind2()         'Display the Shuttle with closing curtains

    LOCATE MaxLine, 16
    PRINT " Press A Key When Ready for a DAZZLING Blast Off! ";
    Z$ = INPUT$(1)              'Wait for a key stroke.

    Curtains 1, Wind2()         'Produce next picture with closing curtains.

    GOSUB MakeConstantNoise     'Make continuous tone using internal timer.

    Shake 25                    'Shake the screen for about 2.5 seconds

    GOSUB QuietPlease           'Turn off the continuous tone.

    TickPause 21
    
    Implode ClrScreen()
    TickPause 21
    
    Mess$ = "   Dazzling Stair Steps"
    StuffMess Wind(), Mess$, LeadingRows + 12, 28, 15, 1
    Dazzle 1, 1, Wind()          'Dazzled Stair Steps Left - Right
    TickPause 36

    Dazzle 1, 2, Wind2()         'Dazzled Stair Steps Right - Left
    TickPause 9

    Mess$ = " Dazzling Diagonal Blocks"
    StuffMess Wind(), Mess$, LeadingRows + 12, 28, 12, 1
    Dazzle 5, 1, Wind()          'Diagonally Dazzled from SW to NE
    TickPause 36

    Dazzle 5, 2, Wind2()         'Diagonally Dazzled from NE to SW
    TickPause 9

    Dazzle 1, 1, ClrScreen()     'Clear the screen with dazzle!
    TickPause 21

    Mess$ = "  Eight Shimmering Blinds  "
    StuffMess Wind(), Mess$, LeadingRows + 12, 28, 10, 1
    Dazzle 2, 2, Wind()          'Dazzled with -8- Vertical Blinds
    TickPause 36
    Dazzle 2, 1, Wind2()         'Dazzled with -8- Vertical Blinds
    TickPause 21

    Dazzle 2, 2, Wind()          'Dazzled with -8- Vertical Blinds
    TickPause 9

    Dazzle 2, 1, ClrScreen()     'Clear the screen with dazzle!
    TickPause 21

    Dazzle 4, 1, Wind2()         'Dazzle: Long Slots Left to Right
    TickPause 21

    Mess$ = " Absolutely Dazzling Slots"
    StuffMess Wind(), Mess$, LeadingRows + 12, 28, 11, 1
    Dazzle 4, 2, Wind()          'Dazzle: Long Slots Right to Left
    TickPause 36

    Dazzle 4, 1, ClrScreen()     'Clear the screen with dazzle!
    TickPause 9

    Dazzle 8, 2, Wind2()         'Dazzled up with Venetian Blinds
    TickPause 9

    Mess$ = " Dazzling Venetian Blinds "
    StuffMess Wind(), Mess$, LeadingRows + 12, 28, 1, 3
    Dazzle 8, 1, Wind()          'Dazzled down by: Venetian Blinds
    TickPause 36
    
    Dazzle 8, 2, ClrScreen()     'Clear the screen with dazzle!
    TickPause 9

    Dazzle 3, 1, Wind2()         'Dazzled with -4- Vertical Blinds
    TickPause 9

    Mess$ = "    Four Vertical Blinds   "
    StuffMess Wind(), Mess$, LeadingRows + 12, 28, 14, 1
    Dazzle 3, 2, Wind()          'Dazzled with -4- Vertical Blinds
    TickPause 36

    Dazzle 3, 1, ClrScreen()     'Clear the screen with dazzle!
    TickPause 9

    Dazzle 0, 0, Wind2()         'Pull down screen
    TickPause 5

    Mess$ = "Pull 'em down - pull 'em up"
    StuffMess Wind(), Mess$, LeadingRows + 12, 28, 15, 1
    Dazzle 0, 1, Wind()          'Pull up screen
    TickPause 36
    
    Dazzle 0, 0, Wind2()         'Pull down screen
    TickPause 9

    Mess$ = "Side slides right then left"
    StuffMess Wind(), Mess$, LeadingRows + 12, 28, 13, 1
    Dazzle 6, 1, Wind()          'Dazzle Side Slide: Left to Right
    TickPause 36
    
    Dazzle 6, 2, Wind2()         'Dazzle Side Slide: Right to Left
    TickPause 9

    Dazzle 6, 1, ClrScreen()     'Clear the screen with dazzle!
    TickPause 9

    Mess$ = "     Imploding Screen      "
    StuffMess Wind(), Mess$, LeadingRows + 12, 28, 15, 1
    Implode Wind()
    TickPause 21

    Implode Wind2()
    TickPause 21

    Mess$ = "   Imploding Screen !!!!   "
    StuffMess Wind(), Mess$, LeadingRows + 13, 28, 15, 1
    Implode Wind()
    Implode Wind2()

    Mess$ = "Imploding Screen Again !!!!"
    StuffMess Wind(), Mess$, LeadingRows + 14, 28, 15, 1
    Implode Wind()
    Implode ClrScreen()

    Mess$ = SPACE$(28)           'Let's clear the little computer's screen.
    StuffMess Wind(), Mess$, LeadingRows + 13, 28, 15, 1
    StuffMess Wind(), Mess$, LeadingRows + 14, 28, 15, 1

    Dazzle 7, 2, Wind2()         'Rolling Grates  -  Right to Left
    TickPause 9

    Mess$ = "Rolling Grates - I Like It!"
    StuffMess Wind(), Mess$, LeadingRows + 12, 28, 15, 1
    Dazzle 7, 1, Wind()          'Rolling Grates  -  Left to Right
    TickPause 36
    
    Dazzle 7, 2, ClrScreen()     'Clear the screen with dazzle!
    TickPause 9

    Dazzle 0, 0, Wind2()         'Pull down screen
    TickPause 21
    
    Mess$ = "ŚÄÄÄÄÄÄÄÄÄæ"
    StuffMess Wind2(), Mess$, LeadingRows + 7, 35, 14, 0
    Mess$ = "ĮÄÄÄÄÄÄÄÄÄĮ"
    StuffMess Wind2(), Mess$, LeadingRows + 17, 35, 14, 0
    Mess$ = "Ū²²±°         °±²²Ū"
    StuffMess Wind2(), Mess$, LeadingRows + 8, 31, 14, 0
    StuffMess Wind2(), Mess$, LeadingRows + 9, 31, 14, 0
    Mess$ = "Ū²²±° MISSION °±²²Ū"
    StuffMess Wind2(), Mess$, LeadingRows + 10, 31, 14, 0
    Mess$ = "Ū²²±° SUCCESS °±²²Ū"
    StuffMess Wind2(), Mess$, LeadingRows + 11, 31, 14, 0
    Mess$ = "Ū²²±°         °±²²Ū"
    StuffMess Wind2(), Mess$, LeadingRows + 12, 31, 14, 0
    Mess$ = "Ū²²±°  VIDEO  °±²²Ū"
    StuffMess Wind2(), Mess$, LeadingRows + 13, 31, 14, 0
    Mess$ = "Ū²²±° ORBITED °±²²Ū"
    StuffMess Wind2(), Mess$, LeadingRows + 14, 31, 14, 0
    Mess$ = "Ū²²±°         °±²²Ū"
    StuffMess Wind2(), Mess$, LeadingRows + 15, 31, 14, 0
    StuffMess Wind2(), Mess$, LeadingRows + 16, 31, 14, 0
    Curtains 2, Wind2()          'Open curtain with screen
    TickPause 36
    
    Mess$ = " That Concludes a DAZZLING "
    StuffMess Wind(), Mess$, LeadingRows + 12, 28, 11, 1
    Mess$ = "       Demonstration.      "
    StuffMess Wind(), Mess$, LeadingRows + 13, 28, 11, 1
    Mess$ = "   Press Any Key to End...  "
    StuffMess Wind(), Mess$, LeadingRows + 15, 27, 16, 7

    Curtains 1, Wind()           'Close curtain with screen
    Z$ = INPUT$(1)
    
    Implode ClrScreen()          'Clear with implosion.
    WIDTH , 25                   'Reset screen size.
    COLOR 7, 0
    
    END                          'We're out of here!

'           +===================================================+
'           |                    Subroutine                     |
'           +---------------------------------------------------+

MakeConstantNoise:
    C& = 1193180 \ 60      'Timer clock is 1193180 cps.  60 is our frequency.
    OUT &H43, &HB6         'Program new divisor rate into the timer.
    OUT &H42, (C& MOD 256)
    OUT &H42, (C& \ 256)
    C& = INP(&H61)         'Enable speaker output from the timer.
    OUT &H61, (C& OR 3)
RETURN

QuietPlease:
    C = INP(&H61)          'Mask off speaker output from the timer.
    OUT &H61, (C AND &HFC)
RETURN

ExpandCrescentPic:
    '--- Because the saved screens are 80x25, we need to pad the array to
    '    create an attractive screen if the monitor is in 80x43 or 80x50 modes
    '    This subroutine is called to add to the beginning and end of the
    '    QBNews Software Library building.

    Mess$ = "ÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀ"
    Mess$ = Mess$ + "ÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮ"
    Mess$ = Mess$ + "ÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀ"
    Mess$ = Mess$ + "ÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮ"
    Mess$ = Mess$ + "ÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀ"
    Mess$ = Mess$ + "ÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮ"
    Mess$ = Mess$ + "ÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀ"
    Mess$ = Mess$ + "ÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮ"
    Mess$ = Mess$ + "ÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀ"
    Mess$ = Mess$ + "ÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮÄÄĀÄÄĮ"
    Mess$ = Mess$ + "ÄÄÄÄĮÄÄÄÄÄĮÄÄÄÄÄĮÄÄÄÄÄĮÄÄÄÄÄĮÄÄÄÄÄĮÄÄÄÄÄĮÄÄÄÄÄĮÄÄÄÄÄĮÄÄÄÄÄĮÄÄÄÄÄĮÄÄÄÄÄĮÄÄÄÄÄĮÄÄÄ"
    StuffMess Wind(), Mess$, 1, 1, 7, 6

    Mess$ = "ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  ÜÜÜ  "
    StuffMess Wind(), Mess$, 40, 1, 14, 0

    IF MaxLine > 43 THEN StuffMess Wind(), Mess$, 48, 1, 14, 0
RETURN

ExpandShuttlePic:
    '--- Because the saved screens are 80x25, we need to pad the array to
    '    create an attractive screen if the monitor is in 80x43 or 80x50 modes
    '    This subroutine is called to add to the beginning and end of the
    '    Shuttle picture by adding stars at the top and earth and sea below.

    Mess$ = "    *         +     Å         .        :         *              +        *     "
    Mess$ = Mess$ + "         +      Å         .        .         *              +        Å         "
    Mess$ = Mess$ + "                  +      Å         .        .         *                      Å "
    Mess$ = Mess$ + "     +      .        *                      Å                  +      Å        "
    Mess$ = Mess$ + "         +      Å         .        .                        +        Å         "
    Mess$ = Mess$ + Mess$
    StuffMess Wind2(), Mess$, 1, 1, 15, 0

    Mess$ = "±±±±±±±±±±±²°±±±±±±±±±±±±±±±±±±±±"
    StuffMess Wind2(), Mess$, 36, 1, 2, 0
    Mess$ = "ŽŻ           ŽŻ"
    StuffMess Wind2(), Mess$, 36, 33, 12, 4
    Mess$ = "±±±±±±±±±±±"
    StuffMess Wind2(), Mess$, 36, 35, 2, 0
    Mess$ = "±±±±±±±±±±±±±±°"
    StuffMess Wind2(), Mess$, 36, 48, 2, 0
    Mess$ = "±²²²²²²²²²²²²²²²²²"
    StuffMess Wind2(), Mess$, 36, 63, 3, 0

    Mess$ = "±±±±±±±±±±²°±±±±±±±±±±±±±±±±±±±±±"
    StuffMess Wind2(), Mess$, 37, 1, 2, 0
    Mess$ = "ŽŻ           ŽŻ"
    StuffMess Wind2(), Mess$, 37, 33, 12, 4
    Mess$ = "±±±±±±±±±±±"
    StuffMess Wind2(), Mess$, 37, 35, 2, 0
    Mess$ = "±±±±±±±±±±±±±°"
    StuffMess Wind2(), Mess$, 37, 48, 2, 0
    Mess$ = "±²²²²²²²²²²²²²²²²²²"
    StuffMess Wind2(), Mess$, 37, 62, 3, 0

    Mess$ = "±±±±±±±±±²°±±±±±±±±±±±±±±±±±±±±±±"
    StuffMess Wind2(), Mess$, 38, 1, 2, 0
    Mess$ = "Ž             Ż"
    StuffMess Wind2(), Mess$, 38, 33, 12, 4
    Mess$ = "±±±±±±±±±±±"
    StuffMess Wind2(), Mess$, 38, 35, 2, 0
    Mess$ = "±±±±±±±±±±±°°"
    StuffMess Wind2(), Mess$, 38, 48, 2, 0
    Mess$ = "±²²²²²²²²²²²²²²²²²²²"
    StuffMess Wind2(), Mess$, 38, 61, 3, 0

    Mess$ = "±±±±±±±±²°±±±±±±±±±±±±±±±±±±±±±±±"
    StuffMess Wind2(), Mess$, 39, 1, 2, 0
    Mess$ = "Ż             Ž"
    StuffMess Wind2(), Mess$, 39, 33, 12, 4
    Mess$ = "±±±±±±±±±±±"
    StuffMess Wind2(), Mess$, 39, 35, 2, 0
    Mess$ = "±±±±±±±±±±±°°"
    StuffMess Wind2(), Mess$, 39, 48, 2, 0
    Mess$ = "±²²²²²²²²²²²²²²²²²²²"
    StuffMess Wind2(), Mess$, 39, 61, 3, 0

    Mess$ = "±±±±±±±²²°±±±±±±±±±±±±±±±±±±±±±±±"
    StuffMess Wind2(), Mess$, 40, 1, 2, 0
    Mess$ = "Ž             Ż"
    StuffMess Wind2(), Mess$, 40, 33, 12, 4
    Mess$ = "±±±±±±±±±±±"
    StuffMess Wind2(), Mess$, 40, 35, 2, 0
    Mess$ = "±±±±±±±±±±°°"
    StuffMess Wind2(), Mess$, 40, 48, 2, 0
    Mess$ = "±±²²²²²²²²²²±±²²²²²²²"
    StuffMess Wind2(), Mess$, 40, 60, 3, 0

    Mess$ = "±±±±±²²°°±±±±±±±±±±±±±±±±±±±±±±±±"
    StuffMess Wind2(), Mess$, 41, 1, 2, 0
    Mess$ = "Ż"
    StuffMess Wind2(), Mess$, 41, 33, 12, 4
    Mess$ = "±±±±±±±±±±±±±±±±±±±±±°°°"
    StuffMess Wind2(), Mess$, 41, 34, 2, 0
    Mess$ = "±±²²²²²²²²²²²±±²²²²²²²²"
    StuffMess Wind2(), Mess$, 41, 58, 3, 0

    Mess$ = "±±±±±²°°°±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±°°"
    StuffMess Wind2(), Mess$, 42, 1, 2, 0
    Mess$ = "±±²²²²²²²²²²²±±²²²²²²²²²"
    StuffMess Wind2(), Mess$, 42, 57, 3, 0
    Mess$ = "²"
    StuffMess Wind2(), Mess$, 42, 72, 2, 0

    Mess$ = "±±±±±°°°±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±°°"
    StuffMess Wind2(), Mess$, 43, 1, 2, 0
    Mess$ = "±²²²²²²²²²²²²²±±²²²²²²²Ū²"
    StuffMess Wind2(), Mess$, 43, 56, 3, 0
    Mess$ = "²²"
    StuffMess Wind2(), Mess$, 43, 72, 2, 0

    IF MaxLine > 43 THEN
        Mess$ = "±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±°°"
        StuffMess Wind2(), Mess$, 44, 1, 2, 0
        Mess$ = "±²²²²²²²²²²²²²²±±²²²²²²²²²²"
        StuffMess Wind2(), Mess$, 44, 54, 3, 0
        Mess$ = "²²"
        StuffMess Wind2(), Mess$, 44, 71, 2, 0

        Mess$ = "±±±±±±±±±±²°±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±°"
        StuffMess Wind2(), Mess$, 45, 1, 2, 0
        Mess$ = "±±²²²²²²²²²²²²²²±²²²²²²²²²²"
        StuffMess Wind2(), Mess$, 45, 54, 3, 0

        Mess$ = "±±±±±±±±±²°°±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±°"
        StuffMess Wind2(), Mess$, 45, 1, 2, 0
        Mess$ = "±±²²²²²²²²²²²²²²²²²²²²²²²²²²²"
        StuffMess Wind2(), Mess$, 45, 52, 3, 0

        Mess$ = "±±±±±±±±±²²°°±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±°"
        StuffMess Wind2(), Mess$, 46, 1, 2, 0
        Mess$ = "±±²²²²²²²²²²²²²²²²²²²²²²²²²²²²"
        StuffMess Wind2(), Mess$, 46, 51, 3, 0

        Mess$ = "±±±±±±±±²²²°°±±±±±±±±±±±±±±±±±±±±±±±±±±°°±±±±±±±°"
        StuffMess Wind2(), Mess$, 47, 1, 2, 0
        Mess$ = "±±²²²²²²²²²²²²²²²²²²²²²²²²²²²²²"
        StuffMess Wind2(), Mess$, 47, 50, 3, 0

        Mess$ = "±±±±±±±±²²°°±±±±±±±±±±±±±±±±±±±±±±±±²²±±°±±±±±±°"
        StuffMess Wind2(), Mess$, 48, 1, 2, 0
        Mess$ = "±²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²"
        StuffMess Wind2(), Mess$, 48, 49, 3, 0
        Mess$ = "²²"
        StuffMess Wind2(), Mess$, 48, 39, 3, 0

        Mess$ = "±±±±±±±±±²°°±±±±±±±±±±±±±±±±±±±±±±±±²±±±±°±±±±±°"
        StuffMess Wind2(), Mess$, 49, 1, 2, 0
        Mess$ = "±²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²"
        StuffMess Wind2(), Mess$, 49, 49, 3, 0
        Mess$ = "²²²²"
        StuffMess Wind2(), Mess$, 49, 38, 3, 0

        Mess$ = "±±±±±±±±±°°±±±±±±±±±±±±±±±±±±±±±±±±±±²±±±°±±±±±°"
        StuffMess Wind2(), Mess$, 50, 1, 2, 0
        Mess$ = "±²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²"
        StuffMess Wind2(), Mess$, 50, 49, 3, 0
        Mess$ = "²²²"
        StuffMess Wind2(), Mess$, 50, 39, 3, 0
    END IF
RETURN

'           +===================================================+
'           |                    Error Trap                     |
'           +---------------------------------------------------+

ScreenErr:
    N = ERR                'Reset BASIC's ERROR HANDLER
    IF MaxLine = 50 THEN MaxLine = 43 ELSE MaxLine = 25
RESUME

