Category:Arabic BASIC
This page was last modified 15:45, 1 June 2023 by Mars2000you.

Contents

Description

Arabic BASIC is a BASIC extension that is provided on most Arabic MSX1/MX2 computers or with an Arabic cartridge.

However, this extension is not available on the Arabic versions of the Spectravideo SVI-728 and SVI-738 computers. These machines include instead a 16kB ROM allowing to use MSX-BASIC directly in Arabic language.

Versions

There are several versions of this extension:

Sakhr versions

Note: The two following cartridges (128kB Megaroms) can be used only on Arabic machines, they are designed for the programmers who want to easily toggle between Arabic and English when using MSX-BASIC (by pressing F7):

Bawareth Perfect versions

Known versions on Bawareth Perfect MSX1 and Bawareth Perfect MSX2:

  • 1987 versions (3.21 - 3.30) - similar to Sakhr 1.01 with some differences
  • 1990 version - many extra instructions, compared to 1987 versions

Most Sakhr MSX2 instructions are not available on Bawareth Perfect MSX2.

Barq version

The Arabic Barq Basic (برق - بيسيك) cartridge can be used to add Arabic BASIC to a non-Arabic MSX computer. This 32kB ROM contains only a little part of the Sakhr MSX1 instructions.

Instructions (general info)

Arabic BASIC modifies the working of the cursor on text screens, the SCREEN instruction for the printer type and adds a variable number of new instructions:

  • 19 or 20 new instructions on Sakhr MSX1 computers
  • 30 or 31 new instructions on Sakhr MSX2 computers
  • 19 new instructions on Bawareth Perfect machines with 1987 version of Arabic Basic
  • 28 new instructions on Bawareth Perfect machines with 1990 version of Arabic Basic
  • 8 new instructions with the Barq cartridge.

Check the alphabetic order section to know which instructions are available according the version.

Notes:

  • CALL can be replaced by the character underscore (_). A space is not required after this character. See CALL for more info
  • The extra instructions linked to a built-in software (CALL CALENDAR, CALL FATEEN, CALL MENU, CALL PAINT, CALL SBASIC, CALL SFILES, CALL SWP, CALL TEDIT) are not part of the Arabic BASIC instructions.

Instructions (ordered per category)

Clock & Timing

Instruction Generation Function
CALL GREG MSX2 Returns the current Gregorian date as used in the international calendar
CALL HIJRI MSX2 Returns the current Hijri date as used in the Islamic calendar
CALL TIME MSX2 Returns the current time in the format "HH:MM:SS"
CALL TOGREG MSX2 Converts a Hijri date (Islamic calendar) into a Gregorian date (International calendar)
CALL TOHIJRI MSX2 Converts a Gregorian date (International calendar) into a Hijri date (Islamic calendar)


Display

Instruction Generation Function
CALL ARB MSX1 Selects the font type to be used for the Arabic characters on text screens
CALL ARBNUM MSX1 Uses West Arabic Numerals for ASCII characters &HB0-8HB9
CALL ARBVAL MSX1 Uses West Arabic Numerals for ASCII characters &H30-8H39 (numbers 0 to 9)
CALL DCOLOR MSX1 Restores or 'forces' the default colors (15, 4, 7) in text screens, with an extra in screen 1:
Arabic characters in gray on black background, other characters in white on blue background
CALL GPRINT MSX1 Displays a string of normal characters on graphic screens (2 to 8) without need to use OPEN
CALL INDNUM MSX1 Uses Eastern Arabic Numerals for the ASCII characters &HB0-8HB9
CALL INDVAL MSX1 Uses Eastern Arabic Numerals for the ASCII characters &H30-8H39 (numbers 0 to 9)
CALL NOCON MSX1 Disables the Code Concatenation Analysis (CCA) for the display of Arabic characters
CALL QPAINT MSX1 Fills the zone of a drawing in screen 2 without effect outside this zone
CALL RECON MSX1 Enables the Code Concatenation Analysis (CCA) for the display of Arabic characters
CALL SIZE MSX1 Sets height and width of characters to be displayed on graphic screen 2 with CALL TEXT
CALL SPAINT MSX1 Fills the zone of a drawing in screen 2 without effect outside this zone
CALL TEXT MSX1 Displays a text on graphic screen 2 with the characters in white on a red background
without need to use first OPEN
CALL VPRINT MSX2 Displays a string of bold characters on graphic screens (2 to 8) without need to use OPEN


Keyboard

Instruction Generation Function
CALL ENGL MSX1 Goes back to the International way to input characters (from left to right)
CALL FNKEY MSX1 Restores the specific contents of the function keys in Arabic mode
CALL LATIN MSX1 Goes back to the International way to input characters (from left to right)


Printer

Instruction Generation Function
CALL APRT MSX1 Selects an Arabic printer
CALL CHCOPY MSX1 Prints a 'clear tinted' hardcopy of a graphic screen 2, 4 or 5
CALL DARB MSX1 ? Selects the font type to be used for the Arabic characters on printer
CALL EPRT MSX1 Selects an International printer
CALL HCOPY MSX1 Prints a 'graycaled' hardcopy of a screen 0, 1, 2, 4 or 5
CALL OPTIONS MSX2 Launches a special screen where you can select printer options (width, printer type)
CALL SYS MSX1 ? Re-initialises the printer connected to the MSX computer


RAM Access

Instruction Generation Function
CALL LSCRN MSX1 Restores a graphic screen 2 previously saved in RAM with CALL SSCRN
CALL SSCRN MSX1 Saves a graphic screen 2 in the computer memory


Sakhr MSX2 System

Instruction Generation Function
CALL ARABIC MSX2 Enables fully the Arabic mode after booting in international mode
or enables again Arabic firmware + menu after booting in Arabic mode and CALL ARAB OFF
CALL ARAB OFF MSX2 Disables the Arabic firmware + menu after booting in Arabic mode
CALL ARAB ON MSX2 Same effects as CALL ARABIC
CALL SYSTEM MSX2 Resets the computer inside the Arabic MSX-BASIC mode


String Handling

Instruction Generation Function
CALL ASTR MSX1 Returns a string after conversion of International characters to Arabic characters
CALL COMPRESS MSX1 Returns a string after compression of lām characters followed by ʾalif character
CALL ESTR MSX1 Returns a string after conversion of Arabic characters to International characters
CALL PRESEND MSX1 Returns a string after expansion of lām-ʾalif ligatures into lām character +ʾalif character
CALL PRESORT MSX1 Returns a string modified by two processes in order to conform to ASMO specifications:
CALL PRESEND effect + deletion of diacritics and taṭwīl character


Instructions (alphabetical order)

Instruction Sakhr MSX1 Sakhr MSX2 Perfect 1987 Perfect 1990 Barq Type
CALL APRT - - - x - Printer
CALL ARABIC - x - - - Sakhr MSX2 System
CALL ARAB OFF - x - - - Sakhr MSX2 System
CALL ARAB ON - x - - - Sakhr MSX2 System
CALL ARB x x x x x Display
CALL ARBNUM x x x x x Display
CALL ARBVAL x x x x - Display
CALL ASTR x x x x - String Handling
CALL CHCOPY x x - - - Printer
CALL COMPRESS x x x x - String Handling
CALL DARB - - - x - Printer
CALL DCOLOR x x x x x Display
CALL ENGL x x x x x Keyboard
CALL EPRT - - - x - Printer
CALL ESTR x x x x - String Handling
CALL FNKEY x x x x - Keyboard
CALL GPRINT x x x x - Display
CALL GREG - x - - - Clock & Timing
CALL HCOPY x x x x x Printer
CALL HIJRI - x - - - Clock & Timing
CALL INDNUM x x x x x Display
CALL INDVAL x x x x - Display
CALL LATIN x (*) x x x - Keyboard
CALL LSCRN - - - x - RAM Access
CALL NOCON x x x x x Display
CALL OPTIONS - x - - - Printer
CALL PRESEND x x x x - String Handling
CALL PRESORT x x x x - String Handling
CALL QPAINT - - - x - Display
CALL RECON x x x x x Display
CALL SIZE - - - x - Display
CALL SPAINT x x - - - Display
CALL SSCRN - - - x - RAM Access
CALL SYS - - - x - Printer
CALL SYSTEM - x (**) - - - Sakhr MSX2 System
CALL TEXT - - - x - Display
CALL TIME - x - - - Clock & Timing
CALL TOGREG - x - - - Clock & Timing
CALL TOHIJRI - x - - - Clock & Timing
CALL VPRINT - x x x - Display

(*) Not available on Sakhr AH-200, AX-100 and AX-200 (Arabic/English version)
(**) Only on Sakhr AX-350 with firmware v.2.02, AX-350II and AX-370