From: samuel@front.se
Newsgroups: alt.folklore.computers
Subject: My first computer (Was Re: "Stringy Floppy")
Date: 10 Jan 93 09:41:39 GMT
Organization: Samuel Gustaf Siren

In article <1993Jan9.201706.27670@EE.Stanford.EDU>, siegman@EE.Stanford.EDU 
(Anthony E. Siegman) writes:

>    Among the collection of bizarre early computer artifacts...
> [...]
>    The Stringy Floppy was a little box that connected to a TRS-80
> Model I Level II...

This story reminds me about my first computer, a "TRS-80 Level I
Basic" or something like that.

The Basic-interpretator had the following interesting features :

  - The program was stored in its ASCII representation.
  - There was a fixed set of variables, the 26 floating-point A..Z,
    one (sic!) array of floating-point A, and the two 10-character
    strings A$ and B$. If you needed more than 26 variables, or more
    than one array you had to use subsets of the array A according to
    some delibrate scheme. 
  - String comparations of type IF A$ = "YES" THEN was not allowed.
  - The only keyboard input function was INPUT, but on the other hand,
    keyboard input was not buffered, i.e. if you typed something on 
    the keyboard when the computer was 'working', the text were anyway
    printed to the screen. This proved to be VERY useful.
  - And actually one useful feature : It was possible to supply 
    expressions, not just constants as parameter X when INPUT X was 
    executed.

Now, consider these two problems :

 1. How do I implement something similar to IF A$ = "YES" THEN... ?
 2. How do I implement a 'getkey' function, i.e. keybord input without 
    pressing the return key ?

Answers :

 1. Since it was possible to supply expressions to INPUT (please note 
    that variables X and Y will be lost, so you only have 24 left !) :

    10 Y = 1
    20 N = 2
     .
     .
    1000 INPUT X                       (* Yes = 1, No = 2 ! *)
    1010 ON X GOTO 2000, 3000
    .
    .
    2000 <yes>
    .
    3000 <no>

    (The input "YES" was interpreted to the _expression_ "Y" !)
    Actually it was even possible to write ADVENTURE-styled programs,
    where you had exactly ONE verb and ONE noun for each letter ! But
    these programs were somewhat messy since all 'real variables' had to 
    be stored in the array A !

 2. Now, this was a neat one.
    Since text was printed to the screen at keyboard input, it could 
    be solved this way :
     A. Put cursor somewere in right upper corner.
     B. SET (turn on) the following three pixels : The one left to the
        cursor, the one right to the cursor, and the one below the
        cursor. 
     C. During execution : If you pressed 'delete' the left pixel was
        turned off; 'carriage return' turned off the right and the one
        below; any other key turned off (overwrote with character) the
        right pixel only. 
     D. In main loop : test which of these three pixels that are set, 
        and determine which key that has been pressed. SET the pixels
        and repeat all over again.
     E. This gave you a control panel with three different 'action 
        keys' ! For example LEFT, RIGHT and SHOOT !


Any similar stories about your first computer ?

/SS
-- 
All opinions and questions are my own ! /SS