Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

SE BASIC update

62 views
Skip to first unread message

Andrew Owen

unread,
May 17, 2012, 4:34:49 PM5/17/12
to
In case anyone is interested in testing it, SE BASIC 3.08 is available:

http://dl.dropbox.com/u/15659782/opense.rom

The main features remain:

* Free Open Source Software (GPLv2)
* Overall fastest version of Sinclair BASIC - fully optimized for speed
* Fastest and most user friendly editor - with extra editing commands
* AY support including pseudo-interrupt driven sound
* ULAplus support including a default palette and new commands
* 8-bit character set support including printing characters 24-31
* Direct machine code calls
* BASIC access to LDIR
* Hex and Octal number entry
* Decimal to Hex string conversion
* Intelligent error trapping - OK and STOP are not errors
* More room for BASIC programs and line numbers up to 16383
* Improved SCREEN$ handling for UDGs and 8-bit character sets
* Improved floating-point library - faster and more accurate
* Remains compatible with the majority of Spectrum software and hardware
* Ability to use reserved words as variable names during tokenization

Here's what's changed since last year (v3.03):

* Minor optimization
* Changed commands GO SUB > GOSUB, GO TO > GOTO, ON ERR > ON ERROR
* Now uses CLUT 0 on boot
* EDIT key replaced with TAB key
* Insert mode cursor now uses character 128
* Cryptic credits changed
* Cursor handling modified to deal with the removal of the EDIT key
* Fixed the tokenizer bug: <=, <>, >= are now handled correctly
* EDIT with no parameters now edits the last line entered
* Fixed the bug in handling keywords beginning with IN
* INK is no longer available as an alternate command to PEN
* Contents after REM no-longer tokenized
* Improved compatibility

I'm just waiting for Chris Smith to sort out his HSL version of ULAplus
so I can pick a new default 64 colour palette that looks ok with HSL and
RGB displays. That will probably be the final version, but never say never.

rogerjowett

unread,
May 18, 2012, 8:02:34 AM5/18/12
to
do we get interlaced screen$ modes
what screen modes does ula+ boast?
timex hi colour 8 pixel attributes like sam coupe mode 2?
timex hi res 12kb 512x192 monochrome mode sam coupe mode 3 has 4
colours and can have 16 screens in 512kb of internal ram

Chris Young

unread,
May 18, 2012, 1:33:29 PM5/18/12
to
On Thu, 17 May 2012 21:34:49 +0100 da kidz on comp.sys.sinclair were rappin'
to MC Andrew Owen:

> * INK is no longer available as an alternate command to PEN

Shirley PEN should no longer be available as an alternate command to
INK? As INK is the Sinclair BASIC standard.

What's with the black background on startup?

Chris


--
+-------------------------------------------+
| Unsatisfactory Software - "because it is" |
| http://www.unsatisfactorysoftware.co.uk |
| Your Sinclair: A Celebration |
+- http://www.yoursinclair.co.uk -----------+

DISCLAIMER: I may be making all this stuff up again.

Andrew Owen

unread,
May 19, 2012, 3:23:34 PM5/19/12
to
On 18/05/2012 13:02, rogerjowett wrote:
> do we get interlaced screen$ modes
> what screen modes does ula+ boast?
> timex hi colour 8 pixel attributes like sam coupe mode 2?
> timex hi res 12kb 512x192 monochrome mode sam coupe mode 3 has 4
> colours and can have 16 screens in 512kb of internal ram

SE BASIC is a ROM. What you get with ULAplus depends on who implemented it.

Andrew Owen

unread,
May 19, 2012, 3:25:43 PM5/19/12
to
On 18/05/2012 18:33, Chris Young wrote:
> On Thu, 17 May 2012 21:34:49 +0100 da kidz on comp.sys.sinclair were rappin'
> to MC Andrew Owen:
>
>> * INK is no longer available as an alternate command to PEN
>
> Shirley PEN should no longer be available as an alternate command to
> INK? As INK is the Sinclair BASIC standard.

PEN is the standard on the SAM. SE BASIC is a mash-up of the ZX81 ROM
and SAM BASIC.

> What's with the black background on startup?

Requested by the majority of users. But it's open source so you can
restore the black on white standard.

Many thanks again for all the beta testing. :)

Chris Young

unread,
May 19, 2012, 5:38:09 PM5/19/12
to
On Sat, 19 May 2012 20:25:43 +0100 da kidz on comp.sys.sinclair were rappin'
to MC Andrew Owen:

> SE BASIC is a mash-up

Getting down wiv da kidz!

> > What's with the black background on startup?
>
> Requested by the majority of users.

Interesting. I'd have thought this would cause compatibility problems
with badly-written BASIC programs. ie. ones that fail to set both INK
(or PEN) and PAPER.

> Many thanks again for all the beta testing. :)

np. I hadn't used it for ages so I thought I'd better give the latest
a quick whirl.

Andrew Owen

unread,
May 19, 2012, 6:01:17 PM5/19/12
to
On 19/05/2012 22:38, Chris Young wrote:
> On Sat, 19 May 2012 20:25:43 +0100 da kidz on comp.sys.sinclair were rappin'
>>> What's with the black background on startup?
>>
>> Requested by the majority of users.
>
> Interesting. I'd have thought this would cause compatibility problems
> with badly-written BASIC programs. ie. ones that fail to set both INK
> (or PEN) and PAPER.

It does. There are also compatibility problems with badly-written m/c
programs. But it's Free Open Source Software, so you just have to patch
around that. :)

roger...@gmail.com

unread,
May 21, 2012, 12:05:13 PM5/21/12
to
no DMA support for MB-02+
multi tech screen modes for speccy similar to hi colour timex mode but uses dma to do mad things with 32 attributes on scan line
cant use rotated screen with 384x256 pixels for text mode?
push'ed text pages isn't it easier to get 16 pixels onscreen using push and sp in video ram area going backwards up thirds of the screen

BloodBaz

unread,
May 25, 2012, 8:28:53 PM5/25/12
to
On Thursday, May 17, 2012 9:34:49 PM UTC+1, Andrew Owen wrote:
> * Changed commands GO SUB > GOSUB, GO TO > GOTO, ON ERR > ON ERROR

Reminds me of BBC BASIC which required GOTO and GOSUB as single words without the space.

jgharston

unread,
May 26, 2012, 7:36:23 AM5/26/12
to
BloodBaz wrote:
> Andrew Owen wrote:
> > * Changed commands GO SUB > GOSUB, GO TO > GOTO, ON ERR > ON ERROR
>
> Reminds me of BBC BASIC which required GOTO and GOSUB as single words
> without the space.

I think all Basics that didn't use single-key entry use GOTO
and GOSUB. There's only a space in Sinclair Basics because
you don't type them character by character, but by pressing
a single key.

JGH

Geoff Wearmouth

unread,
May 26, 2012, 2:32:04 PM5/26/12
to
On May 26, 12:36 pm, jgharston <j...@arcade.demon.co.uk> wrote:

> I think all Basics that didn't use single-key entry use GOTO
> and GOSUB. There's only a space in Sinclair Basics because
> you don't type them character by character, but by pressing
> a single key.

The original 1964 Dartmouth BASIC had a space in the 'GO TO'
command but not in 'GOSUB'. The Spectrum ROM author received
the manual for this BASIC from his programmer father when he was 16.
Andrew recently uploaded the manual to World of Spectrum (WOS).
He also uploaded the 1977 ECMA Minimal BASIC standard which
allows as many spaces as you wish between 'GO' and 'SUB' or 'GO' and
'TO'.

"We illustrate further details of the syntax by considering some ex-
amples. In Section 12 we find the production
gosub -statement = GO space* SUB line-number
which indicates that a "gosub-statement" consists of the letters G,
O, any number of spaces, S, U, and B followed by a line number."

The ZX80 had spaces in both keywords but these were removed for the
ZX81/TS1000 as ROM space was tight. They were restored in the ZX
Spectrum.

My GW03.rom tokenizer only allows one optional space. I may take
advantage
of the current rewrite to allow more. :-)


Andrew Owen

unread,
May 27, 2012, 4:22:27 AM5/27/12
to
On 26/05/2012 19:32, Geoff Wearmouth wrote:
> On May 26, 12:36 pm, jgharston<j...@arcade.demon.co.uk> wrote:
>
>> I think all Basics that didn't use single-key entry use GOTO
>> and GOSUB. There's only a space in Sinclair Basics because
>> you don't type them character by character, but by pressing
>> a single key.

I'm sure I've seen other BASICS that use GOTO and GOSUB but DEF FN.

> The original 1964 Dartmouth BASIC had a space in the 'GO TO'
> command but not in 'GOSUB'. The Spectrum ROM author received
> the manual for this BASIC from his programmer father when he was 16.
> Andrew recently uploaded the manual to World of Spectrum (WOS).
> He also uploaded the 1977 ECMA Minimal BASIC standard which
> allows as many spaces as you wish between 'GO' and 'SUB' or 'GO' and
> 'TO'.

Well, strictly speaking I emailed them to Martijn. If you just upload
stuff it sits in the queue until Martijn has time to look at it.
Dartmouth seems to be somewhat inconsistent about the use. Minimal
treats GOSUB as one keyword and GO as another, much like ON, which can
be followed by other keywords.

Andrew Owen

unread,
May 28, 2012, 5:10:06 AM5/28/12
to
A further update. 3.1.2 now fixes the recursive DEF FN bug (discovered
and fixed by mcleod_ideafix):

http://www.worldofspectrum.org/forums/showpost.php?p=571283&postcount=15

Andrew Owen

unread,
May 28, 2012, 6:33:29 PM5/28/12
to

Chris Young

unread,
May 29, 2012, 2:31:52 AM5/29/12
to
On Mon, 28 May 2012 23:33:29 +0100 da kidz on comp.sys.sinclair were rappin'
to MC Andrew Owen:
What's the zxc3.rom?

Andrew Owen

unread,
May 29, 2012, 3:42:16 AM5/29/12
to
On 29/05/2012 07:31, Chris Young wrote:
> On Mon, 28 May 2012 23:33:29 +0100 da kidz on comp.sys.sinclair were rappin'
> to MC Andrew Owen:
>
>> And the official release is at:
>>
>> http://sourceforge.net/projects/sebasic/files/sebasic-3.1.2.tar.gz/download
>
> What's the zxc3.rom?

That's a special version for Paul Farrow's ZXC3 flashable IF2 carts.
ZXC3 requires the last 64 bytes of the ROM to be unused. Just so happens
that's the same length as the old palette data. Unfortunately I had to
throw out the palette data, so it's now missing the recurssive DEF FN
bug fix. Other than that, and having the cursor and font data earlier
than normal, it's functionally the same as the standard version. There's
a note in the ChangeLog.

0 new messages