Flex

From DragonWiki

Jump to: navigation, search

FLEX is the disk operating system first distributed by Compusense as an alternative to the official OS9-system from Dragon Data. Later Eurohard adopted the FLEX-system as the official DOS for the Dragon, when they made the Dragon a new home in Spain.

Contents

From Compusense ad

FLEX - Power to the People

lf you own a DRAGON64 and a disk unit then you have already made a serious commitment to this computer and want the best possible performance from it. Preferably without having to learn a lot of irrelevant "computerese".

Simplicity is a sign of well designed functional computer software. After all you don't pay money to be treated like an idiot. FLEX has the virtue, for ordinary mortals, of being easy to use and understand. That is a result of design, not accident There are few things about FLEX that you cannot understand in a session or two of using the software. For example if you want to copy all the files from disk drive 1 to disk drive 2 you type COPY 1,2. Nice and easy, no Ph.D. required. Try that with your current disk operating system and you will begin to understand why we prefer FLEX.

FLEX gives you more free space for use, 48k to be exact. FLEX allows the use of single or double sided, single or double density disks of whatever number of tracks. ln other words any kind of 5" disk or disk unit. We don't want to cramp your style and if you buy software from another source for FLEX you will be able to read the disk. Try that with your current disk operating system.

We will be issuing a FLEX utility disk which will allow you to run DRAGON BASlC with FLEX. So you don't have to start again with a new BASIC. lf you want PASCAL, COBOL, FORTRAN, FORTH or "C' they are available from several sources. An editor and assembler are part of the standard FLEX package.

ln short, good software, reliable and easy to use - that is FLEX.

Flex on its own £35 plus VAT.

Editor + Assembler £45 plus VAT.

Flex including Editor and Assembler £75 plus VAT.

Go Flex - Dragon User, February 1985

Brian Cadge looks at an alternative to OS9

If you are thinking of moving up to a professional operating system for your Dragon, then an altemative to OS-9 is Flex from Compusense. The minimum system required is a 64K Dragon and a disk drive, though two disk drives are preferable.

The Flex disk is supplied with a hefty 200 page manual which describes all the commands and the editor/assembler which is included on the system disk. Also included is a booklet describing a few extra features added to the standard Flex set up for the Dragon implementation. Unfortunately, l have not seen a copy of the latter. lt is advisable not to use your original disk, but to immediately make a back-up copy and use this to boot Flex (one crash could wipe out the disk). Once inserted into the disc drive, Flex is started using the BOOT command. After a few seconds the screen goes into 51 column mode, (using Pmode 4 graphics) and asks for the current date to be typed in.

The disk supplied has a demo program installed as the startup procedure which "welcomes" you to Flex (this can be deleted from the disk once your're familiar with the package). Three q's is Flex's prompt to signal that it is waiting for a command. The first one to try is CAT which shows a directory of the disk - various parameters can be added to the command so that only certain types of file are listed etc. The size of the file is also shown.

As with OS9, the BUILD command allows you to enter a file from the keyboard. The EXEC command can be used to execute this file as a set of instructions. You might, for example, build a file with the necessary commands to copy the disk on a fresh disk in drive 2.

A powerful TTYSET command allows you to alter just about every attribute associated with your terminal, as this is never anything but a Dragon running Compusenses standard 512 column display, this will seldom be used.

A certain degree of I/O redirection is possible. Sending output to a file or printer, rather than the screen, and taking input from a file, rather than the keyboard, are all supported.

The Flex Operating System is comprised of three parts, the File Management System, which allocates disk space, the Disk Operating System, which interfaces the programs and the FMS to the Dragon disk drives, and the utility command Set, which are the commands such as CAT, DELete, BUILD, etc. All of these are stored on the disk and are only loaded when called by the user. Flex itself is stored in Ram starting at $C000, which just happens to be where the Dragondos is stored on Rom.

Also included on the Flex disk, as mentioned earlier, is an Assembler/Editor, the editor is used to prepare text files for the assembler. It is a fair text editor, but is in no way a word processor. The assembler is the program worth looking at.

A file is assembled by calling the assembler, called ASMB and following this by the filename of the source code. A number of options can be added to do things like: generate no object code, suppress the assembled listing, suppress the symbol table output and suppress warning messages.

The assembler uses the standard Motorola mnemonics, so most assembly language programs for the Dragon can be entered wtth the minimum of changes. However, there are some very powerful features that most Dragon assemblers do not offer. Disk files can be assembled into part of the program, using the LIB directive, several conditional assembly constructions using IF are supported, such as:

IF <expression>

conditional code goes here

ENDlF

Finally, perhaps the most powerful option is to include macros into your program. Macros are similar to subroutines, except that when called the code is inserted at the current location. Therefore, three calls to a macro results in three copies of the same code in your program - not very efficient. Macros really become useful when you start using them with parameters - the basic construction of the code is the same each time, but the memory addresses used are different and are supplied as parameters in the macro call. Using conditional assembly statements in the macro itself allows very powerful programming techniques to be used.

lf you want to know more about the Flex operating system then there is an advanced programmers guide available. This is certainly not written for the beginner and none of the information included in it is needed to use Flex efficiently. But if you fancy writing your own Flex commands, or customising your system, then you will find all the information here.

A memory map of all the user callable routines is included, as well as a list of the useful locations used by Flex. There are sections on the DOS, the file management system, the disk drivers, printer driver and writing your own utility programs. Assembly language examples are liberally scattered throughout the text. Again the manual refers only to Flex, and doesn't mention the Dragon or any particular implementation.

Just released is DBASIC, which allows you to use the standard Microsoft Basic in Rom with Flex. When loaded, DBASIC copies the Rom into Ram and cold starts the Basic. There are additions such as CSAVEF to save a file on to a Flex disk, and CLOADF to load it back. Using the EXEC command with a string, instead of an address, allows you to Pass a command directly to Flex, such as EXEC "CAT", which will directory the disk.

The cassette filing commands, OPEN, CLOSE, INPUT, PRINT etc have been extended to handle up to eight files at once - either serial data, random access or text files can be specified. Channel numbers 1-8 are used.

There are also extensions to the CLS command to use the hi-res 51 column text screen, so you effectively get Compusense's "Hi-Res" cartridge built in. Existing programs can be loaded and will run, with the exception of those that use Dragondos commands. This package is only really intended as a cheap altemative to a complicated Basic running under Flex, and to maintain compatibility with present Dragon programs.

Finally, also available for Dragon Flex is the RMS database, which is also available for the OS9 operating system. The record management system allows you to store just about any type of record you want, such as personnel, customer, accounting, or club files.

RMS will create the file to store the details for you, and then request the infomation in form-fill style - that is, you fill in a form on the screen for each record. Once this is done, you can search for and update records from the keyboard. RMS will also produce primed reports to the specification given in a file.

RMS consists of several modules, to create a new datafile, to input and edit the file, and to print the reports. All data is saved in the standard ascii format, so RMS files can be read by other Flex programs and languages such as Dbasic. RMS takes some getting used to, but once mastered it is a powerful record management system, if not quite a database.

Inevitably, Flex is going to be compared to OS9, and to be honest it comes off worst. Although it has more prewritten software than OS9, as an operating system it is much less powerful. There is no multitasking available, no piping of data to concurrent programs, and in certain ways it is more clumsy to use. Having said that, the Flex system disk is probably worth buying, just for the Assembler included on it, as this is certainly the most powerful I have seen running on the Dragon.

For the assembler/editor, Flex gets 10 out of 10, but for an operating system I would plump for OS9.

Flex disk & asm/edit £86.25

Advanced Programmers Guide £11.50

RMS database £70.00

Dbasic £30.00

FLEX revisited - Dragon User, September 1985

Roy Coates takes another look at the new official Dragon operating system, FLEX

Now that Eurohard has decided to drop OS9 in favour of FLEX as the official Dragon operating system, it is worth taking a look at just what FLEX is.

FLEX first appeared in 1977 and was written by an American company called Technical Systems Consultants Incorporated.

It has been run on a variety of 6800 and 6809 based machines in all sorts of environments and for all sorts of different purposes. The FLEX used for this review is a custom version written for the Dragon by the London based firm Compusense and they have added a few features to make life a little more comfortable. These include a modified 51 by 24 screen display using PMODE 4 graphics which is a marvellous improvement over the standard 32 by 16 Dragon display.

Machine code chunk

FLEX is an 8K chunk of machine code residing in RAM which handles all the disk and terminal I/O. All the usual DOS commands such as CAT, LIST, SAVE and so on are stored on disk and are only loaded into RIAM when they are required. This is the way in which most of the expensive "real" computers work and is obviously very efficient when it comes to saving valuable memory. One of the big attractions of FLEX for me is that FLEX is a very "open" system. By that I mean that the documentation giving the entry points to all the routines contained within FLEX and all of the useful locations used by FLEX is readily available in the FLEX Advanced Programmers Guide. I don't think that you need to be an advanced programmer to deal with FLEX, as most of the things you would want to do have already been done for you. The routines available within FLEX include all possible disk operations, text operations such as input a character or number, output a character or number, print a string and many more. Even the error handling is extremely simple and all these functions are very well documented.

Getting FLEX started is simplicity Itself. Simply type BOOT for the DragonDOS version, or RUNM"FLEX" for the DeltaDOS version, and within a few seconds the Hi-Res 51 column screen will appear with the FLEX copyright line at the top. You will be prompted for the current date. When entered, the FLEX prompt "+ + +" will now appear and the system is ready for use. FLEX is very user friendly - it is difficult to make mistakes as any command which may delete a file or disk asks you twice if you are certain that you wish the operation to continue. An example of this is the DELETE a file command.

delete jetset.bin

DELETE JETSET.BIN ?? y

ARE YOU SURE (Y or N) ?? n

AH! I THOUGHT SO.

A FLEX file specification consists of the filename which may be up to eight characters in length, followed by a three charater "filetype". For example:

DATABASE.BIN ls a machine code file.

MYPROG.TXT ls a standard FLEX text file.

MYPROG.BAK ls a backup file created by the editor.

As well as the file name and type, other infomation pertainting to the file is stored, such as the date of creation and the file protection allocated to it. The files may be Delete protected. Write protected or catalogue protected so that they do not appear to exist on the disk at all. This last option may seem a little strange but l for one have found a use for it when running FLEX on a single drive system. If all of the system utilities are catalogue protected, then the system becomes "transparent" and the disk appears to contaln only your own files which is obviously neater and far easier to work with. The minimum hardware required to run FLEX using either a Delta or DragonDOS cartridge is a Dragon 64 and at least one disk drive. Altematively a Dragon 32 may be used in conjunction with the excellent and much un-publicised PLUS cartridge available from Andteck Data Design.


Image:flex_system_disk.jpg

The FLEX system disk supplied by Compusense contains all sorts of useful goodies. Everything you would need to use the system is contained on the disk. There are also two special utilities provided - the text editor and the assembler. The text editor is line orientated and is a very powerful one. The assembler must be the most powerful that I ever seen. Just about every feature you could want from an assembler is included.

One really useful facility is Library which gives you the ability to Call other source files from within your main source file and have them included in the assembly. For example, I have a file called FLEXLINK.TXT on my system disk which comtains a list of all the FLEX routines and their addresses so that whenever I am writing a program which is to be linked to FLEX I simply add the line

LIB FLEXLlNK.TXT

to my source file and the equates stored in that file are automatically included in my assembly. This means that my program can use FLEX calls such as

JSR PSTRNG

which prints a string of text to the temiinal, with no need to define the entry point of the routine "PSTRNG".

Once FLEX has been booted on a standard Dragon 64, the user is left with RAM from 0 to $BFFF completely free for their own programs. Although the Dragons BASIC is not immediately available when FLEX is installed, a modified version called DBASIC is available on disk which has links through to the FLEX system to give access to disk files as well as the ability to pass commands to FLEX itself. The DBASIC package also allows use of the 51 column display which is a great improvement over the standard Dragon display. Other versions of BASIC are also available for FLEX. So are "C", Crunch Cobol and many other languages. There are also many utilities available including Word processors, Text processors, Spreadsheets, Data-base systems, Assemblers and cross-assemblers. De-bugging programs, and the list is growing all the time.

In conclusion, after many months of using FLEX I don't know how I ever managed without it. FLEX expands the capabilities of the Dragon by an incredible amount, something that cannot be done with most of the other home micros. Eurohard has settled on FLEX as their standard operating system and Compusense, the official Dragon importers, has been heavily involved with FLEX for many years and is continually updating the range of software for it. For anyone put off by the price, you are getting an awful lot of software for your money and I think you have more chance of being run over by Concorde than of regretting the purchase of FLEX. If l had my way, FLEX would be compulsory for every Dragon owner. Compulsory FLEX operating system, editor and assembler with DBASIC package . . . £99.99. FLEX Advanced programmers guide . . . £11.50.


Personal tools