NexTest
NEXTEST v2.0A User Guide
Welcome
NEXTEST is a test application for the ZX Spectrum Next. It automatically checks the SRAM and SD card transfer bus, while allowing the user to verify input devices manually. It is included on the official distro in C:/EXTRAS/NEXTEST/NEXTEST.NEX
The test duration is left to the user's discretion and may range from minutes to several hours of soak testing.
Requirements
- Runs under NextZXOS v2.1 or later.
- Requires core v3.00.00 or later.
- Compatible with all CPU speeds and video mode configurations.
- Detects systems with 1MB or 2MB RAM.
- The SD card used to launch `NEXTEST.NEX` must remain inserted during testing.
- A mouse is recommended but not required.
Configuration
- Default CPU speed is set to 28MHz at startup.
- Speed drops to 3.5MHz if the expansion bus is enabled.
- Respects user configuration for machine timing, video mode, and refresh rate.
- NMI/Multiface and turbo shortcut key are disabled while running.
- Both joystick ports are set to Mega Drive mode to support multi-button gamepads.
- Power-off or reset is required to exit.
- SD card is treated as read-only – no file writes are performed.
Startup
The application performs several quick checks during startup:
- Data and address bus verification.
- CRC check on the application binary.
- Checks for:
* Operating system version * Core version * SD card * Video mode * Machine identity
The application relocates into the 16K bank shared with the ULA. This memory is shadowed in FPGA BRAM for additional protection against SRAM issues.
Note: The CRC status should read PASS. A failed CRC indicates a corrupt application and unreliable results.
Display
- Uses a 640×256 screen layout.
- System information is displayed at the top in a large font.
- Test results and status appear below in a smaller font.
- Green text = pass; Red text = fail.
- A multi-colour ZX Spectrum Next graphic is displayed centrally.
- On fatal errors, a black "stop screen" with a bold white error message is shown.
- Reset or power-off is required to exit a fatal error screen.
Navigation
- A mouse is required to change:
* CPU turbo speed * Refresh rate * Machine timing
- Tooltips are displayed in the top-left when hovering over active areas.
- Left and right mouse buttons cycle through configurable parameters.
- Tooltip text shows warning messages if a mode is locked.
- The 3.5MHz speed is displayed as 3MHZ.
Automatic Tests
Background tasks run continuously, regardless of user input:
- SRAM bit inversion write/verify
- DMA write/verify
- SD card read/verify
- Real-time clock (RTC) poll using the NextZXOS API
- Background tests loop indefinitely.
- Completion time varies with CPU speed.
- Memory bank ID, SD card block, and RTC status are updated in real-time.
- Memory errors at or above bank 95 are shown as 95 in the bottom-right.
- SD card CRC checks are disabled at 3.5MHz.
Manual Tests
The following inputs are monitored and displayed in real-time:
- Keyboard
- Mouse
- Joystick
- Board buttons
Kempston Joystick
- Inputs shown as:
* '1' when pressed * Initial letter of the direction/button when released
- Letters used:
* SACBUDLR = Start, A, C, B, Up, Down, Left, Right
Kempston Mouse
- X range: 0–319
- Y range: 0–255
- Scroll wheel: hex 0–F
- Buttons:
* '1' when pressed * Initial letter when released: LMR = Left, Middle, Right
Note: Mouse pointer may be invisible at display edges.
Keyboard
- Keys flash until pressed
- I/O port number for each group is shown
- All keys (including extended and shifted combos) are translated and shown on the graphic
- Pressed keys turn red; a stuck key stays red
Audio
- 3.5mm jack outputs a looping audio track streamed from the SD card
- HDMI audio is supported (if display device allows)
- Glitches are normal when switching refresh rate or machine timing
Fatal Errors
Each of these messages appears as a stop screen. A system reset or power-off is required.
CORE V.3.00.00 OR ABOVE REQUIRED NEXTZXOS 2.01 OR ABOVE REQUIRED ESXDOS API ERROR NEX LOAD ERROR FILE ERROR FILE FRAGMENTATION ERROR DISK FILEMAP ERROR SD CARD STREAM ERROR SD CARD NOT READY DATA BUS ERROR ADDRESS BUS ERROR
Credits
- Design and development: Kev Brady
- Music: "Humanoids" written and produced by Kev Brady
(c)2023 9bitcolor