ME INTERNATIONAL QL REPORT
The Definitive Information Source
Published by SeaCoast Services
Anniversary Issue
May/June {992
Vol. 2 No. 1 $5.00
15 Kilburn Court, Newport, Rhode Island 02840, USA
DILWYN JONES COMPUTING
41 BRO EMRYS, TAL-Y-BONT, BANGOR, GWYNEDD, GREAT BRITAIN, LL57 3 YT
TELEPHONE: 0248-354023
WE SELL A WIDE RANGE OF SINCLAIR QL SOFTWARE, PROGRAMS WE PUBLISH OURSELVES AND THIRD PARTY SOFTWARE. MOST ITEMS ARE HELD IN STOCK WHERE POSSIBLE, BUT WE WILL OF COURSE ORDER ANY ITEM NOT CURRENTLY IN STOOCK AND QUOTE YOU A DELIVERY TIME.
CATALOGUE ASK FOR A COPY OF OUR QL PRODUCTS CATALOGUE, FREE ON REQUEST. IT CONTAINS MORE DETAILS OF OUR SOFTWARE AND SOME SCREEN PICTURES FROM THE PROGRAMS.
SOME OF OUR SOFTWARE IS AVAILABLE FROM EMSOFT IN THE U.S.A., QITALY CLUB IN ITALY, JURGEN FALKENBURG AND QLYMPIC COMPUTER SYSTEMS IN GERMANY. OR YOU CAN ORDER DIRECT FROM US, OF COURSE. IF CONTACTING US BY TELEPHONE, REMEMBER THE UK IS 5 TO 8 HOURS AHEAD OF THE U.S.A. WE HAVE AN ANSWERING MACHINE FOR WHEN WE CAN'T ANSWER IN PERSON AND WE DO TRY TO CALL YOU BACK IF REQUIRED.
WE CAN ACCEPT ORDERS BY TELEPHONE, PAID FOR BY CREDIT CARD FOR LOW EXCHANGE COSTS AND QUICK DELIVERY. WHY NOT CLUB TOGETHER TO BUY PROGRAMS AT REDUCED COSTS AND TAKE ADVANTAGE OF QUANTITY DISCOUNTS (5% DISCOUNT FOR 2 PROGRAMS, 10% FOR THREE OR MORE). PLEASE ADD 2.00 POUNDS STERLING PER PROGRAM ON MICRODRIVE CARTRIDGE.
PAYMENT BY CREDIT CARD (ACCESS, VISA, MASTERCARD, EUROCARD, CONNECT), EUROCHEQUE (IN POUNDS STERLING), INTERNATIONAL POSTAL MONEY ORDER, CASH, CHEQUE IN POUNDS STERLING DRAWN ON UK BRANCH OF A BANK OR BUILDING
SOCIETY
ALL PRICES IN THIS ADVERT ARE IN UK POUNDS STERLING CURRENCY. POSTAGE - SOFTWARE POST FREE IN THE UK, AND 1 POUND PER PROGRAM TO OTHER
COUNTRIES
FILE TRANSFER DISPLAY SOFTWARE DATABASE DISCOVER VISION MIXER 1........... ADDRESS LABEL PRINTER. MULTI DISCOVER VISION MIXER PLUS. DATA DESIGN... EXT S б ed ae EAS СЫР алы UPGRADE VM1 ТО УМ» 450 FLASHBACK.
PICTUREMASTER........ 5.00 FLASHBACK SE. А LEISURE PICTUREMASTER PLUS. 0.00 UPGRADE TO SE VERSION 20.00 CRICKETSECRETARY. UPGRADETO PMPLUS 500 | GENEALOGIST....... QUESTION MASTER GENEALOGIST V2.... FLEET TACTICAL GRAPHICS BUDGET GENEALOGIST..
COMMAND 2..........................49.95 THE PAINTER 4.04... 2500 | SUPER DISK INDEXER
FIC DATA PRINTER (HP Deskjet printer option) THE FUGITIVE Sor OTHER SOFTWARE COCTAILS WAITER QRACTAL..... 20.00 НОМЕ BUDGET (ОК).
DEMO QRACTAL SCREENS. 5.00 REMIND ME à PROGRAMMING IMAGE PROCESSOR V2.. 500 ЅСКЕЕМЕСОМОМІЅЕК........................ 10.00 BASIC REPORTER ат UPGRADE TO VERSION 2.. 0.00 | SLOWGOLD slow down.. 5.00 BUDGET QLIBERATOR PD2CLIPARTSCREENS.. 000 — TASKMASTER............. 25.00
QLIBERATOR 3.35.. QLOAD and QREF...
FILE HANDLING FILES 2 FILEMASTER. THE GOPHER WINBACK V2.01..
D.T.P. PAGE DESIGNER 2+ PD2 UPGRADE.
SCREEN SNATCHER. TEXT 'N' GRAPHIX TRANS24 converter...
TEXT KING JAMES BIBLE TEXT
QUILL WP" DOC"FILES. SPELLBOUND..
SPELLBOUNDSE QUICK POSTERS... ROBROY SOFTWAREPACK.
MEGA-TOOLKIT. (ready during the summer)
MINI PROCESS CONTROLLER SOFTWAREUTILITY. NETWORK PROVER BOX.
LABELS 100 disk labels... 100 m'drive labels... ч 100 address labels.
ALL PRICES SHOWN ARE POUNDS STERLING
SPECIAL ANNIVERSARY ISSUE NEWPORT, RHODE ISLAND, USA - THE EDITORIAL STAFF
With this issue, we begin our second year of publication. We've received many encouraging letters with your subscription renewals, and we'll endeavor to continue providing you with a timely, quality publication. We would also like to welcome the many new readers who have joined us.
During the past year you've received advanced information on the latest hardware and software developments for the QL, including the QL HDD-CARD, FLP/RAM level 2 Replacement Eprom, the soon to be released Miracle Systems Graphics Card, Minerva, Exeqter and the QL ROM-CARD.
Articles contributed by QL Users from around the world included, How to Setup the 3.2 Meg. Floppies, Programming in "C", a Multi-part Toolkit II Tutorial, Hints & Tips, and Software Reviews. Our pool of writers has increased with each issue, which we hope will continue. IQLR covers the entire spectrum of QL users from novice to expert. Many a novice has taught the experts a thing or two. Why not share your insights, experiences, problems, tricks, and knowledge with the rest of us, and don't worry about writing style. Dick Taylor is one of the best editors in the business, and has saved our articles on more than one occasion.
You asked us to include advertisements, which we've done, but remember, your support of the dealers who advertise in IQLR is essential for them to continue.
Starting with this issue, we will incorporate (from time to time), REFERENCE CARDS. These cards contain information and/or commands with explanation, that will help you to use programs, utilities, and even operating system equivalents. This issue contains a card for TOOLKIT II that was provided by the SeaCoast QL User's Group.
The frequency with which we publish these REFERENCE CARDS will depend on you. If ‘you or your group would like to develop one for your favorite application, we'll be happy to include it in a future issue. (Ed. Note: I use a half dozen of these crib cards for various Editors and even games. They are especially handy for programs I only use occasionally and it's much easier than slogging through the manual again). We will also offer laminated versions of these REFERENCE CARDS if there is enough interest. The price will be $5.95 per card, including shipping in North America.
By now you've noticed our new logo. Our envelopes will continue to carry the old logo until they are used up. Let us know, what you think of the logo and/or other changes.
IN THE PIPELINE
Work continues on Miracle System's GRAPHICS CARD. No release date has been announced.
Qview and TF Services of the UK are working on a replacement for the QL's co- processor, the 8049 chip. This chip controls the QL's keyboard and serial ports. The advantages of using a 8749 or equivalent chip would be increased speed and a stable serial interface. A working model was demonstrated at the International QL Meeting held in Munster, Germany on March 21, 1992.
IN THE PIPELINE - (cont)
Bill Cable of Wind & Wood Computing in the USA is feverishly working to complete his innovative financial package for the QL. Named QLERK, it will be to the QL user what QUICKEN is to PC users, only better.
The C-68 "C" Compiler is now in release 2.01, (we expect to receive it shortly). Release 3.00 is being beta tested.
NEW FROM DENMARK - ArcED SURSEE, SWITZERLAND - URS KONIG
ArcED is the new professional TEXT-EDITING-S YSTEM for programmers of all QDOS compatible computers, written by Steen Kastoft Hansen of Denmark.
Not just another editor, ArcED offers you a complete new dimension in editing. Itis a configurable full screen Text-Editor, with over 35 direct key commands including user definable function keys. Its inbuilt command line interpreter has over 80 CLI commands. There is a powerful user BATCH file option, and an online help system.
It has switchable Auto-Indentation and switchable Word-Wrap. Of importance to "C" programmers is the switchable Parenthesis-Check. ArcED supports multiple block operations, easy block transfer between jobs, multiple Search/Exchange operations, inbuilt configurable discard stack, powerful cursor handling, soft and hard scrolling. It is fully multitasking, and written in 20K of hyperfast reentrant 68000 machine code.
For additional information, or to place an order, contact either:
COWO ELECTRONIC QLYMPIC COMPUTER SYSTEMS
,Munsterstrasse 4 Quellenweg 18 CH-6210 Sursee W-4220 Dinslaken Switzerland Germany Tel: 045 21 1478 Tel: 02134 96694
ArcED is available on 3.5" or 5.25" diskette and comes with a comprehensive 29 page English manual. The cost is 49 Swiss Francs.
HELPFUL HINT #1:
It can be difficult to insert a peripheral device (i.e. Trump or Gold Card) into the expansion slot of the QL while they are both horizontal. If you stand the the QL on it's end with the expansion slot up, you will find that the device will slide in or out without snagging any of the components on the card. CAUTION: The QL should always be unplugged to ensure power is off prior to making any hardware alterations. Before touching chips, boards, and other electronic components, you should use some method of dissipating static electricity.
FANTASTIC PRICE REDUCTION OSBALDWICK, YORK, UNITED KINGDOM
Miracle Systems have announced a tremendous reduction in the price of their GOLD CARDS. The export price for delivery outside the UK is now 200 Pounds Sterling.
For the price of $350 to $375 US (depending on the current exchange rate when you order) you can have a GOLD CARD operating at 16 megahertz, with 1920K bytes of RAM, 68000 processor, a battery backed clock, and access three floppy disk drives of any configuration (3.2M 1.44M - or 720K). To order, write or call:
Miracle Systems, Ltd.
25 Broughton Way Osbaldwick, York YO1 3BG United Kingdom Те1:0904423986
If your wondering what to do with your Income Tax Refund, or just waiting for the price to come down, NOW is a good time to upgrade to a GOLD CARD. When calling from North America Dial: 011 44 904 423 986.
CONFESSIONS OF A QL DUFFER
YARMOUTH PORT, MASSACHUSETTS, USA - SHERMAN E. WATERMAN
Having been introduced to computers at the hoary age of sixty plus, my first experiences were with the Timex 2068 computer (the American version of the Spectrum). In 1984, I decided to upgrade to the QL, and I distinctly remember buying my first one from my good friend, Bob Dyl, at the lofty price of $499.00. Two weeks later, the price plunged by $200. You'll never live that one down, Bob! (Pub. Note: Sorry Sherm, the decision was Sinclair's, my shock was ALMOST as great as yours.)
I don't confess to being a programmer or hacker, and rely primarily on existing software, utilizing the PSION suite.
What do I use My QL for?? Well, one of my retirement hobbies is cooking. I teach a senior citizen men's cooking class, two to three times a year, with each running for a ten week term. I wrote an Archive based program I call "RECIPE" to keep all my goodies on file, it consists of close to 500 recipes, all tried and tested.
Using "RECIPE", I can print out 4 x 6 cards, individually or the whole file, or if needed, to standard 8 1/2 x 11 sheets of paper. I keep a filebox of 4 x 6 cards handy in the kitchen, so I don't have to run to the QL for a particular recipe when I'm hungry. If a friend needs a recipe, I print it out on a customized sheet of paper with my name and date. RECIPE can be called up in sections, ie. entree, salad, soup, dessert, etc. In my cooking class, each student receives a cover menu sheet and a hard copy of all the recipes to be made.
In my spare time, I maintain a database of over 1500 names for a local charity I'm involved with. The program is based on Peter Hale's "MAILBAG" program and runs under Archive. It's used to print mailing labels, keep account of donations, mailmerge for postcards and letters, etc. It is capable of printing out in any order desired; Last Name, Zip Code, Alphabetically, Solicitor, etc., etc.
DUFFER - (cont)
An Abacus template has developed over the years for all my financial records; expenses, income, and investment data is entered weekly. The program calculates my cashflow, investment performance, and keeps a running record of charitable donations and expenses. Ican tell at a glance, what my current financial position is, and come tax time, all I do is send a printout to my accountant, providing all my yearly data nice and neat; no searching through numerous shoe boxes, or hunting through drawers looking for long-forgotten records. It's a snap!
What do I do all this with ?? My system consists of a QL (with backup), Gold Card, Miracle's Quad Drive Interface, two 3.5" 3.2Meg. ED Drives, two 5 1/4" 720K quad density drives, Sinclair RGB Monitor, and a workhorse Panasonic KX-P1124 Twenty Four Pin Printer. ED. Note: the programs "MAILBAG" by Peter Hale ($24.95 US) and "RECIPE" by Sherm Waterman ($19.95 US) are available from:
EMSOFT
P.O. Box 8763
Boston, MA 02114
USA Tel: (617) 889-0830
FOR SALE - FOR SALE - FOR SALE
MICRODRIVE CARTRIDGES (used) $1.50 each plus postage. Gyro Burns - 30 Hanlin Ave. - Athens, OH 45701 USA Telephone: (614) 592-3855
QL COMPUTER (like-new condition with Psion programs) $80.00 Michael R. Greenfield - 177 Indianola Rd. - Youngstown, OH 44512 Telephone: (216) 782-7439
TWO - 3.5" Disk Drives with half height kits $ 25.00 each Will Horton - 234 Mauran Ave. - East Providence, RI 02914 Telephone: (401) 438-0929 (after 7:00PM EDT)
Back issues of QL World from 1986 thru 1991 $4.00 each plus postage. Write or call Bob at IQLR for availability.
RS-232 PERIPHERAL INTERFACE EAST PROVIDENCE, RHODE ISLAND, USA - WILL HORTON
Recently I have been engaged in a project to collect temperature data to analyze the thermal properties of homes. This project will eventually lead to the development of a microprocessor controlled thermostat. However, to begin work, data must be collected and analyzed to understand the thermal properties of a home in a quantitative manner.
Ifelt that the QL could help me with this study, but I first needed to build an interface between two analog-to-digital converters and the QL. My first thought was to use the
RS-232 - (cont)
expansion slot, but since the expansion slot was already occupied with my trump card, and I needed a remote sensor, the RS-232 port appeared to be a better choice. This article will cover the principles and construction of an RS-232 peripheral interface.
In order for the QL to receive data from an RS-232 interface it is necessary to have the data in a format that the QL can understand. Figure 1 shows what the signals look like for two ASCII characters. The first character is a zero represented by the ASCII character 30 HEX. The second character is the line feed character represented by the ASCII character 0A HEX. It is important to note that the data you send must be converted to ASCII in order that the OL will understand what you are transmitting. The signals in figure 1 are produced by the peripheral interface and this is done by a device known as a UART (universal asynchronous receive transmit). This device takes parallel data and converts it to a serial bitstream as shown in figure 1.
00001100 01010000
| ASCII 0 | ASCII LINEFEED | 00110000В (30Н) 00001010В (0АН)
FIGURE 1. RS-232 FORMATTED DATA REPRESENTING TWO ASCII CHARACTERS.
Referring to figure 2 the UART is shown as U2, a 6402 which is a generic part number. This device is responsible for producing the signal in figure 1, which will be at a TTL level. In order for the the QL to be able to recover the data this signal must be adjusted such that the high pulses be between -12 and -3 volts, and the lows be between +3 and +12 volts. This is the standard for RS-232 data. The device that takes care of this for us is U4, an ICL232 which converts the TTL levels to the RS-232 format. Also notice this device does not require an additional +/-12 volt supply.
Now that we are able to transmit the properly formatted data to the QL, the next problem is to control the peripheral device. For this job I chose to use an 8748 microcontroller for two reasons: first it was inexpensive, and secondly it was easy to program. Referring to figure 2 the microcontroller is labeled as U2, 8748. This device takes care of communicating with the UART and the two analog-to-digital converters (U5 and U6 of figure 2). The 8748 is similar to the 8049 used in the QL with the exception of less memory and it is EPROM programmable. The microcontroller is programmed to wait for а CTS(clear to send) signal from the QL. Once it receives this signal it takes a reading from each of the two analog-to- digital converters and converts their eight bit data into three octal characters. This is done since the analog-to-digital converters produce an output that can not be represented directly by an ASCII character. So their output must be broken down into three octal characters and then each character is converted to its respective ASCII equivalent.
Now that the ASCII characters are ready to send, the microcontroller interrogates the UART to see if it is ready to receive and transmit data. When it is ready the first ASCII character is sent, the microcontroller interrogates the UART again, an the next ASCII character is sent. This will continue until all of the characters are sent. After all the characters are sent
ш-н
жз r1
жз
2! 5!
(220у1 С^“ *08020V oov "t Lam ON елен
ano
AMA теа
[z50v] ^"^ %08020У sn
жый m ELA м (ена
RS-232 - (cont)
the microcontroller sends the ASCII line feed character, this is necessary since the QL will wait for this character when it receives strings of data.
For this project I used serial port 2, which is configured as the DTE (data terminal equipment). What makes using the serial ports nice is that the hardware drivers are already in place and it becomes a simple matter of using SuperBasic to read them. By simply opening ser2 and using and input command, data can be read from ser2, and then formatted back into what actually came out of the analog-to-digital converters.
The final item to be discussed is the firmware burned into the 8748. The firmware was developed with the aid of the Intel Microcontroller Handbook. Enough examples were given so that I could adapt them to my particular application. I wrote the object code by hand and "fat fingered" it into a prom burner. Things would have been better if I had an emulator for the 8748 but things still worked out fine. The firmware was just a simple matter of polling the ready line coming from the UART, reading the two analog-to-digital converters and transferring the data to the UART.
If anyone reading this article would like additional information on the topic feel free to contact me in care of the IOLR.
HELPFUL HINT #2 TIVERTON, RHODE ISLAND, USA - DICK TAYLOR
With so many new hardware upgrades, I find that I am changing or remounting chips with increasing frequency. Just recently I mounted two Gold Card chips (version changes), an upgraded MINERVA ROM and the Keyboard Interface, which required lifting the 8049 chip. Some people have no problems slipping chips in and out of their QLs, but I find I have a 50-50 chance of bending or breaking a leg, or worse, causing a hairline crack that later results in intermittent problems. A solution that not only improves my odds of being successful, but also results in the chips being more solidly seated, is the use of an IC frame (or chip carrier) as illustrated above.
Buy good frames, with machine pins (round legs rather than the thinner spade type). The use of these frames allows you to install the chip into the frame while it is out of the QL, decreasing the chance of bending a leg. The chip and frame combination can then be inserted into the socket on the QL. The round legs go into the socket much easier than the legs on the chip and any wear and tear is to the frame, which is much less costly to replace than the chip.
MIRACLE SYSTEMS
К. 7 Nw MASTERCARD Ld =
14 day money back guarantee
See the GOLD CARD at:
BRISTOL: QUANTA AGM 25th - 26th April 1992 Walten Park Hotel, Clevedon BRUSSELS: EUROPEAN MICROFAIR '92 2nd May 1992 Eurovolleycenter Beneluxlaan, Vilvoorde LONDON; QUANTA WORKSHOP 30th May 1992 St. Helen’s Church Hall St. Helen's Gardens North Kensington London W10 GLASGOW:
ALL FORMATS COMPUTER FAIR 7th June 1992 City Hall, Candleriggs
[ А To: MIRACLE SYSTEMS Ltd, 25 Broughton Way, Osbaldwick, | | York, YO1 3BG, U.K. Tel: (0904) 423986
Tel: (0904) 423986
To place an order by phone please have your credit card ready. For overseas customers
| Please send me
TRUMP CARD £75 inc VAT (£65 export)
The economy upgrade for the QL. You get 768K of RAM + disk interface for 720K (DD) drives + Toolkit Il.
DUAL ED
DISK DRIVE £175 inc VAT (£155 export)
Two ED 3.5" mechanisms plus power supply housed with cables. Ten ED diskettes included. 720K per diskette with Trump card. 720K, 1.44M or 3.2M per diskette with Gold Card.
QL CENTRONICS £29 inc VAT (£28 export)
Connects either SER1 or SER2 to Centronics parallel port on any printer. Has 3M cable.
| l enclose a cheque to the value of: £
number and expiry date, or
| | | | expires (1 СИ B | | |
we charge the prices shown in |. Or debit credit card О000000000000000 brackets. |
To order by post, please fill in
the form opposite or write to us Name е. Signature ..———— —————— quoting your credit card | Ааф
enclosing a cheque payable to X
MIRACLE SYSTEMS Ltd. is
zu
SYS
If you're still not a member of the user club, QUANTA, then there’s no time like the present to contact Bill Newell, the Membership Secretary, 213 Manor Road, Benfleet, Essex, SS7 4JD,
tel. (0268) 754407 and join.
te gs | МАЅТЕРСАРО ЧЕРЧЕ?
14 day money back guarantee
GOLD CARD
Who is the GOLD CARD for? Well, if you ask
anybody who's already got one they'll tell you everyone should have one. The principal benefit is the speed. Programs are typically accelerated by a factor of four. The subjective effect of this is to give the QLa completely new feel. There's also a bettery-backed clock which keeps track of the time while the QL is switched off 50 you don't need to enter the time and date when you switch on the QL. A standard disk drive connector lets you couple the GOLD CARD to the old style 720K drive or the new dual 3.2M drive which, for many users, is an excellent alternative to a hard disk. We've also put 2M of RAM on board so you can run more tasks simultaneously and manipulate larger blocks of data like Quill documents for example. Best of all though, why not come to one of the venues listed opposite and see the Gold Card in action. If you want to see what difference the Gold Card will make to you then please bring along the software you are familiar with. We look forward to seeing you.
MIRACLE TEMS
Gold Card Owners The latest ROM version is 2.28. If you have an earlier version please contact us for a free upgrade.
MIRACLE SYSTEMS Ltd, 25 Broughton Way, Osbaldwick, York, YO1 3BG, U.K. Tel: (0904) 423986
THE INTERNATIONAL QL MEETING BANGOR, GWYNEDD, UK - DILWYN JONES
The 21st March 1992 saw the International QL Meeting in Germany, organized by the Sinclair QL User Club e.V. Munster-Roxel, NW Germany was the location, and QL/QDOS enthusiasts from several countries gathered in a school hall to see, try out and discuss everything to do with the QL. I was part of a contingent of British Quanta members who travelled by mini-bus from Ramsgate, England, via Dunkirk through Belgium and Holland to Germany.
For a moment, I thought we had come to the wrong place. Surely this was an Atari ST show? But no, they all turned out to be ST-QL's upon closer examination, being very popular in Germany thanks to the work of people like Jochen Merz.
Looking around, I quickly took stock of the traders and various user group representatives present. From Germany, Jochen Merz was present of course with his well known QL and ST-QL products, demonstrating his QD4 editor and a new card game, The Lonely Joker (3 patience games running in pointer environment), along with Jurgen Falkenburg's range of hardware add ons including a low cost hard disk interface, Albin Hessler Software with EasyPtr 2 (pointer environment programming aid) and an interesting looking QL mouse (I think it was a PC type serial mouse) connected to the serial port on а QL with software to make it work with the pointer environment. From Belgium came PROGS (Professional And Graphical Software) with their range of graphics and database software. COWO Electronic represented Switzerland, showing off QTop software and ExeQtor,(their tower system QL). From Italy, Davide Santachiare of Ergon Development was present. Traders from Britain included Miracle Systems Ltd who sold a large number of Gold Cards, EEC Ltd with a range of products, TF Services exhibiting Minerva and Laurence Reeves (!) and the tame robot ‚familiar to visitors of the TF Services' stand at British shows. DJC was present, with the range of QL software, and Quanta (the independent QL user group) also had a stand there.
There were members of QL/QDOS user groups from most European countries, including those from Qltaly, QL Contact France, Sin-QL-air from Holland, plus visitors from Scandinavia and Belgium and possibly other countries, making this a truly international event. Language was mostly no barrier - it quickly became apparent that English was the standard QL language of communication! Some of us tried to learn some German beforehand, but we left the show knowing much more than when we arrived. The local people were very patient and understanding with us!
The level of activity and knowledge of the QL scene in Germany surprised me. I was aware that there were a large number of QL and ST-QL users in Germany, but I was not prepared for the level of enthusiasm I came across while I was there. The products on offer from German companies seemed to all be of a high standard, and clearly explained by knowledgeable individuals. Most German users appear to use the pointer environment, which is in stark contrast to the British scene. This is probably due in no small part to the efforts of people like Jochen Merz.
ST-QL's are very popular there and I was fortunate enough to be able to borrow one to play with while I was there (thanks, Ralf). I was very surprised at the high level of software compatibility - not one commercial program I ran on it fell over! It ran QL software quite fast, and oh boy, did I love the 4MB environment. Imagine it - twice the space of a Gold Card!
12
QL MEETING - (cont)
Several discussions and seminars took place on various subjects from BBS's to Fleet Tactical Command, from the future of the QL and QDOS to Minerva and QForth. Sadly, I and several others missed most of these because it was not clear what was being held where and when, a point to improve for next time..
Overall, I was very impressed. It was my first trip to a QL show outside of Britain and I thoroughly enjoyed myself, although we all ended up pretty tired at the end. My thanks to the organizers, including Franz Herrmann, and everyone else for their friendliness and good spirits. I shall definitely be looking for an excuse to go to the next one!
QL HOME FINANCE-REVISITED HADDAM, CONNECTICUT, USA - ROY ARSENAULT
In the early days of the QL, Sinclair released a number of third party software packages under the Sinclair banner. One of the best was a terrific financial software package entitled "QL-HOME FINANCE ", written by BUZZ SOFTWARE.
The popularity of this package was due in part to the speed, flexibility, and features which were well ahead of its time. The fly in the ointment however, was the fact that HOME FINANCE was not written in reentrant code. As many of us expanded our QL's beyond 128k, we had to leave our old friend behind. Much has been written about this in such publications as Quanta and QL World.
The solution that worked for me, in running HOME FINANCE with a TRUMP or GOLD CARD is the below listed BOOT program. I know that it works with a JSU rom and some versions of MINERVA. To run with a TRUMP CARD, replace the current boot program with the one offered here. For the GOLD CARD, replace the boot program AND input RES. SIZE 200 before hitting Fl. GOOD LUCK!
100 CLCHP : aCALCHP(256*1024) 110 IF a-HEX(270868') THEN STOP 120 x=a+256*1024-512:LBYTES FLP1 HF LDR,x:CALL x+44
LINKED LISTS AND C -PROGRAMMING EAST PROVIDENCE, RHODE ISLAND, USA - WILL HORTON
My last article on Pointers and Structures demonstrated the way pointers are used to access data within a C Program. This article will relate the concepts of pointers and structures to another mechanism, the linked list. The concept of the linked list is not unique to the C- Programming Language, it is also used in Pascal, however C does give a great deal of flexibility in the way it can handle data within a Linked List. Linked lists are used in QDOS to allocate user heap. Allocation of user heap is known as dynamic memory allocation in C, which will be addressed later in this article.
1. Structures Revisited
To begin let us reiterate the use of the structure from my previous article. The structure is a means of grouping related elements into a single logical entity, which creates a special data
13
LINKED LIST - (cont)
type called a structure. For example if we were operating a health club and wanted to keep track of our clients health profile we might develop a structure as follows:
struct member
char name[30]; /*member's name*/ int age; /Fage*/
int height; /*height in inches*/ int weight; /*weight in pounds*/
k
struct member client1 = (John Smith, 34, 68, 155); struct member client2 = (Joe Brown, 45, 74, 200);
main()
printf("Name: %s\n",clientt.name) printf("age: %d\n",client1.age); printf("height: %d\n",client1.height); printf("weight: %d\n",client1.weight); printf("\n");
printf("Name: %s\n",client2.name) printf("age: %d\n",client2.age); printf("height: %d\n",client2.height); printf(weight: %d\n",client2. weight);
) The output will be:
Name: John Smith age: 34
height: 58
weight: 155
Name: Joe Brown age: 45
height: 74
weight: 200
This program declares two variables, client and client2 to be of structure type member. Note that by doing this, client1 and client2 will have associated with it four items: а character string called ,"пате", and three integers: age, height, and weight. The variable client] is declared and initialized by the statement: "struct member clientl = (John Smith, 34, 68, 155)". So a variable of structure type member, called client] now exists which contains four elements: name, age, height, and weight. The program shows how each of the elements are accessed by using a "." and the name of the element following the variable name, e.g. clientl.age = 34.
14
LINKED LIST - (cont)
2. Linked Lists
Now that structures have been presented, here is an application of structures that provide a convenient means of handling lists of data, the linked list. A linked list consists of
structures linked to each other by pointers. The following diagram demonstrates this principle.
STRUCTURE 1
STRUCTURE 2
STRUCTURE 3
FIGURE 1. STRUCTURES FORMED INTO A LINKED LIST
As can been seen from Figure 1, the linked list is merely a list of items linked together with a pointer. We can think of the list as data written down on a piece of paper with the pointer indicating where the next list is to be found, so as to keep the information in order. The first list is pointed to by pointer "ptrfirst" at the end of the list is another pointer that points to the next list of data, and the final list will be terminated with a NULL character indicating the end of the list. These pointers are what link the lists together, hence the name linked list. The linked list can be made as long as you desire.
It should be apparent that the linked list is a convenient means of storing data which will allow the data to be manipulated in a variety of ways. For instance the data could be sorted into alphabetical order, or names of people could be retrieved according to a particular piece of data, for instance using the health club example people of a particular weight class could be retrieved for study. But what makes this important is that the data is all linked together for easy access.
What makes linked lists nice is that they can expand or contract as you so desire. In order
to make a linked list grow it will be important to let memory expand as you add another item to your linked list. The mechanism that allows this to happen is called dynamic
15
LINKED LIST - (cont)
memory allocation. Dynamic memory allocation differs from static memory allocation in that dynamic memory allocation allows memory to be added or removed as required. There are two commands in C that are used for dynamic memory allocation: malloc and calloc. Malloc allocates a piece of memory the size of the item you want to store, calloc does the same but also clears the memory. For instance if you want to store an integer the command would look like this: (int malloc( sizeof(int)). This will return a pointer to a space in memory the size of an integer. Note here that the type cast operator "(int is also included to ensure that the area pointed to is of type integer.
Now that the concepts of the linked list and dynamic memory allocation have been discussed it is time to combine these concepts with the concept of pointers and show how a linked list is constructed.
Once again we will build on the health club example to show how structures are used. This program will read data from a file called "flp1 data", this will be data setup as it will appear in the structure: name, аре, height, and weight. Fopen will open this file and it will create a pointer to the file called "fptr". Review the following program:
#Include <stdio.h>
struct member
{ char name[30]; /*member's name*/ int age; /*age*/ int height; /*height in inches*/ int weight; /*weight in pounds*/
struct member *ptrnext; /*pointer to next link*/ struct member *ptrfirst, *ptrthis, *ptrnew; =
intret;
FILE *fptr;
fptr = fopen("flp1. data","r"); ptrnew = (struct member *) malloc(sizeof(struct member)); ptrfirst —ptrthis-ptrnew;
/*read data into the linked list*/
pe (ret != -1)
ret = fscanf(fptr, "%s 96d Yd Фа" ,ptrthis->name, &ptrthis->age, &ptrthis->height, &ptrthis->weight);
ptrnew = (struct member *) malloc(sizeof(struct member)); ptrthis-»ptrnext = ptrnew; /* point to next link*/
16
LINKED LIST - (cont)
ptrthis = ptrnew; /*go to new item */
) fclose(fptr);
ptrthis — ptrfirst; Pot te !=NULL)
printf("Name: %s\n" ptrthis->name); printf("age: %d\n",ptrthis->age); printf("height: %d\n",ptrthis->height); printf("weight: %d\n\n",ptrthis->weight); ptrthis = ptrthis-»ptrnext;
)
The first thing to notice is that the structure "member", has been modified with the addition of a pointer of type "struct member". This pointer is what forms the link to the next list. If you refer to Figure 1 you should be able to relate the linked lists and their pointers.
After the structure type has been defined three pointers of type struct member are defined: *ptrfirst, *ptrthis, *ptrnew. Note that these pointers will be used to point to the items in the linked list to help aid in loading the list and reading it.
Next the file "р1 data" is opened and data is ready to be read into the linked list, the starting pointer "ptrfirst" is initialized to point to a block of memory of type "struct member" remember that this consists of four items: name, age, height, and weight. This pointer "ptrfirst" is sacred to the program and must be preserved so the start of the linked
. list can be located later. The fscan function is used to read the data in from the file and place it into the proper location within the list of struct member. Presented here is a new operator that was not introduced in my previous article on pointers to structures. Using the syntax from my previous article the pointer to a structure looks like this: (*ptrthis).name, as opposed to the simpler ptrthis->name. This operator came about since pointers to structures were so common the developers of C decided to create a special operator.
After the first data is read into the structure the malloc function is called again to allocate another block of memory, and the pointer "ptrnew" is what will point to this new block of memory. Pay close attention here because this is how structures form linked lists. The statement "ptrthis-»ptrnext-ptrnew" is what is used to have the previous block of data point to or link the next block of data. When the assignment ptrthis-»ptrnext- ptrnew is made the pointer "ptrthis" points to the pointer "ptrnext" and the address of "ptrnew" is кеше to it. This address is what tells the current block of data where the next block of ata will be.
By using this linked list approach of reading in data the computer can locate memory where there is open space. If you tried to save a contiguous block of memory all at once the computer might not have the memory to spare.
Once all of the data is loaded into the linked list it can be operated on in many ways. For instance you could sort the data into alphabetical order by clients names, or group the
17
LINKED LIST - (cont)
clients according to one of their particulars. Also it is easy to add or delete a link from the list due to the dynamic memory allocation. There are more advanced techniques that can be applied to manipulating the data within a linked list but they are not within the scope of this article,
HELPFUL HINT #3
Occassionally, you run across a program that has an unlistable BOOT program. Attempts to list it to the screen results in it executing. The easiest way to get around this is to use the command; "COPY Кірі Boot TO SCR". This will display the listing to the sreen. You can then copy down the program lines. Recreate the program as a standard SuperBasic program with line number. Replace the original boot program with the new one. The program should run the same as it did originally, but you will be able to modify and edit the boot program to meet your requirements. This technique of listing programs to the screen is also an effective way to look at corrupted files or programs that you are having problems running.
SETTING-UP RGB/CGA VIDEO MONITORS MASSAPEQUA, NEW YORK, USA - BOB GILDER
"Why is an RGB monitor better than a composite monitor"? This question has been asked over and over again. In simple terms - a composite signal from a computer has every video element that RGB signals have. They are: Red, Blue, & Green video signals, Horizontal or Composite sync and Vertical sync signals which are combined in one video line. An RGB output has separate signal lines for each one of these elements and for that reason provide a sharper video image on the monitor crt.
Human vision is not uniformly sensitive across the visible spectrum but peaks in the yellow - green area. In the NTSC system (used in the USA and a few other countries) the effects of human response are simulated by adding 3096 of the RED signal, 5996 of the GREEN signal and 11% of the BLUE signal.
Y=0.30R+0.59G+0.11B
This yields an acceptable gray scale. For an example, the American flag would look as we expect it to look in monochrome photos. A system having excessive sensitivity in blue would show black bars for the red stripes and a light gray background for the stars. A video colorbar generator or a colorbar program running from the QL would display each of the eight colors as you would expect to see them. There should not be any tint of blue, green or red appearing on the colorbar display if the monitor is set up correctly. A circle is normally provided for linearity adjustments of the vertical and horizontal size controls as well as centering adjustments. Adjust for a perfect circle in the center of the crt. (ED Note: the following Basic program listing will display the eight color bars on the screen witha circle in the middle, that you can use to adjust your monitor).
100 REMark COLORBAR_bas R. Gilder, 1/1988
1000 cb 1100 DEFine PROCedure cb
18
RGB/CGA - (cont)
1104 WINDOW #1,448,200,32,16 1108 WINDOW 42,448,200,32,16 1112 WINDOW #0,448,40,32,216 1116 PAPER #1,0: INK #1,5: CLS#1 1120 PAPER #2,0: INK 42,5: CLS#1 1124 PAPER 0: INK 7: CLS
1128 CSIZE #1,1,0
1132 CSIZE #2,1,0
1136 CSIZE #0, 1,0
1140 MODE 8:BORDER 15,250:CLS 1144 PAPER 7: CLS
1148 FOR n-1 TO 17
1152 FOR p-0 TO 7
1156 PAPER p: PRINT" ";
1160 NEXT p
1164 NEXT n
1168 INK O:CIRCLE 84,50,50
1172 INK 0:CIRCLE 84,50,.2
1176 END DEFine cb
QL users are a lucky bunch for the QL computer has both an RGB and monochrome output at the 8- -pin female DIN connector located at the rear of the QL. Also provided on the issue 6 QL monitor connector is a much needed +5VDC line instead of a PAL (UK signal standard - Phase Alternating Lines) signal.
For some reason Sir Clive chose to provide the QL with a positive vertical sync signal and a negative horizontal sync signal. I can only guess that the QL monitor sold in the UK had these miss-matched syncs. Most RGB monitors that I am familiar with, have either positive, vertical, and horizontal sync signals or negative vertical and horizontal syncs and
„some have a sync inversion switch to cater to any sync polarity requirement.
The +5VDC output is provided from pin #1 of the DIN connector and will be used to power an IC - either а 74LS00 or a 741.504 to perform horizontal sync inversion.
In the following diagrams, I use a 74LS00 TTL IC (Quad 2-input positive-nand gate), of which we will use pins 1 and 2, tied together to form an inverter input. The signal from the QL, which is negative, enters the i input of the inverter, pins 1 & 2. The sync signal is now inverted within the IC and a positive horizontal sync signal is available at pin 3 which is connected to the horizontal pin on the monitor connector.
If you happen to have a 741,504 Hex inverter IC, it can also be used - just use pin 1 as the horizontal input from the QL and pin 2 will be the inverted sync signal output connected to the monitor connector.
АП parts for this project can be purchased at any Radio Shack store. In addition to purchasing the two connectors and IC, you will need a 9 pin 'D' connector hood, and if you are careful, it can house the IC - just carefully clip all unused pins on the IC and bend pins 1, 2, 3, 7, & 14 in towards the center of the IC. Solder the wires to the appropriate pins with minimum solder and install the IC upside down (pins facing up) and the two piece connector hood will house it, allowing a clean installation. You will need a length of
19
RGB/CGA - (cont)
cable determined by your requirement. The cable need only be 7 conductors, or if you wish, use 7 single lengths of multi-stranded wire to form your cable.
Male 9 Pin 'D' plug (solder pin side) 5 4 3 2 1 о о о о----ә f <—t— Jumper pins 1 & 2 о о о о 9 8 7 6
Connections to the male 9 pin 'D' connector Pin #$
Ground (common)
Ground (common)
Red (RGB signal)
Green (RGB signal)
Blue (RGB signal)
N/C (no connection)
N/C (no connection)
Horizontal Sync (negative signal - must be inverted) Vertical Sync (Most monitors do not require Neg. sync)
оомо ыы
ground —3»» 7 8 ІС-1 will only have
Use pin #7, IC-1 as common 5 pins used, #$ 1, Ground points for both 6 9 2, 3, 7, and 14 cable connectors - 5 10 (9 pin 'D' pin # 1 & 2) (8 pin "Din pin #2) 4 11 Horiz Sync out to 9 pin 4 'D' connector, pin #8 д 2 Horiz Sync input from — 2 13 ——
L connector (pin #4 +5 volts from бы 1%2 hd 1 14-4-- connector (Pin #1). together to form an inverted signal input).
74LS00 TTL IC wired as an inverter - IC-1 Bottom side up (pins up
20
КСВ/УСА - (cont)
X Plug notch
6
| 2
8 Pin Male DIN connector (solder pin side) Connections to the male Din 8 pin connector
Pin Ғ5
* 5 volts DC
Ground (common)
Composite Signal (not used for RGB)
Horizontal Sync (negative sync - must be inverted) Vertical Sync (Most monitors do not require Neg. sync) Green (RGB signal)
Red (RGB signal)
Blue (RGB signal)
очо ол ыы
Cable Connector hookup
"Pin #1, 8 pin Din connector to pin #14, IC-1 (+ 5 Volts DC)
Pin #2, 8 pin 'Din connector to pin #7, IC-1 (Common Ground)
Pin #3, 8 pin Din connector NOT USED!
Pin #4, 8 pin Din connector to pin #5 1 & 2, IC-1 (Horizontal sync input)
Pin #5, 8 pin Din connector to pin #9, 9 pin 'D' connector (Vertical Sync)
Pin #6, 8 pin Din connector to pin #4, 9 ріп 'D' connector (Green RGB signal) Pin #7, 8 pin Din connector to pin #3, 9 pin 'D' connector (Red RGB signal) Pin #8, 8 pin Din connector to pin #5, 9 pin 'D' connector (Blue RGB signal) Pin #1 and #2, 9 pin 'D' connector to pin #7, IC-1 (Common Ground)
Pin #3, 9 pin ТУ connector to pin #7, 8 pin Din connector (Red RGB signal)
21
RGB/VGA (cont)
Pin #4, 9 ріп Т) connector to pin #6, 8 pin Din connector (Green RGB signal)
Pin #5, 9 pin 'D' connector to pin #8, 8 pin Din connector (Blue RGB signal)
Pin 46 & #7, 9 pin 'D' connector NO CONNECTION
Pin #8, 9 pin 'D' connector to pin #3, IC-1 (Positive Horizontal sync output)
Pin #9, 9 pin 'D' connector to pin #5, 8 pin Din connector if required (Vertical sync) Pin ffs 1 & 2, IC-1 to pin #4, 9 pin 'D' connector (Negative Horizontal sync)
Pin #3, IC-1, to pin #8, pin ТУ connector (Positive Horizontal sync out)
Pin #7, IC-1 (two wires), to pin #51 & 2, 9 pin Т) connector and to pin #2, 8 pin Din connector
Pin #14, IC-1, to pin #1, 8 pin Din connector (Pin #1 is labeled PAL in the QL manual, however, the US QL's have a 5 volt DC connection at this pin).
List of parts: Radio Shack part numbers indicated
274-026 8 pin male DIN plug $1.79 276-1537 9ріп male ТУ plug $0.99 276-1539 9 pos 'D' Hood $0.79 276-1801 7400 Quad 2-input NAND gate $0.89 276-1802 7404 Hex inverter $0.99 *
278-775 9 conductor, double shielded cable $0.59 per foot * Use the 7404 Hex inverter as an alternate IC. Additional Information:
An RGB monitor will display 8 primary colors; black, red, yellow, cyan, green, blue, magenta and white. If you purchase a CGA monitor, yellow will appear brown and white will be tinted blue or grey looking. This is set-up in the G2's (grids of the picture tube) to produce these differences in color because; CGA monitors have one additional line called Intensity. CGA will provide 16 colors if the intensity line is used. Try connecting the intensity line to a high (45VDC) output on any unused IC pin output. It may work! Yellow will be yellow when intensified and white will be white. You may also find that when you power-up the QL, the tweed memory check display and the F1 - F2 display will roll until you press either function key; then it will stabilize. Try disconnecting the vertical sync line, it may eliminate this problem. NOTE: If you require any assistance, contact me.
22
READING MSDOS DISKS ON THE QL - PART I:
The Root Directory OAK RIDGE, TENNESSEE, USA - Mel LaVerne
The original impetus for this article came from having a few Shareware disks lying about, gathering dust. Inevitably, I wondered about the feasibility of reading Big Blue's efforts on the QL.
Why another ІВМ to QL program? After all, one can find programs like QLIBM_exe on the QUANTA library. Well, aside from access to said library, machine language programs are notorious for their pickiness; crashes are all too easy to produce. Besides, if the output is not exactly to your liking, modifications can be very difficult. Whence this effort in 100% SuperBASIC.
Like so many projects, this one has grown like Topsy. At the present, I anticipate two, possibly three articles: this one, on the MSDOS Root Directory; a second on digging out information from the disk, once you have determined from the directory where it is; perhaps a third on translation into something usable.
Direct disk access, i.e., the ability to get at individual bytes on the disk, is briefly explained in the Trump Card Manual (TCM). First, one must open a channel with, for example,
OPEN #4, Тірі *d2d'. Next, use the Toolkit II command "GET" in, e.g., GET #4\position, a$,
where we have position = 1 + sector + 256*side + 65536*track.
The above works for QL disks. On IBM disks I got 'read/write failed' for odd track numbers. Further study of the TCM found the information that using 40-track disks on 80- track drives requires that the track number be doubled (or equivalently, double the multiplier). Thus, we have
position = 1 + sector + 256*side + 131072*track,
for the IBM disks.
Sector numbering on IBM disks differs from QL practise, in that for a given track, sectors are numbered from 0 to 17. On the QL, the corresponding numbering is 0 to 8 on side 0 and on side 1. To avoid the complexity of determining which system is in use when, I shall stick with the QL numbering.
The complete IBM directory is contained in 12 sectors of track 0, sectors 0-8 on side 0 and sectors 0-2 of side 1. On side 0, the only item of interest in sector 0 is the DOS version, found in bytes 4-11. Sectors 1-4 contain two identical copies of the File Allocation Table or FAT. For the present, at least, we will not be using the FAT.
The Root Directory is contained in track 0, sectors 5-8 on side 0 and sectors 0-2 on side 1.
Each file entry is 32 bytes long, giving a maximum of 112 files per disk. The QL does not have this limitation.
23
MSDOSDir - (cont)
The program is rather liberally sprinkled with comments that clarify (I hope !) what is going on. Note that Toolkit II must be activated.
Lines 1010 through 1040 constitute the main program. Line 1010 may not be strictly necessary but it does tidy things up a bit before we start.
1000 REMark File = MSDOS Dir cM. Е. LaVerne 5 Apr 92
1010 CLEAR: CLS: Close34
1020 out. channel ch: Get. Driv
1030 Get. Dir: Process. Dir: Print Dir
1040 Close34
1050 :
1060 DEFine PROCedure Close34: CLOSE #3, #4: END DEFine Close34 1070 :
Select the output channel and setup the printer, if necessary.
1080 DEFine PROCedure out. channel(ch)
1090 LOCal ош, channel$
1100 REPeat out
1110 INPUT ‘Output to screen (S) or printer (P) ? '; channel$ 1120 IF channel$ == "S" OR channel$ == "P" THEN EXIT out 1130 END КЕРеа out
1140 IF channel$ == "S" THEN
1130 сһ=1
1160 ELSE
Open a QL buffer for printer output. 1170 сһ = 3: OPEN #3; рг A neater way of setting printer parameters with TK2.
1190 BPUT #3, 27,77, 27,120,49, 27,108,10 1200 END IF
1210 END DEFine out. channel
1220:
This procedure allows selection of either drive 1 ог 2 and opens a channel for direct access.
1230 DEFine PROCedure Get Driv
1240 LOCal pick drive, dr$
1250 REPeat pick drive
1260 PRINT VDrive & ? (1 or 2) ';: dr$ = INKEY$(-1) 1270 IF dr$ ='1' OR $ = 2' THEN EXIT pick drive 1280 END REPeat pick drive
1290 PRINT dr$: OPEN #4, Пр & dr$ & ' *d2d'
1300 END DEFine Get, Driv
1310:
24
MSDOSDir - (cont)
Extract the DOS version #, vers$, from sector 0 and concatenate the Root Directory sectors into one large string, b$, which we may then examine at our leisure. The values of the loop variable, p, were pre-calculated from the previously given formula for position, using the known values for track, side, and sector.
1320 DEFine PROCedure Get_Dir
1330 GET #4\1, v$: vers$ = v$(4 TO 11): b$ ="
1340 FOR p=6TO9, 257 TO 259: GET #4)p, a$: b$ = b$ & a$ 1350 END DFFine Get, Dir
1360:
Неге we process the information obtained by "Get Dir".
1370 DEFine PROCedure Process. Dir
1380 vol 1Ы$ = (по volume label)’
1390 er fils = 0: er fils$ = ": fils = 0: fils$ =" 1400 FORi-1TO 112
1410 j232*i:c$ = b$(j-31 ТО)
Having extracted a 32-byte substring from b$, we check c$(1). If the byte is 00, we һауе . found the end of the directory and exit the loop. If the byte is E5 (decimal 229), the file has been "erased", i.e., removed from the directory but the file is still physically present. In that case, we alter c$(1) to "?" to make a printable entry, store it in er fil$ and continue.
1420 c1 = CODE(c$(1)): c12 = CODE(c$(12)) 1430 SELectON cl 1440 =0:EXITi 1450 = 229; ег fils$ = er fils$ & "?" & c$(2 TO 32) 1460 ег fils = er. fils + 1: NEXT i .1470 ЕМІ SELect
The rightmost nibble of c$(12) tells us whether there is a "volume label", i.e., a disk name. If so, we extract bytes 1 through 11 as the volume label and continue.
1480 IF BIN(BIN$(c12,4)) > 7 THEN vol 1% = c$(1 TO 11): NEXT i Otherwise, we have found a "current" entry. Save it and continue.
1490 fils$ = fils$ & c$: fils = fils + 1 1500 END FOR i
1510 END DFFine Process Dir
1520 :
It just what you might expect: prints the directory, listing both current and "erased" files.
1530 DEFine PROCedure Print, Dir
1540 CLS: PRINT #ch; ‘Root Directory of '; vol. Ibl$;
1550 PRINT #ch; TO 40; 'DOS Version: '; vers$N Current Files:' 1560 files out fils$, fils
1570 PRINT sich; VTotal current files: '; filSWErased Files:' 1580 files outer. fils$, ег fils
25
MSDOSDir - (cont)
1590 PRINT #ch; “Тога! erased files: 5 ег filSsNDATES;CHR$(12) 1600 END DEFine Print Dir 1610 :
Outputs the file entries contained in the string a$.
1620 DEFine PROCedure files out(a$, num)
1630 LOCal i, j, b$, name$, ext$, side
1640 IF num > 0 THEN Print. Head: ELSE RETurn 1650 lena = LEN(a$)
1660 FOR i= 1 TO lena STEP 32
1670 $ =а$( TO 1+31)
1680 пате$ = b$(1 TO 8): ext$ = b$(9 TO 11) 1690 time$ = b$(23 TO 24): dat$ = b$(25 TO 26)
MSDOS allocates sectors in "clusters" of two sectors. This cluster # is found in bytes 27- 28. Length of the file is in bytes 29-32.
1700 clustr$ = b$(27 TO 28): howbig$ = size$(b$(29 TO 32)) 1710 clusno$ = where$(clustr$): trsise clusno$, track, side, sectr 1720 Print Line
1730 END FOR i
1740 END DEFine files out
1750:
1760 DEFine PROCedure Print Head
1770 PRINT #ch;TO 49; '|«------ First Cluster ----- >
1780 PRINT ich; ' File Name’; TO 15; ‘Length’; TO 27; ‘Time’; 1790 PRINT fich; TO 40; ‘Date’; TO 49;Number Track Side Sector 1800 END DEFine Print Head
1810:
Compute file length.
1820 DEFine FuNction size$(bytes$)
1830 LOCal n$, i
1840 n$ = 0: FOR i = 4 TO 1 STEP -1: n$ = 256*n$ + Sortie 1850 RETurn n$
1860 END DEFine size$
1870 :
Compute location of file's first cluster.
1880 DEFine FuNction where$(clustr$)
1890 LOCal n$
1900 n$ = CODE(clustr$(1)) + 256*CODE(clustr$(2)): RETurn n$ 1910 END DEFine where$
1920 :
This procedure decodes the IBM cluster number into track, side, and
sector. A bit more general than required for the present use, since we already know that the track = 0.
26
MSDOSDir - (cont)
1930 DEFine PROCedure trsise(clus, tr, si, se)
1940 LOCal x: x =clus +4
1950 tr = INT(x/9); x =x - 9*tr
1960 IFx «5 THEN si = 0: ELSE si = 1
1970 se =2*x - 9*si
1980 END DEFine trsise
1990:
2000 DEFine PROCedure Print_Line
2010 PRINT #ch; name$; '.'; ext$; TO 21 - LEN(howbig$); howbig$; 2020 PRINT #ch; TO 25; tyme$(time$); TO 37; dayt$(dat$);
2030 PRINT fich; TO 53 - LEN(clusno$); clusno$;
2040 PRINT sch; TO 60-(track»9); track; TO 68; side; TO 75; sectr 2050 END DEFine Print. Line
2060 :
Translates the two-byte string time$ into the form hh:mm:ss.
2070 DEFine FuNction tyme$(time$) 2080 LOCal n, b$, hr$, min$, sec$ 2090 n- CODE(time$(1)) + 256*CODE(time$(2))
We first convert n into a 16-bit binary string: hhhhhmmmmmmsssss. Note that this allows a maximum value of 31 in the seconds field. MSDOS gets around this by recording time to the nearest 2 seconds. We double the indicated seconds to get the true value.
2100 b$ = BINS(n,16)
2110 hr$ = BIN(b$(1 TO 5)): IF hr$ < 10 THEN hr$ = '0' & hr$
2120 min$ = BIN(b$(6 TO 11)): IF min$ « 10 THEN min$ - '0' & min$ 2130 sec$ = 2*BIN(b$(12 TO)): IF sec$ « 10 THEN sec$ = '0' & sec$ *2140 КЕТшп hr$ & ":" & min$ & ":" & sec$
2150 END DEFine tyme$
2160:
Translate the two-byte string dat$ into a date in the form: dd.mm.yyyy
2170 DEFine FuNction dayt$(dat$) 2180 LOCal n, b$, yr$, mo$, da$ 2190 n= CODE(dat$(1)) + 256*CODE(dat$(2))
First convert n into a 16-bit binary string: yyyyyyymmmmddddd. Note that the year is stored as an offset from 1980.
2200 b$ = BIN$(n,16): yr$ = 1980 + BIN(b$(1 TO 7))
2210 mo$ = BIN(b$(8 TO 11)): IF mo$ < 10 THEN mo$ = '0' & mo$ 2220 da$ = BIN(b$(12 TO)): IF da$ « 10 THEN da$ = '0' & da$ 2230 RETurn da$ & '' & mo$ & '.' & уг
2240 END DEFine dayt$
27
MSDOSDir - (cont) REFERENCES
1. Trump Card User Manual. T. Tebby, Miracle Systems. 2. MSDOS Power User's Guide. J. Kamin, SYBEX. 3. Using the Model 50 & 60. H. Schildt, Osborne McGraw-Hill.
QL'S ON THE INTERNET
ALEXANDRIA, VIRGINIA, USA - TIM SWENSON
The Internet is a loose collection of worldwide computers and networks, connected by some sort of physical and logical link. One of the more well-known portions of the Internet is the Defense Data Network (DDN). Access to Internet is available through gateways provided by many commercial networks such as CompuServe, MCI Mail, Sprint Mail, and many others.
Through a variety of means, a number of QL users have discovered each other on the Internet. I have found two QL Users, one in Germany and one in Italy, with which I keep up a regular correspondence. Due to the way messages are routed through various connections and hubs, messages can take minutes or an entire day to reach the recipient.
Each person on the Internet has a unique mail address that is "understandable" by the other computers on the network. The address is comprised of the person's user name and the name of the host computer and node that they use. My user name is tswenson and my host computer is sesky4102b.pl.osd.mil.
The pl.osd.mil is the "domain" that my computer is in. Domains are tree structures, arranged from the general to the specific, reading from right to left. First is .mil the domain for the military and Defense Department. Then .osd for the Office of the Secretary of Defense. And finally .pl for the Office of the Assistant Secretary of Defense for Production and Logistics.
Two people are collecting the e-mail addresses of all known QL/Sinclair users on the Internet, including those on CompuServe. They are Giuseppe Zanetti (beppe@alessia.dei.unipd.it) and Mauricio Tavares (mauricio@ gauss.aero.ufl.edu). Contact them if you are on the Internet to ensure you are included in their list.
As mentioned above, there is a gateway between CompuServe and the Internet. For someone on CompuServe to send me a message, they address the message to >INTERNET:tswenson@ sesky4102b.pl.osd.mil. For me to send a message to someone on CompuServe with the user id of 7777,777, I send a message to 7777.777@сотриѕегуе.сот. Check with your commercial online service to see if they have a similar gateway.
Timo Salmi, of QUANTA fame, has set up a anonymous FTP server for the QL. An Anonymous FTP (File Transfer Protocol) server is a computer on the Internet that has an account set up so that anybody can use the FTP program, connect to the server, and download QL files and programs. Even though Timo's server is in Finland, I can connect to it from Virginia and download any of the QL files. The server is garbo.uwasa.fi (128.214.87.1).
28
INTERNET - (cont)
Just before writing this article, I connected to garbo.uwasa.fi to see what was there. Under the directory qN there are a number of subdirectories: pas\ - for Pascal programs, basprog\ - for SuperBasic programs, lis\ -for text files, and incoming\ - for uploaded files. Under qN there are two information files, QLINDEX and Onews-gl. These text files describe the files already on the server. Timo is looking for additional items to be uploaded.
Starting with the March 1992 issue, the "QL Hacker's Journal" (QHJ) has gone electric. As the editor of the ОН] and being on the Internet, I have distributed an electronic version of the QHJ to over 40 QL/Internet users around the world. I used the lists created by both Giuseppe and Mauricio as the base for my mailing list. The electronic version allows the user to strip out the programs and compile/run them with out any re-keying of the source code. It also saves mailing costs and reduces the time it takes to get it to the reader.
To gain access to the Internet, there are a number Public Access Unix Systems around the US (and possibly the world) that allow anybody (for little or no fee) to have an account for electronic mail. These Public Access Unix Systems are run like BBS's, but they allow you access to the operating system and the filing system. If interested, contact me for a list of the Public Access Unix systems in the US.
The overall goal of QL users on the Internet is better communications between QL groups. Through my contacts in Europe, I can keep in touch with the latest QL developments. I then relay the information to the members of my User Group. There are a lot of programs being ported to, or developed for the QL. Through the Internet I can hear about them and get access to them.
As any CompuServe or Internet user can tell you, once you get used to having electronic mail, it is sorely missed when you don't have it anymore. Long live e-mail!
Timothy Swenson 4773 W. Braddock Rd. #3 Alexandria, VA 22311 (703) 820-6657 tswenson@sesky4102b.pl.osd.mil tswenson@dgis.dtic.dla.mil tswenson@se3c763a.pl.osd.mil (one of these is bound to reach me)
NEW FROM DILWYN JONES COMPUTING BANGOR, GWYNEDD, UNITED KINGDOM
Recently we've released a number of new software packages, and a major upgrade for WINBACK (our hard disk backup software), The following is a short description of each item.
The first of the new items is "SUPER DISK INDEX" a very easy to use program that sets up a database of the contents of your media, be it disk or microdrive cartridge, and the best part is, you don't have to type in all the data, it reads the contents directly from the media.
The second new item is "SCREEN SNATCHER". This program as its name suggests is a
picture grabber, in other words it sits in the QL alongside another program and when you want to save a copy of the display, you press preset keys and the display is saved to disk.
29
NEWS FROM DILWYN - (cont)
Another new program by way of Germany titled "TRANS 24" is for those of you who have 24 pin printers, but use graphics programs that don't have 24 pin drivers. This filter program translates the 9 pin bit image data into 24 pin format.
We are now shipping a major upgrade to our hard disk backup program titled "WINBACK VERSION 2". This package is not restricted to hard disks but can also be used with the new 3.2 MEG disk drives. WINBACK VERSION 2 is the premier backup program for Miracle Systems hard disks and compatibles. It can also be used to backup ED disks to DSDD floppies. This version can now split large files across several disks if required.
It offers full hierarchical hard disk backup. You can make a complete backup the first time and from then on only backup those files that have been created or changed since the last backup. Large files can be split into 95 sections across several floppys and then joined back together at a later time. The Joinfile utility is written in machine code.
Winback ON and OFF allows for an enforced second backup of files already backed up but which the user may wish to backup again. The Directory re-build facility generates a short BASIC program prior to reformatting the hard disk. Winback can print a listing as it goes along, giving details as work is completed.
A Clone program is supplied and is a general purpose fast copier suitable for floppy disk copying etc.; a Dataspace utility is also supplied that can be used with any task to alter its dataspace, and finally a free device driver called BLACK. HOLE is supplied that сап be used in your own programs for fast dumping of output and testing output routines.
For pricing and ordering/upgrading information please note our advert in this issue of IQLR. (ED. NOTE: Several of Dilwyn's new programs are under review and will appear in the next issue).
QL WORLD - SOLD AGAIN LONDON, ENGLAND
It has just been reported to IQLR, that QL WORLD has been SOLD by the people who purchased it from the collapsed Maxwell Empire.
The new publishers are reported to be a company named ARCWIND, and we believe that Helen Armstrong will remain as editor. The May 1992 issue will be late by a couple of weeks, then regular publication should resume. The new owners have stated that they will honor ALL current subscriptions.
IQLR SPECIAL NEWPORT, RHODE ISLAND, USA - BOB DYL
We are happy to announce that IQLR has made special arrangements with C.G.H. Services
of the UK, and author Simon Goodwin, to offer the D-I-Y TOOLKIT of QL World fame, as a group buy, in its entirety at a bargain price.
30
SPECIAL - (cont)
The D-I-Y TOOLKIT is comprised of 19 volumes and contains a wide range of software accessories including; BASIC TOOLS, CHANNELS, DISK TOOLS, ERROR CONTROL, FILE TOOLS, GRAPHICS, MULTIBASIC, NETWORKING, PIPES & PARAMETERS, QUEUES & QDOS, to name just a few.
The complete D-I-Y TOOLKIT is supplied on three 720K disks (3.5" or 5.25"); all of the volumes include well written user, system, and technical documentation in QUILL. DOCS, along with SuperBasic and compiled demos, assembler source and object code, testers, and much, much, more.
The selling price for this tremendous package has been 60 Pounds Sterling (approx. $106.00 US at current exchange rates). For a limited time, you can purchase the entire package for $50.00 US plus $5.00 S & H delivered in North America. For the rest of the world the price is $50.00 US FUNDS plus $7.00 S & H.
We can accept Pounds Sterling or DM currency, equivalent to the US Dollar amounts quoted. Send your orders plus check, cash, or money orders, to IQLR - 15 Kilburn Court - Newport, RI 02840 - USA. Please specify disk size.
DATADESIGN : REPLY TO THE REVIEW VELTEM, BELGIUM - JOACHIM & NATHAN VAN DER AUWERAS
"Thank you for your review of our database program DATAdesign. As DATAdesign is constantly being improved and developed, we would like to point out the improvements made since the release of the reviewed copy. So here we go:
1) After you load the hotkey system, you have to type HOT GO if you want to use <alt- , enter». It is now included in the boot file and will be included in the next version of the manual.
2) In the next version we will include commands to load and save files in the export format, thus omitting the current separate program which only converts ARCHIVE export to DATADESIGN files.
The current program however converts MUCH FASTER as it is no longer written in Basic.
3) The current versions automatically displays the first record of the file when loading.
4) True again, flexible screen layouts are due for our next version which we hope to release in September/October.
5) Using examples in the manual is a good idea and we'll work on it for our next version. We would like to point out that we are programmers, and that sometimes we forget about what database users want and need. Therefore we need you and your reader's input to help us develop Datadesign into the best database on the market.
6) Current versions of Datadesign can sort up to ten fields. An example of user input, is that we didn't realize someone might need more than two levels. When it was reported that someone needed three, we made it ten, just to be on the safe side. If you'd prefer 15 sort levels, no problem, YES, sorting works to any depth.
31
DATADESIGN - (cont)
Just for the record; View now shows as much records as can be displayed in the window, MERGE, CLEAR ALL MARK, NEW RECORD, have been added. FILTER has been improved, WINDOW SIZE is now saved and adjusted when loading, the program can now be executed with a file loaded. АП file handling now uses DATA USE device and adds extensions when necessary.
The SuperBasic interface now multitasks as it should. We've reached version 2.07 of the main program, version 1.07 of the engine, and version 2.02 of the SuperBasic interface. Compared with the reviewed version the SuperBasic interface has changed drastically, and is now much easier to handle.
Thanks again for the good work, and the best of luck with IQLR.
(ED. Note: The original review of DATADESIGN by Bill Cable is in issue 5, volume 1 of IQLR.)
NEW FROM JOCHEN MERZ SOFTWARE
DUISBURG, GERMANY
А couple of exciting new products have emerged from Jochen Merz; the first is "SER MOUSE'" a software driver which allows you to connect a MS-DOS serial mouse to one of the serial ports of the QL.
This software mimics exactly the QIMI mouse interface, without the need to open up your QL to install an interface, and the price savings is more than 50%. In addition, if you purchase a three button mouse you can take advantage of some additional functions: the center button is ESC, left + center is WAKE, and right + center is SLEEP.
The second new offering is a game titled "THE LONELY JOKER". It is a solitaire card game based on three different patiences: Echelon, Napoleon, and Cascade. All three games are very addictive, with different variations per game. You control the game either by mouse or keyboard as it runs under the Pointer Environment.
Jochen has released a major upgrade to his editor "QD 4". This first class editor includes the best features of other known editors, together with the advantage of being menu-driven by mouse or keyboard. QD is the first editor that runs under the Pointer Environment. Its features would require much more space than we can allot to it here, but let us add that its our EDITOR of choice at IQLR.
A second major upgrade from Jochen Merz Software is "QDESIGN II", written in reentrant code, vectorfonts may be shared. The QSNAP function can be used to scan QL- text from the screen and put into the SCRAP function so that it can be processed from QD, in addition to all of its other features the manual has also been improved.
For more information on these products or to place an order, please see Jochen Merz Software's advert on the back cover of this issue.
32
Кайаша OL/Thor Users Group
Worldwide Membership is by subscription only, and offers the following benefits: Monthly Newsletter – up to 40 pages
Massive Software Library - mostly FREE!
Free Helpline and Workshops
Regional Sub-Groups. One near you?
Advice on Software & Hardware problems Discounts from most major suppliers Subscription just £14 for UK members
Overseas subscription £17
Barclaycard: Visa: Access: Mastercard
* Now in our NINTH successful year *
Further details from the Membership Secretary
Bill Newell 213 Manor Road Benfleet Essex. 557 4JD Tel (0268) 754 407
TOOLKIT II TUTORIAL - PART 4
ADAPTED FROM: QL TECHNICAL REVIEW (C.G.H. SERVICES)
(ED Note: As in the previous parts, this tutorial is intended to supplement the Toolkit 11 Manual and the paragraphs are numbered accordingly).
9. JOB CONTROL
Тһе QL was the first affordable computer to allow multitasking. It's one of the many features that still sets it apart from the herd, and yet, is one of the most difficult to control satisfactorily on a standard machine. It is also one of the areas that most interests "Tinkerers' like myself.
The extensions for job control are documented in section 9 of the Toolkit II manual. There are four commands (JOBS, RJOB, SPJOB, and AJOB) and four functions (PJOB, OJOB, JOB$, and NXJOB) provided.
9.1 JOB CONTROL COMMANDS
JOBS lists the current jobs. By default the output will go to #0, but as with standard SuperBasic procedures, the output may be sent to any other channel by simply appending # and the channel number. Thus JOBS #2 will display a list of jobs in #2.
Toolkit II also allows implicit channels. That is, if you wish to send the output to a device, you need not open a channel to that device, send the the output to the channel (as stated above) then close the channel, but you may append the command with and the device name. The following will create a file JOB TXT on flpl that contains the list of jobs on the system:
JOBS \рі1 job txt You can just as easily print out the list of jobs with one command: JOBS Werl
With SuperBasic as the only job in the machine, the JOB command would display a table as follows:
Job tag owner priority 0 0 0
SuperBasic does not have a job name. Names are normally displayed after the job priority. If a job is suspended (see SPJOB below) then an 's' would be shown immediately to the left of the job priority.
RJOB allows you to remove a job (other than SuperBasic) from the machine. RJOB is followed either by the job name or by the job id. The job id is a combination of two parameters, the job number and the job tag. These values are displayed by using the JOB command. If you execute a program, mandelbrot, using the command ex flp1_mandelbrot, the JOB command would produce a list as follows:
Job tag owner priority 0
0 0 1 0 0 8 mandelbrot
34
TOOLKIT II - (cont)
Note that a job activated by SuperBasic will start with a priority of 8. Some jobs will not have names. The job mandelbrot may be removed as follows by the command RJOB mandelbrot.
There is a further parameter that may be added to the command. This is an error code which through the use of machine code could be read by the parent job (that job that started the job being removed). Thus you could type RJOB mandelbrot,-1. This isn't relevant to the user of SuperBasic except that it appears when you follow RJOB with the job id instead of the job name, the error code must also be used. Thus you would type RJOB 1,0,-1. The reason for using the job id as a parameter is that some jobs do not have names. Another reason is that it is possible to have many jobs with the same name. If the job name is used, then QDOS will remove the first of that name.
SPJOB allows you to set a jobs priority. As stated earlier, a job started by SuperBasic is given a priority of 8. If the job is required to run faster or slower then you must raise or lower its priority. Like RJOB the first parameter is either the job name or job id. If a job id of -1 is used then the current jobs priority is altered. (If you type SPJOB as a direct command it would be SuperBasic, however, if SPJOB is used in a SuperBasic program that is then compiled an argument of -1 would refer to the compiled program). The second parameter is the priority. This is an integer between 0 and 127. A priority of 0 means the job will become inactive (it will not get a share of cpu time).
Thus, if you wished to alter the priority of the job mandelbrot (as used in the example above) you could type either of the following:
SPJOB mandelbrot,16 SPJOB 1, 0, 16
We would then expect the job to run approximately twice as fast. Note the speed of «execution of a job not only depends upon its priority, but also upon the availability of resources it wishes to use. For example, only one job mày use the keyboard at a given time, so if a job requires input and the keyboard is already in use, then it will be suspended Я QDOS until the keyboard is available (either because the first job has finished ог control- is used).
AJOB is used to activate a program which has been loaded into memory but not previously started. (If a job has previously had its priority set to 0 it could be reactivated either by setting its priority to a positive value or by using AJOB. A job executed with the command ET would be in an inactive state until activated by further commands such as AJOB).
9.2 JOB STATUS FUNCTIONS PJOB returns the priority of a job, as with the commands above, the job may be specified either by its name or by its id. Since it is a function the job name or id must be enclosed in
brackets. Thus you might type PRINT PJOB (mandelbrot). From within a program you might wish to double a jobs priority:
39
TOOLKIT II - (cont)
150 PRINT 'Do you wish to speed up mandelbrot?' 160 answer$ = INKEY$ (-1)
170 IF answer = = 'Y' THEN
180 priority = PJOB (-1)
190 priority — 2 * priority
200 SPJOB -1, priority
210 END IF
If mandelbrot is a SuperBasic program the inclusion of a section similar to the above would allow you to speed up the job. Of course, this only has an effect if other jobs are running, if only one job is active on the computer it will take the same amount of time to run, if its priority is 1 or 127.
OJOB returns the id of a jobs owner (ie. the job from which it is activated). In our example, PRINT OJOB (mandelbrot) would print 0, the id of SuperBasic.
JOBS returns the name of a job given its id. Thus, PRINT JOBS (1, 0) would print ‘mandelbrot’. This is useful in any programs that refer to other jobs: you may wish to job ids in calculations but when it comes to displaying information it is better to convert to the job name.
NXJOB returns the id of the next job in the job tree. In our example NXJOB (0) would have a value of 1 ie. the next job after SuperBasic is mandelbrot. As more jobs are activated on the machine the Job tree becomes more complex. Jobs may be activated by SuperBasic or by another job.
Super Toolkit II thus provides a set of commands and functions for controlling jobs and finding out information about jobs. It would be nice to have more functions for example, a function that returned the location of a job in memory, its length, the location and length of data itis using etc., etc. Much of this information can be found using machine code.
END OF PART 4 AUTHOR: Stephen Bedford
LATE BREAKING NEWS
NEWPORT, RHODE ISLAND, USA - BOB DYL
: After we had gone to press with this issue, I had two telephone conversations, the first with Phil Borman Chairperson of QUANTA, and the second with Stuart Honeyball the genius of MIRACLE SYSTEMS.
The nature of the conversations were such, that we decided to "STOP THE PRESSES" and insert this report.
The conversation with Phil dealt with items that came up during the QUANTA AGM held on 25 April 1992. Some interesting news is that a second source is developing a mid-range VGA graphics card for the QL, an improved network capability will be offered soon by QUANTA and Jochen Merz Software.
36
2
NEWS - (cont)
The MIDI interface is now available from QUANTA but is not Gold Card compatible, a second one is being developed to resolve the problem. A rumor was circulated that an unidentified person would demonstrate an 8 MEG memory board using the 68030 processor, at the meeting.
The conversation with Stuart dealt with the many rumors floating about the QL world concerning Miracle Systems. With the patience of Solomon, Stuart answered all my
questions, and then authorized IQLR to print his comments on current projects being worked on by Miracle Systems.
As we stated earlier, in the article "IN THE PIPELINE", work continues on the graphics card, and it will have a. parallel port plus unspecified goodies. Being reported for the first time, is a card that will enable PC and PC clone owners to run QL software using Tony Tebby's SMS-2 QDOS clone, that's right a QOL EMULATOR for PC's. Can you imagine how this could expand our user base !!!
Another project in the works is a SCSI interface for the QL, this will open up the QL to a wide range of available hardware. As in all cases, Miracle WILL NOT advertise a launch date until the item or items are actually ready for shipment.
But having some knowledge of the market place, we believe we could see one or more of the items mentioned above, ready for the Christmas selling season. It would be good business. (ED. NOTE: QDOS (5М8-2) is already running on the Atari, will soon be running on PC's. Is it possible that it could also be running on MAC's and AMIGA's
QTOP AND THE 3.2 MEG DRIVE
TIVERTON, RHODE ISLAND, USA - DICK TAYLOR
In the previous issue, I mentioned that I wanted to write an article explaining how I was using my 3.2 Meg drive as a mini harddrive. As luck would have it, I had just about completed setting up my first "Master Disk", when COWO ELECTRONIC came out with an upgrade to QTOP (the front-end that I was using as a program manager). The bottom line is that although I have shifted to the new version (1.11), I still have a ways to go before I could say that I am completely familiar with all it's capabilities.
QTOP is an excellent application to use as a "front-end". It works with all QDOS compatible computers including, the QL, THOR, Atari-ST with QL emulator, the Amiga with QL emulator as well as.the new ExeQtor. Qtop is also compatible with both the Gold Card and Minerva.
Qtop really comes into its own when you are involved in a work session and find that you need many different capabilities outside of your main application. With the use of "CTRL C" you can cycle between any of the applications you have running, the Qtop menus as well as SuperBasic.
Qtop boots up from the ED floppy in less than seven seconds. This includes activating
Toolkit II, the Pointer Environment (mouse) and the Window Manager. Qtop displays across the bottom of the screen, the day of the week, the date and time as well as free
37
QTOP - (cont)
memory. The initial screen displays the main menu which allows you to select submenus. From this first and second tier menu system alone, you have a choice of over a hundred options. This structure and options are illustrated in figure 1.
MAIN MENU
JOBS LIST JOBS JOB-INFO VIEW JOB OWN PRIOR PRIORITY REMOVE SUSPEND RELEASE
DEVICES DATA, USE PROG, USE SPL USE
FLP USE RAM, USE WIN USE
NFS USE DATA & PROG RESET USE FILE-DEVS
PROGRAMS BACKUP CONVERT FILED DISCED XCHANGE
Figure 1, QTOP Fisrt and Second Tier Menu Options
Тһе two main menu options that I would like to cover briefly in this article are PROGRAMS and MY PROGS. Both of these submenus can be configured with whatever programs you desire. The only restriction is that the name on the menu must be the same as the name of the executable file that starts your program, so you may have to rename your file so that it will fit on the menu.
Iam still a long way from being satisfied with my selection of programs, but still have room to add several more before I have to delete one to open a spot on one of the menus.
38
QTOP - (cont)
On the PROGRAMS menu I have setup the following selections: BACKUP (a fast backup), CONVERT (copies a microdrive to disk and converts MDV to FLP), FILED (a file editor also useful for manually converting МОУ to FLP, as well as altering on screen prompts of foreign language programs to English), DISCED (a disk editor), XCHANGE (a multitasked set of the PSION programs), SANDL (a Savings and Loan program for calculating loan payments and amortization schedules), QUILL, EASEL, ABACUS, ARCHIVE and CONFIG ( a Tony Tebby configuration program).
On the MY PROGS menu, I have setup the following selections: ARCED (an editor), MASTER SPY (an editor), QSHANG (a Mahjonn or Shanghai type game for a quick” break from a work session), QD III (an editor that uses the QIMI mouse), DISCOVER (will convert a QDOS disk and files to MSDOS and vice versa), COMPARE (compares two files and highlights any differences. Useful when you need to determine the latest version of a file or if two files with the same name are identical), QRAM (not really needed as QTOP duplicates most of the functions, but it is an old friend) and DS (a disassembler). In addition to these programs, there are still three open slots on the menu for additional programs.
The above selections are certainly not final for this disk and as I find a need for additional programs, I will add them. I have been toying with the idea of adding the C-68 Compiler, but have been holding off until I decide wether or not to make that part of my second Master Disk.
How much space on the disk did all of these programs use up? Of the 6440 sectors I started with on the ED floppydisk, I still have 4124 sectors remaining. With almost two thirds of the disk space remaining, so it is unlikely that any combination of twenty or so programs would exceed the capacity of the disk.
The best part of this system is the fast access speed of the ED drives (19 ms). ALL of my + applications on the PROGRAMS and MY PROGS menus execute in less than THREE SECONDS. This speed of execution provides me with the advantages of a Harddisk without the high cost.
With the ability to create and use subdirectories, the possibilities for setting up Master Disks on an ED drive are endless. You certainly don't have to use Qtop, Taskmaster, Qpac, Qram or any other program manager, although I certainly find it advantageous, plus it gives me an almost unlimited toolbox at my fingertips to draw from.
Qtop can be obtained from:
COWO ELECTRONICS (Urs Konig) Munsterstr 4
CH-6210 Sursee
Switzerland
Tel: 045 211478
39
SUBSCRIPTIONS / ADVERTISEMENTS
IQLR is published by SeaCoast Services of 15 Kilburn Court, Newport, Rhode Island, USA. Our telephone number is 401-849-3805, business hours are 10:00 AM to 9:00 PM Eastern Standard Time, (1500 - 0100 GMT) Monday through Saturday.
ALL material published in IQLR remains the property of SeaCoast Services, and is COPYRIGHTED, unless otherwise specified. Written permission from SeaCoast Services IS REQUIRED for use of material printed in IQLR.
SUBSCRIPTION RATES: $14.95 per year (US FUNDS) for the US, $16.95 per year (US FUNDS) for Canada, and $28.00 per year (US FUNDS) the rest of the World. Single issue rates are $ 3.00 US, $4.00 Canada, $5.00 rest of the World (US FUNDS). We will accept Pounds Sterling or DM bank notes (currency) equivalent to the US $ amount.
IQLR is published 4 to 6 times per year, with individual issue size determined by the amount of available material. Our subscription year is 1 May through 30 APRIL.
Mid-year subscribers will be sent back issues for the current year.
ADVER RATES: $15.00 per QUARTER PAGE per issue. $25.00 per HALF PAGE per issue. $50.00 per FULL PAGE per issue.
Advertising rates are quoted in US Dollars, we will accept Pounds Sterling or DM bank notes (currency) equivalent to the US $ amount.
THE ADVERTISING DEADLINE FOR THE NEXT ISSUE IS 20 JUNE.
IOLR WILL REVIEW OR RETURN ANY COMMERCIAL HARDWARE AND SOFTWARE SUBMITTED.
DISCLAIMER: SeaCoast Services reserves the right to publish, edit, or reject any submitted material, and under no circumstances will SeaCoast Services be liable for any direct, indirect, or consequential damage or loss arising out of the use or inability to use, software or hardware related items published in IQLR.
40
text? 7 D | а 54 version 2 Is available now!
A Quantum Leap in QL Wordprocessing EASIER THAN EVER
You do not even need the manual to use text87plus4. Automatic setup and installation program allows you to select the appropriate printer-driver (some 30 ready- made drivers are supplied) then copies all the necessary files to your working disk. Beginner's mode with short menus hides the more advanced features of the program. Commands and key-presses are highly compatible with those used in Quill. On-line help is provided with every menu and more extensive help can be put on constant
display. THE MOST POWERFUL QL WORDPROCESSOR
Enhanced menu system offers more context-sensitive information and instructions. Optional fast escape from any menu to the editing window. New selector boxes for choosing typefaces, screen founts, etc.
Extensive editing facilities include cursor move (by character, word, line, paragraph, screen, page) erase (by character, word, line) block operations (copy, move, delete) goto (line, page, top, bottom, block). Insert and overwrite modes. Very fast search and replace backwards and forwards, case dependent and independent. Special characters include hard-space, hyphenation, hard and soft hyphens.
File operations include load, save, merge, block save (in plain ASCII or as fully formatted document) import (Quill files retaining bold, underlined, etc. or any other file, including those exported from Archive and Abacus or from other programs).
Enhanced spell checker with selector boxes for browsing the dictionary and automatic replacement of the selected word which is automatically capitalised if the original began with a capital. Choose between large (over 210,000 words) and small English dictionaries or French or German (all supplied with the program). Form your own additional specialist dictionaries or edit any of the existing ones. The large dictionary also contains the American spelling of the words.
Up to 8 documents can be open simultaneously. More than one window can be open over each document so that you can edit the text while looking at a different part of it or at a different Gocument. Windows can be arranged and resized manually or automatically and switched instantly. Page and column ends are constantly displayed on the screen, taking into account all the changes of line-spacing. Page preview shows full A4 pages before you commit the text to paper.
UNRIVALLED PRINT QUALITY
In text and character formatting, text87plus4 is miles ahead of the so-called competition, Simply, no other QL program can produce similar results. Used with the appropriate printer-driver, text87plus4 can utilise the different founts and character sizes built into modem printers. It fully supports proportionally spaced founts (such as used for this text) and justifies them correctly. You can use any combination of small and large founts and be assured of a perfect printed result. You can set up multiple paragraph formats with different amounts of line-spacing for each. You can also format the page the way you want, using several columns plus headers and footers. For desktop publishing, you can use several different page layouts in the same document. Includes the American Letter size for page layout.
THE FASTEST QL WORDPROCESSOR
text87plus4 is much faster than the so-called competition. Tested on an ordinary QL, text87plus4 reformatted a document of 385 lines after changing its right margin in 5 seconds, the other wordprocessor took 280 seconds! (this is not a printing error). Plus4 completed an automatic search/replace (58 instances) in the same document in 5 seconds, the ‘other’ program took over 100 seconds! Even a single paragraph reformat took 6 times longer on the other program. The test document was an ordinary text included on the plus4 disk.
plus4 is fully compatible with all QL roms (including US), Trump Card, Gold Card, Atari Emulator (also in the 768*280 pixel mode). Toolkit П Altkeys can be used and can be Hotkeyed in the Pointer Environment. Compatible with ОрасП and Taskmaster.
More information on text87plus4 and drivers is available on request
Prices (inclusive of Air Mail to United States)
text87plus4 £79 upgrade to plus4 from older versions inquire 2488 drivers for 24pin printers £15 typeset90-deskjet drivers for all HP Deskjets £20 typeset90-Epson GQ3500/5000, EPL4100 /7100 lasers £40 fountext88 + founted89 for 9 & 24-pin printers £40
For immediate dispatch, send your order with credit card details to:
Software87, Road, London NW3 2JU, ENGLAND
33 Savernake
Or contact our US distributors: EMSoft, Boston, MA
Inl X...
Ва злата «АНЗ Maia im Шат ЧАЙАН] 12 ә УИ) [б ЧУ) 451 Telephone and az а 0909-90909 Conny NEWS ~ NEWS .. NEWS
Jochen Merz Software is the largest supplier of high quality software that runs under QJUMP's Pointer Environment | (PE). This hardware-independent environment is the very advanced and easy to use windowing system for QDOS, that is the path to the future for QL users. We support the PE by supplying software development tools, documentation and
the QL-Emulator.
For more details on our complete range of products write or send a fax!
QD Version 4 - The first (and only) Editom using the PE. Dynamic memory ol- locotion, no limit on nrs of lines, comfortable block-hondling ond mony, mony new features, e.g. improved print menu, better search/replace, GOTO Proce- dure ond Function, even Machine code label. With new Menu Config which ol- lows you to configure all programs using the standard CONFIG block, but menu driven. £38 DM 112,10 $60.80
QMenu - the Menu Extension V3 QMenu is а very easy to use interface with pre-defined menus (c.g. multi-column file-select, simple-choice boxes, se- lect from lists, error hondling). These menus may be used from SuperBASIC, mo- chine code and otherlonguoges.£13 DM 38,35 $20.80
QSUP - System Utility Package Different sorts of programs ond exten- sions which help you setting up ond using your mochine (e.g. Translotion-Toble Editor, Notepad). £26 DM 76,70 $41.60
Thing & EPROM Manager Оо you wont to put your Extensions, Things, Jobs etc. into EPROM? The EPROM Manager helps you by creating files which ore ready-to-burn. It contains also the very useful Thing Extenion Il, which gives you full control over Things from SuperBASIC. £18.50 DM 54.58 $29.60
НЕ - the FileFinder Running under the PE, Fifi is easy to use ond extremely useful. Fifi scans devices or directory trees and searches files or filenames for strings. Combinations ore possible, e.g. String1 AND string? BUT NOT string3 etc. £13 DM 38,25 $20.80
DISA - Intelligent Disassembler which allows you to disassemble interok- tively any kind of mochine-code. Completely pointer-controlled = very easy to use. Generates ASCII-output which may be assembled using the GST (Macro) Assembler. DISA also tries to insert label names (used in the Technical Guide ond the Reference Manual), and also knows QDOS standards (e.g. Proc/Fn to- bles, ROM-heoders, CONFIG-format etc.) £27 DM 80 $44
QDOS Reference Manual - This book is а must for all m-code progrom- mers. It explains how to use ODOS, all trops and vectors, the Thing System, the HOTKEY System Il ond much more. It points out which features work on a Ql, оп Emulator and how to write compatible for future operating systems. DIN А5, over 170 pages. £27 DM 80 $44
ОРТЕ - The Pointer Environment Toolkit Revised manual which describes how to use the Pointer Interface and the Window Manager from SuperBASIC and machine code, even how to setup standard CONFIG tables. ОРТА comes with examples on disc. All necessary keys, macros and extensions for SuperBA- SIC ore supplied. £30 DM 88,50 $48
FLP/RAM Level 2 - Replacement EPROM for SuperQBoards (V1.17 onwards, with & without mouse) or IrumpCard (please specify)! Real sub-directories! Ql- Emulator ond Gold-Cord compatible! With ATR-device (to read and write MS- DOS/ATARI discs). About twice os fast, with improved slove-block-hondling! (NotJM ROMs!) £18 DM 53,10 $28.80
EASYPTR II - Create your own PE menus & sprites, use them in your own Su- perBASIC or machine-code programs. Creating Menus was not easy, until now! Put all the items you need on screen, that's it! Supports all the PE facilities, even split sub-windows and uses the Menu Extension! Now even complete applico- tion-sub-windows тоу be created! Mony examples and better monual! £49 DM 144,55 $78.40
QDesign II - Graphic- and Design-program. Running completely under the PE! Supports the Extended Mode4. Do you think anything else is to say about о very good graphics program?!
For all 9 ond 24 pin printers, Deskjet ond Loserjet £48 DM 140 $77 Font-Vector-Editor for QDesign £19 DM 56,05 $30.40
Assembler Pack containing the GST Macro Assembler, QD IIl and the QDOS Reference monuol, £85 DM 250,75 5136
SYSTEM - System Tools for QDOS: reol file-attributes ore added, e.g. write-only, hidden or for selected users only. Works even over net and on winch- ester. New TRAPI3. New devices (equivalent to Ql-Fmulator): nomed pipes, MEM, NUL 80 new procs & functions, e.g. WSET FATTR, WSET ҒТҮРЕ, WSET FVERS, ADIR, ASTAT, HK GETBF$. £27.50 DM 85,- $45
7Х8301 £5.90 DM 17,41 $9.44 7Х8302 £5.90 DM 17,41 $9.44
E
eunocatio,
QL-Emulator for ATARI ST (260, 520, 1040 and all Mega's, but no STE's). This hardware, together with software turns any ATARI into a QL The emulator supports the standard MODE 4 as well as a MODE 4 in much higher resolution (768x280) The QL emulator does not interfere with AT-emulators, it also runs even faster if accelarator cards (HyperCache, AdSpeed) are built into the machine. Of course, it supports real subdirectories (complete Level2 device drivers) on floppy, hard-disk and RAM disc. The complete QL emulator package includes a lot of utility software ond extensions. If you are interested in an emulator, you should write for more information £139 DM 376 $225
EPROM Cartridge for the QL-Emulator, switchable
- containing the standard drivers £33 DM 97,35 $52.80
- containing the extended drivers £33 DM 97,35 $52.80
Floppy adaptor to connect QL discdrives to the ST £9 DM 26,55 $14.40
Monitor-cable ATARI to Scart £9 DM 26,55 $14.40 Centronics-cable 2m £6.50 DM 19.18 $10.40 Centronics-cable Sm £10.50 DM 30.98 $16.80
Games Diamonds £11 DM 32,45 $17.60 BrainSmasher £12 DM 35.40 $19.20 Arcanoid £10 DM 29,50 $16 Firebirds £10 DM 29,50 $16 SuperGamesPack £25 DM 73,75 $40 QShang £14 DM 41,30 $22.40
Brandnew game: The lonely Joker!
The lonely Joker is a solitaire card game based on three different patiences: Echelon, Napoleon and Cascade. All three games are very addictive, with different variations. It is easy to control by mouse or kebyoard and runs under the PE. System requirement: 384k RAM and Toolkit 1
£14.90 DM 44 $25
NEW: SER Mouse
Software driver which allows you to connect a senal (e.g. DOS) mouse to one of the serial ports of the QL which then mimics the QIMI interface. In addition to the functions of the QIMI, if you have a three button mouse the following features are available: ESC on centre button, left centre is Wake, and right+centre is Sleep. £14.90 DM 44 $25
Updates Our update policy is very generous: updates on most products ore free! Upgrades (i.e. major improvements on the products) are available at small charges. In general you only have to pay if new manuals are required. For updates and upgrades, just return the original disc and enough retum postage (none, if updates come with an order, £2 (DM 5,90 $3.20) for up to 5 discs or £4 (DM 11.80 $6.40) for more. Upgrade to QD Version 4 from V3 £10 DM 29,50 $16 Upgrade to QSUP from QSYS lor ll £19 DM 56,05 530.40 Upgrade to QPTR (with new manual) #14 DM 41,30 $22.40 Upgrade to EasyPTR 1 from М1 £13 DM 38,35 520.80 Upgrade to QDesign Version И £13 DM 38,75 $20.80 New Emulator manual £6 DM 17,70 $9.60
ial offers (Europe only) Pack of 10 3.5" discs MF2DD £3.10 DM 9,15 Pack of 10 3.5" discs MF2HD £5 DM 14,75 3.5" Diskdrive 2MB (unformatted) without case, for GoldCard (1.44MB) or any other Controller (720k) £39 DM 115,05
Please add £4.00 (DM 11.80) for postage and pack- —. age (Europe) or $6.40 for one item and $4 for every further item (Overseas). No extra charge on credit cards! All prices excl. VAT. E&OE