Formal Core Test Instructions

From SpecNext official Wiki
Revision as of 22:26, 4 August 2020 by SevenFFF (talk | contribs)
Jump to: navigation, search

Prepare SD Card (Once)

Format a new SD card using the official SD Association Formatter from Use the Overwrite format option.

The test software should be unfragmented on the card. The easiest way to assure this is to copy the files first. Copy these two files into to the /Test/ directory of the card: We will actually only use the RAMTEST.NEX in the format test, but NEXTEST.NEX can run additional useful tests.

Download the fill contents of onto the SD card, preserving the directory structure. This forms your base SD distro for testing.

Only if you are using a ps/2 keyboard, create the file c:/NextZXOS/Config.ini, and add this line in a text editor:


Insert the card and power on the Next while holding V. Pick VGA0 (either 50 or 60, whichever your monitor prefers).

Type D then Enter to delete the welcome autoexec.bas.

Choose NextBASIC from the NextZXOS main menu. Type this program:

  10 CD "c:/Test"
  20 .nexload RAMTEST.NEX
9999 SAVE "c:/NextZXOS/autoexec.bas" LINE 0

GOTO 9999

Power off your Next.

Prepare Test for This Core (Each Time)

The core, firmware or NextZXOS versions you are testing may be newer than the base files from gitlab. If they are, copy these onto your card, overwriting the base files. Rename the core back to TBBLUE.TBU if the file you were given has a longer name with the version included. Rename the firmware back to TBBLUE.FW if the file you were given has a longer name with the version included. You may keep a handy backup of the files with the original longer names in the /cores/ directory.

Connect a ps/2 mouse to your Next, without a mouse splitter. Unless you use a ps/2 keyboard and added the ps2=0, in which case use a splitter.

Connect a VGA monitor which is capable of syncing in all seven video modes. The 50Hz/60Hz setting makes no difference to timings or possible failures, so you don't need to change this during the test. Just pick either 50 or 60, whichever your monitor prefers.

Insert the card into the Next, and do an AB update of the core. This is better than a regular update, as previously updated bad cores may cause a regular update to not get written to the flash correctly.

Kev's formal core test involves filling in a matrix like this. This is an example of a full PASS:

VGA  BOOT  L2  3Mhz  7Mhz 14Mhz 28Mhz SPARKLES

 0   PASS  ON   /     /     /     /     PASS
           OFF  /     /     /     /     

 1   PASS  ON   /     /     /     /     PASS
           OFF  /     /     /     /     

 2   PASS  ON   /     /     /     /     PASS
           OFF  /     /     /     /     

 3   PASS  ON   /     /     /     /     PASS
           OFF  /     /     /     /     

 4   PASS  ON   /     /     /     /     PASS
           OFF  /     /     /     /     

 5   PASS  ON   /     /     /     /     PASS
           OFF  /     /     /     /     

 6   PASS  ON   /     /     /     /     PASS
           OFF  /     /     /     /    

*Boots with expansion bus OFF @ 28Mhz 

As an overview, the formal test involves booting the Next seven times, once in each VGA mode, running RAMTEST.NEX, then cycling through eight permutations of L2 and CPU speed watching for a red fail and sparkles (rapidly changing pixels) in the boxed area.

VGA modes 0..6 each have different timing constraints, any of which may fail for a particular build. Sometimes modes higher than 2 or three fail, and sometimes modes 0 and 6 fail, so remain vigilant for different failure patterns.

The master copy of the test results for all previous builds can be found here. As you will edit this protected page, first ensure you have an approved wiki user with administrator permissions. Talk to Xalior if you need one.

Put the page into edit mode, add a copy of this template at the bottom of the page, replacing <CORE FILE NAME> with the name of the file you are testing:


VGA  BOOT  L2  3Mhz  7Mhz 14Mhz 28Mhz SPARKLES

 0         ON   

 1         ON   

 2         ON   

 3         ON   

 4         ON   

 5         ON   

 6         ON   

*Boots with expansion bus OFF @ 28Mhz

Perform the Formal Test

Hold D while powering on the Next.

Choose Mode 0 (either 50 or 60, whichever displays best).

Type Y to confirm.

Wait for boot. RAMTEXT.NEX should run automatically.

Look at the first line of the matrix (VGA0). This requires Layer 2 ON and 3.5HZ, so choose those both those settings by clicking with the mouse.

Wait for one complete cycle of RAM to cycle (000 to 095). Watch for sparkles (rapidly changing pixels) in the green box the whole time.

If the green stuff on the screen turns red, this combo is a FAIL, otherwise a PASS.

Increase the CPU speed (to 7.5), and repeat for another complete RAM cycle.

Increase the CPU speed (to 14), and repeat for another complete RAM cycle.

Increase the CPU speed (to 28), and repeat for another complete RAM cycle.

Now change Layer 2 to OFF, and repeat the above for all four CPU speeds.

This concludes the VGA0 test. Record individual passes or fails under the CPU Speed column on both lines, using "/" for pass and "x" for fail. If any sparkes were noted then record the speeds you observed them at in the SPARKLES column, otherwise write "PASS" in the SPARKLES column.

If everything passed then write "PASS" in the BOOT column. If you had any fails or sparkles then write "FAIL" in the BOOT column. If the testcard wouldn't even boot in this VGA mode, write "DEAD" in the BOOT column and "N/A" in the 3.5 column.

Power off the Next, and hold D while powering on. This time choose the Next VGA mode (VGA1 or whatever is next), and repeat as above.

Continue until you have finished testing VGA6 mode.

Update <PASS/FAIL> at the top of the results table to indicate the overall pass/failure.

Find the top of the document, and add the full filename as a new entry at the bottom of the bullet point list, preceded by PASS or FAIL. Put it in bold if it passed.

Change the date at the very top of the document to today's date.

Increase the count of cores tested by one in the very first sentence.

Save the document.

If the test passed, inform Allen. It may be suitable for a release candidate.