QXL Notes

MIRACLE SYSTEMS’ QXL is the reality first suggested by the 1986 vaporware named FUTURA. Though the QXL was introduced in North America two years ago, there are many minor points that have not been mentioned elsewhere, and were not covered in the recently released manual (some of this information has already been shared and may yet appear elsewhere). My own lack of information is partially the result of my year at an Indian Mission as well as my decision to no longer be a QUANTA subscriber [I felt that QUANTA was too parochial in their outlook and non-UK members were apparently considered as an extraordinary postal nuisance].

For those not familiar with the QXL, it is an 8/16 bit PC-expansion card which uses a 20 MHz 68EC040 microprocessor whose operating system [SMSQ] emulates the Sinclair’s QL computer’s QDOS operating system. The PC is the host which shares its I/O devices with the QXL card. The QL’s SuperBASIC has been superseded by the QXL’s SBASIC. Both of the SMSQ and SBASIC replacements are supposed to be more robust than their original forms. Apparently, some quirks have been reluctantly retained for backward compatibility with existing software.

THE HARD DRIVE

The immediate advantage of the QXL’s hard drive is that each WIN()_ is set up within individual DOS partitions. This was not obvious to me at first and is not clarified in the newly released manual, but is left up to the user to find out.

Out of ignorance, I had reserved an entire hard disk partition for the QXL to use. So, when I went to FORMAT win1_24 and kept coming up “short” I was a bit perplexed. When I finally exited to DOS, I realized that my C: drive was now “full” and that there was a file called “QXL.WIN” in the C: drive DIRectory. HMMMmmm. Oh, I get it … I FORMATted WIN2_ and that appeared on my D: drive; WIN3_ ended upon my E: drive; and, WIN4_ was placed on my F: drive.

If your PC’s hard disk is not partitioned, then you can only have one WIN()_ drive. So, if you are using MS-DOS 6.0+, and were too lazy to partition the hard disk, then you may want to go back and partition it into separate hard drives.

Just as there are reasons to have hard drive partitions on your hard disk, there is definitely a reason for having separate WIN()_drives. I found, quite by accident, that it is easier than one would like to corrupt a WIN()_ drive. I am pretty sure that my problems were the result of misusing FDFORMAT [Christopher H. Hochstaetter (Germany) via Tom Robbins].

My “user error” seems to create a problem for the rest of the system with both a 3.5″ diskette and an SMSQ QXL.WIN file being corrupted. I think that the problem(s) occur when I inadvertently tried to read a 1.2 meg PC disk in the 5.25″ drive which has been (for all intents and purposes) setup (?) to read a 720K drive. On one occasion, all the previously unused blocks on my E: drive became “bad sectors” (i.e., unusable). Bummer. Clearly, this problem can be avoided by being less careless (i.e., better disk labeling). WOW…. Okay, the files on the 3.5″ disk were dupes, but the contents on win2_ were my DBEASY files! DON’T PANIC … plenty of room on the life boats … When I finally decided to DIR win2_, it seemed that most of the DIRectory came up, until it came time for the screen to scroll the filenames. Abruptly, the QXL began to plod. Essentially, the QXL was lost while looking at a corrupted 24 megabyte file.

I exited to DOS and looked at the QXL.WIN file to see what might still be there: <file>, <file>, <file> …. followed by an SMSQ error access message. I reckoned that if the files were still there AND the DIRectory was still “there” that I might be able to COPY the files to another DEVice.

The key was to find which file(s) did NOT COPY as this would surely hang up the QXL. In this instance, I determined that the last filename of the DIRectory was not available to me. Knowing that, I WCOPied the contents of win2_ to ram1_ except for the last file. Obviously, if you have more than 4 megs of files, you should consider backing up to another DEVice. I then re-FORMATted win2_24, then WCOPied the contents of ram1_ back to win2_. I then ran ARCHIVE from win1_, typed RUN “R” (this is how I start DBEasy having renamed DBEASY_PRG to R_PRG), and it was surely my lucky day, because the program ran flawlessly, and all necessary files were accessed without any problems.

So, if you make the same mistake the odds are that you may have to reformat the particular WIN()_ drive. Worse yet, you may have to re-FORMAT the host drive! The advantage of having multiple WIN()_ hard drives as partition files on a PC host is that some diagnostic software for the QL may-or-may-not be available as of this writing.

SUPER MEDIA MANAGER may be useful, but, the one time I tried using it several years ago, it seemed to take quite a few hours to recover the files I wanted (including the learning curve). I am now very seriously considering getting a tape backup. Of course, if-and-when I get a tape backup for the PC host, I can selectively backup the QXL.WIN files exclusive of the PC files and sub-DIRectories.

STAT WIN2_

In the “early” days of getting acquainted with the QXL, I found that I could NOT get a DIRectory of win2_ from within QUILL. This was a bit perplexing as I did not have this problem with QLAMBer. It turns out that each win()_ needs to be accessed “manually” at least once before a PSION program (and, possibly others) can access them. This was remedied by adding the statements:

STAT win2_: STAT win3_: STAT win4_: STAT win5_

to a line of my BOOT. STAT returns the DEVice name and its size.

Another situation (this is covered in the manual, but is worth noting) was that I initially forgot to indicate PAR_USE “SER” (I think this has to indicate in upper case) and it appeared that SMSQ “crashed” when I went to PRINT a document. Fortunately, I had gotten into the habit of SAVing before PRINTing. Again, add the appropriate statement(s) to your BOOT program.

THE SCREEN

[Figure: desert landscape drawing]

The first thing that you cannot help but notice is that on a 13″ VGA monitor the pseudo-QL’s screen display measures only 9.5″diagonally. I recall once thinking that I wanted a ten-inch or smaller monitor for my QL for portability. I was younger then. I do know that some people had made mention of using a 17″ or larger monitor, but I am not certain that this will result in a larger net display since it will probably map out the pseudo-QL to a similar dimension, and not proportion.

I did try a composite monitor (on an EGA card), a CGA monitor (with a CGA card), and a TTL monitor (just for the heck of it). None of these produced a usable display. Being the naive one, I should think that a device driver could be written which would map the display to better “fill” a VGA screen. I’m not holding my breath for this development, though it may be resolved with the yet to be released version. I guess I could sit a little closer to the monitor.

NOTE: Though I just received a new disk (labeled “SMSQ V2.47”) from DIGITAL, it had “corrupted” files on it. I’ll have to wait to see what changes were implemented.

THE KEYBOARD

Since the keyboard is hosted by the PC, you would think that there would not be any problems. This is not quite the case. The earliest versions of SMSQ did not map for what I will refer to as the North American layout established by IBM’s Selectric series of typewriters (I may be incorrectly presuming that Canada has the same keyboard layout). SMSQ version 2.31 incorporates a KBD_TABLE command which resolves this.

Regardless, a disconcerting QXL problem that I encountered was a wildly erratic keyboard. My host is a 20 MHz 386-DX clone with a Phoenix BIOS and a ZEOS RS keyboard.

Simply stated, when using QUILL the cursor would occasionally race all over the text. In the worst case scenario, while attempting to delete a single character, lines-and-lines of text would disappear as the cursor “munched” along merrily until I hit the (ESC)ape key!

Well, the solution to this problem was discovered while I was tinkering with my QLAMBer program. At some point while making code changes I must have realized that the NUMLOCK key was “on” and I turned it “off” with the net result being that the DELETErious effect on the main part of the keyboard ceased. EUREKA.

BUT when running the QXL as a TASK under TaskMAX (DR DOS 6.0) a spurious character generation occurs when entering the QXL Task. Of course, this will not be a factor if you have dedicated a host to your QXL card.

Trial-and-error discovery revealed that the spurious character generation can be aborted by pressing a <CTRL> + <any_key(?)> combination. I use <CTRL> <C>.

My “tests” showed that you CANNOT cut-and-paste from DOS to SMSQ.

As far as I know, the QXL can not be RUN as a TASK from within WINDOWS 3.1.

QXL/NT

Well, QXL/NT [as in “(e)x(cel)l(e)nt” or “new technology”] is my designation for the yet unnamed (as of January 1995) 50 MHz 68060 daughtercard. If a 20 MHz QXL with SMSQ is supposed to be faster than a 50 MIPS work station, then you might well guess that this newest incarnation might be fast enough for Abed to use. (You’re getting warm Al.) My guess is that it will be formally introduced at this Spring’s MIRACLE in Oak Ridge (!?!).

Based on the recent price reduction of the QXL, I would guess that the QXL/NT’s initial price might be similar to the “old” QXL prices. WOW.

THE BOTTOM LINE

Based on hardware developments over the past three years, the QL apparently has “legs” and QDOS and SMSQ will probably remain as viable alternative to mainstream Operating Systems.

Consequently, your wallet should be the only restraint from your upgrading to a QXL(/NT), or (SUPER) GOLD CARD.

I can’t wait to see what the QXL/NT can do!

HAPPY TRAILS,
AND COMPUTING, TO YOU …