Jump to content

Geneve ABasic 4.09 release for MDOS

Recommended Posts

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

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.

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).

For those already using ABASIC, simply replace the four PROGRAM files with
those from this release.

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.

       - 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)

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



  • Like 7
  • Thanks 5
Link to comment
Share on other sites

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.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...