# Hardware test

Use [R7](../releases/r7-unified/README.txt) for the unified TF030/68000 release.
The owner retested the exact image on 2026-09-16, reported it works and approved
release promotion. Keep the [preferred standalone R3](preferred-60mhz.txt)
for the SEC000 comparison and rollback: its ArmourGeddon test passed earlier
that day. This branch retains the XC3S400-PQ208 six-SRAM pinout.
The original and first image failed to boot at 60 MHz on the user's board.
R2 booted at 60 MHz, but later testing found Workbench graphics residue and
game crashes. R3 removed the reported Workbench corruption and Toki appeared
stable, with persistent feet flicker in turbo. The user reports solid 60 MHz
operation on R4 and Alien Breed looking clean; the Toki strobe is unchanged.
Hardware memory testing and broader game testing are pending. The published
R4 binary is the same image used in this board test.

## Suggested sequence

1. **Cold boot:** repeat power-on boot several times at normal and turbo speed.
   Confirm the released `260915R7` core version (or record the exact version
   of a comparison candidate), memory enumeration, keyboard/mouse,
   video, floppy, and hard-disk access.
   Start NORMAL from a fresh boot: switching from turbo can preserve already
   corrupted memory. Drag the same Workbench icons and launch the same games
   that failed on R2, then repeat from a fresh turbo boot. For the immediate
   R3/R4 comparison, use the same WHDLoad Toki pit, RAM configuration and
   icon tooltypes. Check both NORMAL and turbo; change one variable at a time.
2. **Memory:** run your usual memory test over configured chip, slow, and fast
   RAM. Exercise each installed bank and each memory configuration you use.
3. **Cache/reset:** warm-reset repeatedly, reload Kickstart through the host,
   and boot again. Verify that old ROM data never appears after a reload.
   Repeat with turbo enabled and disabled.
4. **Video/DMA:** run demanding Blitter/Copper demos and games, line drawing,
   scrolling, sprites, and audio together. Check PAL/NTSC modes and scandoubler
   settings you normally use.
5. **Storage:** perform long floppy and hard-disk reads/writes and verify file
   contents. Exercise more than one emulated drive and track stepping limits.
6. **Native mouse:** connect an Amiga quadrature mouse to joystick port 1.
   Check both axes in both directions, left/right buttons and continuous
   movement across counter wraps. Check a digital joystick on the same port.
   If using PS/2 too, its left click selects PS/2; native movement or left
   click selects the DB9 port.
7. **Sustained 60 MHz:** run the workload that previously became unstable for
   at least 30–60 minutes, then repeat warm resets and speed changes.

For a failure, record the image hash, CPU/accelerator, SRAM marking/speed,
memory configuration, PAL/NTSC setting, workload, elapsed time, and whether
the same case fails on the original image. The CPU was reported as a 60SEC000. Its full marking and the SRAM details
would help refine the external timing budget.

## What the regressions cover

- Rectangular/line Blitter data and DMA cycles compared with the original,
  independent bitmap results, stalls, pointer arithmetic/wrap and exhaustive
  minterms. R4 intentionally delays area-D completion; line/no-D timing is
  unchanged. Separate checks cover busy/IRQ timing and immediate restart.
- CPU status polling and back-to-back Blitter jobs through the real bus and
  SRAM bridge, including higher-priority DMA bursts and starvation relief.
- Sprite fetches and Denise scanout under Blitter contention, including
  vertical-position wrap; this does not cover final RGB compositing.
- Audio products/scaling, stereo mixing, and PWM pipeline behavior.
- Autoconfig reset/held-reset/enumeration cases; eight-/nine-bit UART frames.
- Floppy status and SPI mux priorities, all drive-selection/track-step cases,
  FIFO fill/drain/wrap and simultaneous read/write behavior.
- Host SPI writes at the actual 7.09 MHz internal clock with 10 MHz SPI and
  continuous payloads, plus reset commands, address wrap, and version reads.
- Cache startup, byte validity/replacement, all cached banks, repeated and
  short invalidation pulses, pending fills, and slow-to-turbo operation.
- Qualified cache reads with delayed address/data/acknowledgment paths, plus
  CPU/SRAM integration across clock alignments, delayed reads and DMA steals.
- Native quadrature direction, wrap, JOYTEST, buttons, PS/2 selection and
  digital joystick compatibility.
- Vendor DCM simulation of lock/startup, clock ratios, enables, E clock, and
  turbo switching; complete core elaboration against vendor primitives.

These are targeted regressions, not a full Amiga software/system simulation or
an analog metastability/jitter test.
