Some minor amends to the true / false section
Source Link

The ZX80 BASIC has a limited interpreter which lacks many keywords and has only upper-case characters and an inversed version of those upper-case characters. Its character set is non-ASCII compliant, and generally will only read and write to the screen1 and cassette tape. There are no ways to draw to the screen without the enhanced ZX81 ROM unless one PRINTs to the screen, or works out where the DFILE (screen location) is in RAM and POKEs individual bytes to the screen. The recent ZXPand allows your ZX80 to read and write to an SD card, although this requires a special kit for the ZX80. An emulator such as EightyOne will simulate a real ZX80 with a ZXPand.

The ZX80 BASIC has a limited interpreter which lacks many keywords and has only upper-case characters and an inversed version of those upper-case characters. Its character set is non-ASCII compliant, and generally will only read and write to the screen1 and cassette tape. There are no ways to draw to the screen without the enhanced ZX81 ROM unless one PRINTs to the screen, or works out where the DFILE (screen location) is in RAM and POKEs individual bytes to the screen. The recent ZXPand allows your ZX80 to read and write to an SD card, although this requires a special kit for the ZX80. An emulator such as EightyOne will simulate a real ZX80 with a ZXPand.

The ZX80 BASIC has a limited interpreter which lacks many keywords and has only upper-case characters and an inversed version of those upper-case characters. Its character set is non-ASCII compliant, and generally will only read and write to the screen and cassette tape. There are no ways to draw to the screen without the enhanced ZX81 ROM unless one PRINTs to the screen, or works out where the DFILE (screen location) is in RAM and POKEs individual bytes to the screen. The recent ZXPand allows your ZX80 to read and write to an SD card, although this requires a special kit for the ZX80. An emulator such as EightyOne will simulate a real ZX80 with a ZXPand.

Some minor amends to the true / false section
Source Link

The ZX80 [i]returns[/i]returns -1-1 if true or 00 if false. In order to do a not equals, one must use the following:

 10 LET A$="1"
 20 LET B$="2"
 30 IF NOT A$=B$ THEN PRINT "NOT EQUALS"
 40 IF A$=B$ THEN PRINT "EQUALS"
 50 PRINT 1=2
 60 PRINT 2=2

This wasn't evenmight not have been such a formalised thing in 1980, so standard in could mean reading from the keyboard to a variable or from a cassette player (or the virtual equivalent) - and standard out could mean writing to the screen, or storing data to a variable, or recording data to a cassette tape (or again virtual equivalent).

The ZX80 [i]returns[/i] -1 if true or 0 if false. In order to do a not equals, one must use the following:

 10 LET A$="1"
 20 LET B$="2"
 30 IF NOT A$=B$ THEN PRINT "NOT EQUALS"
 40 IF A$=B$ THEN PRINT "EQUALS"

This wasn't even a thing in 1980, so standard in could mean reading from the keyboard to a variable or from a cassette player (or the virtual equivalent) - and standard out could mean writing to the screen, or storing data to a variable, or recording data to a cassette tape (or again virtual equivalent).

The ZX80 returns -1 if true or 0 if false. In order to do a not equals, one must use the following:

 10 LET A$="1"
 20 LET B$="2"
 30 IF NOT A$=B$ THEN PRINT "NOT EQUALS"
 40 IF A$=B$ THEN PRINT "EQUALS"
 50 PRINT 1=2
 60 PRINT 2=2

This might not have been such a formalised thing in 1980, so standard in could mean reading from the keyboard to a variable or from a cassette player (or the virtual equivalent) - and standard out could mean writing to the screen, or storing data to a variable, or recording data to a cassette tape (or again virtual equivalent).

Added in scoring now I've realised the best way to get the program bytes
Source Link

The ZX80 BASIC has a limited interpreter which lacks many keywords and has only upper-case characters and an inversed version of those upper-case characters. Its character set is non-ASCII compliant, and generally will only read and write to the screen[1]screen1 and cassette tape. There are no ways to draw to the screen without the enhanced ZX81 ROM unless one PRINTs to the screen, or works out where the DFILE (screen location) is in RAM and POKEs individual bytes to the screen. The recent ZXPand allows your ZX80 to read and write to an SD card, although this requires a special kit for the ZX80. An emulator such as EightyOne will simulate a real ZX80 with a ZXPand.

Truthy/Falsey

Truthy/Falsey

Animation

Animation

Color [SIC] text/graphics

Color [SIC] text/graphics

Obfuscating and minimizing listings

Obfuscating and minimizing listings

Standard input/output

Standard input/output

Unconditional loops

Scoring

The easiest way to know how many bytes your ZX80 program listing (in the BASIC interpreter) are counted is by using the SAVE command and the Eighty One Emulator. Start the emulator on ZX80 mode; you will need the keyboard helper thanks to Sinclair's wonderful "one-touch" BASIC entry system. In the Tools menu, ensure that you have the Tape manager... enabled (alternatively, CTRL + F9).

Now save an empty file by pressing E and NEW LINE [Enter on your PC keyboard]. In the Tape manager window, you will see how much an empty file takes as it will save all current memory even if there is no program there. It should say 41 Bytes, though this may differ if you have 16K enabled.

Now enter your program.

 10 PRINT "HELLO"
 20 GO TO 10

should be 58 bytes saved, so that program is 17 bytes in size, as follows:

  • two bytes per line number (10 and 20 is four bytes);
  • one token each for the PRINT and GO TO;
  • "HELLO" is seven bytes;
  • two bytes for the 10 in line 20 (GO TO 10)
  • and one byte per line for the line break

Unconditional loops

Yes, the GO TO keyword exists.

Object Orientation

Object Orientation

The ZX80 BASIC has a limited interpreter which lacks many keywords and has only upper-case characters and an inversed version of those upper-case characters. Its character set is non-ASCII compliant, and generally will only read and write to the screen[1] and cassette tape. There are no ways to draw to the screen without the enhanced ZX81 ROM unless one PRINTs to the screen, or works out where the DFILE (screen location) is in RAM and POKEs individual bytes to the screen. The recent ZXPand allows your ZX80 to read and write to an SD card, although this requires a special kit for the ZX80. An emulator such as EightyOne will simulate a real ZX80 with a ZXPand.

Truthy/Falsey

Animation

Color [SIC] text/graphics

Obfuscating and minimizing listings

Standard input/output

Unconditional loops

Yes, the GO TO keyword exists.

Object Orientation

The ZX80 BASIC has a limited interpreter which lacks many keywords and has only upper-case characters and an inversed version of those upper-case characters. Its character set is non-ASCII compliant, and generally will only read and write to the screen1 and cassette tape. There are no ways to draw to the screen without the enhanced ZX81 ROM unless one PRINTs to the screen, or works out where the DFILE (screen location) is in RAM and POKEs individual bytes to the screen. The recent ZXPand allows your ZX80 to read and write to an SD card, although this requires a special kit for the ZX80. An emulator such as EightyOne will simulate a real ZX80 with a ZXPand.

Truthy/Falsey

Animation

Color [SIC] text/graphics

Obfuscating and minimizing listings

Standard input/output

Scoring

The easiest way to know how many bytes your ZX80 program listing (in the BASIC interpreter) are counted is by using the SAVE command and the Eighty One Emulator. Start the emulator on ZX80 mode; you will need the keyboard helper thanks to Sinclair's wonderful "one-touch" BASIC entry system. In the Tools menu, ensure that you have the Tape manager... enabled (alternatively, CTRL + F9).

Now save an empty file by pressing E and NEW LINE [Enter on your PC keyboard]. In the Tape manager window, you will see how much an empty file takes as it will save all current memory even if there is no program there. It should say 41 Bytes, though this may differ if you have 16K enabled.

Now enter your program.

 10 PRINT "HELLO"
 20 GO TO 10

should be 58 bytes saved, so that program is 17 bytes in size, as follows:

  • two bytes per line number (10 and 20 is four bytes);
  • one token each for the PRINT and GO TO;
  • "HELLO" is seven bytes;
  • two bytes for the 10 in line 20 (GO TO 10)
  • and one byte per line for the line break

Unconditional loops

Yes, the GO TO keyword exists.

Object Orientation

Source Link
Loading
Post Made Community Wiki by Shaun Bebbers