Category:Delta BASIC
This page was last modified 10:36, 1 June 2023 by Mars2000you.

Contents

Description

This BASIC extension was created by A. De Krammer and released by the Dutch company Filosoft in 1987 on tape and disk. All the new instructions look like standard instructions as they are not preceded by CALL, CMD or IPL.

It allows to chain several BASIC programs while keeping the variables, program in more structured mode by using procedures, have windows inside the MSX screen, comes with a screensaver, includes many tools for a better programming/debugging and replaces pokes or routines by new instructions.

Installation

A computer with at least 64kB RAM is required. Delta BASIC comes under the form of a 14kB binary file that can be launched with BLOAD"DELTA.BIN", R from disk or BLOAD"DELTA",R from tape.

The new instructions are installed in RAM, slightly reducing the available free memory (119 bytes). They stay in RAM after a soft reset with DEFUSR=0:X=USR(0).

Instructions (general info)

Delta BASIC

  • extends the CLS and LOCATE instructions to the windows system
  • extends the ERR and ERROR instructions with 17 new error messages
  • modifies CALL MEMINI
  • adds 85 new instructions

If you want to use Delta BASIC with a Memory Disk created by CALL MEMINI, there are some limitations and incompatibilities:

  • You need to specify the size and only values between 1023 and 16384 will be accepted when creating the Memory Disk with CALL MEMINI
  • Delta BASIC is incompatible with the Memory Disk under MSX-BASIC 1.0, 2.1 and the European 2.2 version made by FRS

Instructions (ordered per category)

Clock & Timing

Instruction Generation Function
PAUSE MSX1 Waits for the pressing of any key or that a specified time has passed out

Data Storage

The DFILES, LDFILES and SETDRIVE instructions can't access the RAMDISK (H:) previously created under Disk Basic 2.0 with CALL RAMDISK or under MSX-DOS2 / Nextor with RAMDISK.

Instruction Generation Function
AVERIFY MSX1 (*) Verifies whether a BASIC file has been successfully saved to cassette with SAVE in ASCII format
BAUD MSX1 (*) Sets the cassette writing speed
BVERIFY MSX1 (*) Verifies whether or not a binary file has been successfully saved to cassette with BSAVE
DFILES MSX1 Lists the contents of the disk in the current default drive
SETDRIVE MSX1 Selects the default disk drive
TFILES MSX1 (*) Lists the contents of the tape in the data recorder

(*) The Data Recorder support has been removed from the MSX turbo R.

Debugging

Instruction Generation Function
LISTDATA MSX1 Displays all the lines of a MSX-BASIC program in RAM, with using of the DATA instruction
LISTGO MSX1 Displays all the lines of a MSX-BASIC program in RAM, with using of GOSUB, GOTO, etc..
LISTLIN MSX1 Displays a list with all the linked lines of a MSX-BASIC program in RAM
LISTPROC MSX1 Displays a list with all the procedures of a MSX-BASIC program in RAM
LISTPSG MSX1 Displays a list with the current values of the PSG registers
LISTSCREEN MSX1 Displays the current values of the parameters used for the SCREEN instruction
LISTSOUND MSX1 Displays a list with the current values of the PSG registers used by the SOUND instruction
LISTTYPE MSX1 Displays a list mentioning the type of variable for all the variables currently in RAM
LISTUSR MSX1 Displays a list of all the DEF USR addresses for an executed MSX-BASIC program
LISTVAR MSX1 Displays a list with all the variables already used by a MSX-BASIC program in RAM
LISTWINDOW MSX1 Displays a list with all the windows of a MSX-BASIC program in RAM

Delta BASIC System

Instruction Generation Function
QUIT MSX1 Removes the DELTA Basic extension from the RAM and reboots in standard MSX-BASIC mode

Display

Instruction Generation Function
LOWER MSX1 Sets characters of a string in small letters mode (lowercase)
SCREENOFF MSX1 Turns off the screen
SCREENON MSX1 Turns on the screen
SCREENSAVE MSX1 Enables/disables the screensaver of Delta BASIC
UPPER MSX1 Sets characters of a string in capital letters mode (uppercase)

Keyboard

Instruction Generation Function
CAPSOFF MSX1 Turns off the CAPS led and sets the computer in small letters mode (lowercase)
CAPSON MSX1 Turns on the CAPS led and sets the computer in capital letters mode (uppercase)
GET MSX1 Waits for the pressing of a key and stores it in a string variable
INIFNK MSX1 Reinitializes the contents of the function keys and displays them again
KILLBUF MSX1 Clears the keyboard buffer
PAUSE MSX1 Waits for the pressing of any key or that a specified time has passed out

Printer

Instruction Generation Function
BIPRINT() MSX1 Sets the density level for printing graphics
BISET() MSX1 Sets the number of dots per inch and the length of the bit pattern for printing graphics
LDFILES MSX1 Prints the contents of the disk in the current default drive
LFIND MSX1 Prints part of MSX-BASIC program in RAM, containing a specified text
LKILLREM MSX1 Combines KILLREM effect with printing of the deleted lines starting with REM
LLISTDATA MSX1 Prints all the lines of a MSX-BASIC program in RAM, with using of the DATA instruction
LLISTGO MSX1 Prints all the lines of a MSX-BASIC program in RAM, with using of GOSUB, GOTO, etc..
LLISTLIN MSX1 Prints a list with all the linked lines of a MSX-BASIC program in RAM
LLISTPROC MSX1 Prints a list with all the procedures of a MSX-BASIC program in RAM
LLISTPSG MSX1 Prints a list with the current values of the PSG registers
LLISTSCREEN MSX1 Prints the current values of the parameters used for the SCREEN instruction
LLISTSOUND MSX1 Prints a list with the current values of the PSG registers used by the SOUND instruction
LLISTTYPE MSX1 Prints a list mentioning the type of variable for all the variables currently in RAM
LLISTUSR MSX1 Prints a list of all the DEF USR addresses for an executed MSX-BASIC program
LLISTVAR MSX1 Prints a list with all the variables already used by a MSX-BASIC program in RAM
LLISTWINDOW MSX1 Prints a list with all the windows of a MSX-BASIC program in RAM
LREPLACE MSX1 Prints part of MSX-BASIC program In RAM, when replacing a text by a new text
LSTATUS MSX1 Prints the current status of a MSX-BASIC program in RAM
LTFILES MSX1 (*) Prints the contents of the tape in the data recorder
POL MSX1 Returns the status of the printer
SCREENDUMP MSX1 Prints a hardcopy of the current screen (0, 1, 2 to 4)

(*) The Data Recorder support has been removed from the MSX turbo R.

Procedures

Instruction Generation Function
DELETEPROC MSX1 Removes a specified procedure from the program currently in RAM
DEFPROC MSX1 Defines the beginning of a procedure
ENDPROC MSX1 Defines the end of a procedure
MERGEPROC MSX1 Merges a specified procedure available on disk to the program currently in RAM
PROC MSX1 Calls a procedure inside your program
SAVEPROC MSX1 Saves to disk a specified procedure that is available in the program currently in RAM

Programming

Instruction Generation Function
CODETODATA MSX1 Generates a MSX-BASIC program with DATA corresponding to a part of the RAM
COPLIN MSX1 Copies lines of MSX-BASIC program In RAM, in another place of the program
FIND MSX1 Displays part of MSX-BASIC program in RAM, containing a specified text
KILLREM MSX1 Deletes all the REM instructions and their remarks in the MSX-BASIC program in RAM
MOVLIN MSX1 Moves lines of MSX-BASIC program in RAM to another place in the program
REPLACE MSX1 Displays part of MSX-BASIC program In RAM, when replacing a text by a new text
STATUS MSX1 Displays the current status of a MSX-BASIC program in RAM
UNNEW MSX1 Recovers a MSX-BASIC program that you have just erased from the RAM with NEW

RAM Access

RESTORESCREEN and STORESCREEN are incompatible with a Memory Disk previously created with CALL MEMINI.

Instruction Generation Function
DPEEK() MSX1 Returns the value read from two bytes of the memory (RAM)
DPOKE MSX1 Writes a value to two bytes of the memory (RAM)
RESTORESCREEN MSX1 Restores the screen previously saved in RAM by STORESCREEN
STORESCREEN MSX1 Stores the current screen in RAM

Sound and Music

Instruction Generation Function
INIPSG MSX1 Initializes the PSG and silences all 3 PSG channels without producing a beep

Sprites

Instruction Generation Function
CLEARSPRITES MSX1 Clears all the sprites

Variables Setting & Chaining

These instructions are incompatible with a Memory Disk previously created with CALL MEMINI.

Instruction Generation Function
CHAIN MSX1 Loads a new BASIC program and executes it, with transfer of current variables in RAM
COMMON() MSX1 Passes variables to a chained program

Windows

These instructions are incompatible with a Memory Disk previously created with CALL MEMINI.

Instruction Generation Function
FILL MSX1 Fills a window with the character corresponding to a specified ASCII value
ROLLD MSX1 Rolls content of specified window to the bottom to produce a scrolling (*)
ROLLL MSX1 Rolls content of specified window to the left to produce a scrolling (*)
ROLLR MSX1 Rolls content of specified window to the right to produce a scrolling (*)
ROLLU MSX1 Rolls content of specified window to the top to produce a scrolling (*)
WBOX MSX1 Draws a window in text mode, according the settings defined with WINDOW
WINDOW MSX1 Defines a window in text mode
WINPUT MSX1 Retrieves data from the keyboard inside a window
WPRINT MSX1 Displays and formats text and numbers in the specified window
WRAPD MSX1 Rolls content of specified window to the bottom to produce a scrolling (**)
WRAPL MSX1 Rolls content of specified window to the left to produce a scrolling (**)
WRAPR MSX1 Rolls content of specified window to the right to produce a scrolling (**)
WRAPU MSX1 Rolls content of specified window to the top to produce a scrolling (**)

(*) with disappearing effect on the text
(**) without disappearing effect on the text

Instructions (alphabetic order)

Notes:

Instruction Generation Type
AVERIFY MSX1 (*) Data Storage
BAUD MSX1 (*) Data Storage
BIPRINT() MSX1 Printer
BISET() MSX1 Printer
BVERIFY MSX1 (*) Data Storage
CAPSOFF MSX1 Keyboard
CAPSON MSX1 Keyboard
CHAIN MSX1 Variables Setting & Chaining
CLEARSPRITES MSX1 Sprites
CODETODATA MSX1 Programming
COMMON() MSX1 Variables Setting & Chaining
COPLIN MSX1 Programming
DELETEPROC MSX1 Procedures
DEFPROC MSX1 Procedures
DFILES MSX1 Data Storage
DPEEK() MSX1 RAM Access
DPOKE MSX1 RAM Access
ENDPROC MSX1 Procedures
FILL MSX1 Windows
FIND MSX1 Programming
GET MSX1 Keyboard
INIFNK MSX1 Keyboard
INIPSG MSX1 Sound and Music
KILLBUF MSX1 Keyboard
KILLREM MSX1 Programming
LDFILES MSX1 Printer
LFIND MSX1 Printer
LISTDATA MSX1 Debugging
LISTGO MSX1 Debugging
LISTLIN MSX1 Debugging
LISTPROC MSX1 Debugging
LISTPSG MSX1 Debugging
LISTSCREEN MSX1 Debugging
LISTSOUND MSX1 Debugging
LISTTYPE MSX1 Debugging
LISTUSR MSX1 Debugging
LISTVAR MSX1 Debugging
LISTWINDOW MSX1 Debugging
LKILLREM MSX1 Printer
LLISTDATA MSX1 Printer
LLISTGO MSX1 Printer
LLISTLIN MSX1 Printer
LLISTPROC MSX1 Printer
LLISTPSG MSX1 Printer
LLISTSCREEN MSX1 Printer
LLISTSOUND MSX1 Printer
LLISTTYPE MSX1 Printer
LLISTUSR MSX1 Printer
LLISTVAR MSX1 Printer
LLISTWINDOW MSX1 Printer
LOWER MSX1 Display
LREPLACE MSX1 Printer
LSTATUS MSX1 Printer
LTFILES MSX1 (*) Printer
MERGEPROC MSX1 Procedures
MOVLIN MSX1 Programming
PAUSE MSX1 Keyboard / Timing
POL MSX1 Printer
PROC MSX1 Procedures
QUIT MSX1 Delta BASIC System
REPLACE MSX1 Programming
RESTORESCREEN MSX1 RAM Access
ROLLD MSX1 Windows
ROLLL MSX1 Windows
ROLLR MSX1 Windows
ROLLU MSX1 Windows
SAVEPROC MSX1 Procedures
SCREENDUMP MSX1 Printer
SCREENOFF MSX1 Display
SCREENON MSX1 Display
SCREENSAVE MSX1 Display
SETDRIVE MSX1 Data Storage
STATUS MSX1 Programming
STORESCREEN MSX1 RAM Access
TFILES MSX1 (*) Data Storage
UNNEW MSX1 Programming
UPPER MSX1 Display
WBOX MSX1 Windows
WINDOW MSX1 Windows
WINPUT MSX1 Windows
WPRINT MSX1 Windows
WRAPD MSX1 Windows
WRAPL MSX1 Windows
WRAPR MSX1 Windows
WRAPU MSX1 Windows

(*) Not for MSX turbo R

Compatibility

Delta BASIC is compatible with

  • CALL SYSTEM when used to go back to MSX-DOS 2 / Nextor after using of Delta BASIC
  • the RAMDISK (H:) previously created under Disk Basic 2.0 with CALL RAMDISK or under MSX-DOS2 / Nextor with RAMDISK but this disk is not acesssible with some Delta BASIC instructions
  • versions 2.0, 2.2 by Digital Design, Japanese 2.2 by FRS, 3.0, 3.1, 3.2, 4.0, 4.1 of the Memory Disk, created with CALL MEMINI, but the maximum size is strongly reduced, and a lot of Delta BASIC instructions can't be used

Delta BASIC is not compatible with

(this list is not limitative)