Archive for the ‘Uncategorized’ Category

BURP – Basic Using Reverse Polish

March 21, 2020

Recently, I did not buy a new old computer. I did not buy it because I was outbid in a real auction in the UK (by twice the amount I was ready to pay, not to mention the 33% fee on that price for the auction house and the VAT, nor the additional cost to package and ship the whole thing). However, I am very ok with not having bought it, because it would have been a kit computer of unknown state, there wasn’t any documentation with it, and it featured only a Z80 CPU. The only three redeeming qualities of this model are its rarity, its use of a mathematical co-processor, and its unusual programming language. So, I decided to proceed as if I had bought the computer, and write about the programming language.

psicomp80

The computer was a Powertran PSI COMP 80 computer (sold for 420 GBP + commission). It is a relatively early (1979) design published by the British magazine Wireless World and used as a basis for a singleboard computer sold as a kit by a British company called Powertran. Z80 CPU, 8 kB of RAM and EPROM, 2 kB of video RAM, monochrome graphics of 128×64 pixels or 64×32 characters: not an usual design for that time. What made this model a little bit special was the use of a mathematical co-processor, a National Semiconductor MM57109N.

But let’s start at the programming language of this computer. It is called BURP, “BASIC Using Reverse Polish”. The reverse polish notation is the thing where you first specify the parameters of a function (which are pushed on a stack), and then you specify the function name. When the function is called, it takes its parameter from the stack, calculates the result, and pushes it back on the stack. This is the (still quite exotic) basic principle in Forth, some early HP pocket calculators, and Postscript. So, if you would write something like add(10,33) in any conventional programming language (requiring a parser to translate this code into something a computer understand), in reverse polish notation that would become “10 33 add” with the semantics “put a 10 on the stack, then a 33, then call the add function, who will take the two parameters from the stack and put the result (43) back on the stack for the next function to use”. This notation allows for quite compact interpreters, but the programmer has to manage the stack herself.

I like Forth a lot so I thought, ok, this is funny, a BASIC with a reverse polish notation should be quite quirky, ending up in programs like ’10 “Hello, World” print 20 10 goto’ if this type of basic also supports line numbers. However, BURP is even more strange than that because not all commands use the reverse polish notation, but only expressions. The rest of the syntax is still conventional infix notation.

All this strangeness has a reason: the mathematical co-processor. As [Carver] puts it, “The constraints of the MM57109, which was essentially a dedicated calculator chip with a 4-bit microcontroller interface bus, strongly affected the design of the language. Significant features of the language include a fixed set of 26 numeric variables (A-Z), a maximum of 256 lines of code, a three-deep hardware stack for expressions, a limit of one for-loop at a time (so no nesting, not even in GOSUBs) and no string processing (except implicit concatenation of static text and numbers during output.)” Oh yes, plus the MM57109 talks to the world in reverse polish notation.

Ok, so the number calculating part of this BASIC by and large represents the format which the math processor needs. So, how does a BURP program looks like?

Example: LET C = 3 SQ 4 SQ + ROOT

Here, we assign a value to a variable C. This value is SQRT(3^2 + 4^2). First, the 3 is put on the stack. Then, a “squared” operation is called on the 3, replacing it by 9. Then, the 4 is put on the stack, and then replaced by 16. Now, and add function adds the 16 and the 9, replacing it by 25. Finally, the square root is taken, so in the end, the only number of the stack is 5, which is assigned then to the variable C (actually put in register C of the math chip).

The National Semiconductor MM57109 (the original data sheet titles it as a “Number Cruncher Unit”) is from 1977. It is the mask-programmed derivate of the MM5799 chip, which is the 2-chips-in-1-version of the 5781/2 chip set, the calculator chip family of National Semiconductor. It added 70 mathematical functions to the MM5799 design. From the viewpoint of a computer manufacturer, this is very attractive, because a) you don’t have to write all this math code yourself, b) it is efficiently executed. However, the MM57109 was not really an FPU (floating point unit) like modern math co-processors (which are nowadays integrated into the CPUs). First, the unit processed numbers that came in up-to-8 decimal digit packets (coded as 4-bit BCDs). Second, “Instruction execution times range from 1 ms to 1 second” (according to the data sheet). ONE second. That makes total sense for a calculator, but not too much sense for a computer. However, “real” FPUs did not exist much before 1977, with AMD’s AM9511 being one of the first.

So, here you have it. An early kit computer with a calculator chip as a mathematical co-processor and a crazy BASIC that makes complete sense in this design. Burp. Happy digesting.

References

Unusual Sony Notebook Drive Bay Modules

February 29, 2020

It is not completely unheard of to have a modular bay system for notebook computers, having the possibility for the user to chose whether to have an optical drive there, or maybe an additional battery, or the like.

But I think that there was a decision meeting missing after a brainstorming session at a Sony computer department when they came up with these additional bay modules:

PCGA-CWN1 Compact Woofer

Yes, this is a woofer. It works because it seems that the bays were open at the bottom:

sonywoofer

PCGA-TKN1 Number Pad

Yes, it is exactly what you think it is – an additional number pad you can flip out of the bay:

sony10key

And, no, these were actual products, no photoshopped fakes.

Not crazy, but also quite unusual is this bay module:

PCGA-MDN1 Net MD drive

Yes, that’s a MiniDisc drive for a notebook.

sonymd

Western Digital Pascal MicroEngine, an Update

February 16, 2020

Yesterday, I received a 2nd MicroEngine board, unfortunately in a worse state than my first one. Also, probably an earlier patch level as there is less patch cableing on the board. Nevertheless, nice to have.

Also, if you look for images for boot floppy disks, you can find them under ftp://ftp.dreesen.ch/WD9000/MicroEngine.zip.

VGA explained Hands On

July 13, 2019

If you are like me you do not know much about hardware. In case you wonder how all this (old school) video interface is working, say in case of VGA for example, you are in luck. In this video (and its part II) a Youtube channel called Ben Eater explains the basic VGA signal by freaking building a simple graphics card using breadboards and simple circuitry. He does this, layer by layer, in order to fulfill the different aspects of the VGA specification. And afterwards even I have the impression to have understood how the thing basically works.

The (arguably) most pleasing Floppy Disk Drive

February 24, 2019

SordA73

I saw recently in an Ebay auction the most pleasing floppy disk drive subsystem ever. Ever! Unfortunately it was too expensive to buy just as a conversation piece.

I am not sure what the designer usually did. Maybe tape drives? Hifi devices? Mainframe peripherals?

Also, seems to be a very rare thing. Google knows nothing about a SORD FD Processor A73…

Once upon a time

April 29, 2018

DSC_0007[1]

I recently ordered audio cassettes and a DIN audio cable as new products… I take “Things that belong in the last century” for 100. #thingsourkidsdontknow #longtailproducts

Plan Informatique Pour Tous (IPT)

December 28, 2017

Apart from my exhibition on Micronique computers, at the Classic Computing 2015 in Thionville, France, I also had some slides on a French programme to introduce computing to more schools in the 80s called “Plan Informatique Pour Tous (IPT)” or, translated to English, Computer Science For All. Because of its importance in France and the notoriously rare availability of any information on old French computers in English, here they are.

Plan Informatique Pour Tous (IPT)

  • was a program by the French government to:
    • introduce the 11M French pupils to computer science
    • support the French computer industry
  • its targets were presented on 25.1.1985 by the Prime Minister:
    • put 120k computers in 50k schools
    • train 110k teachers in computer science
  • the budget of IPT was FF 1800M in total, FF 1500M of that for hardware, i.e.:
    • FF 15k for every computer system
    • FF 2700 for every teacher
  • the high-flying goals of the program were not reached; on the other hand this program exposed many pupils to computers for the first time
  • the selection of industrial partners was given to Gilbert Trigano, co-founder of the Club Méditerranée
  • originally, he intended to give the order to Apple buying specially modified Macintoshs
  • the intended agreement would have meant that instead of in Ireland, Apple would have located the European Macintosh factory in France and transferred state of the art assembly knowledge
  • instead, out of political reasons, only French manufacturers were invited
  • out of the same reasons, the finally selected partner was Thomson, a nationalized enterprise in financial troubles

And here you have all the contenders to the IPT competition (that I know of) and how they did in the competition:

Folie9

The winners were Thomson with their MO5s and TO7/70s. To a much smaller degree, also exelvision could sell some of their EXL100s.

Le nanoréseau (The Nano Network)

The IPT proposal was heavily centered around a proprietary network technology called “Le nanoreseau” that was developed prior to the competion by the Lille University of Science and Technology.

  • The Nano Network
    • a 500 kbps (RS-486-based) network connected:
    • 1 PC-compatible server (called network head) with two 5.25” floppy disk drives, 512 kB RAM, and a printer (Mannesmann-Tally MT80)
    • up to 31 Thomson (8 bit) microcomputers (called nano machines)
  • the network allowed to:
    • load programs and data onto the microcomputers
    • communicate between all computers
    • exchange screens between the computers
    • execute a program on the computers
    • use the printer at the server from all computers
  • in principle the approach was working very well, but using 8-bit machines as terminals was old-school already then

A Brief History of Mobile Computing

December 24, 2017

This is the English version of the posters at a booth I presented at VCFB+Classic Computing 2017 in Berlin Germany.

This small exhibition aims at giving an overview on the development of Mobile Computing using computer models that were the “first” implementing relevant new aspects to the field. Often, also the second models are mentioned. These computers are sometimes not the most often sold models at that time (as often, they were quite expensive because they offered something new in a time that this new feature was not commonplace and required expensive components), but, by and large, they at least sparked competition and created markets.

Let’s start in the not-mobile field.

B1981These are, of course, a small selection of the most popular models of the early home computer era (yes, there are some important models missing, but that’s not the point here).

Folie4

These are the two first representants of computers that were meant to be transported and that, therefore, made compromises in terms of e.g. screen sizes for the sake of size, compactness, and weight.

Folie5

In contrast to the computers of the last poster, these computers were also meant to be used without a need for a power socket nearby. People are often baffled by the HX-20 to be the first one that integrated a battery because it looks still quite modern by its very compact form factor and the number of features it includes. The HX-20 also was a very popular computer and you will have no problems getting one from ebay for relatively small bucks. The Data General ONE is not the second computer with batteries, but the first PC with batteries.

Folie7

These computers now are the first ones that deviate from the traditional usage-by-keyboard to a new paradigm that is more appropriate to truly mobile computers: the pen-and-notepad. The GRiDPad 1900 is (by and large, see the last poster) the first mobile computer using a pen (still with cable), and because it is so early, it is using still a keyboard-oriented Operating System (MS DOS). The pen is used more like a mouse. The NCR 3125 is the first mobile computer meant to be used like a notepad. It’s sleek, timeless design still looks good today, but it’s nowadays on the heavy side of things. Both models are very rare today, with the 1900 being especially rarely sighted.

Folie8

1993 is the year where notepad-like mobile computers hit the market in big numbers. They differ from the previous models mainly in size and in price. They all aim at sporting a general Handwriting Recognition function in order to come from handwritten pen input to text the computer can process. Unfortunately, this is often also the problem for these early models. Either it basically does not work (PenPad), or it does not really work (Newton first model, Zoomer), at least it requires strong-for-the-time computing and memory resources (440, Newton) that make them still-too-expensive-for-many-users and still-too-heavy for shirt pockets.

Folie9

But then, one small company (called Palm) finds a recipe that compromises pen input and computing requirements by replacing general Handwriting Recognition by a special alphabet users have to learn called “Graffiti”. This allows mobile computers to use much smaller CPUs which drives the price down and requires smaller batteries. In addition, the Palm computer family uses small screens, which makes the system very lightweight.

Folie10

The pen remains the most important input device for mobile computers until Apple finds out how a mobile computer can work that uses only a finger. It implements these ideas in the first iPhone in 2007, Google copies this idea for the first Android phone in 2008 (some of you will now that the first Android prototype 2006 was keyboard-based, and that the design was switched as a reaction to the iPhone).

And that’s where we are today.

Let’s conclude with the technical data of the mobile models above.

Technical Data

Manufacturer Model Year Weight Price CPU RAM Disk Screen
Osborne 1 1981 11 Kg $1795 Z80@4 MHz 64 kB 204 kB 5“ CRT
Kaypro II 1982 13 Kg $1795 Z80@3.5 MHz 64 kB 382 kB 9“ CRT
Epson HX-20 1981 1.6 Kg $795 Hitachi 6301@0.6 MHz 16 kB 3.5“ LCD
DG ONE 1984 4.5 Kg $2895 8086@4 MHz 128 kB 1.4 MB 11“ LCD
Linus 1000 1987 4 Kg $2795 NEC V20@7.2 MHz 640 kB 512 kB 9.5” LCD
GRiD GRiDPAD 1900 1989 2 Kg $2370 8086@10 MHz 1 MB 10“ LCD
NCR 3125 1991 1.5 Kg $4795 80386SL@20 MHz 4 MB 20 MB 10“ LCD
Amstrad PenPad 1993 0.4 Kg $400 Z8S180@14.3 MHz 128 kB 4.5“ LCD
EO 440 1993 1 Kg $2000 Hobbit@20 MHz 4 MB 7.5“ LCD
Apple Newton 1993 0.4 Kg $700 ARM610@20 MHz 640 kB 5.2“ LCD
Tandy Z-PDA* 1993 0.4 Kg $700 NEC V20@10 MHz 1 MB 4.8“ LCD
USR Pilot 1996 0.2 Kg $299 Motorola 68328@ 16 MHz 128 kB 3.3“ LCD
Apple iPhone 2007 0.1 Kg $499 ARM1176@412 MHz 128 MB 4 GB 3.5“ LCD
HTC Dream 2008 0.2 Kg $495 ARM1136@528 MHz 192 MB 256 MB 3.2“ LCD

 

An IBM Museum in Germany

January 15, 2017

Lately, I was lucky to visit an IBM museum in Böblingen (near Stuttgart), Germany. I write “an IBM museum”, but actually, it is “the IBM Museum” in Germany although (as far as I know) it is not an official IBM institution.

This museum is the successor of the former “Haus zur Geschichte der IBM Datenverarbeitung” (House of the History of IBM Data Processing) in Sindelfingen, Germany. It was located in an building that once was a punch card printing factory on 600 square meters. The building and its facilities was provided by IBM. The museum itself was (and is) run by the IBM Club, the official IBM institution  that “promotes and encourages group social activities among employees, retirees and their families”. The museum did not had normal opening times, but it was open by appointment for the public. The collection was very extensive both time period-wise (starting in the punch card era of the predecessing companies like Hollerith) and model-wise (up to quite current mainframe models). The “Haus zur Geschichte der Datenverarbeitung” was opened in 1994. It had to close in 2012 as IBM wanted to sell the building.

Fortunately, the IBM Club could store its collection at the site of the IBM R&D Lab in Böblingen. There, the collection got some space in a former computing center. Since 2016, the collection can be viewed there by invitation only (mainly for IBM customers) because for anything else there are simply no resources available (in the end, the collection curators have to take care about the computers). The first four pictures of this article are from this new site.

While we were there, we were allowed to take picture for our own personal use, but were asked not to publish them in the Internet. That’s really a pity because the exhibits in this collection (most of them in working order…) are really impressive.

50th Anniversary of the Mechanical Mouse

December 28, 2016

On December 5th, 2016, some German organisations hold a colloquium at the University of Stuttgart, Germany on the 50th anniversary of the mechanical mouse.

Therefore, the colloquium not only featured the museum director, owner, and guide of his Mouse Museum (cringely called Mouse-oleum, I swear!), a part of the small Computer Museum at the University of Hamburg, Prof. Heinz Oberquelle.

But also the developer of the German claim to mouse history fame, Rainer Mallebrein, and a very early user of it (and its accompanying terminal), Prof. Rul Gunzenhäuser.

The object in question is the (internationally extremely unknown, and even in Germany only 2009 re-surfaced) “Rollkugel” (roll ball) Telefunken RKS 100-86 as an optional acessory to their vector graphics terminal SIG 100-86.

Rollkugel

The story as told by Rainer Mallebrain goes like this. In the 1960s Telefunken (funded 1903, merged 1967 with AEG, something like the German General Electric) developed a vector graphics terminal to go with their TR440 Mainframe computer for the German Air Traffic Control. In order to let the traffic controller select the depicted planes directly, different interaction methods were discussed. A light gun like in the 1950s SAGE system seemed not to be ergonomical enough. So, the developers used a track ball (which preceded the invention of the mouse by 20 years). Telefunken now wanted to produce a “civilian” version of the graphics terminal (called SIG-100), especially for the (German) universities who already owned TR440 computers. The problem was that the universities were quite unwilling to use track balls because these devices were quite huge by today’s standards and required to drill a large hole into desks to accomodate them. So the Telefunken developers, just for that purpose, developed a device that also contained a (smaller) ball but could be moved on the desk: a mouse. This mouse was not called a mouse because there was no such concept at the time. In good German engineering tradition, the device was given an accurate, correct, and completely un-inspiring name: the roll ball or Rollkugel.

The Rollkugel (as dissected by a project at the University of Stuttgart that created a replica of the Rollkugel) does not contain any electronics, only two rotational sensors, the ball, a button, and some mechanics. The electronics that aimed at converting the electrical signals into a mouse position was contained in the terminal (which, in turn, was a not so small computer). The mouse cable was not coming out of the Rollkugel at the now traditional 12 o’clock, but at the 6 o’clock position. The Rollkugel was large (about the size of a halved grapefruit), and exactly half a sphere with the button at the top.

Prof. Gunzenhäuser (one of the first computer science professors in Germany) then talked about what they did with the Rollkugel in these early days. He explained that it took a while before the Rollkugel worked without errors. He recalled the first use of the Rollugel in his group was the development of a graphical chess system where the user could move the pieces using this device.

The Rollkugel was sold from 1968 which would make it 48 as of today, but the (not completely serious) explanation for the 50th anniversary was that they worked on it from 1966 on. It is not claimed that this is the first mouse (as Doug Engelbart’s mouse using two wheels) probably was developed earlier.