Thursday, 28 March 2013

Sinclair QL

I can't help adoring the Sinclair QL, despite its flaws. I never saw it back in the day, but having read Spectrum magazines I was vaguely aware of the QL. As a "business machine", it was awe-inspiring to a mere mortal, but also somewhat boring with its lack of games and entertainment. Although it was marketed as a cheap alternative to other serious computers, it was still so expensive that I was just as likely to own one as I would an Cray X-MP. Now that I have one I can bring one more childhood fantasy to a closure...
Suprematist, constructivist, neo-plasticist... pick one.
The Sinclair QL is a very pretty object. Rick Dickinson's styling is deservedly award-winning. 80s designers were mining influences from early modernism, fundamental stuff like Van Doesburg, Rietveld and Mondrian. I think it also shows here, even if indirectly. The result is straightforward and stylish, yet somehow playfully geometric. None of this rounded-corners nonsense we have to bear today.

The integrated nature of QL strikes as somewhat odd, as Sinclair had previously promoted modularity to make home computing affordable. The cynic might say that was all a marketing ploy anyway, forcing people to build their "cheap" computer in a piecemeal fashion, ending up with an expensive kit with wobbly connectors. The approach also led to an undesirable diversity of peripheral standards. With QL, pretty much everything that was sold separately for the Spectrum is found inside one casing: Two Microdrives and ports for serial, controllers and network. Happily, a cheap television set could still be used as a monitor.

OK, it might not be as good as a proper keyboard. But it looks so much more interesting this way! 
The execution was marred by the slow speed of the machine and the inclusion of the idiosyncratic storage format. Peripheral connections are mostly non-standard. Instead of a character display, there are only bitmap modes, which makes text display very slow. Also, there are still only 8 colours. The QL no longer suffers from the colour clash, but then again it does not benefit from the rapidness of a coarse character/attribute resolution.

BASIC, not so basic

Much has been written of the above flaws and I will not retread this territory further. I'll instead focus on using the QL with the built-in SuperBASIC, which is one of the more fascinating aspects of the computer. It is unusual to have a BASIC ROM in a machine touted as "serious" as the QL. To me the inclusion of BASIC shows that the QL design philosophy shares still more with the older generation of 8-bit home computers, rather than with the more serious machines and the16-bit generation of home computers that was to come after.

It was common in the early days to include a BASIC programming language in the home computer as the primary operating system. Some might think the BASIC scene of the 80s was one of the more laughable aspects of the home micros, but I'd say a BASIC in ROM is a pretty clever choice considering the limitations of the hardware. The BASIC home computer setup combines calculator, graphic notepad, data storage, text functions and of course, a programming learning environment. 

It's hardly original these days to point out that something may have become lost in the transition to graphical desktop oriented computers. But what was that something lost? Perhaps the example of QL points in this direction. The QL BASIC is not as simplistic as those included in the smaller computers. It has features that make me think this approach might have grown to become something more significant. QL allows a glimpse to an alternate history that never really came to be: An era where graphical interaction becomes important, not via mouse and icons, but through keyboard, powerful procedural command sets that can be used to access line graphics and windowing in a hierarchical way. 

What's so neat about SuperBasic's procedures is the ease and transparency the programmer can add to the existing command set. Let's imagine: The QL is turned on. The computer automatically boots up a BASIC program from the Microdrive, which activates a command set I have prepared earlier. (We'll assume an ideal world where the drives actually work). The set gives me customized commands for defining objects in three-dimensional space. WALL, ROOM, CHAIR, DOOR procedures have been defined in this way, and can be used for fooling around. Each command draws the corresponding object directly to the screen, rendered from the chosen viewpoint. Should I want the objects to behave differently, I can of course change the contents in the procedure definitions. 

Left: Drawing on-screen with the created procedures. Right: A "house" written in BASIC.
A more hierarchical space can be defined by writing a program listing that makes use of these procedures. I create a building out of rooms and corridors, after I have reached some idea how I want to position them. The rooms are adorned with windows and doors, and also contain objects such as chairs and tables. I can use the BASIC program to give the rooms some logic of their own. For example, changing the room dimensions might even re-arrange the furniture within. 

If I get tired with the conventional furniture objects, I can redefine the procedures to do something more interesting. Furthermore, all graphical output in the objects is driven through one self-defined procedure which draws the necessary lines. By changing this principal procedure, the outcome of all the other commands also changes. Depending on how the line procedure is written, the view becomes three-dimensional, overhead or an elevation... or the lines and coordinates are randomized and distorted, producing more unconventional outcomes. 

Left: Changing the perspective to a side-view. Right: Changed foreshortening and background colour.
In principle, the above could be made to happen with the QL. As a matter of fact, I have tried to demonstrate how this could begin to work, even though this work hardly represents the idealized vision above. But I also specifically did not want to plan too much ahead, as I wanted to experiment with the fluidness of this process. There's something to be said for a mixture of interpreted commands and a program listing, which tends to become lost in a compiled-only language.

The pictures here are a result of about an hours work. It shows to me that the environment is "graphical", despite all the command lines, much like in a good LOGO environment. Without any dedicated drawing package, the QL BASIC could be used to create a rudimentary setting for spatial design exploration. In my mind, here's something more at play than the rather limited idea of a "office desk metaphor" that Apple was peddling to their customers. With the QL, the graphical component is not presented as a way to make the computing experience easier, but more expansive. Of course, this vision is demanding, as it requires at least some programming skill and some understanding of design exploration.

The video below shows the reality: The lines are extremely slow.

So it might not look much, but this is on a cheap-ish computer from 1984 and pretty much possible out-of-the-box. The BASIC environment becomes a way to access all that the computer does, and it can get pretty interesting with the graphics built-in. In similar vein, the ZX Spectrum already provided a programmable graphics pad. But it is the procedure definitions in a language interpreter setting that bring the QL experience to a whole new level, and at least in principle, the Microdrive allows a rapid retrieval of these command sets. It becomes as easy to type WALL 100,0 as it is to type line drawing commands.

Now, if I were more interested in writing novels or calculating spreadsheets, the QL BASIC might offer less openings out of the box. The truth is, the QL BASIC environment is not enormously flexible towards all kinds of interests. But who knows, what might have happened if this approach had become the mainstream. Instead, we now have computers mostly as platforms for launching applications that achieve fairly limited things. Programming tends to be accessed through counter-intuitive development environments, not very encouraging for direct approaches. (Although it has to be said that projects such as Processing and Python have somewhat helped change that.)
Highlighting different objects with a variety of colours. The TABLEs are made from LEGs and PLANEs,  whereas the PILLAR is a ROOM with a fixed width and depth.
All in all I have liked to play around with the QL Basic, perhaps more so than with other old computers. What I've been here trying to say is that there is an underlying design vision in the QL that continues to intrigue me, and not so much the somewhat flawed computer QL turned out to be. It's of course not fair to criticize a 30-year old piece of electronics, and I know the story of QL did not end with the Sinclair machine. Perhaps I'll be able to get a later version some day, and see how the story continued.

Tuesday, 12 March 2013

Schneider EuroPC

More of a picture show again, I haven't been able to get this fully working. I've got some beeps out of the BIOS but as I do not have a display, I'm unsure about the performance of this unit.

(Edit: It does work. Check this blog post for more info.)

I would not have guessed that I'd see PCs as being very nostalgic as yet. But it's true, some of the more "family-friendly" brands of PCs have been around for more than 25 years. EuroPC's appearance owes to Amiga and Atari ST, with everything inside the same unit. Compared to these multimedia machines, it's a rather laughable set: 8088 processor, Hercules/CGA display adapter, beeper sound. I think it has 512 k of memory instead of 640, no hard drive as standard. As an entry-level PC, it would have been nice, I guess. It would run word processors and things like that quite well. Learning how to use a PC and MS-DOS might have been important to many at those times, and why not take this route? I'm still glad I had an Atari ST instead, though.

It's yellowed somewhat...
The motherboard is not that big compared to the case. It goes to show how PC tech was actually quite small at that point. There's no need for ventilation, fans and big internal power supply units which took quite a lot of room in the more serious models. Looking inside, the layout's not much different to Amstrad CPC or Sinclair 128 machines. It's also tempting to draw some comparisons between the general layout of EuroPC and Sinclair QL (Board at the middle, expansion space to the left, storage to the right.) Of course, here one of the more attractive aspect of PCs is lost: It's not very expandable. There's only one (8-bit) ISA port, no room for hard drive etc.

Squeezing somewhat, the heart of the computer could fit in 50% less width.
Doing some net searches, I've learned that pretty much the same hardware was also packaged as Sinclair PC200 and Amstrad PC20. There seemed to be some kind of minor rush to get these "desktop" PCs into the market, that vaguely looked like Amiga or Atari, to try to ride on their success. This I think was largely a failure, but Schneider EuroPC, I've understood was still a pretty popular and well regarded computer. I don't have the numbers but I'm a afraid it might have been a bit too expensive compared to Amiga 500 and the likes, on face of the lack of features. I do remember this being advertised back in the day and that was at least my impression back then.

At the bottom of the picture, the external hard drive connector.
It has the most pins ever I've seen in an external connector.
The hard drive, I though initially might have something to do with IDE, but not really. It might be possible the computer can be made to work with IDE hard drives with an 8-bit card. I could work with floppies, though, it's not like software back in the day was very big. For me, the display issue is the biggest turn-off here. There's a 9-pin connector for a display at the back of the computer, and as I've learned a VGA monitor does not easily connect to this computer.

Three options seem to present itself: 

1. Connect to some monitor from that time: CM-8833-II, or Commodore 1084, with 9-pin TTL inputs. 
2. Buy a 8-bit VGA adapter card. 
3. Get a video-adapter box that transforms legacy outputs into VGA.

Options 2 and 3 would somehow miss the point, as lot of the "feel" of using this computer would be lost. But I would also be disappointed to get one of those old, large displays which are not guaranteed to work anyway. So, it looks like I won't be using this computer anytime soon.

Edit: It's possible to make a CGA-Scart RGB conversion box and connect to an RGB display. It's somewhat more complex than a simple RGB cable, though, but probably the best option now.

Case possibilities

This does not preclude from thinking about interesting casemods. What impresses me with the EuroPC is that the case and the chassis that keeps the keyboard together are very well designed for dis-assembling and putting the computer together. Nothing like the Amigas and Ataris which were really painful to tear apart. Also, the keyboard unit lies on a sturdy metal frame, which is simply laid over the plastic bottom. 

Please tell me it was designed by Germans, I'll believe it.
The computer almost looks prettier without the plastic top.
Opening the plastic case requires finding the correct points at the backside of the seam, but after knowing this the process is simplicity itself. These are pushed in and the lid lifts from the backside and then sort of hinges upward from the front. Some force needs to be used, but also some care, as the plastic clips may break. After the backside has been loosened the case top has to be yanked out with some force and it will come loose. 

Opening the case with a flat-head screwdriver.
Starting from the corner, the clip positions are pushed in and out one by one.
Then there's one cable that connects to the metal frame, but this is not screwed in. After taking it loose the metal frame can be pulled out and turned upside down, hinged on the ribbon cable that connects it to the motherboard. If there are screws that keep the case together, I don't think they are required. The screws that keep the floppy drive in position need not be removed. 

Attention to detail.
I'm not too keen to get the EuroPC up and running, but maybe I would not want to ruin it entirely either. Because the insides are so nicely arranged, one could fit many quite interesting things under the frame. The depth of the board is something like 17-18 cm, so possibly, a ZXevolution, or any modern motherboard with mini-ITX form factor might be made to fit inside. (Dunno if the mini-ITX boards are a bit too tall, though, what with the heatsinks and all.) However, the keyboard is not something one can easily make work with these solutions. So there would have to be either a complete rewiring of the keys (again!) or a modern keyboard, which would be a bit difficult to fit.

The keyboard membrane

I had to have a peep into the keyboard unit, and no, I don't think there will be any "rewiring" of these keys.
Click to zoom in. It's awesome.
Looking inside the keyboard unit reveals what is, apart from a very few exceptions, an one-layer keyboard membrane. I wonder if it is computer-generated, because I can sort of see the human brain getting a bit messed when trying to come up with something like this. Each of the keys complete the circuit, rather than push together two layers. As the connection points for each one key are somewhat apart, other lines, unrelated to that key, can go between the connection points. Nice.

Monday, 4 March 2013

Canon S-90

This is an electronic typewriter from the era when computers and word processors were already going on quite strong. As it is fully electronic, it is really more like a printer with a keyboard. There's not that much to say, because I could not get the case open. There's some knack to opening it other than "pulling really hard". The screws came off easily enough so I don't think it has been intentionally prevented, it's just I don't get it. I'll see about it later.

The S-90 has a card-type connector to the left side which I suppose enables more typefaces. The right side has a 9-pin type connector. This means the typewriter could act as a printer to a home computer. I doubt the printer has any processor or memory as such, but a dedicated controller that manages the LCD display and keyboard input. Only one row of characters can be edited before they are printed.

I would be interested in the innards, as it might be possible to house a computer board inside the case of a typewriter and make use of a rather excellent keyboard. However, I would probably not want to ruin such a cool looking device as this one, but it's an idea I've been toying with. Occasionally, it's possible to come across really cheap typewriters such as this, but most I've seen in net auctions and such are a bit overpriced. I'd also avoid any mechanical and electromechanical typewriters, because rewiring their keyboards is probably a different game entirely.