NexTest

From SpecNext official Wiki
Jump to: navigation, search
Nextest-screenshot.png

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:

  1. SRAM bit inversion write/verify
  2. DMA write/verify
  3. SD card read/verify
  4. 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

Joystick detail

  • 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