If something was missing in the PCW, it was the possibility of drawing with it from Basic. To mitigate this failure of the Locomotive Software programmers, some graphical extensions appeared on the market, most of them have the function of simplifying the long escape chains necessary to achieve such simple effects on other computers such as screen blanking, or the “locate” function, in addition to the definition of windows, etc., others go further, such as the graphical extension Exbasic by Nabitchi Computing, which was launched on the market. This extension is not a new Basic, but an extension that maintains all the advantages such as indexed files, Jetsam, etc., only some new routines are added that were really missed.
Exbasic only deprives us of about 4K of program memory and incorporates, in addition to various graphic commands, facilities to achieve everything that can be done using control characters. Likewise, it allows us to write the text rotated by 90, 180 or 360 degrees, save and load screens from disk, obtain screen copies on the printer, save a screen area in memory to later retrieve it (very useful for making pull-down menus). down).
The disc also contains various demos and four example screens, as well as a little joke, and is accompanied by a booklet explaining the syntax of the new commands. These, curiously, are always introduced as an argument to a PRINT statement.
Exbasic does not use GSX and handles loading BASIC.COM itself.
What does this extension offer us that our normal Basic does not have?
The presentation of the program has not been left aside, it has been very careful. It is accompanied by several demonstrations as well as a file saved in Ascii, containing the syntax of all the commands as well as a brief comment about them.
The syntax of the commands could not be simpler, they all start with a PRINT followed by an opening quotation mark, a bracket and the desired command, then closing quotation marks.
To get a CLS, before we had to type PRINT CHR$(27)+“E”+CHR$(27)+“H”, now just type PRINT “[CLS” and so on with the rest of the options.
Loading the program could not be simpler either, from the CP/M we type EXBASIC and the program loads by itself, if Mallard Basic is not found on the security disk, the program itself will ask us to indicate the unit in which it is is found, this could be the M:, the A: or the B:, in case of confusion, you can return to the CP/M with the X option.
Modifying BASIC to add new commands is not easy. In fact, the way to extend a BASIC is usually different depending on who does it. Exbasic chooses to intercept the PRINT command routine. Thus, to use one of the new commands we must “print” it along with the necessary parameters.
For example, the statement PRINT “[CIRCLE.”,200,200,100; allows us to draw a circle whose center is at the point of coordinates 200,200 and with a radius of 100 pixels.
Exbasic has, in addition to graphical commands, a number of utilities that perform functions that can be achieved with control characters. For example, to clear the screen, instead of using the cumbersome PRINT statement CHR$(27)“E”CHR$(27)“H”; we can use something simpler, like PRINT “[CLS.”;.
Exbasic graphics commands
We have commands to load and save screens, use two different graphic printing modes, use a special erase mode, move the graphic cursor, draw a point, draw a line, draw a circumference, find out the color of a point, obtain a screen copy to the printer and save and retrieve a piece of screen to a buffer. This last command allows us to create pull-down menus saving the piece of screen that we are going to use and then recover it. Missing a refill routine.
These commands have minor drawbacks, especially the line drawing commands. When drawing a line or a circumference, if the line leaves the screen it enters from the opposite side and also, in the case of the circumference, some tangents appear that we have not requested from the command. On the other hand, the instructions to load and save screens only save to the disk that was active when we called Basic.
Other Exbasic commands
The commands not so related to graphics are of a very diverse type. Among others we can mention PAUSE (to get a pause), BEEP (same as PRINT CHR$(7)), CLS, activate and deactivate the cursor, activate and deactivate the status line, move the text cursor in any direction, activate and deactivate the underlined writing or the writing in reverse video, place the cursor in the coordinates that we want, etc.
Obviously, this series of graphic facilities have their price, and the space for programs is reduced to about 23 K.
In short, we can conclude by saying that this is a great utility for Amstrad PCW users, who miss some options of their Basic, but who do not want to lose any of the advantages they had, the bad thing is that it reduces the memory available for programs.
GRAPHIC COMMANDS [NORMAL [INVERT [RUBBER [SAVE [LOAD [MOVE [PLOT [DRAW [CIRCLE TEXT COMMANDS [UP [DOWN [LEFT [RIGHT [AT [HOME [SCP [RCP [-CUR [+CUR [-UL [+UL [-REV [+REV SCREEN COMMANDS [32*90 [24*80 [-PAPER [+PAPER [CLS [CLS2 [-SL [+SL [-STORE [+STORE [POINT [LDUMP MISCELLANEOUS COMMANDS [PAUSE [BEEP
In the following images you can check the original packaging.
Actual measurement of the cover: Width: 40.60 cm x Height: 28.60 cm
Custom labels to print. Over the years due to their use, the labels are damaged and lose their color and quality. Now we try to adapt the most similar to the extent of our possibilities, the labels so that they can be printed and replaced or for those of you who work with a copy of the program and preserve the original disc. Measurement in 3“ height: 7.00 cm - width: 7.10 cm. The first image corresponds to the original game label, the second is the same modified label to replace the broken one and the third and fourth images are for 3.5“ discs.
Product instructions printed double-sided on DIN-A4 size sheets in black and white whose measurements are: Width: 21.00 cm x Height 29.70 cm.
Some advertisements for the program in high-circulation magazines of the time.
The disk images, obtained from the original version of Exbasic, have been recorded and verified.
Below you can download the Exbasic program manual or view it online. The manual sheet measures: Width 14.30 cm x Height 20.30 cm.