Beebug
1st November 1987
Categories: Review: ROM Chip
Author: Geoff Bains
Publisher: Pineapple Software
Machine: BBC B/B+/Master 128
Published in Beebug Volume 6 Number 6
Pineapple Software's highly successful drawing package, Diagram, now has even more features. Geoff Bains reports on the latest version.
Diagram II (Pineapple)
Readers of Beebug back in 1985 may remember my ravings over a drawing package called Diagram in Vol. 4 No. 6. Now Diagram has been rewritten with many additional and improved features. I am happy to say my respect for the package has only been increased.
Diagram II is not like any other drawing package for the BBC micro - and there are certainly enough others! Most drawing packages work in one of two ways: either the start and end co-ordinates of each line are stored, or alternatively the bit map of the screen picture is stored. Both methods have their disadvantages.
Storing the bit map (the screen memory) is wasteful of space on disc. Storing the co-ordinates is a more economical and versatile method, but simple editing is slow and it prohibits the most dramatic feature of Diagram II - smooth scrolling across a picture of up to 30 mode 0 screens in size.
Diagram II stores the code number of each character which makes up the diagram along with the definitions of the character. Of course, such a method is only sensible if the picture contains a majority of repeated characters. However, Diagram II is (naturally) meant for drawing diagrams which are usually made up of a decidedly limited number of different sub-sections.
This basic difference to other 'normal' drawing packages is not immediately apparent when you start using Diagram II, because the software effectively hides the mechanics of it from the user. Drawing lines is as simple as with any other package. You just put the program into 'line drawing' mode and move the cursor around the screen with the cursor keys. The program automatically lays down the correct selection of pre-defined characters along the path you trace to create the line on the screen. Turn a corner, and a right angle turn character is printed, cross another line and a cross character is printed at the intersection.
For drawing circuit diagrams, a 'blob' can be left at all line intersections by pressing Ctrl as you reach the join. Now that just isn't possible with other types of drawing package. This character system also means that diagrams are naturally and easily kept aligned and 'square'. If the characters are defined correctly, it is genuinely difficult not to draw neat and impressive diagrams using this software.
A major improvement over the old Diagram program is the additional ability to use a rubber banding system for angled lines or for tracing an irregular shape. Amazingly, this still uses predefined line section characters, all selected and printed automatically.
Diagram pictures are drawn a screen at a time. Once the whole picture has been set up (if it's a new diagram) on disc, the screen sized section to work on is selected and displayed. The view window can then be scrolled across the whole diagram until the required screenful is visible.
Only characters to produce lines are supplied predefined. The characters to make up other shapes on the diagram must be defined by the user. These are made up of 1 to 12 normal Beeb 8x8 pixel characters. 880 Beeb characters can be defined (only 335 without shadow memory), spread among the various diagram shapes. A very effective character definer is provided, which allows fast and easy movement across a grid to fill or blank each pixel in a shape. The whole character can be emptied, or flipped horizontally or vertically. New characters can be defined or existing ones altered. All or some of the characters for a diagram can be saved to disc and new ones loaded.
As well as drawn lines and predefined characters, Diagram II can produce circles, rectangles, ellipses, arcs and triangles, either filled or in outline, to build up larger shapes. However, users without a Master or the Acornsoft GXR graphics ROM are only able to achieve circles and filled triangles.
Although producing these shapes is as easy as with any drawing package, again the end result consists of individual predefined character shapes which make up the more complex shapes. Any area of the diagram can be defined with the cursor and then deleted, moved, copied to another part of the screen or saved to disc - to incorporate in another screen of the same diagram or in another diagram altogether.
Text is placed on the diagram simply by typing it in. Text can also be taken from a Wordwise Plus file and automatically formatted in a defined section of the diagram. Text is not restricted to the usual Beeb character set. New character styles can be created with the character definer, and these can then be automatically used as text is typed in.
Each character can have a 'direction' defined with it. When the character is typed, the cursor moves on ready for the next character in this direction. So text defined as rotated through 90 degrees, or upside down, can be typed with the correct movement in between letters.
Other utilities allow up to 8x8 reduced screens to be displayed simultaneously, borders to be added to a diagram, and existing diagrams to be changed in size for additions, or shifted across an enlarged diagram.
Once the diagram has been completed on screen, it is printed using Diagram II's superb printing section. This will accept any printer, but defaults to Epson' compatible codes. Diagrams can be printed in excellent quality at any size from three screens to just one character across an A4 page. All the parameters entered to control the size, position and codes used for the printout can be saved to disc for later repeat runs.
Diagram II should not be confused with normal drawing packages. It is only suitable for drawing electronic circuits, architects' plans and other schematic diagrams. However, if these are the kind of picture you want to produce, there is no better package available for flexibility, ease of use, and performance.
Vital Statistics
Product: Diagram II
Supplier: Pineapple Software, 39 Brownlea Road, Seven Kings, Ilford, Essex IG3 9NL. Tel: 01-599 1476
Price £63.25 inc. VAT (discounts available for Diagram I users).