1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430
|
3.1.2 - 28 MAY 2012
* Fixed a bug in DEF FN recursive functions (thanks to Miguel Jodar).
* New default palette (mostly using code as data to free 64 bytes for the fix).
* Moved the UDGs next to the palette to create 22 user variables addressable
via the IY register.
* Changed the COPY command to CALL.
* ZXC3 version excludes the DEF FN fix, and moves the cursor and font
definitions, but is otherwise identical.
3.1.1 - 20 MAY 2012
* Fixed a bug where STR$ would remove the value of ATTRT. For example:
PRINT PAPER 5;1;STR$ 234. All available space is now used.
* Added support for building a special version for ZXC3 cartridges for the
Interface II.
* Revised version numbering to add another point. The were four builds of
version 3.08. These are now retrospectively labelled 3.0.8 to 3.1.1. This
brings OpenSE BASIC in line with GNU version numbering (major.minor.revision).
3.1.0
* Minor optimization.
3.0.9
* Applied a patch to support a commonly called routine. Should improve
compatibility.
* Removed service routine at 4200. 9 bytes spare.
3.0.8
* Contents after REM no-longer tokenized. This was introduced a long time ago
to support HiSoft BASIC, but there is no prospect of HiSoft BASIC working
with OpenSE BASIC so there's really no need to tokenize after a REM.
3.0.7 - 29 APR 2012
* Fixed the bug in handling keywords beginning with IN introduced by the
<=/<>/>= fix.
* INK is no longer available as an alternate command and CAT goes back to DIR.
* COPY 4200 fills the second display file with the permanent attribute.
3.0.6 - 23 APR 2012
* Fixed the tokenizer bug: <=, <>, >= are now handled correctly.
* EDIT with no parameters now edits the last line entered.
3.0.5 - 05 APR 2012
* Further optimization: 24 spare bytes.
* Cursor handling modified to deal with the removal of the EDIT key.
* Restored original palette for the time being due to anomalies with HSL
hardware.
* Restored the Insert mode cursor from version 3.03.
* Reformatted the tabs for VisualStudio/TextWrangler.
3.0.4 - 14 FEB 2012
* Minor optimization
* New default palette for RGB or HSL modes in ULAplus
* Changed four commands DIR > CAT, 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
3.0.3 - 29 MAY 2011
* Fixed a bug in the DRAW command
3.0.2 - 24 MAY 2011
* Compiler changed to GNU binutils.
* Initialization routine now puts a copy of the default palette in the
palette buffer.
* ERASE command now sets the palette to the values stored in the buffer.
* Corrected an error with the '_' glyph.
3.0.1 - 13 APR 2011
* Moved the UDGs up next to the system variables creating space for 64
palette bytes after the attributes for use with ULAplus screen files.
3.0.0 - 06 APR 2011
* Switched to using OPEN81.ASM as the base assembly file.
* Implemented the X80 math co-processor instruction set via macros.
* A complete rewrite replacing all the encumbered code with open source
code or legally reverse engineered code where that was not available.
* Functionally compatible with SE Basic 2.21.
* New RENUM routine. It only accepts the first two parameters (start and
step), but it isn't broken either.
* New tokenizer. You can now enter INK and it will automatically be
translated to PEN. Abbreviations for 60 commands.
* New I-beam cursor for INSERT mode.
2.2.1 - 04 DEC 2010
* Fixed a bug where 8-bit character sets were being automatically enabled.
* Enabled support for IM2 code that uses the first two ROM bytes as part of
a JP 0xAFFF instruction (used by Starstrike II).
* There is a bug in the colour handling during editing where entering a bad
colour value will result in a syntax error report instead of producing
the error cursor. This is caused by an incorrect guard condition on a
jump but has no effect in runtime.
* Deprecated Features
- macro support.
- big colourful copyright message.
- colour cursors.
- built-in 42-column mode.
- ANSI BASIC-78 command names. (later reinstated)
- page up/down.
- 8 extra symbol definitions.
2.2.0 - 06 NOV 2010
* Modified the GRAPHICS mode cursor.
* Changed the location of the detokenizer flag.
* Changed the location of the 8-bit flag.
* Used the spare bytes to include a few initials for credits.
2.1.9 - 01 NOV 2010
* DIR command replaces CAT command.
* Key click is off by default. POKE 23609 to enable.
* Modified the error sound code to prevent crashes caused by the
detokenizer.
* Error sound now occurs on a syntax error in direct entry.
2.1.8 - 28 OCT 2010
* Fixed ON ERR bug.
* SAM BASIC style cursor.
2.1.7 - 27 OCT 2010
* PEN command replaces INK command.
* Cursors no-longer FLASH. Looks better with ULAplus and saves 15 bytes.
* Change default start colours to white on black.
2.1.6 - 22 OCT 2010
* Relocated the UDGs to the former print buffer giving an additional 168
bytes for BASIC programs.
2.1.5
* Syntax frozen with this release.
* Modified the CAT command to take parameters.
* Added the ERASE command to reset the default palette.
* Replaced the error messages to make space for the above changes.
2.1.4 - 18 OCT 2010
* Removed the 8 extra symbol definitions.
* Fixed the embedded control codes edit line bug.
* Added the CAT command to switch between 7-bit and 8-bit character sets.
* Added the MOVE command to provide BASIC access to the Z80's block copy
feature.
2.1.3
* Fixed the RENUM stack overflow bug (RENUM still unstable).
2.1.2 - 25 MAR 2010
* Modified fp_mod to use mem 1 instead of mem 0.
* Changed the scroll count in ld_look_h from 3 to 255.
* Changed the pilot signal in ld_start from 0x0415 to 0x0115.
* Changed the maskable interrupt to avoid using IY.
* Optimized stack_bc.
* Changed error RASP duration.
2.1.1
* Extended SCREEN$ function to handle characters 32 to 255 (for 8-bit
character sets).
2.1.0 - 24 MAR 2010
* Fixed an error introduced while cleaning up the code.
* Added support for 8-bit character sets.
* Replaced unused bytes with RETs.
2.0.9 - 23 MAR 2010
* Fixed the PAUSE bug (thanks Woody!). The LastK flag (bit 5 of [23611]) is set
prior to the PAUSE, prematurely ending the pause immediately. For example, FOR
N = 1 TO 100 : NEXT N : PAUSE 0 (run, press a key. no pause). The ROM should
clear bit 5, [23611] before the first test after the HALT.
* Moved some routines around.
* Replaced the 8 unused bytes in the main area with RETs.
* 9 spare continuous bytes left.
2.0.8 - 21 MAR 2010
* Fixed an error in the ON ERR handler introduced by a formatting change.
2.0.7
* Improved palette.
* Detokenizer.
2.0.6 - 17 MAR 2010
* Still using USRA.ASM as the base assembly file.
* Appears to be internally consistent.
* Feature freeze until compatibility issues are resolved.
* Built on a stripped version of the GW03 ROM (code but not the assembly
listing) with all the new functionality removed and just the bug-fixes
remaining.
* The 'style' bugs (not corrected in GW03) were fixed.
* Floating point and other optimisations from the SC01 ROM were applied.
* Code was merged, one routine at a time, into the Uncommented Spectrum ROM
Assembly, and tested with the Interface I (this relies on many entry
points being maintained and is a good acid test).
* The source was cross-compiled with Pasmo by Julian Albo and the resulting
code tested on Fuse (by Philip Kendall et. al.) and the ULAplus code
tested in SpecEmu (by Woody).
2.0.5
* Removed the last fragment of ZX Printer support.
* RUN and STOP tokens replaced with CODE and RUN.
* 'C' mode replaced with 'G' mode for entering reserved words.
2.0.4
* Enter octal with \.
2.0.3
* Prevented the GO TO token from displaying during LOADing and SAVEing.
2.0.2
* Used TOKENs to abbreviate error messages.
* Restored missing palette data.
2.0.1
* Shifted the @ and © characters right by one pixel for proper display in
6x8 modes.
* Fixed a error with the initialization routine-misplaced org and overrun.
* ON ERR is now reset after an NMI or a NEW. This also fixes what looked like a
bug in DELETE.
* Shrank the canned report messages by adding support for canned tokens, saving
26 bytes.
* Moved two routines to make use of free space.
* Added LOAD, CODE and RUN tokens on Q, W and E keys with symbol shift.
* Modified the tokenizer. In 'C' mode, lower case text is not tokenized.
Enables use of reserved words as variable names. Variable names are case
insensitive and can be entered in a mixture of letters in this mode,
providing they contain at least one lowecase letter.
* Restored IM2 vectors at 0x38ff, 0x39ff, 0x3aff, and 0x3bff.
* Trimmed ON ERR code.
* CLEAR does a RESTORE as per the manual.
2.0.0 - 12 FEB 2010
* Switched to using USRA.ASM as the base assembly file.
* ULAplus support.
* ON ERR commands.
* PALETTE command.
* Convert decimal to hex with ~.
1.0.0 - 06 JAN 2006
* Warm restart from SC01.
* RENUM command.
* Compiler changed to Pasmo.
0.9.4 - 16 DEC 2004
* Changed to a different base assembly file.
* SOUND command (adapted from TS2068 ROM).
0.9.3 - 22 NOV 2002
* Shipped with vbSpec and ZX Spin.
* DELETE command.
* Enter hexadecimal with &.
* Inverted line marker.
* SYSTEM command.
* Detokenizer removed.
* TRUE VID and INV VID now do page up and down 10 lines.
* CLS n sets the border and attributes.
* extended LIST command (from IMC ROM).
0.9.2
* Experimental detokenizer.
0.8.3 - 13 NOV 2002
* Colourful copyright message.
* Colour cursors.
0.8.0 - 10 NOV 2002
* All known bugs fixed.
* Newton Raphson square roots.
* Human readable assembly labels.
* Fully relocatable source.
* Error cursor jumps to the error.
* NMI warm restart.
* Increased the range of printable characters to 104.
* Made the scroll? message sentence case.
* Removed the COPY command.
* Added error sound to invalid line.
* 0x12a0 trap for ResiDOS.
* 0x1349 entry point for IF1/ResiDOS.
* Shortened error messages.
* Removed redundant routines.
* EDIT command.
* Optimized code involving modes since modes are gone.
* SCREEN$ handles UDGs (thanks to Hob).
0.7.4
* Moved the credits into a separate file.
0.7.3
* Optimized initialization code.
0.7.2
* Removed the redundant REC-EDIT code.
0.7.1 - 23 JAN 2002
* Fixed an error in scroll handling.
0.7.0
* Fixed an error in ED-EDIT.
0.6.9 - 20 JAN 2002
* Compiles with ZASM and TASM.
0.6.8
* First version with all functionality of 0.5.8 to compile from a single
source file.
* Full support for line numbers up to 16383.
* Bugfixes:
- PLOT.
- WAIT-KEY.
0.6.7
* Fast RAM wipe.
* Bugfixes:
- EDIT.
- LIST.
- RESTORE.
0.6.6
* 16K machine test.
* Cursor up and down in an edit line (adapted from LEC ROM).
0.6.5
* Reworked the cursor routines.
0.6.4
* Removed 'K' mode.
* Removed the redundant key tables.
0.6.3
* Bugfixes:
- leading space.
0.6.2
* Reduced the number of key tables to four.
* Used a key table for numbers and symbol.
* Enabled STOP in INPUT using cursor down for all cases.
* Bugfixes:
- -65536 (PRINT INT -65536).
- DEC-TO-FP.
- double store.
- MOD-DIV.
- PO-FETCH.
- RUN/GO TO/GO SUB.
- stack.
0.6.1
* Speeded up pilot signal sync. at 0x0571.
* Set the scroll counter to 0xFF at 0x077A.
* Dropped the error number from error messages.
* Changed the RASP duration at 0x108E and 0x116C.
* Bugfixes:
- CHR$ 8 (PRINT AT 0,0;CHR$ 8;"A").
- CHR$ 9 (PRINT "A";CHR$ 9;"B").
- CLEAR-PRB.
- colour commands.
- MAIN-4.
- PR-CC.
- ROM overwrite.
- ROM scroll.
0.6.0
* Removed the redundant ZX81-name routine.
* Removed the call to the redundant 'CLOSE-2 subroutine' from the 'CLOSE
routine.'
* ANSI BASIC-78 command names.
* Bugfixes:
- NMI.
- CLOSE #4.
0.5.9 - 02/01/2002
* Now using an assembly file instead of patches.
* Began converting patches to properly documented source file.
* Changed copyright message.
* Experimental 42 column mode.
* Color Draw support broken.
* LOAD, RUN, and STOP tokens replace <=, <>, and >= tokens on Q, W, and E
keys.
* Inverted cursor for Timex 512x192 mode.
* NEW command extended; 0=warm reset, 1=cold reset.
* PAUSE defaults to PAUSE 0.
* Bugfixes:
- division (IF 1/2<>0. 5 THEN PRINT "BUG").
- 'G' mode.
- 'K' mode.
- SCREEN$ (IF "X"=SCREEN$ (0,0) THEN PRINT "BUG").
- scroll? (Press TRUE VIDEO at the request).
- STR$ (PRINT "BUG"+STR$ 0.5).
- syntax check.
0.5.8
* Re-released as an IPS patch with an ultra-restrictive license.
* Last version to be created from patches.
0.5.3
* Identified the problem with Travel With Trashman (checksums the ROM).
0.5.1
* Removed 'E' mode except for control codes.
0.5.0
* Line range extended to 16383.
0.4.3 - 14 DEC 2001
* Limited beta release.
0.4.2
* Identified the problem with Roller Coaster (spare bytes used as sprite).
0.4.0
* Removed +3DOS compatiblity.
* Removed experimental Timex video support.
0.3.0
* +3DOS compatible version.
0.2.2
* Tokenizer (adapted from LEC ROM but 55 bytes shorter).
* Experimental Timex video support.
0.2.1 - 14 NOV 2001
* Removed patch silently introduced by MacSpectacle.
0.2.0
* Returned from Australia and began to reapply bug-fixes to the original BASIC
ROM.
0.1.0
* Last version based on the 128 version of the BASIC ROM.
0.0.1 - 05 JUL 2000
* Realized the +4 ROM was an abomination.
* Introduced the Geneva Mono (6x8) font.
* Changes applied as patches; no base assembly file.
|