It maybe looks like a calculator, but it is a fully-featured ultra-mobile computer from the early 80s. Weighing just 315 grams, It has a custom 8-bit CPU, up to 16kB of RAM, built-in BASIC and display with a resolution of 160×32 pixels (20×4 characters). The machine can be expanded with some sort of a docking station that adds a four-color plotter and tape storage.
A friend of mine sent me one Sinclair QL in a big box with manuals and accessories (ROM modules, floppy controller, IDE controller, 512k RAM expansion, RS232 adapter) because I wanted to test it using our benchmark and compare the results with 8088 in PC and Motorola 68000 in Amiga 500.
Sinclair equipped the computer with Motorola 68008. The standard 68000 CPU has a 16-bit data bus, but this smaller version has it only eight bits wide. The rest is the same so there are 32-bit CPU registers and 16-bit ALU. Using the narrowed data bus was an understandable way to make computers cheaper. IBM PC 5150/5160 has also its data bus eight bits wide. On the other side Intel 8088, unlike Motorola 68008, has a small prefetch queue so there should be smaller performance loss in comparison with a standard version of the chip.
I’ve never done anything with Sinclair QL so this is my first time. I’m quite surprised that the keyboard is mechanically much better than the one on Sinclair Spectrum+ (which looks almost the same). Also two integrated Microdrive units are easy to use and surprisingly fast. Each tape can hold 100kB of data and having two drives allows for easy tape copy.
We had a discussion about performance difference between IBM PS/2 with 20-MHz 386DX and Acorn A4000 with 12-MHz ARM in both Basic* and assembly code. David started to write code on A4000 and although I like the hardware, that British sense for user interface design would prevent me from being happy with this machine.
What started as a simple program to compare performance between PC and Amiga accelerators is now a project with single source code that can be compiled on many computer platforms: DOS (Borland 16bit, Metaware 32bit), Linux/gcc (x86+asm, x86-64+asm, ARM+asm), IRIX (MIPS), Mac/gcc/codewarrior (68k, PPC classic, PPC carbon, PPC/x86 OS X native), Amiga (68k up to 68040; StormC/gcc) and now even Windows CE (SH3, MIPS, ARM).
For me, this is an entertaining way to understand several OS platforms and their popular development environments. This is mostly about C/C++ compilers but we’ve made one BASIC (MS QuickBasic 4.5) and few assembly implementations to see efficiency of compiled code.
… back to Windows CE handhelds: I used several during my studies (Jornada 680, 690, 720, 728) for taking notes (as a replacement for Psion 5MX). Those with Hitachi SH-3 were unbelievably slow and you could see how GUI was drawn item by item. Later, I switched to ARM-based ones and everything was super-fast. Now I see – low-power Intel StrongARM on 206MHz is more efficient (integer performance) than Pentium MMX with the same clock if data can fit in its 8K cache. For larger data sets it is still as fast as my 133-MHz Pentium MMX laptop. Nice results for something that small.
Web page with results (70+) from all machines is under construction.