ZX80 hardware
The screen, colour, graphics and sound hardware of each machine that runs ZX80 BASIC, and where machine-code and data blocks live in its memory.
Sinclair ZX80
Screen modes
The ZX80 has a single 32×24 character display, with the bottom lines reserved for input and reports. The picture is generated by the CPU itself and there is no equivalent of the ZX81's SLOW mode: the screen goes blank while a program runs, and reappears when the program stops or waits at INPUT.
Colour
The ZX80 has no colour hardware — the display is black on white. Individual characters can be shown in inverse video (white on black) using the inverse character set (see the escape codes page).
Graphics
There is no bitmap mode, and the integer BASIC has no PLOT command. Graphics are drawn by printing the charset's block-graphics characters — each character cell is a 2×2 group of block pixels (see escape codes).
Sound
The ZX80 has no sound hardware.
Memory
The whole of the machine's address space, region by region. Zoom in to open a band into the parts it groups, and select a region for its addresses and what sits there.
A ZX80 program can carry machine code or data — memory blocks — by hiding the bytes inside a REM line, so they travel in the single standard .O file that real emulators and hardware load. The bytes live in the program listing itself.
Each hidden-code REM line shows in the editor as a block tab next to the BASIC tab. Open the tab to edit the block's assembly; saving rewrites the hidden REM line, keeping the machine code part of the program. Add a block with the + button, or import a .O that already holds one and the IDE gives it a tab.
A block's address is fixed by where its REM line sits — the address is shown in the block tab and can't be typed in; move the REM line to change it. You can mark a block as code or data and name it; those labels are remembered in the project bundle.
One ZX80 caveat: a line ends at a newline byte, so a block can't hold that byte (0x76, the Z80 HALT opcode) — the editor tells you if your code hits this. Because the bytes ride in the listing, they export and import with the ordinary .O file and run on a real ZX80 unchanged.
See the machine code guide and the cross-dialect Machine code & data blocks overview. Every mnemonic, directive and operand form the assembly editor accepts is in the Z80 assembly reference.