ITEM SINCLAIR ZX80 TRS-80 POCKET SINCLAIR W/8K ROM Max size of array mem-limit 204 mem-limit Max # of dimensions 1 1 mem-limit Digits of accuracy 5 integer 10 floating 9.5 floating Range of numbers +/- 32767 +/- 1E+99 9E-44 to 1.1E+43 Max string length mem-limit 7 mem-limit Max size str array no string arrays 204 mem-limit # of str dimensions no string arrays 1 mem-limit # unique var names mem-limit 26 mem-limit Output line width 32 24 32 Comma spacing 8 12 16 # of comma fields 4 2 2 Str data req "'s no data stmnt no data stmnt yes Filenames no yes yes Display size 25 x 32 1 x 24 22 x 32 Editor type 1 line scrn & list 1 line screen 1 line scrn & list Use DEG/RAD/GRAD none any rad String concat no no yes (+) Cassette data I/O no yes no Immediate mode yes calculator mode yes Mult stmnts/line no yes (:) no Uses ASCII no unknown no Display w/o stop no yes yes Kbd readable no no yes Protectable memory no no yes ARE THE FOLLOWING FUNCTIONS INCLUDED? PEEK & POKE X X USR/SYS/CALL X X RND X X ASC/CODE & CHR$ X X STR$ X X ABS & INT & SGN ABS only X X NOT & AND & OR X math. X SIN & COS X X TAN & ATN X X ASN & ACS X X LOG/LN both LN EXP & SQR/SQRT X X ->DEG & ->DMS X FRE/FREE/MEM X VAL X LEN X SEG$/MID$ or equiv. X PI X ARE THE FOLLOWING STATEMENTS SUPPORTED? RANDOMIZE X X PRINT USING/TO X X FOR with STEP X X END X BEEP (make noise) X GET/INKEY$ X PRINT AT X WAIT (time delay) X READ & DATA X RESTORE X DRAW X PLOT X UNDRAW X UNPLOT X PAUSE X SCROLL X ARE THE FOLLOWING COMMANDS SUPPORTED? SAVE/CSAVE X req. I/F X LOAD/CLOAD X req. I/F X CLOAD?/VERIFY req. I/F CHAIN/RUN <FILENM> req. I/F INPUT # (read tape) req. I/F PRINT # (write tape) req. I/F DEBUG/TRON (TRACE) X
ALL THREE MACHINES USE:
- String comparisons in an IF statement.
- Dynamic DIM; TRS-80 does not use DIMs.
- Double quotes (“) for literal strings.
- Standard cassette tapes (TRS-80 only with I/F).
- Operators +, -, *, /, and ** or uparrow.
- LET, PRINT, INPUT, GO TO, IF…THEN, GO SUB, RETURN, FOR…NEXT, STOP, CLEAR/CLR, CLS, and REM statements.
- RUN, CONTinue, LIST, NEW, SAVE, and LOAD commands.
NONE OF THE MACHINES USE:
- A key to stop or slow down the output.
- MAT statements.
- POS, LEFT$, or RIGHT$ functions.
- High speed cassette search.
- Available printers or floppy disks.
NOTE: A / between choices indicates either fulfills category, while & indicates that both must be present. I/F means optional interface. E means scientific notation; 3E+99 equals 3*10⁺⁹⁹.
KEY TO COMPARISON CHARTS
- Range of numbers–greatest and smallest no. system can express.
- Output line width–greatest no. of characters on one output display line.
- Comma spacing–width of comma print fields.
- # of comma fields–no. of comma print fields across one display line.
- Str data req “‘s–do strings in data statements require quotes?
- Editor type–what kind of editor does system use? (1 line scrn means a single line screen editor, list means listing is on screen while editing).
- Use DEG/RAD/GRAD–how does system measure angles?
- String concat–can system append one string to another?
- Cassette data I/O–can system store data (as opposed to programs) on cassette tape?
- Uses ASCII–does system use American Standard Code for Information Interchange?
- Display w/o stop–can system display something and continue without any user interaction?
- Display size–height and width of display in characters.
- Kbd readable–can system read keyboard without stopping?
- Protectable memory–can a section of memory be protected so that machine language programs may be stored there?
- USR/SYS/CALL–all equivalent functions, transfer control to a machine language program.
- ->DEG & ->DMS–convert to degrees and degrees, minutes, seconds, respectively.
- FRE/FREE/MEM–return amount of memory not used by program.
- RANDOMIZE–reseeds random number generator.
- PRINT USING/TO–print no. according to a specific format.
- FOR with STEP–extended form of a FOR…NEXT statement to specify an increment.
- END–signals end of program.
- BEEP–tells system to sound a beeper to notify user.
- GET/INKEY$–read keyboard without stopping.
- PRINT AT–prints information at a certain screen position.
- WAIT–pause for a certain programmable length of time.
- READ & DATA–reads nos. or strings from list of information after DATA statement and puts it in variables.
- RESTORE–resets data list so same data may be read in again.
- DRAW–draws a line on screen.
- PLOT–turns on screen pixel.
- UNDRAW–opposite of DRAW.
- UNPLOT–opposite of PLOT.
- PAUSE–causes program to stop for a moment and display output.
- SCROLL–causes all lines on screen to move up one.
- SAVE/CSAVE–stores program on cassette tape.
- LOAD/CLOAD–reloads program from cassette tape.
- CLOAD?/VERIFY–compares program stored on tape to one stored in memory, to check for a good CSAVE.
- CHAIN/RUN <FILENM>–like LOAD/CLOAD, but tells system to run program after loading.
- INPUT #–reloads all variables in memory from tape.
- PRINT #–stores all variables in memory on tape.
- DEBUG/TRON (TRACE)–tells computer to display each line no. (or the line) before execution.
- Dynamic DIM–array sizing using a variable: DIM A(G).
Want to make a program unlistable? Just type in:
1 REM X
POKE 16427,123
To make it listable again, just delete line number 1.
Your ZX80 uses a character set that you can read by PEEKing locations 3584 to 4095. Each location contains, in binary, the 8 dots for a row of a character. Read 8 bytes to make 1 symbol.
To save data on tape, store it in an array. SAVE the program. The variables save with it, and reload when you LOAD. Start by entering GO TO XX, where XX is after your data input routine. Try GO TO 100 in Cryptoquote, for example.
Image Computer Products will sell dual readout, 23 pin Z-80 edge connectors in their next catalog.