Next SD card v0.5 – NextOS 1.92b

Here’s the preliminary copy of v.0.5 of the TBBLUE SD Distribution containing both a new Core that contains the previous fixes and initial HDMI display fix AND NextOS 1.92b courtesy of Mr. Garry Lancaster, with various bugfixes, least of all, a much improved SLOW LOADER – See the text with the changelog in the root folder.

For instructions on how to update your Core, refer to this article.

1. *NOT ALL* TVs/Monitors will work. If yours worked before without wobble YOU SHOULD NOT apply this TBU. If you had no other trouble YOU SHOULD NOT apply this TBU.
2. For HDMI to work properly for the cases that your TV didn’t lock before but does now with the included TBU, timings NEEDED to be changed. This *will* affect your older games; music may sound faster and/or out of sync slightly among other things.
3. *NOT ALL* issues have been 100% fixed
4. If you’re using VGA, it’s possible that your display will get distorted and/or shifted with this fix. Try it and if it doesn’t work, report below this post what it did and your make and model. Then go back to the firmware in the Factory TBU folder
5. F3/F2 do not work with this TBU

NOTES: There are 3 distinct folders in the distribution: 1st is standard NextOS, second is Speed Reduced NextOS@7Mhz (for users whose keyboards are temperamental) and third is Speed Reduced @ 3.5Mhz (for users whose membranes are real PITA) Start with the first and check if it works before going down the list. All distros are identical except for the NextOS parts.

There is a TBU file in the root folder. This is a new bitstream or CORE as we call it which will replace what you have now and provide the hardware fixes. There are two ways to do this:

1. Standard via Updater Screen. Press F1 (or M1 – 1) and while on the “Press Spacebar… ” etc message hit U to enter the updater. This should happen MAXI 1 second after pressing F1 whether you see a display or not. You may fail a couple of times, so try again. Once in the Update screen, press Y and let the core update the machine.
2. If that fails, there’s the AB (Antibrick) method: This works as follows. Remove power. Press and hold the M1 and Drive buttons. Keep holding and reapply power. Once the update screen appears release the buttons and press Y at the prompt.

IF you find yourself entering a blank screen during either Anti-Brick or Regular updater you can try pressing F3 (M1-3) to switch frequencies from 50/60Hz and vice versa so you can get a picture (Thanks to Mark Green for pointing this out)

 NextOS v1.92 SD Card v0.4 complete image – 4.5Mb (Download here)

v1.92B (2017-12-17)
* Fixed bug in TAP loading causing some games to unnecessarily be loaded using
a slow path, and taking much longer to load (eg Dizzy VII, Thanatos 128).
* Added border feedback during TAP loading which really does require the
slow path to be used (eg Rainbow Islands).
* Fixed the banner in the TAP loader to align stripes correctly.
* Added “erasing…” information message during erase operations in the Browser.

v1.92A (2017-12-14)
* Implemented support for optional tape simulation during TAP file loading
* Increased optional loading screen pause to 5 secs
* Fixes for various non-working TAP files:
+ Out of memory errors (eg Trans Am)
+ Corrected return values for blocks including part of the ROM (eg Rainbow
+ Fix to cope with Chase HQ 128 protection mechanism
* Fix for potential crash if syntax errors generated in IDE_BASIC API call
* Fix for infinite error-checking loop/crash in esxdos emulator if line numbers
greater than 9999 entered
* Fix for crashes if default streams (0..3) left redirected to user-defined
channels at BASIC error reports
* Fix for crashes in renumber routine due to stack corruption
* Fix SPECTRUM command to clear ZX printer buffer before entering 48K mode
* Browser fixes:
+ Fixed path display line to be cleared before updating (broken by v1.92)
+ Added “copying…” information message during copy operations

v1.92 (2017-12-12)
* Implemented support for real-time clock, requiring valid RTC.SYS in the
C:/NEXTOS directory, and a ZX Next with RTC module. This support provides:
+ date/timestamps when SD card files/dirs are created or updated
+ current date and time shown is shown in menus
* Re-write of expanded catalog command (CAT EXP). This now shows dates/times
of files and exact filesizes.
* Updated the IDE_GET_LFN +3DOS call to also return time/date stamps and
exact filesizes.
* Added new IDE_RTC call to query the current date and time.
* Implemented screensaver functionality.
* Added new SPECTRUM SCREEN$ command to select screensaver type and timeout.
* Implemented SPECTRUM CHR$ command to select editor columns (32/64/85).
* Implemented support for LOADing a C:/NEXTOS/AUTOEXEC.BAS program for setting
desired defaults etc.
* Implemented support for LOADing a C:/NEXTOS/RUN.BAS program if RUN is
executed when there is no BASIC program in memory.
* Changed the TILE and BANK…LAYER commands to use the new Z80N opcodes
LDIX/LDIRX for improved performance.
* Fixed NextOS command line and Browser options to respect any user-defined
colour schemes set using the SPECTRUM INK/PAPER/BRIGHT/FLASH/ATTR commands.
* Various fixes for user-defined colour schemes.
* Changed the scroll pause feature for windows to use an inverted block in the
bottom right-hand corner instead of a flashing one, and to accept any key.
* Fixed crash in scroll pause feature if ENTER/CAPS/EXTEND/GRAPHICS pressed.
* Fix loading of 48K SNA snapshots where SP lies between $4000 and $4005. Not
normally seen, but can be created by SNASM.
* Fixed TAP loader to clear all BASIC workspaces to prevent Out of memory errors
loading some games (eg TransAm).

v1.91 (2017-12-05)
* Fix for TILE commands hanging in invalid modes.
* Rainbow stripes in banners now look consistent with original 128K machines.
* Fixed loading of 128K SNA snapshots where page 7 was the “current” page (not
properly fixed in v1.86).
* Added workaround to support some 128K TAPs (eg Thanatos 128K) which load the
stack including returns into the original 128K syntax ROM.
* Fix for error reporting in PLOT command, which previously caused hangs.
* Re-enabled PLAY command (now loaded at boot from new overlay.sys file).
* Re-enabled renumber menu option (also present in overlay.sys).
* Improved dot command handling so that any files left open by the dot are
automatically closed on exit, or if a BASIC error occurs.
* Added installable error handlers for dot commands on RST $8;defb $95.

v1.90 (2017-12-03)
* Fix for RST$18/RST$10 calls in dot commands.
* Fix for command length returned by IDE_BROWSER call if wildcards used.
* Added workaround to allow some snapshots taken on 128/+2 machines whilst
still in 128 BASIC (eg Slightly Magic) to run in the +3/NextOS configuration
by trapping original 128K command class returns in ROM 2 and diverting to ROM 1.
* Fix for NextBASIC banner being left on-screen during direct command execution.
* Fix for crash if dot command executed after a previous dot command had
abnormally terminated (eg BREAK in screen output)

v1.89 (2017-11-30)
* Added remount/mkdir/rename/copy/paste/erase options to Browser
* Added fine-grain control of new Browser features in IDE_BROWSER API call
* Added new BANK…LAYER command for copying data between screen (in current
mode) and memory, with optional raster operations
* Fixed TILE command to not write transparent pixels (NOTE: currently using
standard Z80 instructions rather than faster Z80N ldix)
* Renumber menu option temporarily disabled due to lack of ROM space
* Fixed operation of TAB in text windows, and modes other than LAYER 0
* Fixed AY enable at boot
* Fixed RST $18 (call ROM3 routine) from dot commands

v1.88 (2017-11-26)
* Rewrite of initialisation/NEW code
+ now initialises all 3 AY chips
+ fixed & improved border colour error “reporting” in memory test routine
+ fixed bug where streams 4+ would be left open across a NEW although their
channels may have disappeared
+ ensure required peripheral settings (Timex modes on, DivMMC auto-paging off,
turbo selection on, AYs on, multiface currently disabled)
* Fixed Browser to set the currently-selected drive for LOAD and SAVE operations
as well as general disk operations
* Implemented lower-screen editing for Hi-res, so “screen” editing mode is now
usable in 64/85 column modes
* The NextOS command line menu option now has a persistent mode, so BASIC always
inherits the currently-selected editing mode (unlike the NextBASIC option,
which still has distinct display modes for editing and BASIC)
* Extended mode symbols underneath keys Y,U,P,A,S,D,F,G now available with just
symbol shift+key (copyright symbol is symbol shift+Q since P already has “).

v1.87 (2017-11-23)
* Implemented line input handler for window channels. INPUT # may now be used
with window, file, variable and memory channels as well as the standard “K”
* Implemented new IDE_WINDOW_LINEIN call to perform line input on window channels.
* Implemented new IDE_INTEGER_VAR call to allow any of the new integer variables
to be read or written.
* Implemented new REMOUNT command to allow removal/re-insertion of SD cards
* Fixes to esxdos m_tapein/m_tapeout functions:
+ in_open now automatically closes any current tape file
+ in_setpos fixed to work in blocks
+ undocumented in_getpos functionality added (cf .tapls disassembly)
+ in_pause implemented to allow pause at loading screen
+ added stack protection during tape load trap
+ fully-implemented all possible exit conditions from load trap
+ implemented save trap
* SPECTRUM command (with no parameters) now continues executing statements
instead of terminating with an OK report (needed for TAP helper)
* Added a new TAP file helper program for loading TAPs from the Browser
* Improved system consistency validation: enNextOS.rom, nextmmc.rom and
esxemu.sys now all stamped with current NextOS version number and validated
at boot time.
* Fixed potential memory/stack corruption and hangs when switching between
LAYER 0 and LAYER 1/2.
* Prevented keypress at BASIC report from being passed to the menu system
(typically the user would press ENTER and the first menu item, ie Browser,
would be automatically executed).

v1.86 (2017-11-14)
* Complete re-write of windowing code:
+ Implemented all features in all modes, with the exception of line input
+ Optimised window character output routine in standard and Timex modes
+ Fixed opening window channels with OPEN #
+ Auto-pause is now enabled by default for the LAYER 1/2 screens (but
disabled by default for user-defined windows in all modes)
* Browser optimisations and minor fixes
* Fixed loading of 128K SNA snapshots where page 7 was the “current” page
(NOTE: The BASIC BANK command doesn’t yet respect/use IDE_BANK)

v1.85 (2017-10-27)
* Fixed issue in tokenizer where required spaces were removed after keywords
ending in $ or # (eg CHR$, OPEN#)
* Tweaked esxDOS error messages
* Streamlined available drives boot message
* Updated TILE command to support map widths up to 2048 (previously 256), and
to support 16×16 tiles as well as 8×8 tiles
* Added TILE DIM and SPRITE DIM commands to set clip windows for layer2 and
sprite layer (NB: sprite clip not yet working/available in hardware)

v1.84 (2017-10-25)
* ROMs renamed (nxten2eE.rom -> enNextOS.rom, and p3divmmc.rom -> nextmmc.rom)
NOTE: Don’t forget to update your config.ini to reflect this
* esxDOS emulation layer is now loaded from a file, C:/NEXTOS/ESXEMU.BIN
* Implemented full error reporting for dot commands
* Fixed some issues with parts of dot command names and parameters sometimes
being tokenized (eg /bin would be tokenized with BIN keyword)
* Fixed bug where dot command couldn’t be entered as first statement on a
program line (due to calculator accepting it as an expression)
* Fixed tokenisation problems preventing > and < being accepted in expressions
* Dot commands can now formally be executed from anywhere by starting name
with . or / path character, eg to execute “mycommand” in current directory:
(NOTE: Maximum 32 characters path/name in total)
* Parameterless dot commands supported by updated browser.cfg (if named with
.dot extension)
Credits: Article image of cards piling up by MrGAWN