SE Basic version 0.80a Public Beta Copyright (c) 1982-1987 Amstrad, plc. Portions copyright (c) 1985-2002 by their respective authors. All rights reserved. Amstrad has kindly given permission for the redistribution of its copyright material but retains that copyright. +----------------------------------------------------------------------+ | * * * You must read the license before using this software ! * * * | +----------------------------------------------------------------------+ A brief description of the differences between SE Basic and the default Basic is given at the end of this file, since the manual is not ready yet. With this release I have tried to make it as easy as possible to use SE Basic in a real machine or with your favourite emulator no matter what configuration you are using. If you are planning to burn an EPROM and use SE Basic in a real machine you should make sure you know what you are doing. I will not be held responsible if you fry your machine. If in doubt, ask someone with more experience to do it for you. If you want to run SE Basic on a real machine without modifying your hardware you can use the 48_128.tap file to load SE Basic in RAM. In order to use the file you will need a program that can convert it to sound recogniseable by your Spectrum. On the PC, Taper will do this, and there is also a .tap plug-in for WinAmp. If you are using a 128K machine it is not necessary to select 48 BASIC. Load the program as you would any other software. When it has loaded the machine will appear to reset, but you'll be greeted by the new startup screen. You will only have 32K of RAM, since SE Basic sits in the top 16K, but you will have access to all the new features. Since it is not possible to relocate the Z80's default restart addresses to higher memory, some routines will still be called from the old ROM which can make SE Basic behave slightly strangely at certain times. There are no plans to fix this any-time soon. This version is intended as a demonstration to help you decide if you want to burn an EPROM or not. Some machines have the ability to substitute RAM in place of the standard ROM. If you own a +2A, +3, SAM Coupe, ZX Spectrum SE, or Timex, providing it has 16K of RAM available in the DOCK bank, you will be able to use a file designed for your machine to avoid the 32K limit when runnning SE Basic in software. If you are planning to use SE Basic with an emulator then you will have to find out how your emulator uses ROM files - read the manual! Some emulators can be made to load ROM files in place of the default files. Others will require you to replace the standard ROMs. If you are emulating a 16K or a 48K machine then you can just use the 48.rom file. If you have to replace a standard file to use it you may find you also need to rename it to spectrum.rom or even something else. If you are emulating anything other than a 16K or a 48K machine you will need to find out whether your emulator uses split or combined ROM files. Split files are usually have a number after them (128-0.rom, 128-1.rom) whereas combined files usually just have the name of the machine (plus2.rom). If your emulator uses split files then you need to apply the appropriate editor patch to ROM-0, and replace ROM-1 with a renamed copy of the 48.rom file. If your emulator uses combined files then you need to apply the appropriate editor patch to the file and then apply the 32K.ips patch to file to update the editor and the Basic. If you are emulating a +2A or a +3 then you will need to know what version of the +3 ROMs you are using. You can find out by opening the ROM as text file and looking to see the version text which will tell you if it is version 4.0 or version 4.1. If your emulator uses combined ROMs then you can just apply the appropriate patch. Otherwise you must patch the editor (ROM-0) and the syntax (ROM-1) with the appropriate patch before replacing ROM-3 with a renamed version of the 48.rom file. There are four additional programs included with this distribution. The compiler is a version of HiSoft Basic modified to support SE Basic. Bomb Jack and Travel With Trashman have both been patched to work with SE Basic. There is also a DCK file for use with Timex emulators. The demo program se42demo.tap shows off the use of the narrow font. The following binaries are available in this distribution: ROM file: 48.rom - SE Basic ROM for use with 16K/48K emulators or with real machines by burning it onto an EPROM. TAP files: 48_128.tap - SE Basic program for use with 48K/128K real machines by running in the top 16K of RAM. Also works on some emulators. plus2a.tap - SE Basic program for use with a real +2A by running in RAM mapped into the area normally used by the ROM. Also works on +2A emulators. zxse.tap - SE Basic program for use with a real ZX Spectrum SE by running in RAM mapped into the area normally used by the ROM. Also works on Timex machines with 16K of RAM in the DOCK bank and Timex emulators with support for dock files. bombjack.tap - Patched version of the game which will run under SE Basic. You may find it necessary to enable Turbo keyboard mode. The original uses an IM2 lookup table that has now been overwritten with code. compiler.tap - SE Basic compiler. This program will turn your SE Basic programs into machine code. It cannot be loaded at the same time as the version of SE Basic supplied on the 48_128.tap. But you can save your programs and load them into the compiler. The compiler is a modified version of HiSoft Basic. It is derived from the bugfixed version 1.0. It functions as described in the manual except that to clear a Basic program you use *N instead of *ERASE. se42demo.tap - SE Basic 42 column font demo program. DSK files: plus3.dsk - SE Basic program for use with a real +3 by running in RAM mapped into the area normally used by the ROM. Also works on +3 emulators. sam.dsk - SE Basic program for use with a real SAM Coupe by running in RAM mapped into the area normally used by the ROM. Also works on SAM Coupe emulators. IPS files: These require an IPS patch tool which you can download from the Sinclair Basic site at http://www.worldofspectrum.org/sinclairbasic/patches.html. spanish.ips - Patch required for the Spanish 128 Editor (Spanish or English translation) to use SE Basic as ROM 1. Works on 16K or 32K ROMs. 128.ips - Patch required for the English 128 Editor (also Pentagon and Plus 2C) to use SE Basic as ROM 1. Works on 16K or 32K ROMs. plus2.ips - Patch required for the +2 128 Editor (any language) to use SE Basic as ROM 1. Works on 16K or 32K ROMs. 32k.ips - Patch to install SE Basic in the second part of a 32K ROM file. Some emulators use 32K ROMs to emulate the 128K/+2 machines. Note: You still need to apply the appropriate editor patch. p3_40_ed.ips - Required patch for +2A/+3 editor ROM-0 version 4.0. p3_41_ed.ips - Required patch for +2A/+3 editor ROM-0 version 4.1. p3_40_sy.ips - Required patch for +2A/+3 syntax ROM-1 version 4.0. p3_41_sy.ips - Required patch for +2A/+3 syntax ROM-1 version 4.1. p3_40_64.ips - Patch to install SE Basic and the required editor patches in a 64K +3 v4.0 ROM (including the +3e ROM). p3_41_64.ips - Patch to install SE Basic and the required editor patches in a 64K +3 v4.1 ROM (including the Spanish +3 ROM). Features: Until the manual is written you'll have to make do with the following information (or read the source code): SE Basic works with the Interface 1 and ZXATASP/ResiDOS. There's a new font, a new tokenizer and a simplified keyboard layout. The cursors go up and down in an edit line. The reset is faster (works on 16K machines too!). Line numbers up to 16383 are allowed. Almost all of the bugs in the original ROM are fixed. There's a faster square root routine. The screen$ command can now hanle UDGs. There are macros available on the keyboard via EXTEND-SYMB-6 to 0. Don't try and use macros with a 128 editor paged in - it will crash! -Andrew Owen November 10, 2002.