Wednesday, 6 April 2016

RPi and QL Emulator Speeds


Here's an updated table of results using QTop-INDEX V1.05 on different QL
compatible computers:

QL 128K (mdv)     MGG   5.3  12.5  20.0  95.0  15.0   6.5   154.3   1.000
QL/TC2 768K       JS    3.0   7.6  16.1  95.0  14.0   7.9f  143.6   1.258
CST Thor 8 640K   MF    3.0   7.5  16.2  91.0  13.0   7.2f  137.9   1.295
QL/CST RAM+ 640K  MGG   2.9   7.1  15.3  94.0  14.0   5.8f  139.1   1.350
AMIGA 1000 2MB    JS    1.8   4.4  10.9  45.0   7.0  30.0f   99.4   2.015
CST Thor 21 640K  JS    2.4   6.8   3.3  62.0  13.0   7.3f   94.8   2.281
CST Thor XVI 1MB  PT    1.9   4.4   8.5  35.0   6.0   5.6f   61.4   2.393
QL/GOLDCARD 2MB   MGG   0.8   1.9   4.3  38.0   6.0   1.1w   52.1   4.772
QL/GOLDCARD 2MB   JSL1  0.8   1.9   3.6  36.0   5.0   1.0w   48.3   5.127
MEGA ST1 16MHz HC JS    0.8   2.2   4.4  21.0   3.0   1.2w   32.6   5.299
EXEQTOR           JSL1  0.8   1.9   2.1  32.0   5.0   0.8w   42.6   6.137
MEGA ST4 68030/25 JS    0.3   0.9   1.8  10.0   2.0   0.2w   15.2  15.361
QXL 2MB SMSQ 2.03 HBA   0.2   0.5   1.1   4.0   1.0   0.2w    7.0  23.488
QXL 2MB SMSQ 2.16 HBA   0.2   0.3   0.7   2.0   1.0   0.1w    4.3  37.373
 (QXL at 25MHz)

QTop-Index is a program that is part of the COWO QTop desktop system for QL systems, currently freeware downloadable from Dilwyn Jones site. It tests a number of benchmarks such as writing to the screen, graphics, integer and floating point arithmetic etc to allow fairer comparisons of different types of systems. The table has been copied from the QTop updates documentation.

The 2 images above show that uqlx and SMSQmulator both exceed the performance of the fastest systems tested above.

Model & Setup          INT  REAL  TRIG  TEXT  GRAF  STORE  TOTAL   INDEX
Amstrad CPC 6128, Z-80 CPU, Turbo-Pascal, CP/M (c't 10/87)
                        7.9  67.6 117.0  79.5   7.9  16.5f  296.4   0.752
Amiga 2000, 1MB, Lattice-C (c't 6/88)
                        0.4   4.4   3.0  49.6   2.8   6.0f   66.2   5.185
Atari 1040ST, 1MB, DRI-C (c't 6/88)
                        0.3   3.1   2.5  41.1   1.6  21.4f   70.0   6.948
Archimedes 310, 1MB, Archimedes-Basic Interpreter (c't 6/88)
                        2.1   2.3   1.1   2.5   1.8   7.2f   17.0  12.232
MAC SE 68000, 7.8Mhz, 1MB, Turbo-Pascal (c't 8/89)
                        0.5  44.1  83.4  38.3   7.5   1.8   175.6   3.202
MAC II 68020, 16Mhz, Turbo-Pascal (c't 8/89)
                        0.3   6.6   8.0  82.5   5.6   1.2   104.2   5.218
MAC IIcx 68030, 16Mhz, Turbo-Pascal (c't 8/89)
                        0.2   5.8   6.8  73.2   4.6   1.1    91.7   7.010
MAC IIfx 68030, 40Mhz, Turbo-Pascal (c't 5/90)
                        0.05  1.8   2.0  13.0   1.5   0.9    19.2  24.579
COMPAQ 286, 8Mhz, Turbo-Pascal 4.0, (c't 7/88)
                        1.6   8.1  13.4  43.4  15.0   0.9r   82.4   2.793
TANDOM 386sx, 16Mhz, Turbo-Pascal, (c't 7/89)
                        0.1   5.0   7.1  14.4   1.4   1.2    29.2  16.301
IBM PS2-80 386dx, 20Mhz, Micro-Channel, Turbo-Pascal (c't 7/89)
                        0.05  2.4   3.9   5.6   0.5   1.0    13.5  28.330

The second table is again from the QTop documentation and shows the same tests on a range of non QL systems.

For comparison with modern QL emulators teh QTop-INDEX bench mark for a 80mHz Q60 was 108.88 but for QPC2 on Windows 7 with a core i7 3.05 GHz processor was 473.84, although the bogomips of the Q60 and QPC2 were not so far apart.

Obviously the conclusion is that while the minuscule RPi is not yet in the same league as a Q60 or QPC2 running on a modern PC the performance of uqlx and SMSQmulator on a RPi3 is respectable and in excess of original QLs and many historic QL and other systems.

Monday, 28 March 2016

SMSQmulator on RPi3

Another screen shot.

SMSQmulator on the RPi 3 is a very usable system. The screen shows Eddi the icon editor which is a large QLiberated program which runs exceptionally well under the emulator. On the screen it is possible to see that the emulator was producing 10.94 bogomips despite all the other programmes running. uQLx is a bit more quirky. This is probably not down to the RPi but to its design as a QDOS/Minerva emulator. Hence crashes occurred this morning when QPAC2 version 1.45 was loaded and also separately with the button frame extension. Also Launchpad which can be seen on the screen above had a "General Protection Fault" error with both LP1 and LP2.

The screen shots have been captured by the wonderfully named linux app called scrot - its command line seen above in the terminal window.

Sunday, 27 March 2016

uQLx on Rpi3

Finally got uQLx running on RPi. Even although the emulator comes precompiled with an installer there is still a bit of a learning curve for the linux novice. For example, once the package had been unzipped on to the RPi where were the example configuration files .uqlxrc files that were mentioned in the text document and were required for the emulator to start correctly. Answer they were in the folder where they should be but were invisible as files beginning with "." in linux are hidden files.

How to boot qdos once the emulator was started. Answer again described in the docs. Either create a folder called mdv1 in the RPi file structure, save in the folder a file named boot, containing the boot instructions and add to the .uqlxrc file the location of the mdv1 folder, easily done one the .uqlxrc examples were found. 
Or using the linux terminal add a boot option -b as described in the instructions.

How to start the emulator without retyping the whole command line again etc.
Answer - learn to make a simple shell script under linux containing all the options required on start such as window size and boot file and save this to the desktop or to the files menu. Simple once you know how.

uQLx speed is good. It gets 23.62 bogomips on RPi3 no overclock. This compares to 10.73 bogomips for SMSQmulator on the RPi3 and with 5 or so bogomips for a Supergoldcard original QL.

Some quirks. Trying to open an SBasic window with a y dimension of more than 640 regardless of the emulator window size corrupts the SBASIC code in
memory. Some extensions do not work particularly the FLIM_X and FLIM_Y from DWJ Display code with both returning 0. Also Launchpad crashes with a serious error message. This needs to be explored and will perhaps be in the next post.

Despite the niggles uQLx is a great QL emulator for the RPi as is SMSQmulator.  

Monday, 8 February 2016

Black Box QL as USB keyboard for RPi2

This QL has been converted to act as a USB keyboard using Tynemouth Software's conversion kit. Everything seems to work except the power LED. But the keys are mapped and the screen shows SMSQmulator checking the key codes as each key combination is pressed using RWAP Software's short bit of code supplied with the new membrane. "REPeat loop: PRINT CODE(INKEY$(-1)),

The original membrane that came with this case had succumbed to age and was crumbling. Phase 1 and 2 in the lets put a "QL" back in the black box. So far so good.

Sunday, 7 February 2016

SMSQmulator on RPi2

A picture is worth a thousand words or so it is said. The original RPi B was too underpowered to run the Java based SMSQmulator at anything like a usable speed. The original RPi reported that it achieved 3 bogomips in total. The new RPi2 manages 38 bogomips. and SMSQmulator is now well usable. Here is the picture showing that the emulator itself is managing almost 6 bogomips with the RPi 2 overclocked to 1000 MHz, GPU memory set to 256 MB and java v8 installed.

Sunday, 31 January 2016

USB interface for QL keyboard membrane

Just found this blog of keyboard interfaces for retro computers -

Anyone tried the interface?