Mira Software
Steve Lee
Programming: General
ZX Spectrum 48K

Simon Goodwin
Chris Bourne

Mira Pascal has many of the features of Mira Fortran and it too costs £15, but it has been produced more recently and has fewer rough edges. It's a complete, modern version of Pascal. Mira Software says that the microdrive version compiles with Level 1 of British Standard 6192.

Like the Fortran compiler, Mira Pascal is supplied on cassette. The A4 instruction manual is only 12 pages long but it is better organised and easier to use then the Fortran manua;. If you already know the standard and can puzzle out the rather technical error reports you should not need any other information; otherwise you'll need a tutorial. The manual recommends a book that deals specifically with British Standard 6192.

The tape has three different versions of the compiler. The cassette version allows about 22K of memory for program text; the microdrive version is a little larger, and both leave about 1800 bytes unused at the top of memory in case you need to load a printer-driver There. Then there's a condensed tape version which allows an extra 3K of program. It loads at the very top of memory, has no help page and uses numbers rather than text to report errors.

Pascal is a very different language from Fortran. It was invented in the late Sixties by a Swiss computing professor, Niklaus Wirth (and named after the 17th-century French mathematician Blaise Pascal); it was designed both to be easy to compile and to learn, and to encourage systematic - structured - programming. This is a style of coding that makes programs easy to read and to modify.

There are usually two stages in the development of a program. First you make it up; then you make it work. Pascal forces you to think before you start coding: it reduces the amount of time you spend debugging, because to use Pascal effectively you have to make plans first.

This is good discipline for professional programmers, because it is almost impossible to write big programs that work unless you plan them carefully from the start. Pascal has a bad name with some hackers because it's not suitable for bodging small programs together quickly.


Mira Pascal uses an editor similar to the one supplied with the Fortran compiler, with all its commands and more besides. Now you can move directly to the start or end of the text, duplicate blocks as well as move them, and load and save files on microdrive as well as on cassette. (The manual tells you to use key S to save to microdrive, but it should say D.)

You can compile text files created by a word-processing system such as Tasword 3, but, sadly, you can't load Pascal files into the word processor.

All the usual features of Pascal are included: Mira Pascal works with characters, Boolean (true or false) values, integers +/-32767, nine-digit floating-point numbers and subranges, packed into single bytes when possible.

Data structures are the strong point of Pascal, and Mira Pascal works with conformant arrays, variant records, pointers and sets 01 any size. DISPOSE can only reclaim the space used by the most recent dynamic variable allocated, so programs that make heavy use of pointers may run out of memory after a while.

Beside standard functions and procedures Mira Pascal supports BEEP and the drawing commands and maths functions of ZX BASIC. USR lets you call machine code but does not return a value. Once again POINT is missing, and INK and OVER must be set by printing control codes.

Characters do not appear by default on the screen when they are read from the keyboard. If you want to be able to see and edit your input you must call the procedure EDITOR before using READ or READLN. (This worked well for me except when I typed a blank line - then subsequent input was invisible!)

Mira Pascal can use files opened from BASIC, as can Mira Fortran. It also supports temporary files which automatically disappear when you leave the block of code that created them. Unlike Mira Fortran, the Pascal compiler lets you RESET and REWRITE files, and check EOF as normal.

The microdrive version of Mira Pascal automatically saves your program when you start the compiler and reloads it when you run the editor. Apart from this, the compiler works in two steps, like Mira Fortran. It displays one number after a compilation - the address to CLEAR - just before the compiled code. This number is also printed out, if you have a printer connected.


When I tested the compiler, the speed and size of Mica Pascal code proved to be similar to that of Mira Fortran. Integer- handling was again impressive, but floating-point maths was only two or three times faster than ZX BASIC. The compiler worked very quickly, each step processing between 20 and 30 lines per second.

Mira Pascal comes with three demonstration programs. The first searches for all the prime numbers between 1 and 32767, using a sieve method much more efficient than the corresponding Fortran demo. It took 40 seconds to run, and I was able to reduce that to 15 seconds by making minor changes to the listing.

The second demo computes and displays three-dimensional graphs, clipped to fit a box on the screen. It worked quickly and well.

Last on the tape is a well-written spelling-checker. This comes with a dictionary of just 800 words, expandable to 2,000, but it is a fine illustration of the way Mira Pascal can be used to develop sophisticated programs.

I like Mica Pascal - it is a valuable addition to the Spectrum programmer's armoury, especially if your microdrives are in working order! It should give Hi Soft Pascal some serious competition.

Mira Software is at 24 Home Close, Kibworth, Leicestershire LE8 OTJ.