--- title: "Cambridge Z88 NewsNotes, October 3, 1988 (excerpts)" type: "article" slug: "cambridge-z88-newsnotes-october-3-1988-excerpts" url: "http://localhost/article/cambridge-z88-newsnotes-october-3-1988-excerpts/" markdown_url: "http://localhost/article/cambridge-z88-newsnotes-october-3-1988-excerpts.md" published_at: "2026-11-09T22:33:00+00:00" modified_at: "2026-11-09T22:33:00+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "Volume I, Number 3 - Published by Cambridge North America - October 3, 1988 Using PipeDream to Write Basic Programs Many people have asked how to use PipeDream to write BBC Basic programs. Basic has little ability to easily edit a program, while PipeDream is crammed with editing power. The easiest way is to begin…" post_tag: - name: "BASIC (programming language)" slug: "basic-programming-language" taxonomy: "post_tag" url: "http://localhost/tag/basic-programming-language/" - name: "Cambridge Computer" slug: "cambridge-computer" taxonomy: "post_tag" url: "http://localhost/tag/cambridge-computer/" - name: "Type-in program" slug: "type-in-program" taxonomy: "post_tag" url: "http://localhost/tag/type-in-program/" - name: "Z88" slug: "z88" taxonomy: "post_tag" url: "http://localhost/tag/z88/" model: - name: "Cambridge Z88" slug: "cambridge-z88" taxonomy: "model" url: "http://localhost/model/cambridge-z88/" publication: "Update Magazine" publication_r: id: 10283 title: "Update Magazine" type: "periodical" url: "http://localhost/periodical/update-magazine/" issues_articles: - id: 26491 title: "Update April 1996" type: "issue" url: "http://localhost/issue/ts-2068-up-date-april-1996/" pages: "50-51" pubdate: "April 1996" archive_link: false volumeissue: "vn" --- # Cambridge Z88 NewsNotes, October 3, 1988 (excerpts) *Volume I, Number 3 – Published by Cambridge North America – October 3, 1988* ### Using PipeDream to Write Basic Programs Many people have asked how to use PipeDream to write BBC Basic programs. Basic has little ability to easily edit a program, while PipeDream is crammed with editing power. The easiest way is to begin writing your Basic program in PipeDream as if it were a document. Place the two characters “#B” on the first line, the two characters “.J” on the second line, and start typing your program beginning on the third line. When you are ready to run the program, save the program as text using “◇FS”. Make sure you change the bottom NO to a YES, or the file will not be saved as text. Then, type “□F◇EX” followed by the same name you just used to save the program in PipeDream. This will load it into Basic. From this point on, remember to always go back to PipeDream to make changes. If you have a program you wrote using BBC Basic, then you must copy it over to PipeDream. This is done by listing the program in a special way in Basic. In Basic, list the program by typing “LIST□+S” and pressing Enter. After it is listed, type “□-S”. This saves the program as text in the file “:ram.-/s.sgn”. To retrieve the program in PipeDream, load the file “:ram.-/s.sgn” as text (make sure the bottom NO is changed to YES.) Once in PipeDream, the last line of the file will be added garbage, so remove it. The first line will be blank. Insert another blank line at the top of the file by going to row one and typing “◇N”. On these two blank lines place the “#B” and “.J” as described above and you are ready to use PipeDream to edit your Basic program. Z88 ### 73 is NOT the Limit! Several users have called to ask how they can write 80 column documents and see them on the Z88 screen. They understand that they can print very wide documents, but the Z88 is advertised as an 80 column screen, so why can’t they see an 80 column document! You got us! The ads are wrong. The Z88 doesn’t have an 80 position wide screen. It’s only 94 positions wide! (So, we understate the machine– nobody’s perfect.) The 94 columns are always available in Basic or other applications. They aren’t all available in PipeDream for two reasons. The first is unavoidable. Pipedream reserves 7 positions to the left for the line numbers. Thus, the maximum possible line width is 87 (94-7). To get an 87 position line you need to do three things. First, turn the page map on the right off by going to the panel (□S) and setting the MAP field to NO. Then go back to PipeDream by pressing **ESC**. Next, widen the document by adding two spreadsheet columns. Type **◇EAC◇EAC** to add the two columns. Finally, move over the right margin 14 positions (from 73 to 87) by pressing the following two keys 14 times: □→ If you want to see *merely* 80 columns, then don’t widen the screen the full 14 new positions. And we are sorry, but no, it is not possible to see more than the first 87 columns of a wider document– but then, you can’t do that on most desk top computers either. And it is certainly better than the 40 columns, or less, displayed on some “toy” computers. So we don’t really feel so bad! Z88 *Cambridge Z88 NewsNotes* *is published monthly by* *Cambridge North America* *Service Corporation* *615 Academy Drive* *Northbrook, Illinois 60062* *Phone 312.564.5512* *FAX 312.564.2684* *[Bill Moulds](http://localhost/indiv/bill-moulds/), Publisher* *[Chris Gorski](http://localhost/indiv/chris-gorski/), Managing Editor* *[Al Baker](http://localhost/indiv/al-baker/), Technical Editor* ### Printer Output from BBC Basic Printing output on the printer in BBC Basic is almost as easy as printing on the screen. It is also as powerful as printing from PipeDream. You have full control of bold, italics, underlining and any other special printing options you may have set up using the Printer Editor described in Appendix E of your Z88 manual. ``` 10 REM This program demonstrates printer output from BBC Basic 20 : 30 REM Open the printer output file 40 P=OPENOUT ":PRT.0" 50 : 60 REM Turn on printer output (REQUIRED) 70 PRINT#P,CHR$(5)+CHR$(91) 80 : 90 REM Output a message 100 PRINT#P,"This is text" 110 : 120 REM output a carriage return 130 PRINT#P,CHR$(13)+CHR$(10) 140 : 150 REM Switch to BOLD 160 PRINT#P,CHR$(5)+CHR$(66) 170 : 180 REM Output a number in BOLD 190 PRINT#P,"The answer is "+STR$(3*3.14159) 200 : 210 REM Output another carriage return 220 PRINT#P,CHR$(13)+CHR$(10) 230 : 240 REM Turn off bold 250 PRINT#P,CHR$(5)+CHR$(66) 260 : 270 REM Quit printing 280 PRINT#P,CHR$(5)+CHR$(93) ``` The listing shows a program that prints on the printer. Line 40 opens an output file to the printer device and assigns its channel number to the variable P. Every statement that sends information to the printer must specify this channel number. Two kinds of information can be sent to the printer using PRINT statements: control information, and output. ### Control Information Control information is sent out using the form **CHR$(n)+CHR$(m)**, where **n** and **m** are numbers. End-of-line information is one example of control information. This is shown on lines 130 and 220 and is of the form **CHR$(13)+CHR$(10)**. Other control information is used to start and stop the printer or change format. Printing will not work properly unless the printer is started before anything is sent to it and stopped after all printing is complete. This is shown in lines 70 and 280 of the listing. All the printing formats available from PipeDream or defined with PrinterEd are also available. The sample program shows the use of BOLD printing. Bold is turned on at line 150 and switched back off again at line 240. Each format is turned on and of with the same number pairs. Here are the number pairs for each of the formatting options available: ``` Printer On: 5,91 Printer off: 5,93 Underline: 5,85 Bold: 5,66 Extended seq: 5,88 Italics: 5,73 Subscript: 5,76 Superscript: 5,83 Alternate font: 5,65 ``` There are a few kinds of control information that use a single number. These are specified as **CHR$(n)**, where the number **n** is: ``` Form feed: 12 Bell: 7 Horizontal tab: 9 Vertical tab: 11 ``` ### Output The output data is what you are trying to print. It must always be text. Use the Basic function **STR$()** to convert any numeric values or formula answers to text before printing them. An example of this is show on line 190. Also remember that unlike the normal print command to the screen, you can only have one text expression in the print statement. Connect multiple text expressions with a “+”. Also, you have to use control information described above to force an end-of-line. If you are a Basic programmer, you now have all the information you need to print sophisticated output reports from your Z88 using BBC Basic. Z88 *Copyright 1988 Cambridge North America Service Corporation*