HDMI for KS2 Machines

As the KS2 machines are being delivered, AA (core designer) posted important info on Facebook; we repost it here as it’s important for all backers to see it:

In update 31 under heading “HDMI Timings” ( https://www.kickstarter.com/…/zx-spectrum…/posts/3889148 ) we spoke about a beta core 3.02.01 which fixes hdmi timing on KS2 Spectrum Nexts that was developed after the deadline for manufacture. Obviously this is not included with the machines that were shipped. Enough people are asking about it now that I’ll post some information here on how you can try it out. The whys and hows for the HDMI fix are explained in the article.

The FPGA hardware design is stored in the file “TBBLUE.TBU” on your sd card. It does no good there because the FPGA needs to read teh design from a flash chip when it powers up. “Updating” is the process of copying the hardware design from “TBBLUE.TBU” to the FPGA’s flash chip.

Assuming you’ve already got HDMI working, here’s how we go about it:

1. Plug SD card into PC.

2. Rename “TBBLUE.TBU” to “TBBLUE.TBU.BAK” in case you want to go back later.

3. Download the beta 3.02.01 core from gitlab. Here’s a direct link:

https://gitlab.com/thesmog358/tbblue/-/raw/master/TBBLUE.2.HDMI.TBU?ref_type=heads

4. Write this file to the SD card as “TBBLUE.TBU”.

There is now a new hardware design in the “TBBLUE.TBU” file but it needs to be copied to the flash chip.

Take this opportunity to put some test programs on the SD card as well. Download tap version of the following programs and put them on the SD card unzipped.

Aquaplane

https://spectrumcomputing.co.uk/entry/227/ZX-Spectrum/Aquaplane

Old Tower (128K version)

https://spectrumcomputing.co.uk/entry/34458/ZX-Spectrum/Old_Tower

Rage

https://www.pouet.net/prod.php?which=1929

5. Eject the SD card from the PC.

6. Put the SD card back into the Next and hold U while powering up.

This should bring you to the “Updater” screen. For KS2 users it should say “ZX Next Issue 4, Slot 01, Version 3.02.01”.

7. Answer Y to upgrade.

8. After some time, the upgrade will finish and you will be asked to power down the machine.

Power down and wait 10 seconds. This is to make sure the FPGA is fully unpowered. Issue 2 owners have been advised to unplug the HDMI cable to ensure the board powers down. This should not be necessary with the KS2 machines because the new pcb blocks back power through the HDMI connector.

9. Power up again taking note of the core version printed in the lower right of the splash screen. It should read 3.02.01.

HDMI will be generated in the following video modes: VGA-0, VGA-1 and HDMI. In all others, HDMI output will be disabled. On this beta core, HDMI is treated the same as VGA-0. If your HDMI display does not get along with VGA-0, then you’ll want to try VGA-1. You can use the video test card to change VGA modes but for this beta core, I’d recommend making the changes directly on the SD card instead.

a) Plug SD card into PC.

b) Edit file /machines/next/config.ini

c) Change the “timing=?” line to “timing=0” or “timing=1” or “timing=7”. (VGA-0, VGA-1, HDMI)

d) Save file and eject SD card.

When the Next boots up, the new video mode will be active.

You can go back to the 3.02.00 core at any time by repeating the upgrade steps above after renaming your backup file “TBBLUE.TBU.BAK” to “TBBLUE.TBU”. Make sure “timing=7” in the config.ini file too.

======

Since you had HDMI working before you started, “timing=7” in config.ini, and you will be testing VGA-0 first.

You are looking for a stable picture and stable sound in every video frame the Next produces:

* 50 Hz 48K Spectrum

* 60 Hz 48K Spectrum (ntsc)

* 50 Hz 128K Spectrum

* 60 Hz 128K Spectrum (ntsc)

* 50 Hz Pentagon

The Next normally runs in the 50 Hz 128K Spectrum video frame. You can swap between 50 and 60 Hz at any time by pressing F3 (hold yellow nmi button on left and tap 3. On PS/2 Keyboards F9+3 works and so does F3 in this case).

Spectrum games are written for PAL so the 50 Hz frames are the most important.

Each time the video frame changes, the PLLs on the FPGA must relock so it is normal to get a brief blank when this happens. The picture should always be stable otherwise. For example, since the Spectrum Next normally operates with a 50 Hz 128K video frame, if you load a game that is for the 128K Spectrum, there will be no blank because the frame doesn’t change. If you choose to play a 48K game, there will be a blank when then Spectrum Next changes to the 48K frame and again after you reset and the Next changes from the 48K frame back to the 128K frame.

(A) 48K Spectrum Video Frame

Find Aquaplane in the browser and select it. In the tap menu, press 4 to choose 48K. At the main game menu the cyan horizon should extend horizontally into the border. There should be no breaks between the cyan on the main screen and the cyan in the border.

Press F3 to switch to 60 Hz. Everything will be messed up but you’re looking for a stable picture and sound. F3 again to go back to 50 Hz. Reset to get back to the file browser (short press of the red reset button on left or F4).

(B) 128K Spectrum Video Frame

Find Old Tower in the browser and select it. In the tape menu, press 1 to choose 128K. The game should display as shown on youtube https://www.youtube.com/watch?v=kFaSzVUVRfY . At the 16 second mark you will see the rainbow effect on the Old Tower logo. This should be the same.

Press F3 to switch to 60 Hz. Everything will be messed up (including the music) but you are looking for a stable picture and sound. F3 again to go back to 50 Hz. Reset to go back to the file browser.

(C) Pentagon Video Frame

Find Rage in the browser and select it. In the tap menu, press P to choose Pentagon. Press R to run the demo. This is a demo that will either crash or display improperly if the video frame is not correct. The critical timing stuff happens near the end of the demo starting at the 2:32 mark of https://www.youtube.com/watch?v=d4iniDyoseE .

There is no 60 Hz frame for the Pentagon.

If the video is not stable for all these modes, try again on VGA-1.

======

Let us know how it works for your display.