ZX Console Specifications
Core Specs
| Spec | Value | |------|-------| | Resolution | 960x540 fixed (16:9) | | Color depth | 32-bit RGBA8 | | ROM | 16 MiB total (WASM code + assets) | | RAM | 4 MiB WASM linear memory | | VRAM | 4 MiB GPU textures and mesh buffers | | Tick rate | 30/60/120 Hz netplay; console spec also advertises 24 Hz local-only (verify the pack/runtime path before using 24) | | Max players | 4 | | Alpha | 2-bit Bayer 4x4 |
Render Modes
Choose ONE in nether.toml; it is not a runtime FFI call.
| Mode | Name | Best For | |------|------|----------| | 0 | Lambert | 2D, flat stylized | | 1 | Matcap | Stylized 3D, toon | | 2 | MR-Blinn-Phong | PBR, realistic | | 3 | Blinn-Phong | Retro 5th-gen |
Audio System
| Spec | Value | |------|-------| | Sample rate | 22,050 Hz | | Format | 16-bit signed PCM, mono | | Sound channels | 16 simultaneous | | Music channel | 1 dedicated |
Input (Native Controller State)
The FFI reads the host's native controller state for players 0-3. Physical devices are mapped to those player slots by the host; games consume the deterministic button/axis queries rather than a keyboard or gamepad library.
| Input | Type | |-------|------| | D-Pad | 4-way digital | | Face buttons | A, B, X, Y | | Bumpers | L1, R1 (digital) | | Triggers | L2, R2 (analog 0-1) | | Sticks | Left + Right (analog -1 to 1) | | Menu | Start, Select |
What ZX Excels At
- 3D platformers and action games
- Fighting games (4-player, rollback)
- Racing games
- Third-person adventures
- Split-screen local multiplayer
- Online competitive games
What Requires Planning
- Large open worlds (16 MB ROM)
- Orchestral soundtracks (16 channels)
- Massive texture counts (4 MB VRAM)