QL Hacker’s Journal
Individual Publisher(s):
Tim Swenson
Published by Timothy Swenson.
| Title | Description | Computers |
|---|---|---|
| 2D Arrays in Small-C | In a recent article in The C Users Journal, Don Lang discusses how to implement 2D arrays on C. His article covers code that when added to the original Small-C source, allows Small-C to support 2D arrays. Since the source code for the QL’s Small-C compiler is not available, we could not use the code | Sinclair QL |
| Adding Config Blocks To Qlib Programs | BasConfig is a utility, written by Oliver Fink, that creates config blocks for Qliberator compiled programs. For those that don’t know, config blocks are extras chucks of data added to programs that are changeable by the user, using the program “config”. In other words, if you have a program and you want the user to | Sinclair QL |
| Another Look At Mazes | In QHJ #12 there was an article on Cellular Automata that discussed how CA could be used to quickly and easily solve mazes. On Usenet I’ve seen some postings that deal with other ways to solve mazes (the more “classical” approaches). I thought they would be of interest. – ED Can anyone gave me suggestions | Sinclair QL |
| Ansi C To K&R C | Guiseppe Zanetti mailed me a copy of an Ansi C to K&R C convert program that came from the GNU project. I have played with it and it seems to work. It is limited in dealing with just the function definitions, translating these to the old K&R syntax. It does not convert any special ANSI | Sinclair QL |
| Approximate String Matching | In past issues, string matching has been a reaccuring theme. In the April 1994 issue of “C Users Journal” there was an article on string matching that uses a different algorithm for guessing how close two strings are; Frequency Distribution. Frequency Distribution counts how many occurances of each letter appear in the word. For “test”, | Sinclair QL |
| Archive Indent | I have always thought that Archive has always been one of the underrated programming languages for the QL. When I first looked at Archive, it reminded me a lot of dBase III. What has limited me from really programming in Archive has been not having a big need to write a database application and not | Sinclair QL |
| Ascii Dump | In writing strip_c and converting the file to an ascii file, I needed to know what ascii characters were in the file that I would need to strip out. A number of ascii characters are not used in text files, ones like End of Transmission, Acknowlegement, and so on. On a Unix system, there is | Sinclair QL |
| AWK | AWK has been ported to the QL by Peter Tillier and is a Unix language that is used for all sorts of list processing tasks. The name comes from the three writers of the language; Aho, Weinberger, and Kernighan. AWK works very similar to grep. For each line of input, it searches for a given | Sinclair QL |
| Base Conversion | In some postings in on Usenet, there have been some conversations about converting from different bases. I found this task interesting and thought I’d give it a try. I did fairly well in writing a routine that would convert from Base X to Base 10. Converting from base 10 to base X was more difficult. | Sinclair QL |
| Befunge | I recently found a new language that has an implementation that will run on the QL – Befunge. Befunge is the first two-dimensional language. This means that the Program Counter, instead of just going down a line of code, can move up, down, left, and right. This is easily done by making each Befunge command | Sinclair QL |
| BetterBasic And CrossRef | BetterBasic and CrossRef are two SuperBasic programming utilities written by Chas Dillon (of THE EDITOR fame). Chas has released these two programs into the Public Domain. He has released the source code but not any executables. I decided to take the two programs, see what changes they needed to be compiled with the new TURBO, | Sinclair QL |
| Big Numbers | Jon Bently writes a column called “Software Explorations” for the magazine Unix Review. In the November 1994 issue, Jon discusses how to handle big digit numbers. He starts off by discussing how to store the number, in decimal or binary. He opts for decimal storage and the use of a simple array to store the | Sinclair QL |
| Boot Up Reminder | Productivity tools for the QL are far and few between. On the PC, there is a dearth of these tools; Meeting Maker, Lotus Organizer, Maximizer, etc. One feature of most productivity tools is the ability to remind you of special days, such as birthdays, anniversaries, appointments, and so on. Without doing much development work, a | Sinclair QL |
| Byte Input in SuperBasic | In the last QHJ, I mentioned that I could not get single byte input to work in SuperBasic for my QL to Z88 program. Peter Sulzer kindly wrote back and proved that I was wrong. Below is a short routine Peter sent that shows how standard SuperBasic can do byte input. – ED 100 OPEN_IN | Sinclair QL |
| C Beautifier | The C User’s Group has disk full of C programs that have been written for portability. One of these programs is a C beautifier (cb_c). This is a program that takes any C code and outputs a file with the C code in “proper” formating. It does things like indenting, putting single statements on a | Sinclair QL |
| C Compiler Comparison | A while back I was thinking about the two C compilers available for the QL. The Small C compiler is easy to use, quick to compile, but limited in it’s scope of the C language. The Lattice C compiler is not so easy to use, slow to compiler, but supports the full C language. The | Sinclair QL |
| C Portability | This article is dedicated to show some rather randomly chosen aspects of portable programming with C68 on the QL. A ‘C’ program is fully portable if the source text can be compiled on any operating system which provides a standard compiler (usually the standard is defined by K&R or ANSI) without any changes at all. | Sinclair QL |
| C68 Compiler Benchmarks | In QHJ #3, I reported on some benchmarks that I ran on Lattice C and Small-C. Now that I had C68, I decided to run the benchmarks against it to see how it compares with the other two compilers. Here is how all three compilers compare: Prime Numbers Small-C Lattice C C68 29000-32767 5 Sec | Sinclair QL |
| C68 Version 3.03 | I have received version 3.03 of C68. Just before this I picked up a copy of 3.01 and had problems with it. I expected to get version 3.02 (a serious bug fix of 3.01) but got 3.03 instead. Version 3.04 has been released by Dave Walker. He seems to put out a new release about | Sinclair QL |
| Case Statement Implementation | When I recently was working on SSB 2.6, I was using a SuperBasic implementation of a CASE structure for the core of the program. The deeper the structure got, the harder it was to read and understand. I starting thinking of using another way of implementing a CASE structure. For those that don’t know what | Sinclair QL |
| Cellular Automata | Back in college, I was short 1/2 a unit from graduating. To make up the unit, I enrolled in a 1 unit Independent Study course. With hours left before the enrollment deadline, I picked what I thought was a weak but interesting subject, Cellular Automata (CA). Well, the more I researched the topic, the more | Sinclair QL |
| Check Bits for Ascii Files | I’ve been scanning throught some old issues of Dr Dobb’s Journal trying to set the spark to a new programming idea. I was reading one article on architecture ( and / or gates, etc) and the word parity leaped from the page. I had a sudden flash back to my college days where I was | Sinclair QL |
| Complex ASCII Rotation | While reading one of the many computer magazines that I read in a month (got to have something to do while I eat my lunch), I read an article in which the columnist talked about security and mail. He was commenting about how open Internet mail (and e-mail in general) is fairly open and easy | Sinclair QL |
| Computer Language Humor | Here are a couple of related postings that I found on USENET. Each one gives a slightly different view of a number of computer languages. Programming Languages As A Car THE PROGRAMMER’S QUICK GUIDE TO THE LANGUAGES The proliferation of modern programming languages (all of which seem to have stolen countless features from one another) | |
| Constructing a Spell Checker | A spell checker is usually comprised of two parts: 1) word lookup (to see if a word is spelled correctly) and 2) word suggestion (to suggest the correct spelling of the word). Past issues of the QHJ have looked at different algorithms to tell how close two words are, a key part of word suggestion. | Sinclair QL |
| Core Wars | A while back I took a week off from work to spend time at home finishing some programming projects (hey, I had plenty of leave stored up). One of the projects that I finished was in implementation of Core Wars for the QL. Below is the documentation that I wrote for the program. It details | Sinclair QL |
| Creating Loadable Extensions Using Qlib | One of the things that has always amazed me about the QL was the ability to load a binary file and have a bunch of new keyboards available in SuperBasic. In most computers that had Basic built in, the language was static and had no way to extend itself. Other languages (like C, Fortran, or | Sinclair QL |
| Databases And Bitmaps | I read an interesting article that introduced the idea of using bitmaps in implementing a database. I don’t know if this concept will be of use to any QL programmers, but I found it interesting just to know. Conventional databases use B-trees and hashing to implement indexes. B-trees are just that, trees. An index is | Sinclair QL |
| DBAS | For most database programming, the QL programmer has been pretty much stuck with Archive. Archive is a fine language and is fairly similar to dBase III in programming feel. It has many advantages: editing of records built in, easy screen creation, a well structured language. But it also has a few weak points: limited functions, | Sinclair QL |
| Deskjet Print Filter | Once I got my DeskJet printer, I wanted to be able to produce nice looking text output. Quill and other word processors support only monospace fonts. The word processors that do support proportional spaced fonts are not real cheap. Being one to write my own print filters, I set myself out to write a print | Sinclair QL |
| Dice Percentages | I’m still distracted by my other hobby, wargaming. In tying the two together, I thought about dice, percentages, and To-Hit rolls. In gaming a To-Hit roll is a die roll, where your try to roll a certain value or less. For example, for a To-Hit roll of 10 with 2 six-sided die (2d6), you would | Sinclair QL |
| Disk Eraser | In one of my program idea brainstorming sessions, I came up with the idea of writing a program to completely erase a floppy disk. The idea comes from government regulations. When deleting classified information from a disk, the disk must be written with all 1’s, then all 0’s, and then random 1’s and 0’s. After | Sinclair QL |
| Disk Text Search Utility | Over the years, to keep various e-mails and newsgroup postings, I’ve printed them out and kept them at home. I’ve thought about storing them as files on disk, but finding the information I need would not be too easy. I was looking for a utility that would search the files on disk, find files with | Sinclair QL |
| Diskinfo | This program started out as an attempt to examine a disk with corrupted files. The problem may have been with my disk drive. Just a suggestion to others; try reading the disk in another drive before you give up on it. At any rate don’t write anything to the disk! Before I knew it I | Sinclair QL |
| Displaying QL Screens In MS-DOS | [It’s not normally the policy of the QHJ to publish programs that are written for other platforms than the QL. But in this case, I can make an exception. The following program by Jeff Kuhlmann is designed to display a QL screen file on an MS-DOS computer. I’ve tried it with my MS-DOS laptop (CGA | Sinclair QL |
| Displaying TI Graphics Files | [Jeff Kuhlmann has written an interesting program to display a TI-Artist instance file on the QL. I don’t know how many have been wanting to do this, but here it is. On the disk that Jeff sent me, were many example files. If you are interested in this, I can provide a disk with all | Sinclair QL |
| Dutch Connection 2 | Last issue Mark Martin reported on a Dutch BBS that was being run on a QL. I forgot to mention that the same person that wrote the QL BBS also wrote a number of other programs, that Mark has sent me. The three major programs on the disk are: UNZIP96, QVIEW, and QBOX. UNZIP96 is | Sinclair QL |
| Dynamic Windows - Another Approach | In a back issue of the QHJ I wrote a SuperBasic program that saves a section of the screen to memory and brings it back again. This allows you to save a section of the screen where you are about the put a new window, draw to window, and then bring back what was under | Sinclair QL |
| Editor's Forum | Welcome to the first issue of the QL Hacker’s Journal. This publication is meant to fill the gap in publications already available. There are a number of good magazines that cover programming, but, due to popularity, do not cover the QL. There are also some good User Group Newletters that cover the QL, but are | Sinclair QL |
| Editor's Forum | I’m a bit surprized to have this issue out so soon after the last issue. But, the source code from Herb Schaaf’s article and the C Beautifier made for quite a few pages. Since it was enough to fill an issue, here it is. Some of you may have noticed that last month’s issue had | Sinclair QL |
| Editor's Forum | After putting out two issues rather quickly, your all probably wondering what happened to this issue. There is one simple explanation: bad keyboard. My QL feel ill by the most common ailment of older QL systems, a bad connection between the keyboard matrix and the motherboard. My QL went bad in early February, just after | Sinclair QL |
| Editor's Forum | This issue is another one that took some time to come together. I have spent part of the last two months beating my head against a single program. I have been working on a C version of my Cellular Automata program. After I finally found a decent random number generator, I made some changes to | Sinclair QL |
| Editor's Forum | This month has been a busy month for QL news. See the following article to find out what has been going on. This month print formatters are the rage. I did not mean it that way, it’s just that two good ideas hit me at about the same time. I hope that others can find | Sinclair QL |
| Editor's Forum | This issue of the QHJ is a little late. It’s been three months since the last issue. I try to get an issue out every two months. The reason for the delay is the arrival of my daughter, Caitlan Anne. The Tech Specs are: born 27 Sept, 5 lbs 2 oz, blonde hair and blue | Sinclair QL |
| Editor's Forum | With this issue the QHJ is now 1 year old. It’s been fun publishing the QHJ. It’s given me a chance to write the kind of articles that I want to write; those aimed at QL programmers. It’s also kind of neat to have complete editorial control. Over the last year I have “meet” a | Sinclair QL |
| Editor's Forum | For those readers that have Internet access, Timo Salmi of Findland has started an Anon-FTP QL Server, garbo.uwasa.fi (128.214.81.1). Garbo is already an MS-DOS server but Timo has set aside a section for the QL. To start things off, he has uploaded a number of his programs. I have uploaded back issues of the QHJ | Sinclair QL |
| Editor's Forum | This issue is the second issue to take 3 months to come out. I had not planned on a quarterly schedule, but it has come out that way. There are two primary reasons for this delay: 1) My daughter is now crawling and requires more supervision and this means I have to do my share. | Sinclair QL |
| Editor's Forum | One problem I have noticed with writing this section of the the QHJ is that I that I don’t have the words to introduce the issue. I try to get each QHJ done at the end of the month before publication. This coincides with the publication schedule of the CATS newsletter (the other newsletter that | Sinclair QL |
| Editor's Forum | Here is the first issue produced from the suburbs of Dayton, Ohio. We are now moved and mostly settled in. Next, I would like to apologize to the e-mail readers of the QHJ. When sending out the last issue, my mailer went south on me. Most people reported getting up to 60-70 copies of the | Sinclair QL |
| Editor's Forum | It’s been a few months since the last QHJ, but I’ve been busy working on a few projects and doing some traveling. In early June I traveled to Newport, Rhode Island to attend the “Miracle in Newport 93” QL show. There I was able to meet some QL’ers that I have not met before, plus | Sinclair QL |
| Editor's Forum | It has taken a while to get this issue out. I would like to thank Al Boehm for submitting an article and making this issue that much bigger. I’m always ready to receive an article for submission. I’d like to see what programming other are doing out there. The last weekend of August is the | Sinclair QL |
| Editor's Forum | Again another issue has taken longer than I wanted to come out. Since the last issue one important thing has happened to further complicate my life. Her name is Ashlyn Nicole; 7 Lbs 2 oz, born 23 November at 5:17 PM. Recently I attended a local book sale, that had a good selection of computer | Sinclair QL |
| Editor's Forum | As much as I want the QHJ to come out about every other month, It’s slowly becoming a quarterly. Between work, family, and other hobbies, the QHJ is getting little time. Luckily, this month most of the articles are user submitted. In fact, this is the first time that more than one article in a | Sinclair QL |
| Editor's Forum | This is the second issue that is far later that I would like. Let me explain the reason why. Back in March I was told that I was being matrixed to do computer support for the B-2 Bomber Systems Program Office. What this job entails is managing a computer and telecommunications branch. I have three | Sinclair QL |
| Editor's Forum | Well, it looks like another issues has taken longer that I would like. It’s been one of those “too busy to program” type of dry spells. The only key item of news is that as I am writing this the latest version of C68 v 4.2 has partialy come out. I received the zipped version | Sinclair QL |
| Editor's Forum | Another few months, another issue. I don’t know if there is any special significance to putting out issue #20, but it looks nice to have a zero in the 1’s place. One thing nice to report is that the number of QHJ readers is increasing (at least direct readers). I keep running into more QLers | Sinclair QL |
| Editor's Forum | This issue of the QHJ is a little smaller that I would like. I’ve been busy getting ready for the QL show in Oak Ridge, Tennessee. This is the same show that has been held in Newport, Rhode Island, but Bob Dyl wanted to try a different place this year. I’ve been busy making some | Sinclair QL |
| Editor's Forum | The biggest news this issue is I’VE GOT A HOME PAGE. I got a wild hair a while back and decided to get myself a home page. Since I could not use a server at work to host my home page (the government sort of frowns on that), I had to find a commercial service | Sinclair QL |
| Editor's Forum | Have you ever sat in front of the word processor, looking at a blank screen, and not really know what to type. This is how I am as I try to write this article. I always write this article last and use it to cover any loose thoughts that I might have from the other | Sinclair QL |
| Editor's Forum | As time goes by I’m finding myself doing less and less programming. My recent foray into distributing QL and Z88 freeware has kept me busy collecting QL freeware. Now I will have the pleasure of trying some of this software out, which always takes some time. I’m still working on getting QFAX going (after having | Sinclair QL |
| Editor's Forum | I don’t have much to say for an introduction to this issue. I do want to thank Peter Tillier for contributing two articles. He really filled a few pages for me. The more articles I get the easier it is on me and the more often I can publish. I hate it when I have | Sinclair QL |
| Editor's Forum | It’s hard to believe that the last QHJ came out last May. What have I been doing? Well, let me tell you. Since May I have had a number of life changes that have kept me busy. The first is a change in jobs. I decided to leave the Air Force and seek employment else | Sinclair QL |
| Editor's Forum | The QHJ is back. After a year of taking a break, I’m back in the programming spirit again. Of course, I have not been inactive during that time, as any reader of QL Today can attest. I just have not felt like writing any programs for a while. I guess I did get burnt out | Sinclair QL |
| Editor's Forum | I have not received much feedback on the Qliberator Source Book idea I mentioned in the last issue, and I have received basically no “helpful hints”. So, my plan is to write what I can, put it out on the Net, and see what feedback comes from it. If I make any mistakes, I’m sure | Sinclair QL |
| Editor's Forum | I’d like to thank Per Witte for providing pretty much the core part of this issue. I saw the Filename Parser program posted to the ql-users mailing list and thought it would be good material for an article. I contacted Per and he was willing to write something up. The length of the article was | Sinclair QL |
| Editor's Forum | In this issue I want to take a look at a couple of Unix languages that have recently been ported to the QL. In the ql-users mailing list, I’ve seen some comments that basically say “Why use these other languages on the QL? All development should be done in SuperBasic or C68 and use the | Sinclair QL |
| Editor's Forum | This issue is far later that I would like. Planning for the West Coast Sinclair Show (for which this issue is being prepared) took a fair amount of time. I’ve also been fiddling around the house getting it ready for guests coming to the show. I’ve also been distracted by some projects from work. I’m | Sinclair QL |
| Editor's Forum | First off, thanks to Herb Schaaf for providing most of the text for this issue. When Herb gets a hold of a problem, he does not let go until he knows all there is to know. Secondly, I wanted to bring up something that has been discussed in the ql-users mailing list. I can’t remember | Sinclair QL |
| Editor's Forum | I don’t know if I’m old enough to claim that old age is to blame for why I’m not able to get as many QHJ issues out in a year as I would like. Maybe I can blame my other distractions, such as family, house, work, and my other hobbies. I’ve also been a little | Sinclair QL |
| Editor's Forum | For the second time in the life of the QHJ, I have allowed a whole year to go between issues. When I started the QHJ 10 years ago, I knew something like this might happen, therefore I made the QHJ a free publication. This has kept any off any outside pressure to get the next | Sinclair QL |
| eFORTH Interpreter | While on the subject of languages, I thought I would finally take a look at a program that I had received a while back. Salvador Merina of Spain has ported eFORTH to the QL. eFORTH is a portable implementation of a FORTH interpreter. The main version of eFORTH is the MS-DOS implementation. Not being a | Sinclair QL |
| End-Of-File Finding | A lot of the programs that I like to write are filters. They take a text file as input, do something to the file, and output the results to a second file. Doing this involves reading a file one line at a time. A way of doing this would be something like this: REPeat loop | Sinclair QL |
| Environment Variables | The concept of Environment Variables comes from the Unix world. They are used slightly in MS-DOS, but not at all to the same extent as UNIX. For the QDOS world, the file ENV_BIN provides a number of extensions that allow the use of Environment Variables. Essentially an environment variable is a variable that can be | Sinclair QL |
| Exclusive OR Encryption | I’ve always been interested in encryption. Keeping my files safe from prying eyes has been more of a want than a need. Plus encryption is a neat programming problem to solve. Many years ago I wrote a program called QL Crypt that was my first look at encryption. In QHJ #XX there was Complex Ascii | Sinclair QL |
| File Comparison | Fcomp_c is another C program from the C User’s Journal disk #236 (Highly Portable Utilites). I only had to make a few minor changes to port it to the QL. The biggest change being uncommenting the #define NO_STRING_H. I have tried the program out with two short test files. Below is the two files and | Sinclair QL |
| FILECONFIG | Another program that I have been working on is FileConfig. The short explanation is that FileConfig is an automated version of BasConfig, by O. Fink (and modified by Norman Dunbar and Dilwyn Jones). With BasConfig, you can’t edit an existing Config Block, only create a new one. With FileConfig, you store the definition of a | Sinclair QL |
| FIND2_C | I have written a C program that will search for a particular string in a file. My first version of the program worked only on text file. The second version was designed to work on Quill files, or any binary file. The reason for these two programs, is that I was trying to help a | Sinclair QL |
| Fletcher's Checksum | The May issue of “Dr Dobb’s Journal” focused on data communications and included articles on checksums. One article covered Fletcher’s Checksum, an algorithm faster than CRC and just as reliable as CRC, except it handles smaller blocks than CRC. CRC checksum will catch a 2 bit error in a 65,535 bit message, where as Fetcher | Sinclair QL |
| FORTH Programming | I have been programming with FORTH for a number of years now and have used it on the 1802, PDP-11, 6502, 8080, Z-80, 68000, 8086, V-20, 80286, and the 68HC11 CPU’s. The different CPUs have many different assembly languages and when writing programs that you want to run on all the machines you can have | Sinclair QL |
| From the Editor | This issue is a smaller than I’d like. As the new owner of a Z88 I’ve been spending time playing with it. Not being good a soldering, I took me a while to make some cables for it. Plus, having a bad soldering pencil did not help matters. This will be the last issue before | Sinclair QL |
| From the Editor: THE QHJ GOES ELECTRIC | With this issue, the QHJ is now also being distributed via electronic mail. With the recent advent of a QL Internet mailing list, the QHJ can be distributed to QL users all around the world in a matter of minutes. Even QL users on CompuServe can recieve the QHJ via e-mail. The QHJ will still | Sinclair QL |
| GST QC C Compiler - A Review | I recently found out about another C compiler. Peter Tillier send me a copy (legal, of course) of a C compiler by GST. Peter says that the compiler is now available from Quanta for about 15 pounds. The compiler seems to be a cross between Small-C and Metacomco QL C. Like Small-C, it supports a | Sinclair QL |
| HELLO, WORLD | In a number of recent postings to alt.folklore.computers, the answer to the question “What’s the shortest ‘Hello, World’ program for a specific language? For those that don’t know, ‘Hello, World’ is the first program used in K&R’s book on C and is synonomus with the simplest program to write as a beginner. The whole scope | Sinclair QL |
| Herb Schaaf's Small C Programs | Editor’s Note – Herb Schaaf has sent me a couple of Small C programs via e-mail. He did not include an article about the two programs, so I am just presenting them as is. One is an update of my previous find_c. Be aware that Herb adds a number of bells and whistles in his | Sinclair QL |
| Hex Movement Library | Recently I’ve been distracted by one of my other hobby, wargaming. There has been a discussion on USENET about freeware space combat games. Having designed one a few years back, I quickly did an ASCII version and posted it. This then lead to further distractions in that hobby. Feeling guilty about “abandoning” the QL, I | Sinclair QL |
| House Of Coding Style | I was recently doing some CGI-BIN programming in Perl. Since I was new to CGI-BIN programming, I did what every other programmer does when he is new to something, he borrows somebody else’s code to see how it is done. I borrowed come Perl CGI-BIN code from our local CGI-BIN expert at work. When writing | Sinclair QL |
| How Do They Do That - Editors | Here is an interesting response to a posting on editing files larger than memory. The algorithm listed below has a few good points, but also a few bad ones. I guess the key problem is finding the last line of a file quickly without scanning through the entire file each time. – ED arisz@csri.toronto.edu (Aris | |
| Infix to Postfix | In the March 1992 issue of “The C Users Journal”, Rex Jaeschke has a column called “Doctor C’s Pointers”. He has been running a series of articles on data structures in C. In one of the column on stacks, he presents a infix notation to postfix notation translator/convertor. Infix notation is what is used in | Sinclair QL |
| Internet Conciseness Contest | Mark Schnitzius (schnitzi@eustis.cs.ucf.edu) has started and runs the Internet Conciseness Contest. The contest is designed to provide an outlet for recreational programming. The contest accepts programs only in Ansi C. Scores are based on the number of tokens in a program. The lower the score the better. Mark is up to Round number 4. Below | Sinclair QL |
| Internet Conciseness Programming Contest: Round 5 | In past issues of the QHJ I’ve covered this contest. I’ve included Round 5 for completeness – ED PAPER FOLDING You are given a sheet of paper that contains all asterisks (‘*’) on top, and all pound signs (‘#’) on the bottom. A three by five sheet of this paper would look like this: ***** | |
| Italian Software | While looking at the archives for the comp.sources.misc newsgroup on Usenet I noticed that there had been a posting on tools for the QL. I was able to download the posting and get the tools. The programs came from Giuseppe “Beppe” Zanetti of Italy. Giuseppe has written a number of programs, including the ones posted | Sinclair QL |
| Iterated Function Systems | IFS is what Michael Barnsley calls his Iterated Function Systems, and IFS is another part of fractals (remember those Mandelbrot all-nighters ?). Barnsley did IFS a few years ago and has gone on to bigger and better stuff now. He explains how IFS can be done by anyone with a personal computer using a “collage” | Sinclair QL |
| JOYFU Or Find The Missing Construct | JOYFU when sounded out means “Joyful, with no L” or as it is really supposed to be sounded out “Joyfull Noel.” The lack of an L turns one word into two. This is sort of an interesting introduction to missing letters or constructs. I happen to read a DoD journal called “CrossTalk, The Journal of | Sinclair QL |
| Language Design Principles | Jon Bentley has been around computers for years, spending most of his time with AT&T Bell Labs (the birth place of Unix and C). In an article in “Unix Review”, Jon mentions some guidelines on building languages. I thought these guidelines also apply to writing other programs, so I thought I would pass them along. | Sinclair QL |
| Levenstein Distance | The Levenstein Distance is a measure of how close two strings are to each other. The Levenstein Algoritm is used to calculate the Levenstein Distance. The Levenstein Algorithm takes two strings and determines what it would take to transform one string into the other, using deletions, additions, and changing characters. The more that must be | Sinclair QL |
| LF/CR to LF in Editors | All of the C programs that I get from non-QL sources get to the QL via an MS-DOS disk. As most know, MS-DOS uses LF/CR for newline and the QL uses just LF. I’ve written a simple SuperBasic program that will strip off the last character from each line of a file, thereby getting rid | Sinclair QL |
| LibXmenu | LibXmenu is a C68 library, written by Jerome Grimbert, to help write menu-based programs. When I first heard of it I was thinking that it was a library that converted X-windows routines to PE routines, but this is not what it does. Jerome described Xmenu as a collection of C routines that he wrote to | Sinclair QL |
| LZW Compression | In the June and Oct 1992 issues of Dr. Dobb’s Journal, there were two articles on LZW compression. The second article is an improvement to the first program. The original source code was formatted for 80 columns. Since the QHJ is 60 columns, I’ve had to do some reformatting of the code. Some comments follow | Sinclair QL |
| LZW Compression | Through work I have come to know one Alex Bocast. When I first met Alex, he mentioned working on a Pattern Matching Algorithm, which he calls Token Reconstruction and that he was pursuing a patent on it. About a few months ago I saw Alex again and queried him on how his patent was going. | Sinclair QL |
| MacPaint File Printing | Don Walterman has sent a program that reads a MacPaint file and prints to an HP Deskjet printer. Don claims that this is his first C program. If so, it’s very ambitious. Don did not send an article describing his program, so I’ll present it as is. For formatting reasons, comments are below the lines | Cambridge Z88, Sinclair QL |
| Maus.sys.ql | In the European part of Usenet, there is a newsgroup called Maus.sys.ql. This newsgroup is for the discussion of all things QL. Due to the low numbers of American QLers that read Usenet, a Usenet feed has not been established. I have established an e-mail feed from the newsgroup. This means that all articles posted | Sinclair QL |
| Maze Solution with CA | I’ve been playing with Cellular Automata (CA) since College. (See QHJ #4 for a more in depth discussion of CA) I’ve seem some articles that talk about how CA can be used in Physics and Chemistry to simulate various chemical reactions and particle simulations. I have not seen any fairly practical applications that can be | Cambridge Z88, Sinclair QL |
| MicroEmacs Line Numbering | I’ve been meaning to tinker around with MicroEmacs macros for some time, but never got around to it. Recently I decided to take the time to really give it a try. Of all of the text editors available for the QL, I think MicroEmacs is the most powerful. It’s macro language is the most robust | Sinclair QL |
| MicroEmacs Macros | Thierry Godefroy has ported over the latest version of MicroEmacs 4.00 to the QL. He has added Pointer Environment support for MicroEmacs, including menu items for all the commands. This has made MicroEmacs much more appealing and much easier to use. Just before this port, I had been playing with a little with configuring MicroEmacs | Sinclair QL |
| Minix on the QL | For those that don’t know what Minix is; Minix is a small Unix like operating system written by Andrew Tannenbaum to be used as an instructional aide in Operating System classes. Felix Croes started working on porting Minix to the QL from the Atari ST version. Erwin Dondorp (dondorp@fwi.uva.nl) has taken over the task. He | Sinclair QL |
| More On Text Editors | Reading through Tim’s article on text editors in QHJ #13, I found that his list of editors available on the QL was far from being complete. That is why I would like to add the following to his overview. SEDIT by Ralf Redoendt of Dilwyn Jones Computing A small and fast editor written in compiled | Sinclair QL |
| Natural Language | A while back I asked for some help in porting a program listed in the C Users Journal. Emiliano Barbaini of Italy volunteered to help. I sent him the code and in return he sent me back the changes he made to get the program to run on the QL and on an BULL DPX/2. | Sinclair QL |
| New Public Domain/Freeware QL Software | In the past few months I have recieved some disks containing public domain and Freeware software for the QL. The disks came from Howard Clase of Canada, and Franz Herrmann of Germany. For the record, Freeware software is software that is copyright by the author, but everyone is free to copy and distribute the software. | Sinclair QL |
| New QL: Reader Response from Giuseppe Zanetti | [Giuseppe has sent this response via e-mail from Italy. His English is far better than my Italian, but I did make a few touch-ups where needed. – ED] Your idea on the last page of Novembers issue of the QHJ was great (“Why not make a QL-Clone…”). My idea is: CPU is a 68XXX mounted | Sinclair QL |
| News | In the last month I have recieved quite a bit of QL related news. Most of it is important to the QL programmer. QL International Bob Dyl of Rhode Island has started a new QL newsletter call QL International. It is designed to be a news source of QL related news gathered from around the | Sinclair QL |
| Notes On Programming In C | While surfing on the Net (as the media likes to hype) I ran into a site that had some essays on programming. One, “Notes on Programming in C” by Robert Pike had some interesting points. Procedure Names Procedures names should reflect what they do; function names should reflect what they return. Functions are used in | Sinclair QL |
| Object Oriented Programming On The Ql | I’ve been watching the current trend in programming move toward the Object Oriented paradigm for some time now and I still have no idea of what the real differences between Object Oriented Programming (OOP) and procedural programming. I have yet to see an article that compares the differences using an example program. To give an | Sinclair QL |
| Parameter Passing Mechanisms | There are many parameter passing mechanisms that are used to pass data into, out of or both into and out of procedures or functions being accessed. What is said here applies to procedures and functions in the Pascal sense and to functions in the C sense; so I’ll omit ‘or function’ for the rest of | Sinclair QL |
| Parameter Passing Techniques In S*Basic | In QHJ#24 and #25 there were articles on parameter passing techniques (By Tim Swenson and by Peter Tillier, respectively). I won’t (too much) re-hash what’s already been said (this article was prepared before I was aware of the other two), but look at the matter in a practical way, that may suit some readers. I’m | Sinclair QL |
| Passing Parameters | When I was learning Pascal, one of the hurdles I had to get over was the concept of parameter passing. Parameters are used when passing data to procedures and functions. Parameters some in two type; “call by value” and “call by reference.” When you pass operation to a procedure, you are “calling” that procedure. When | Sinclair QL |
| PERL | Perl is a language that I started playing with back around 1989. When I started using Perl for a project, a few people wondered if this was a good idea, given that Perl was a relatively obcure language and they worried about people knowing Perl after I left. Well, Perl has now become THE language | Sinclair QL |
| Perlpull prose, (required reading) | “a perl of great precise(sic)” , but limited accuracy. “Optimized for text” they say of perl, that wonderful Swiss-army chainsaw programming language. But I’ve had great fun with numbers, discovering the mathematical abilities of perl for the QL, version 4.036 as ported over by Jonathan Hudson. We get answers to math problems in double precision, | Sinclair QL |
| Permuations | [Below is an interesting permutation program sent to me by Herb Schaaf. He did not include any article or explanation, so I’ll just present the program as is – ED] 100 REMark Permutation110 REMark H L Schaaf120 REMark February 28, 1994130 REMark cleaned up from 'permutations' of January 27, 1994140 REMark to show permutations of | Sinclair QL |
| PGM and PBM to QL | Editor’s Note – There is a Freeware Unix package called PBMPLUS that converts to/from a number of graphics formats. It does this by using three intermediate formats, PBM, PGM, and PPM. Herb Schaaf has written a C program that will convert a PGM and PBM file to the QL. Since the conversion is going from | Sinclair QL |
| Philosophy Of Structured SuperBasic | Philosophy is defined as a system of principles for guidance in practical affairs. The Philosophy of Structured SuperBasic (SSB) is the principles behind the creation of SSB. This philosophy guides the development of SSB. Knowing the philosophy behind the design and implementation of SSB helps to understand the what’s and why’s of SSB. SSB Must | Sinclair QL |
| Prime Number | [This article was sent in by Mike Fink, owner of Domino Cubes, a Z88 Dealer. Once Mike told me about his work, I thought this would be a good article. Plus, Mike has had problems getting Academia to look at his work. I plan to additionally post this article to one of the math newsgroups. | Sinclair QL |
| Program Internationalization | About 10 years ago I attended some vendor training on how to program and extend their particular office automation suite. One of the things that I took away from the training was how they designed their system to adapt to many languages. Recently the method came to mind. As I was thinking about the possibilities | Sinclair QL |
| Program Proposal - Descriptor | In looking through listings of new uploads to the MS-DOS/Windows site CICA, I came up with an idea for a program for the QL. Not having the full expertise or time to work on it, I thought I would present the idea here. Hopefully someone will run with it. Descriptor is a program that allows | Sinclair QL |
| Programmer's Bookshelf | Over the years I have picked up a number of computer books. Some I have purchased for classes, others I have bought out of my own interest. I have also scoured various libraries to see what sort of selection of computer books they have. Through all of this I have come across books that I | Sinclair QL |
| Programmer's Bookshelf Revisited | David Nash (dnash@chaos.demon.co.uk) responds to a past article on books that most programmer’s should have. – ED I fully agree with your bookshelf – I have recommended almost all the books in your general and language lists (I have read ‘Elements’ but have not seen it in a bookshop. I don’t have the Knuth books | Sinclair QL |
| Programming With QMENU | QMENU is a Pointer Environment (PE) programming tool put out by Jochem Merz. QMENU is a number of SuperBasic extensions that provide PE compatibility. The extensions are fairly simple to understand and to program with. It really does not take too much time to get programming in the PE. As easy as QMENU is to | Sinclair QL |
| Prolog Interpreter | While looking through the IFE database I found reference to a Proglog Interpreter. Once I got the disk, I found QL Prolog version 1.00 (20 March 1990) by Hans Lub. Before I could review the package, I had to learn a little Proglog. I found a Prolog book at my local used computer bookstore and | Sinclair QL |
| PROLOG Interpreter: A Second Look | Back in QHJ #13 I have a cursory review of the Prolog interpreter written by Hans Lub. I said that when I found the book that the interpreter was based upon, I could look into it further. Well, I found the book; The Art of Prolog by Sterling and Shapiro. Even though Hans described the | Sinclair QL |
| Pursuit of a Public Domain C Compiler | Mark Wahl, at student at UC Berkeley, has been looking into a public domain C compiler that can be ported to the QL. As some of you may already know, the only public domain C compiler for the QL is the Small C compiler available from the Quanta Library. Small C only supports a subset | Sinclair QL |
| QDOS Filters | Filter programs are common in the UNIX world, but they are found to a varying extent on other platforms (such as QDOS) as well. In QDOS filters were introduced in 1984 with the QL-Toolkit (which later turned into Toolkit II). A filter program is typically a program that reads a stream of characters and makes | Sinclair QL |
| QDOS Rights | A new item I learned this month is that the QDOS rights to North America is held by Mechanical Affinity. I wrote Frank Davis trying to learn more about this. I specifically asked him if the rights to QDOS include creating a new QL. He responded by saying that he was not too sure. The | Sinclair QL |
| QHJ Freeware Awards | Over the last couple of weeks I have seen a number of award shows, like the Screen Actors Guild Awards, Grammy Awards, Peoples Choice Awards and the Comedy Awards. This started me thinking about awards and lack of them in the QL community. Now magazines, newspapers, and other print media have their own version of | Sinclair QL |
| QHJ Freeware Awards | Last Issue I introduced the QHJ Freeware Awards and asked for votes on programs for each category. My original idea was to decide the awards myself, but I felt it would be a good idea to get your input. Well, after getting only one response, I did have to decide the awards myself. At least | Sinclair QL |
| QHJ Print Formatter | The last four issues of the QHJ have beed done using Quill. Quill is a decent word processor but it has problems with large files. It is sooo slow when dealing with documents over 15 pages long. I have decided to move onto another text editor. I have ED, The Editor, and MicroEmacs. Ed is | Sinclair QL |
| QHJ Reader Survey | In the time that I’ve been doing the QHJ I have received responses like “good job”, “nice work”, but very little actual comments (good or bad) on the overall content of the QHJ. In thinking of what to put into this issue, the idea of a reader survey popped in to my head. I am | Sinclair QL |
| QL ANON-FTP SERVER | I have recently found a QL FTP site that allows the storage of binary files. The site name is: maya.dei.unipd.it I am guessing that it is being run by one of the Zannetti brothers in Italy. The key advantage of this FTP site is the fast distribution of QL software. As an example, version 4 | Sinclair QL |
| QL Languages | With some recent ports of AWK and LISP to the QL, I wondered exactly how many languages are available for the QL. I then look thought some older QL World’s, an older copy of the QUANTA library, and the IFE library to see what I could find. Below is a list of the languages I | Sinclair QL |
| QL to Z88 Data Transfer | As the new owner of a Cambridge Z88 laptop, I needed a way to transfer files to and from the QL. I did not have enough memory to use Z88COM and I wanted to use the built in Import/Export utility. Transferring files from the Z88 to the QL was easy. Enter COPY SER2 TO RAM1_FILE_EXT, | Cambridge Z88, Sinclair QL |
| QLPatch | One of the problems I’ve encountered in publishing souce code in the QHJ, is the dilemma of publishing a newer version of a program (or bug fixes). I could publish the whole program but this would waste bandwidth if only a small portion of the code has been changed. Another way is to publish the | Sinclair QL |
| QROFF Postscript Filter | I know of a few QL users that have postscript printers at work and transfer QL documents to another word processor to format and print out on the postscript printer. For some this is time consuming. I have written a NROFF-like text to postscript text formater. It basically allows the user to input a text | Sinclair QL |
| Quill Reader | One of the major defects of QUILL is the lack of an “EXPORT” function. Only after release 2.35, PSION added the export command. But also in this case, if we want ascii text from a doc, we have to : 1) load QUILL2) load the document3) select the export option4) export the document5) quit QUILL6) | Sinclair QL |
| Rand_c | In translating one of my pet programs from SuperBasic (first it started in Pascal), I needed a number of random numbers. Not finding a random number generator in Small-C, I decided to write the program in Lattice C. But, Lattice C does not really have any QL graphic functions. So back I go to Small-C | Sinclair QL |
| Random ASCII Stereograms | In QHJ #9, Herb Schaaf wrote a program that created Random Dot Stereograms based on a Mathmatica program published in a Mathmatica magazine. A number of RDS’s have been posted to alt.3d in postscript form. Herb and I have ruined our eyes looking at these things. All of the posted RDS’s have a high dot | Sinclair QL |
| Random Dot Stereograms | Random Dot Stereograms (RDS) can give the illusion of depth if you have binocular vision. Instead of the usual pair of stereoscopic pictures, a single ‘picture’ is made with several swaths side by side, interleaved so as to provide the brain with depth clues when you gaze at the dots in a certain way. It | Sinclair QL |
| Ratcliff/Obershelp Pattern Matching | In the July 1988 Issue of “Dr. Dobb’s Journal”, there is an article on Ratcliff/Obershelp pattern matching. This algorithm is designed to compare two strings and return a percentage of how close they are to each other. A result of 67 means that the two strings are 67% alike. This algorithm can be used to | Sinclair QL |
| Readership Survey | I received a total of 11 responses the the Readership Survey. Some of the surveys came with some long comments that were good to hear. What languages do you program in? C (8 votes), Basic (7 votes) and Assembly (6 votes) were the highest answers. There were a few votes for Pascal, XLISP, Prolog, Forth, | Sinclair QL |
| Real Windows for SuperBasic | The QUANTA library has a number of routines that will allow real non-destructive windows in SuperBasic. Since I started working with C, I wanted the same feature written to used with both C compilers. Before going straight into C, I decided to test my algorithm in SuperBasic. SuperBasic is far easier to do developmental testing | Sinclair QL |
| Recent Commercial to Freeware Released | Recently a number of commercial programming tools have been released as freeware. They are ProWesS, DJToolKit, MasterBasic, and the TurboToolkit. Of the four packages, ProWesS is the biggest and most surprising to be released as freeware. It is a major piece of work, fairly complicated, and gives a lot a capability to the user (and | Sinclair QL |
| Recent Freeware Releases | A number of freeware programming packages have come my way. I have copies if anyone is interested. Most if these programs should be available on the Internet. If not, I will try to put them out there. BISON – Port by Dave Woodman BISON is another version of YACC (Yet Another Compiler Compiler). BISON is | Sinclair QL |
| Recent Freeware: APL | Richard Zidlicky has ported a version of APL to the QL. APL stands for A Programming Language. APL is known for being about the worst write-only language. APL uses special symbols as it’s operators. This means that it usually requires a special keyboard, thereby making it a language not easy to port. APL is also | Sinclair QL |
| Recent Freeware: Clips | CLIPS is an expert system developed by NASA in 1986. It has been ported to the QL by Emiliano Barbaini of Italy. CLIPS is an interpretive language like BASIC or Lisp. Like Lisp or Prolog, CLIPS is designed for use in artificial intelligence. CLIPS has three ways to represent knowledge: Rules, Generic Functions, and Object | Sinclair QL |
| Recent Freeware: INFORM | INFORM is a language used to create text adventure games. It is based on the text adventures that the company INFOCOM used to produce. The adventures were composed of two data files and two programs. The adventure is first written in the INFORM language and compiled with INFORM. This creates a datafile that is then | Sinclair QL |
| Recent Freeware: REXX | The REXX language was derived from a batch language on the IBM System/370 called EXEC 2. It has since become a standard language for OS/2 with implementations on other platforms, including the Amiga. A version of REXX has been ported to the QL. REXX is a procedural language like BASIC, C, Pascal, etc. and its | Sinclair QL |
| Recent Ports | MausNet has brought news of a few recent ports to the QL. Below are the details: CRON – Elik Slagter has written a version of Cron, the Unix Execute-at-a-certain-time program. Cron is a process that runs in the background and will execute a particular program at a described time. The crontab file tells Cron what | Sinclair QL |
| Recent Upgrades To MicroEmacs | MicroEmacs is becoming my favorite editor, esp. now that I have a Q40. As MicroEmacs becomes more powerful, it needs some more horsepower to run quickly. On the Q40, speed is not an issue at all. There are some new features to MicroEmacs that impact the programmer. They are: CSM is an easy way for | Sinclair QL |
| Regular Expressions | In all the years that I’ve been dealing with Unix, one of the things that I have not taken the time to really learn is Regular Expressions. Regular expressions are based on a mini-language used for pattern matching in a number of Unix search utilities. The most well known of these programs is grep and | Sinclair QL |
| Response To Day_Of_Week | While playing around with the function on paper there appears to be a slight error. I am sure that I will not be the first to see this but I will attempt to explain anyway. The year part of the function Y + Y/4 – Y/100 + Y/400 is correct taking into account leap years, | Sinclair QL |
| Reverse String | In one of the programming newsgroups I read, I saw a couple of postings dealing with how to reverse a string or a list. A short example would be to take the string “abcde” and make it “edcba”.This little puzzle seemed interesting, so I thought I would give it a shot myself. My first approach | Sinclair QL |
| Revision Control System (RCS) | Whether it’s source code or system configuration files, it’s nice to be able to keep track of changes made to files over time. The Revision Control System is a collection of programs that keep track of different versions (revisions) of text files. A special file is created by RCS that contains information about the changes | Sinclair QL |
| RPN Calculator | Reverse Polish Notation (RPN) is mathmatical convention for handling expressions. RPN is most commonly found in Hewlett-Packard calculators. RPN, like Forth and Postscript, is stack oriented. Operators only handle data stored on the stack. The infix (or normal) expression 3 + 5 would be expressed as 3 5 +. Note the operator goes at the | Sinclair QL |
| Shelling Out To Superbasic | The QL is unique in how QDOS and SuperBasic are sort of rolled into one. Just as we can only have one copy of QDOS running, we can only have one copy of SuperBasic running (OK, I know this is not true for Minerva). In a traditional operating system model, there is the OS and | Sinclair QL |
| Software Engineering and OOPS on the QL? | Through subscriptions at work and home, I read a number of computer magazines, including Dr. Dobb’s Journal (DDJ), C Users Journal, Unix Review, Sun World, and Info-World. These magazines discuss programming, programming trends, and programming utilities/software. Two of the leading topics of discussions have been Object Oriented Programming (OOP) and Software Engineering, which includes Computer | Sinclair QL |
| Software Reuse | For years I’ve reading articles on Software Reuse and how it can increase the productivity of programming shops. Since I program alone, as most QLers programmers do, I have never given it much thought for my programming. For some reason, a recent article on software reuse sparked a new thought about software reuse and the | Sinclair QL |
| Software Reuse And SSB | Through work I get a number of computer related magazines, either directly to me or ones that are received by the office. This gives me a chance to scan articles on a variety of subjects, of which some I find applicable to my computing. I like to try to apply different programming concepts I glean | Sinclair QL |
| Some Notes On Archive | This came to me as a letter and not an article – ED I am heavy into really relational databases now. The place I work uses Oracle. They have tables in their database with 50 million records or rows are they like to call them. I finally get to compare ARCHIVE (a quasi relational database) | Sinclair QL |
| Some Thoughts On Programming Style | In QHJ #24 Tim talks about a colleague’s style of writing Perl and contrasts it with his own. I have spent several years as a programming and system development lecturer within my company’s internal training department and nothing seems to cause more grief/criticism/etc., etc., as differences of programming style. I tend to use procedure calls | Sinclair QL |
| SOUNDEX | Soundex is an algorithm for storing words, primarily names, in a number format so that they could be easily look up, and words that sound alike will have almost the same soundex result. This is sort of the thing they use when you call information and ask for a persons number. They will type it | Sinclair QL |
| Stochastic Indexing | This demo program, SID (Stochastic Indexing Demo), see listing 1 below, simulates clouds as seen by a satellite looking straight down. As a pictorial rendering of clouds, it is rather poor since it only uses circles to indicate where clouds are. But with a little imagination, one can see structures that resemble some types of | Sinclair QL |
| Strip_c | A few months ago I picked up a inexpensive pen-based MS-DOS laptop. It came with a Word Processor that handles handwritten input from the screen. I’ve found it usefull for taking notes at meetings and writing short letters while watching TV. The word processor stores it’s files in its own format and not ascii. I’ve | Sinclair QL |
| STRIPHTML_C | With the popularity of the World Wide Web, more and more information is being formatted in HTML, the “language” of the Web. Since HTML is pure ASCII this is not a problem for people that don’t’ have Web Browsers. But, HTML commands can make text look very convoluted. The following C program will read a | Sinclair QL |
| Structured SuperBasic 2.6 | Structured SuperBasic is a utility that has been printed a couple of times in this newsletter. I have recently dusted the program off and completed a new version. SSB 2.6 has all of the functionality of SSB 2.5, but I have added a lot of error checking, fixed a few bugs, added Config Block support, | Sinclair QL |
| Structured SuperBasic 2.6.1 | One project keeping me away from working on the QHJ was updating Structured SuperBasic. I’ve made a few minor changes to it that allows it to much more usefull. I’ve also added a new utility that makes it SSB production easier. The two changes are: 1 – Added a second command line argument of Starting | Sinclair QL |
| Structured SuperBasic Version 2.3 | INTRODUCTION Structured SuperBasic (SSB) is another way of writing SuperBasic programs. It allows programmers to write SuperBasic programs without line numbers and with white space between blocks. SSB is essentially a filter. It takes in a program file that is written in SSB and outputs a program file that is in SuperBasic. SSB programs are | Sinclair QL |
| Structured SuperBasic Version 2.5 | Structured SuperBasic (SSB) has been sitting on my shelf for a number of years without having any upgrades. I really only upgrade SSB when there is a new feature that I need SSB to support. Since I’ve had the Pointer Environment (PE) for just over a year, I’ve always wanted to do some programming supporting | Sinclair QL |
| Substring Searching in C | The December 1988 issue of “Computer Language” had an article on substring searching in C, based on an APL algorithm. One interesting feature of the substring search function is that it returned a array that pointed to all occurances of the substring in the string. Some algorithms only return the first occurance of the substring. | Sinclair QL |
| Task Commander | Task Commander is a utility that will convert a TURBO compiled program into a resident extension or Toolkit, that can be RESPRed and seen as a new keyword in SuperBasic. Task Commander will produce a keyword that will produce the same effect as EXEC or EX. Task Commander is not designed for creating library extension | Sinclair QL |
| Ten Commandments Of C Programmers | This was a document that I found on the Internet that I thought would be an interest to the C programmers out there – ED | Sinclair QL |
| Text Editors | This is a short review of the text editors available for the QL. Editors come in two basic types: moded and mode-less. A moded editor is one that has a command mode and an edit mode. The Unix editor VI is a classic example of a moded editor. All commands are typed in with out | Sinclair QL |
| The Dutch Connection | Most QLers probably don’t realize what exists overseas for the QL. I also don’t think that they realize what exists out there for the QL and a modem. I feel that I can say this because of a few experiences I have had. The first is with GEnie. I subscribed to GEnie for a few | Sinclair QL |
| The German Connection | Through various means I have gotten in contact with Franz Herrmann of the German QL User Group “Sinclair QL User Club e. V.” After some communications, he sent me a disk with some interesting files. Firstly, there is the IFE (Inter-group Freeware Exchange) database that constains listings to over 53 MB of QL programs. The | Sinclair QL |
| The Quebec Link | This excerpt is from “The Quebec Link” column in the Sinc-Link Newsletter from the Toronto T/S Users Group. Default device on the QL Say you are writting a program and it is important to know from which device the user is running it. What can you do? If the user’s QL is equipped with TOOLKIT | Sinclair QL |
| The Shell | While on the subject of Unix languages, Adrian Ives has continued the work of P. J. Taylor with The Shell, a command line shell for QDOS. Given my Unix background, I would say that The Shell is similar in functionality to Unix shells (C, Bourne, T, Korn). The Shell considers commands to be programs to | Sinclair QL |
| Turbo and TurboPE | In the May/June 2000 issue of QL Today, George Gwilt mentions that he has updated Turbo to work under SMSQ/E. He also mentions creating TurboPE, a Pointer Environment interface for Turbo. He does not go into any details nor give any code examples, so I can’t say how easy TurboPE will be to use over | Sinclair QL |
| Turbo Compiler | TURBO, the SuperBasic compiler, has been updated and released for almost a year. Simon Goodwin is the original author with a few others contributing to the final released product, by Digital Precision. George Gwilt has taken the source code and updated the program to work on the newer QDOS and SMSQ/E systems. TURBO comes in | Sinclair QL |
| Turbo Config | TURBO does not support standard Qjump Config Blocks. George Gwilt has created TURBO Config, a tool that allows Config blocks to be added to TURBO compiled programs. After creating some data statements that get merged with the source code, another tool takes the Config block information and adds it to the compiled program. T_CONFIG_DATA is | Sinclair QL |
| Turbo Support Page | To assist in the support of TURBO, I’ve created a TURBO Support Page on my web page. The page will list the various reported bugs to both TURBO and TURBO Toolkit. Each bug will list what it is, what platform the bug has been seen on (QDOS, SMSQ/E, etc), and the status of work on | Sinclair QL |
| Turbo Utilities | Another zip file contains a number of other TURBO utilites: LIBRARY MANAGER, DATASPACE and Utility_Task. The zip file does not come with documentation, and briefly explains the programs: LIBRARY MANAGER – pulls out procedures from large SuperBasic programs. DATASPACE – used to ajust the data space requirements in programs already compiled. Utility_task – Neat little | Sinclair QL |
| TurboPTR | TURBO is not compatible with all SuperBasic extensions, esp. those with array paramaters or return values through parameters. QPTR is one such set of extensions. So, to create Pointer Environment programs using TURBO, George Gwilt has written TurboPTR, which is a freeware replacement to QPTR. TurboPTR is comprised of the following elements: TPTR – a | Sinclair QL |
| Word Wrap | Now that I have an HP Deskjet 520 inkjet printer, I’m starting to think about what type of output I could do on it. I’ve found the price of any word processors that support it to be a bit too steep. I have rigged up Quill to support one of the fonts built into the | Sinclair QL |
| Working Directory | As we all know, QDOS did not come with the concept of directories and subdirectories. A number of extensions to QDOS are available to help create the working concepts of directories. When using ED drives, I found the Path (PTH) extensions useful because they would search a list of subdirectories looking for a particular executable. | Sinclair QL |
| Writing A Pente Program For The QL | First, let me introduce myself. I’m 25 years old, live in France (as I’m French) and have had a QL since 1986/87. My main use of the QL is games and game programming, so I’m very glad to have C68. My prefered type of game is one of reflexion and not dexterity (may be because | Sinclair QL |
Last modified: