Expect Scripts to upload BASIC or FOCAL to TSS8

Below scripts will connect, kill leftover session, login, start the interpreter and feed it the content of a file. Once all lines have been sent it will gives the >>> prompt so you can take over interacting with the interpreter.

  • FOCAL needs tuning, it seems slower than BASIC so the maximum number of characters sent at once may need to be lowered.
  • EDIT version needed for FORTRAN or PAL

BCG SNOOPY

Page 200 of DEC 101 BASIC Computer Games (3rd Print – March 1975)
RUN




                      XXXX
                     X    XX
                    X  ***  X                XXXXX
                   X  *****  X            XXX     XX
                XXXX ******* XXX      XXXX          XX
              XX   X ******  XXXXXXXXX                XX XXX
            XX      X ****  X                           X** X
           X        XX    XX     X                      X***X
          X         //XXXX       X                      XXXX
         X         //   X                             XX
        X         //    X          XXXXXXXXXXXXXXXXXX/
        X     XXX//    X          X
        X    X   X     X         X
        X    X    X    X        X
         X   X    X    X        X                    XX
         X    X   X    X        X                 XXX  XX
          X    XXX      X        X               X  X X  X
          X             X         X              XX X  XXXX
           X             X         XXXXXXXX!     XX   XX  X
            XX            XX              X     X    X  XX
              XX            XXXX   XXXXXX/     X     XXXX
                XXX             XX***         X     X
                   XXXXXXXXXXXXX *   *       X     X
                                *---* X     X     X
                               *-* *   XXX X     X
                               *- *       XXX   X
                              *- *X          XXX
                              *- *X  X          XXX
                             *- *X    X            XX
                             *- *XX    X             X
                            *  *X* X    X             X
                            *  *X * X    X             X
                           *  * X**  X   XXXX          X
                           *  * X**  XX     X          X
                          *  ** X** X     XX          X
                          *  **  X*  XXX   X         X
                         *  **    XX   XXXX       XXX
                        *  * *      XXXX      X     X
                       *   * *          X     X     X
         =======*******   * *           X     X      XXXXXXXX!
                *         * *      /XXXXX      XXXXXXXX!      )
           =====**********  *     X                     )  !  )
             ====*         *     X               !  !   )XXXXX
        =========**********       XXXXXXXXXXXXXXXXXXXXXX


                            CURSE  YOU  RED  BARON  ! !



READY

TSS8 BCG AMAZING

  • Notice the use of GO TO instead of GOTO
  • Replace RND(0) by RND(1) before running with vintbas.
  • Change array size to 12,12 in line 110 for EduSystem 50
  • Doesn’t handle well size smaller than 4.

Basic Computer Game Amazing source.

EduSystem 50 Rewrite

RUN

WHAT ARE YOUR WIDTH AND LENGTH? 13,13


  .--.--.--.--.--.--.  .--.--.--.--.--.--.
  I                          I           I
  :  :--:--:  :--:--:--:  :  :  :  :  :  :
  I        I  I     I     I  I  I  I  I  I
  :--:--:--:  :--:  :  :--:  :  :  :  :--:
  I        I  I     I     I  I  I  I     I
  :  :--:  :  :  :--:--:  :  :--:  :--:  :
  I  I  I  I  I  I     I  I        I  I  I
  :  :  :  :  :  :  :  :  :  :--:--:  :  :
  I     I     I     I     I        I  I  I
  :  :--:  :--:--:--:--:--:--:--:  :  :  :
  I     I     I        I           I     I
  :--:  :--:  :  :--:  :  :--:--:--:  :--:
  I  I  I     I     I  I           I  I  I
  :  :  :  :--:  :  :--:  :--:--:  :  :  :
  I  I  I  I     I     I     I     I     I
  :  :  :  :  :--:--:  :--:  :  :  :--:  :
  I     I  I        I  I     I  I  I     I
  :--:--:  :--:--:  :  :--:--:  :  :--:--:
  I        I     I  I     I     I     I  I
  :  :--:--:  :--:  :--:  :--:--:--:  :  :
  I  I     I        I  I     I     I     I
  :  :  :  :  :--:--:  :--:  :  :--:--:  :
  I     I  I  I  I           I           I
  :--:  :--:  :  :  :  :--:--:--:--:--:--:
  I           I     I                    I
  :  :--:--:--:--:--:--:--:--:--:--:--:--:


READY

TSS8 BCG ACEY DUCEY

Basic Computer Game Acey Ducey source.

EduSystem 50 Refactoring

RUN

ACEY-DUCEY IS PLAYED IN THE FOLLOWING MANNER:
THE DEALER (COMPUTER) DEALS TWO CARDS FACE UP.
YOU HAVE THE OPTION TO BET OR NOT TO BET DEPENDING
ON WHETHER OR NOT YOU FEEL THE NEXT CARD WILL HAVE
A VALUE BETWEEN THE FIRST TWO.
IF YOU DO NOT WANT TO BET, INPUT A 0.

YOU NOW HAVE 100 DOLLARS.

HERE ARE YOUR NEXT TWO CARDS...
 5
KING

WHAT IS YOUR BET? 101
SORRY, MY FRIEND, BUT YOU BET TOO MUCH
YOU HAVE ONLY 100 DOLLARS TO BET.

WHAT IS YOUR BET? 50
ACE
SORRY, YOU LOSE.
YOU NOW HAVE 50 DOLLARS.

HERE ARE YOUR NEXT TWO CARDS...
 7
QUEEN

WHAT IS YOUR BET? 0
CHICKEN!!

HERE ARE YOUR NEXT TWO CARDS...
QUEEN
ACE

WHAT IS YOUR BET? 50
KING
YOU WIN!!!
YOU NOW HAVE 100 DOLLARS.

HERE ARE YOUR NEXT TWO CARDS...
 3
 5

WHAT IS YOUR BET? 100
 6
SORRY, YOU LOSE.

SORRY, FRIEND, BUT YOU BLEW YOUR WAD.
TRY AGAIN (YES OR NO)? NO

O.K. HOPE YOU HAD FUN!!


READY

TSS8 BCG LOVE

TSS8 adaptation from Basic Computer Game Love source.

  2 PRINT TAB(33);"LOVE"
  4 PRINT TAB(15);"CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY"
  6 PRINT\ PRINT\ PRINT
 20 PRINT "A TRIBUTE TO THE GREAT AMERICAN ARTIST, ROBERT INDIANA."
 30 PRINT "HIS GREATEST WORK WILL BE REPRODUCED WITH A MESSAGE OF"
 40 PRINT "YOUR CHOICE UP TO 50 CHARACTERS.  IF YOU CAN'T THINK OF"
 50 PRINT "A MESSAGE, SIMPLY TYPE THE WORD 'LOVE'"\ PRINT
 60 PRINT "YOUR MESSAGE, PLEASE";
 70 DIM A$(8)
 80 LINPUT A$(0),A$(1),A$(2),A$(3),A$(4),A$(5),A$(6),A$(7),A$(8)
 90 DIM A(6)\ DIM T(60)
100 FOR I=0 TO 8
110  CHANGE A$(I) TO A
120  FOR J=1 TO A(0)
130   L=L+1\ T(L)=A(J)
140  NEXT J
150 NEXT I
160 IF L<>0 THEN 170\ L=1\ T(1)=35 '#
170 FOR I=L+1 TO 60\ T(I)=T(I-L)\ NEXT I
180 GOSUB 800
190 FOR C=1 TO 36
200  A1=1\ P=1
210  PRINT\ PRINT TAB(6);
220  READ A\ A1=A1+A\ IF P=1 THEN 300
230  FOR I=1 TO A\ PRINT " ";\ NEXT I\ P=1\ GOTO 400
300  FOR I=A1-A TO A1-1\ PRINT CHR$(T(I));\ NEXT I\ P=0
400  IF A1<=60 THEN 220
410 NEXT C
420 GOSUB 800\ STOP
600 DATA 60,1,12,26,9,12,3,8,24,17,8,4,6,23,21,6,4,6,22,12,5,6,5
610 DATA 4,6,21,11,8,6,4,4,6,21,10,10,5,4,4,6,21,9,11,5,4
620 DATA 4,6,21,8,11,6,4,4,6,21,7,11,7,4,4,6,21,6,11,8,4
630 DATA 4,6,19,1,1,5,11,9,4,4,6,19,1,1,5,10,10,4,4,6,18,2,1,6,8,11,4
640 DATA 4,6,17,3,1,7,5,13,4,4,6,15,5,2,23,5,1,29,5,17,8
650 DATA 1,29,9,9,12,1,13,5,40,1,1,13,5,40,1,4,6,13,3,10,6,12,5,1
660 DATA 5,6,11,3,11,6,14,3,1,5,6,11,3,11,6,15,2,1
670 DATA 6,6,9,3,12,6,16,1,1,6,6,9,3,12,6,7,1,10
680 DATA 7,6,7,3,13,6,6,2,10,7,6,7,3,13,14,10,8,6,5,3,14,6,6,2,10
690 DATA 8,6,5,3,14,6,7,1,10,9,6,3,3,15,6,16,1,1
700 DATA 9,6,3,3,15,6,15,2,1,10,6,1,3,16,6,14,3,1,10,10,16,6,12,5,1
710 DATA 11,8,13,27,1,11,8,13,27,1,60
800 FOR I=1 TO 6\ PRINT\ NEXT I\ RETURN
999 END
RUN

                              LOVE
            CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY



A TRIBUTE TO THE GREAT AMERICAN ARTIST, ROBERT INDIANA.
HIS GREATEST WORK WILL BE REPRODUCED WITH A MESSAGE OF
YOUR CHOICE UP TO 50 CHARACTERS.  IF YOU CAN'T THINK OF
A MESSAGE, SIMPLY TYPE THE WORD 'LOVE'

YOUR MESSAGE, PLEASE? LOVE







   LOVELOVELOVELOVELOVELOVELOVELOVELOVELOVELOVELOVELOVELOVELOVE
   L            OVELOVELOVELOVELOVELOVELOV         LOVELOVELOVE
   LOV        ELOVELOVELOVELOVELOVELOV                 LOVELOVE
   LOVE      VELOVELOVELOVELOVELOVEL                     VELOVE
   LOVE      VELOVELOVELOVELOVELOVE            LOVEL      ELOVE
   LOVE      VELOVELOVELOVELOVELOV           VELOVELO      LOVE
   LOVE      VELOVELOVELOVELOVELOV          OVELOVELOV     LOVE
   LOVE      VELOVELOVELOVELOVELOV         LOVELOVELOV     LOVE
   LOVE      VELOVELOVELOVELOVELOV        ELOVELOVELO      LOVE
   LOVE      VELOVELOVELOVELOVELOV       VELOVELOVEL       LOVE
   LOVE      VELOVELOVELOVELOVELOV      OVELOVELOVE        LOVE
   LOVE      VELOVELOVELOVELOVEL V     LOVELOVELOV         LOVE
   LOVE      VELOVELOVELOVELOVEL V     LOVELOVELO          LOVE
   LOVE      VELOVELOVELOVELOVE  V      OVELOVEL           LOVE
   LOVE      VELOVELOVELOVELOV   V       VELOV             LOVE
   LOVE      VELOVELOVELOVEL     VE                       ELOVE
   L                             VELOV                 LOVELOVE
   L                             VELOVELOV         LOVELOVELOVE
   L             VELOV                                        E
   L             VELOV                                        E
   LOVE      VELOVELOVELOV   VELOVELOVE      VELOVELOVELO     E
   LOVEL      ELOVELOVELO   OVELOVELOVE      VELOVELOVELOVE   E
   LOVEL      ELOVELOVELO   OVELOVELOVE      VELOVELOVELOVEL  E
   LOVELO      LOVELOVEL   LOVELOVELOVE      VELOVELOVELOVELO E
   LOVELO      LOVELOVEL   LOVELOVELOVE      VELOVEL VELOVELOVE
   LOVELOV      OVELOVE   ELOVELOVELOVE      VELOVE  VELOVELOVE
   LOVELOV      OVELOVE   ELOVELOVELOVE              VELOVELOVE
   LOVELOVE      VELOV   VELOVELOVELOVE      VELOVE  VELOVELOVE
   LOVELOVE      VELOV   VELOVELOVELOVE      VELOVEL VELOVELOVE
   LOVELOVEL      ELO   OVELOVELOVELOVE      VELOVELOVELOVELO E
   LOVELOVEL      ELO   OVELOVELOVELOVE      VELOVELOVELOVEL  E
   LOVELOVELO      L   LOVELOVELOVELOVE      VELOVELOVELOVE   E
   LOVELOVELO          LOVELOVELOVELOVE      VELOVELOVELO     E
   LOVELOVELOV        ELOVELOVELOVE                           E
   LOVELOVELOV        ELOVELOVELOVE                           E
   LOVELOVELOVELOVELOVELOVELOVELOVELOVELOVELOVELOVELOVELOVELOVE







READY

RESHUF: Refactoring SHUFFL

LIST
  10 DIM N$(17)
  20 FOR I=0 TO 17\ READ N$(I)\ NEXT I
  30 DATA "A","2","3","4","5","6","7","8","9","T","J","Q","K"
  40 DATA "C","D","H","S","**"
  50
  60 DIM D(52)
  70 RANDOMIZE
  80 FOR I=52 TO 0 STEP -1
  90  J=INT((I+1)*RND(1))
 100  R=D(J)\ S=D(I)
 110  IF S<>0 THEN 120\ S=I+1
 120  D(J)=S
 130  IF R<>0 THEN 140\ R=J+1
 140  R=R-1\ S=INT(R/13)\ R=R-S*13
 150  IF S=4 THEN 160\ PRINT N$(R);
 160  PRINT N$(S+13);" ";
 170 NEXT I
 180 END


READY

RUN

QD QS KD 6H 2D 9S AD 3S 6S QC 2S 4D 5D KS 4S JD 5C QH AS 6D 8S 2C 8D 4C
6C 7D 5S AC 7S 3H 9H 9C JS TD KH 3C 7H AH 7C 9D 8H 4H KC 8C TH JH 5H TS
** TC 2H JC 3D

READY

RUN

5H 2D 8D 4D 5D 9C 3S 6H KS KC 8S ** 7D 4S AS 6S KD JC 9D 7C 5S 7S QH 3D
5C TS 4C AH 2C TC QC 6D JD 8C 2H 3C AD 4H 3H KH QD 9H TH AC JH 7H 8H TD
QS 9S 2S JS 6C

READY