System/Next v.1.03 – Core 2.00.28 + Alpha Core v.3.00, Firmware 1.15B, nextZXOS 2.01E!

Where’s the Games Distro?

In short; it got eaten by unforeseen circumstances (See “life”). But starting tomorrow, that too will be available!

SD Card Images site

SD card images suitable to dump straight on an SD card as well as use in ZX Spectrum Next emulators (#CSpect and ZEsarUX) are updated and can be found here http://www.zxspectrumnext.online/cspect/(together with some other goodies)

Latest distribution is always found at http://www.specnext.com/latestdistro/

So here’s the latest distribution with everything you need to get your Next updated and running!

OBLIGATORY DISCLAIMER: READ THIS POST IN ITS ENTIRETY BEFORE ASKING FOR HELP

KIND REMINDER

We also now have a git repo which means you can always find the latest and greatest changes to the distribution (sometimes things change by the minute too!) and also contribute (but first read the readme.md file in the git regarding that!)


Git repo is located here at gitlab.com :

In the links below you will find the System/Next v.1.03 SD card distribution containing the following changes over System/Next version 1.00:

System Software & Hardware Features

  • New Firmware file 1.15b which adjusts loading of config.ini file to conform with the new folder structure (c:/machines/next/).
  • Updated NextΖΧOS 2.01E with a lot of bug fixes, updated MF code, fixed detection of partitions and new overlay reorganization as well as full preparation for the changes introduced with the 3.xx core train! Several changes regarding compatibility with loading of legacy software and snapshots. As always in two versions: one with Geoff Wearmouth’s Looking Glass v. 1.07 48K ROM and one with the standard ZX Spectrum 48K ROM!
  • Brand new completely refactored 3.00 Core in alpha version for testing and bug reports located in c:/cores/ . Core 3.00 alpha 8 is a complete re-implementation of the ZX Spectrum Next Core from the ground up to improve on compatibility with older peripherals, gradually introduce higher speeds (28MHz looks likely finally), better integrate the Pi and introduce a myriad of capabilities like 320×256 ULA and L2 etc. **PLEASE SEE NOTICE ON USING AND UPGRADING TO THE 3.00 CORE***

Tools

  • Updated .boot by David Saphier
  • Updated .more by Marco Varesio
  • Updated .config (now supporting MegaDrive joypads) by Allen Albright

Games

  • Updated NextOID by Lampros Potamianos, now in .NEX format.
  • Added Angry Bloaters! also by Lampros Potamianos!

Installation

Prepare the card as per the instructions here. Firmware file will be replaced.

********BIG LETTER WARNINGS*********

USERS OF FlashAir CARDS are advised to perform ALL file copy operations locally on their PC/MAC and NOT over the air.

*******IMPORTANT NOTES**********

  • If your current CORE is older than 1.10.10 you may experience issues with your keyboard and/or display. Please follow the expanded instructions in the previous versions of the TBBLUE distributions and the Quick Start guide here to flash your core or the quick instructions on step #2 below. (Try the instructions below first and if you get stuck check the previous versions)
  • Default config.ini settings instruct the ZX Spectrum Next to enter “Testcard” mode. If your machine doesn’t immediately produce an image, wait (or press N on the keyboard) until an image shows..  YOU ARE STRONGLY ADVISED TO EXPERIMENT WITH DIFFERENT DISPLAY SETTINGS (Display modes 0 to 7 that is) TO ACHIEVE THE BEST RESULTS FOR YOUR DISPLAY. HDMI mode (7) ALTERS THE TIMINGS SLIGHTLY AND CERTAIN -OLDER- PROGRAMS MAY NOT DISPLAY PROPERLY (especially certain Demos). VGA modes (Settings 0…6) ARE  timing accurate although the user may experience faster execution as each setting with the exception of 0 makes things faster (but keeping timings relative)

Flashing the new core

1. For people with functioning keyboards after boot and/or membranes (but which also have PS/2 keyboards)

Let the machine boot normally, then press and hold U on your PS/2 keyboard, then tap momentarily on F1 (still holding U) and release U when you see the updater module. Press Y, wait until all flashing is completed, then power down the Next and REMOVE ALL CABLES. Wait a little and then plug everything back up again. If you have a VGA you need to replace your config.ini (see above) or edit it and set the second number after the machine type to 0. If you’re in Brazil, Japan, the USA or Canada or any country that uses normally an NTSC TV signal (or a PAL 60 signal), chances are your monitor only supports 60Hz, so go ahead and tap F3 now -or alternatively you can change the [50_60] setting to 1 from config.ini or by editing the settings at boot time with the EDITOR module (Press SPACEBAR when prompted on boot then press to edit your settings)

2. For people with Perixx PS/2 keyboards and/or keyboards with a similar controller on board AND people with membranes that are not functioning or having trouble entering the UPDATER module.
  • Enter AntiBrick (AB) mode by removing all cables (including HDMI), pressing and holding M1 and Drive (simulaneously), then reapplying power (no HDMI or VGA yet) waiting a few seconds (2-3) and releasing the buttons, then reconnecting the display lead that worked for you previously. Press Y for update. If Ycannot be pressed then the press M1 button for or Drive button for N
  • Follow the instructions in Step 1 to boot the system.

Flashing and using the experimental/alpha 3.00 Core

It is better that you use the AntiBrick (AB) mode to flash this core (see instructions above).

Core v.3.00 features (not an exhaustive list)

CPU

  • no slow downs

ULA

  • Pixel scrollable in the x and y directions
  • the 128k second display file no longer causes slow down and is compatible with layer 2
  • A known alternative ULA Extension mode is implemented with the palette mapped to the top 64 entries of the Next’s Enhanced ULA palette

COPPER

  • Speed doubled to 28MHz from 14MHz
  • The display pipeline now samples important display related settings at the start of a pixel’s generation

LAYER 2

  • Layer 2 and the shadow buffer can now point at any page in memory. There is no longer any restriction to the first 512k sram.
  • Port $123B is changed somewhat: MM00SREW
    E = 1 to enable layer 2 display
    W = 1 to enable write only mapping of layer 2 memory over the bottom 16k
    R = 1 to enable read ony mapping of layer 2 memory over the bottom 16k
    S = 1 to map the shadow layer 2 memory instead of the active layer 2 memory
    MM = 00 to map the first 16k of layer 2 over the bottom 16k
    01 to map the second 16k of layer 2 over the bottom 16k
    10 to map the last 16k of layer 2 over the bottom 16k
    11 to map all 48k of layer 2 over the bottom 48k of memory
  • Slow down is no longer applied so that the CPU and DMA can run at the 14MHz rate all the time.

LoRes

  • New 4-bit mode introduced similar to Radastan on the ZX UNO

Internal Speaker/Beeper

  • When enabled, all next audio is now routed to the internal speaker as a trial

UART

  • a second UART mapped to the Pi GPIO is implemented for communication with the Pi

PI GPIO

  • All 28 PI GPIO pins are programmable with output enables, outputs and can be read via NEXTREG
  • Special functions can be overlaid: PWM audio, UART, SPI and I2C. when overlaid, the GPIO function of affected pins is suspended.
  • PWM audio from the Pi can be directed to the internal next audio stream or to tape i/o.

EXPANSION BUS

(STILL A WORK IN PROGRESS)

  • When enabled, the CPU is slowed to 3.5MHz and a set of peripheral enables is activated internally
  • The peripheral Enables selectively disable internal next peripherals to allow external peripherals with port conflicts to be attached.

KNOWN ISSUES / NOTES (Do not report these)

  1. Hard reset (F1, Long press of Reset button, M1+1) is not working. Power off the machine instead.
  2. Machine timing has not been refined. Contention, floating bus etc is implemented but the timing of the video frame is not entered properly yet. This means programs expecting exact timing may not display properly.
  3. The NMI buttons to MF and divMMC are not connected. The MF menu and esxDOS NMI menus are not accessible.
  4. Some extended ULA recoloured programs, are not coloured correctly.

WARNING: Users willing to test, should do that at their own risk knowing there’s a minute chance they may brick their machines. This can only be remedied with a Xilinx platform cable (available on eBay) and should only be practiced by experienced users. If you DO choose to test, please report all findings in the issues section in the gitlab repository (see link above). Please do NOT post notes in the forum or Facebook. It’s impossible to track them all without a proper Issue Tracking mechanism that gitlab does provide. THANK YOU!

To return to the standard (2.00.28) core, use AB mode as well.

Download the distribution

System/Next distribution v.1.03 WITH source code files (zip format) (Download Here)

System/Next distribution v.1.03 WITH source code files (7z format) (Download Here)

System/Next distribution v.1.03 WITHOUT source code files (zip format) (Download Here)

System/Next distribution v.1.03 WITHOUT source code files (7z format) (Download Here)

Credits

Core 2010-2018: Victor Trucco
Core 2019: Allen Albright
Contributors: Jim Bagley, Fabio Belavenuto, Garry Lancaster, Mark Smith

Dreamworld Pogie: Lyndon J Sharp/Phoebus Dokos (WASP –  http://www.wearespectrumprogrammers.co.uk/) / Distributed under License
Orb Run: Matt Davies (https://github.com/next-dev/nx)/ Distributed under License
Spectron 2084: Robin Verhagen-Guest / Distributed under License
Nxtel2: Robin Verhagen-Guest / Distributed under License
nextDAW: Gari Biasillo (http://nextdaw.biasillo.com)
Warhawk: Michael Ware, Jim Bagley, Lobo Trans, Space Fractal / Distributed under License
The Hollow Earth Hypothesis: Lampros Potamianos  (WASP –  http://www.wearespectrumprogrammers.co.uk/) / Distributed under License
Nextoid!: Lampros Potamianos  (WASP –  http://www.wearespectrumprogrammers.co.uk/) / Distributed under License
Angry Bloaters!: Lampros Potamianos  (WASP –  http://www.wearespectrumprogrammers.co.uk/) / Distributed under License
3D Monster Maze, 3D Defender, Trashman: Malcolm Evans / Distributed under License
Hibernated1: Stefan Vogt (http://8-bit.info/) / Distributed under License
cave81: Marco Varesio / Distributed under License
Mouse driver: Tim Gilberts and Chris Cowley
UART driver: Tim Gilberts
RTC driver: Tim Gilberts
PS/2 keymap: Phoebus Dokos  (WASP –  http://www.wearespectrumprogrammers.co.uk/)
NextZXOS: Garry Lancaster (http://www.worldofspectrum.org/zxplus3e/)
Looking Glass: Geoff Wearmouth (https://twitter.com/warmtoffee)
ZX80/81 Emulators: Paul Farrow (http://www.fruitcake.plus.com)
Demos: David Saphier (http://zxbasic.uk/), Geoff Wearmouth, Michael Ware, Jim Bagley, Gari Biasillo, Robin Verhagen-Guest, Darran Rimron
Utilities: Jim Bagley, Geoff Wearmouth, John M Kerr (http://mycodehere.blogspot.com), Kev Brady, César Hernández Bañó
Dot Commands: Allen Albright, Tim Gilberts, Jim Bagley, Garry Lancaster, David Saphier, Gari Biasillo, Victor Trucco, Marco Varesio

SPECIAL ACKNOWLEDGMENTS (Once again, because THRICE is NOT ENOUGH)

The following people made this release possible and I don’t have enough words to thank them!
BUG HUNTING: Kev “The Terminator” Brady. He Hastas La Vistas Bugs!, Tim “Prifathro” Gilberts, Geoff “Warm Toffee” Wearmouth, Garry “Relentless” Lancaster, Allen “Professor X” Albright. Marco “SOD” Varesio, Darran Rimron
BUG FIXING: EVERYONE (Garry, Jim, Allen, Robin “The Unexpected Demon” ,Tim, Michael, Lampros, Gari, Kev, Geoff, David, Marco, Darran)
TESTING: Kev Brady (he doesn’t sleep, honest), Tim “Fampir” Gilberts (he neither!), Gari “I eat Verdi For Breakfast” Biasillo, Marco “z88dk and loving it” Varesio, Darran Rimron and of course Someone Else (not David)™

Thank you guys, I couldn’t have done it without you!!!!!