+9640News Posted March 17 Share Posted March 17 Geneve Abasic 4.09 is being released along with full source code. Please report issues in the Development thread at: File: ABASIC409.zip Program: Geneve 9640 Advanced BASIC (ABASIC) Version: 4.09 Released: 12 March 2023 Contact: 9640News or InsaneMultitasker, at AtariAge.com ===================================================================== Geneve 9640 Advanced BASIC (ABASIC) is a native MDOS programming environment that is upwardly compatible with TI Extended BASIC. It implements new commands, statements, and functions for graphics, file access, and device handling. Some of the features include support for V9938 graphics modes, both REAL(float) and INTEGER variable support, expanded program, stack, and assembly memory space, and more. It is HIGHLY recommended that you review the reference manual. A complete review and update was completed by @hloberg, to go along with this release. COMPATIBILITY: --------------- Although built with compatibility in mind, some programs that rely upon non-standard access to the keyboard and file IO (such as loaders with embedded assembly support) or that rely upon ROM/GROM peek/poke/load addresses may not function as expected. Timing loops may operate too quickly and certain programs that use reserved keys, such as CTRL-C (BREAK) may require slight modification (such as adding ON BREAK NEXT). PREPARATION: ------------ For those already using ABASIC, simply replace the four PROGRAM files with those from this release. USAGE: ======= ABASIC requires a minimum of << XXX K>> to load. You may specify MORE memory with runtime options, as described in the ABASIC reference manual. Earlier release notes recommend running ABASIC from a batch file. The bug that prompted this behavior has been corrected. The user may continue to use batch files or load ABASIC from the command line. If you are running a standard system (512K DRAM, 64K SRAM) and do not have enough memory to load ABASIC, check your AUTOEXEC for the RAMDISK and TIMODE statements. You may need to reduce their memory usage or, with MDOS 7.30+, utilize the TIMODE2 option to free 64K. Note: ABASIC does not require TIMODE. OPEN ISSUES LOG: ---------------- - Memory constraints within the ABASIC interpreter; <256 bytes free across the entire application. - "RETURN ELSE RETURN" may cause spurious error messages by interpreter - SUBprograms called by another SUBprogram may not be found by the interpreter. Appears to be a presecan issue; recommend not nesting subprograms where feasible. Referencing them at the start of the program (as one does to turn off prescan) may be a temporary fix. - ON ERROR within subprograms requires a RETURN to a line within the subprogram, prior to SUBEXIT/SUBEND. - Coding errors such as using NEXT/FOR with IF/THEN may generate unrelated line number errors during program initialization. - The string and/or number stack and garbage collection exhibit periodic lockup or crash. Reproducing the error is difficult. More extensive debugging is required. - OLD FOLDER\FILE does not work; requires drive letter "H:FOLDER\FILE" this may be the best compromise for the parser. - ABASIC program crashes (due to errors) may not close files properly. File errors occur until exit ABASIC. NEW does not reset the file. - FILL may not set the color code correctly; possibly one value different - "100 GOSUB 100" causes the interpreter to lock. (calling itself) ENHANCEMENT LOG: --------------- V4.09 11 March 2023 - Corrected long-standing CALL DISTANCE and CALL COINC bug. ABASIC was referencing the wrong sprite number. Corrections to 165.SPRITES - Corrected issue with crunch buffer. Statements with a line number argument e.g. GOSUB, GOTO, USING, RESTORE were corrupted by an extended token if the number was a multiple of 173 or 227. - SAVE/OLD file using above multiples is fixed. - "Fixed" DRAW30 logical operator for LINE 2/5. - Fixed RECTANGLE line offsets and logical operator for LINE 2/5 - SAVE and MERGE now allow numeric filenames without a STRING-NUMBER mismatch error. V4.08 1 February 2022 - Updated reference manual, very nice work by @hloberg! - Corrected RUN command to execute from within a program, without requiring the optional line number - Corrected RUN command, able to load programs from the current working directory e.g., RUN "FILE" and with MDOS device identification e.g., RUN "H:\GAMES\LOADER" in immediate and program modes. - CTRL-C now works when a program is loaded and auto-started - CTRL-C artifact is no longer printed when key is pressed - RANDOMIZE now generates different sequences at startup, when no seed is specified. System clock is used to set RAND16. A big thank you to Lee Stewart for reviewing the ABASIC random code! - Noted issues and potential gotchas based on testing AB409.zip 7 5 Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.