'===========================================================================
' Subject: MISCELLANEOUS SONGS                Date: 05-03-97 (17:48)       
'  Author: Mark Otter                         Code: QB, QBasic, PDS        
'  Origin: loutre@xs4all.nl                 Packet: SOUND.ABC
'===========================================================================
DECLARE SUB Box (Y1%, X1%, Y2%, X2%, Voor%, Achter%, Style%, Shadow%, Upper$)
DECLARE SUB GetKey ()
DECLARE SUB Center (Reg%, Txt$)
DECLARE SUB NewScreen ()
SCREEN 0, , 0, 0
WIDTH 80, 25
NewScreen
Box 11, 22, 13, 60, 0, 7, 2, 1, ""
Center 12, "Welcome at SONGS v1.0 by Mark Otter"
GetKey
DO
    NewScreen
    Box 10, 18, 15, 68, 0, 7, 2, 1, "Select a song"
    LOCATE 11, 20: PRINT "1] Singing Ay Ay Yippee Yippee Ay by Johny Cash"
    LOCATE 12, 20: PRINT "2] Yesterday by The Beatles"
    LOCATE 13, 20: PRINT "3] The drunken sailor by Ferre Grignard"
    LOCATE 14, 20: PRINT "4] Donna Donna by Joan Baez"
    DO
        A$ = ""
        DO
            A$ = UCASE$(INKEY$)
        LOOP UNTIL A$ <> ""
        IF A$ = CHR$(27) THEN EXIT DO
        IF A$ = "1" THEN
            NewScreen
            Box 11, 17, 13, 64, 0, 7, 2, 1, ""
            Center 12, "Singing Ay Ay Yippee Yippee Ay by Johny Cash"
            PLAY "MF     T255"
            PLAY "o2 L3 D L8 E L4 G G G G E D o1 B o2 D L1 ML G"
            PLAY "L4 G MN P4 L3 G L8 A L4 B B B B o3 D D D o2 B ML A"
            PLAY "L4 A MN P4 L4 o3 D C o2 B B B B A G G G E E E E"
            PLAY "L4 o3 C C C C o2 B B B B A A A A ML L1 G L4 G MN"
            Box 11, 17, 13, 64, 0, 7, 2, 1, ""
            Center 12, "Press any key..."
            GetKey
        END IF
        IF A$ = "2" THEN
            NewScreen
            Box 11, 17, 13, 64, 0, 7, 2, 1, ""
            Center 12, "Yesterday by The Beatles"
            PLAY "MF T120"
            PLAY "L8 o2 G F L3 F P8 L8 A B o3 C+ D E F L6 E L16 D L3 D P8 L8 D D C o2 B- A F"
            PLAY "o2 L4 B- L8 A L3 A L4 G F L8 A L3 G L4 D F L8 A ML A L2 A MN L8 G F ML L2 F L4 F MN"
            PLAY "o2 L8 A B o3 C+ D E F L6 E L16 D L3 D P8 L8 D D C o2 B- A G L4 B- L8 A ML A L4 A MN G"
            PLAY "o2 F L8 A ML A L4 A MN D F L8 A ML A L2 A MN P8 L2 A A L4 o3 D E F L8 E D"
            PLAY "o3 L3 E L8 D L4 C D o2 L1 A P8 L2 A A o3 L4 D E F L8 E D"
            PLAY "o3 L3 E L8 D L4 C E F C o2 B- A L8 G F L2 F"
            PLAY "o2 L8 A B o3 C+ D E F "
            PLAY "o3 L3 E L8 D L2 D P8 L8 D D C o2 B- A G L4 B- L8 A ML A L4 A MN G"
            PLAY "o2 F L8 A ML L8 G L4 G MN D F L8 A ML A L2 A MN P7 L4 F A G D F L8 A ML A L2 A MN"
            Box 11, 17, 13, 64, 0, 7, 2, 1, ""
            Center 12, "Press any key..."
            GetKey
        END IF
        IF A$ = "3" THEN
            NewScreen
            Box 11, 17, 13, 64, 0, 7, 2, 1, ""
            Center 12, "The Drunken Sailor by Ferre Grignard"
            PLAY "MF T150"
            PLAY "o2 L4 A L8 AA L4 A L8 AA L4 A L4 D F A G L8 GG L4 G L8 GG L4 G C E G"
            PLAY "o2 L4 A L8 AA L4 A L8 AA L4 A B o3 C D C o2 A G E L2 D D"
            PLAY "o2 L2 A L3 A L8 A L4 A D F A L2 G L3 G L8 G L4 G C E G"
            PLAY "o2 L2 A L3 A L8 A L4 A B o3 C D C o2 A G E L2 D D"
            Box 11, 17, 13, 64, 0, 7, 2, 1, ""
            Center 12, "Press any key..."
            GetKey
        END IF
        IF A$ = "4" THEN
            NewScreen
            Box 11, 17, 13, 64, 0, 7, 2, 1, ""
            Center 12, "Donna Donna by Joan Baez"
            PLAY "MF T120"
            PLAY "o3 L4 E o2 A L8 B o3 C L4 D E o2 A L8 B o3 C L4 D E o2 A o3 F L8 E D L4 C D L2 E"
            PLAY "o3 L4 E o2 A L8 B o3 C L4 D E o2 A L8 B o3 C L4 D E o2 A o3 F L8 E D L4 C o2 B L2 A"
            PLAY "o3 L4 G G L3 G L8 F E D L3 C o3 L8 D L4 D L8 D L4 G F L3 E P4"
            PLAY "o3 L4 G G L3 G L8 F L4 E D C D E D C o2 B L3 A P4"
            PLAY "o2 L8 B B B B o3 L4 D D L8 C D L3 E L8 D D D D L4 G F L3 E P4"
            PLAY "o2 L8 B B B B o3 L4 D D L8 C D L3 E L8 E o2 B o3 C D L4 C o2 B L3 A P4"
            Box 11, 17, 13, 64, 0, 7, 2, 1, ""
            Center 12, "Press any key..."
            GetKey
        END IF
    LOOP UNTIL (VAL(A$) > 0 AND VAL(A$) < 5) OR A$ = CHR$(27)
LOOP UNTIL A$ = CHR$(27)

SUB Box (Y1%, X1%, Y2%, X2%, Voor%, Achter%, Style%, Shadow%, Upper$)

IF Style% = 1 THEN
   ST1$ = "Ú"

   ST2$ = "Ä"
   ST3$ = "¿"
   ST4$ = "³"
   ST5$ = "À"
   ST6$ = "Ù"
   ST7$ = "´"
   ST8$ = "Ã"
ELSE
   ST1$ = "É"
   ST2$ = "Í"
   ST3$ = "»"
   ST4$ = "º"
   ST5$ = "È"
   ST6$ = "¼"
   ST7$ = "µ"
   ST8$ = "Æ"
END IF
COLOR Voor%, Achter%
LOCATE Y1%, X1%: PRINT ST1$;
LOCATE Y1%, X1% + 1: PRINT STRING$(X2% - X1% - 1, ST2$);
LOCATE Y1%, X2%: PRINT ST3$;
FOR YY% = Y1% + 1 TO Y2% - 1
    LOCATE YY%, X1%: PRINT ST4$;
    LOCATE YY%, X1% + 1: PRINT STRING$(X2% - X1% - 1, " ");
    LOCATE YY%, X2%: PRINT ST4$;
NEXT YY%
LOCATE Y2%, X1%: PRINT ST5$;
LOCATE Y2%, X1% + 1: PRINT STRING$(X2% - X1% - 1, ST2$);
LOCATE Y2%, X2%: PRINT ST6$;
IF Upper$ <> "" THEN
    Breedte% = X2% - X1%
    midden% = Breedte% / 2
    Lengte% = LEN(Upper$) + 4
    XPlaats% = midden% - (Lengte% / 2) + X1%
    LOCATE Y1%, XPlaats%: PRINT ST7$ + " " + Upper$ + " " + ST8$
END IF
IF Shadow% = 1 THEN
   COLOR 8, 0
   FOR XX% = X1% + 2 TO X2% + 2
       A% = SCREEN(Y2% + 1, XX%)
       A$ = CHR$(A%)
       LOCATE Y2% + 1, XX%: PRINT A$;
   NEXT XX%
   FOR YY% = Y1% + 1 TO Y2% + 1
       FOR XX% = X2% + 1 TO X2% + 2
            A% = SCREEN(YY%, XX%)
            A$ = CHR$(A%)
            LOCATE YY%, XX%: PRINT A$;
       NEXT XX%
   NEXT YY%
END IF
COLOR Voor%, Achter%

END SUB

SUB Center (Reg%, Txt$)
LOCATE Reg%, 41 - (LEN(Txt$) \ 2)
PRINT Txt$
END SUB

SUB GetKey
WHILE INKEY$ <> "": WEND  'Clear KeyBoardBuffer
WHILE INKEY$ = "": WEND   'Wait for keypress...
END SUB

SUB NewScreen
COLOR , 1
CLS
END SUB
