Category:Disk BASIC
This page was last modified 16:41, 26 May 2023 by Mars2000you. Based on work by Gdx and NYYRIKKI and others.

Contents

Description

Disk BASIC is a BASIC extension that is related to disk drives.

Versions

There are 3 major versions of Disk BASIC:

Version 1 is provided with external disk drive interfaces and with all MSX computers with integrated floppy disk drive(s).

Version 2 is provided with the MSX turbo R computers, the Daisen Sangyo MX30B internal drive, the original MSX-DOS 2 cartridge and its European versions. This cartridge requires at least a MSX2 computer with 128kB RAM and an internal or external disk drive.

Version 2 switches to version 1 if you boot with a DOS1-formatted disk in drive A (on MSX2 or higher) or, when using version 2.30 or newer (Nextor included), if you keep the '1' key pressed during the boot sequence.

Version 3 is provided with the Nextor operating system version 2.0 and higher. You can boot this OS in MSX-DOS 1 mode or MSX-DOS 2 mode. A part of the new features is available only in the MSX-DOS 2 mode.

Instructions

All versions extend the following 10 instructions: BLOAD, BSAVE, CLOSE, ERR, ERROR, LOAD, MERGE, OPEN, RUN and SAVE.

Version 1 adds 23 new instructions including COPY that is also a MSX-BASIC graphic instruction introduced on MSX2.

Version 2 extends the FILES and LFILES instructions and adds 5 new instructions.

Version 3 modifies the CALL CHDRV, DSKF(), DSKI$() and DSKO$ instructions and adds 9 new instructions.

The following table includes also Disk BASIC related instructions that are not part of the standard MSX-BASIC instructions but were reserved during MSX-BASIC development for future disk operations. These reserved words were never or rarely officially used: ATTR$(), CMD, FPOS() and IPL. Machine Language experts can divert them to create new instructions.

Note: CALL can be replaced by the character underscore (_). A space is not required after this character. See CALL for more info.

Instruction Generation Versions Remark
ATTR$() MSX1 - Reserved word that can be diverted
CALL CHDIR MSX2 2 -3
CALL CHDRV MSX2 2 -3 MSX1 compatible with Nextor
CALL CURDRV MSX1/2 3
CALL DRIVERS MSX1/2 3
CALL DRVINFO MSX1/2 3
CALL FDISK MSX1/2 3
CALL FORMAT MSX1 1 - 2 - 3
CALL LOCKDRV MSX1/2 3
CALL MKDIR MSX2 2 - 3
CALL MAPDRV MSX1/2 3
CALL MAPDRVL MSX1/2 3
CALL NEXTOR MSX1/2 3
CALL RAMDISK MSX2 2 - 3
CALL RMDIR MSX2 2 - 3
CALL SYSTEM MSX1 1 - 2 - 3
CALL USR MSX1/2 3
CMD MSX1 - Reserved word that can be diverted
COPY MSX1 1 - 2 - 3
CVD() MSX1 1 - 2 - 3
CVI() MSX1 1 - 2 - 3
CVS() MSX1 1 - 2 - 3
DSKF() MSX1 1 - 2 - 3
DSKI$() MSX1 1 - 2 - 3
DSKO$ MSX1 1 - 2 - 3
FIELD MSX1 1 - 2 - 3
FILES MSX1 1 - 2 - 3
FPOS() MSX1 - Reserved word that can be diverted
GET MSX1 1 - 2 - 3
IPL MSX1 - Reserved word that can be diverted
KILL MSX1 1 - 2 - 3
LFILES MSX1 1 - 2 - 3
LOC() MSX1 1 - 2 - 3
LOF() MSX1 1 - 2 - 3
LSET MSX1 1 - 2 - 3
MKD$() MSX1 1 - 2 - 3
MKI$() MSX1 1 - 2 - 3
MKS$() MSX1 1 - 2 - 3
NAME MSX1 1 - 2 - 3
PUT MSX1 1 - 2 - 3
RSET MSX1 1 - 2 - 3


Remark

The addition of diskdrive(s) decreases the amount of memory available for MSX-BASIC. However, you can

  • disable drive B by keeping the CTRL key pressed while booting, this frees up a small amount of memory
  • disable both drives A and B by keeping the SHIFT key pressed while booting, this disables Disk BASIC completely.