Community of electronics hobbyists established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 16 Oct 2021 10:04

Reply to topic  [ 1 post ] 
[ZX] SE Basic IV 4.2 Cordelia 
Author Message
User avatar

Joined: 29 Jan 2013 14:43
Posts: 52
Reply with quote
I've tagged this as [ZX], but actually that's really only the starting point because SE Basic 4.2 is intended as the firmware for a completely new FPGA machine that is may more powerful than a humble Spectrum. But the hardware doesn't exist yet. So for now it targets a 128K machine with an SD card device that can run esxDOS, and requires ULAplus, and Timex video modes. Broadly speaking that's an original 128K machine with a SLAM+ ULA in it and a divMMC or divIDE, or a new JS128 clone, or the forthcoming Omni clone, or a ZX-Uno. I know the Russian clones tend not to support esxDOS, but because the file commands are abstracted, and (because the divMMC emulates TR-DOS) all the TR-DOS entry points contain only data, so it might just be possible to create a version that works with TR-DOS instead of esxDOS (well actually UnoDOS 3, but that's another story). As I understand it, the ZX-Evo supports ULAplus, so that might be a viable platform.

So, assuming you can get SE Basic 4.2 running on a ZX-Evo, what does that get you? Well this is what's already implemented:
  • 80 x 24 text console with definable foreground and background colors.
  • Keyboard buffer (fewer dropped key strokes, easier to edit long lines)
  • Improved editor navigation (up and down in an edit line; Del, Home, End, Pg Up, Pg Dn keys)
  • 8-bit fonts. All 256 characters are user definable. Native code page is IBM 437. Windows code pages 1250 to 1255 are also provided.
  • Up to 134 tokens available for functions and commands.
  • Single letter token entry with abbreviations. Any character from code 32 to 255 can also be entered directly using Control or Meta modes.
  • Standard 16 color EGA palette.
  • Data (keyboard lookup, tokens, error messages) stored in RAM. This enables localization in software without recompiling.
  • Error messages are null terminated. This means error messages can contain characters 128 to 255.
  • LET is optional and ' is permitted as a substitute for REM.
  • New system variable stores date and time in POSIX (unsigned) format.
  • Built-in file commands read and write headerless files direct to and from the SD card.
  • Application package format.

SE Basic 4.2 is intended to be broadly compatible with Microsoft BASIC. It's structured in such a way that it should be easy to customize it to use platform specific hardware (like an 80 column text mode with more than 24 rows). It's fully open source and fully commented.

You can learn more about it here:
And you can see the currently released source here:

For those interested in the technical side, aside from the OS ROM there are two 16K ROMs. The first is a boot ROM which sets up the framebuffer in bank 7 and copies the second part of BASIC to RAM. THe second is the first part of BASIC. After initialization, BASIC occupies about the first 24K of RAM. The sceen is always paged out except when it's being written to. This leaves more room to add features to BASIC and prevents the need for constantly swapping ROMs.

Happy to answer any questions and provide support, especially if anyone is interested in adding TR-DOS support.

28 Jul 2019 06:50
Display posts from previous:  Sort by  
Reply to topic   [ 1 post ] 

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  

Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.