Micro Code

Michael's blog about teaching, hardware, software and the things in between

Old VAXen never die...

January 05, 2020 — Michael Engel

...they just move North (shamelessly stolen from the NetBSD/VAX web page).

No, I didn't take an actual VAX up North (my two VAXen are currently in storage in Germany), but a large suitcase full of other electronic parts went with me to Trondheim, Norway in early December. As expected, this resulted in a special luggage examination at Nuremberg airport. Luckily, the customs officers didn't require an explanation of every single of the many PCBs...

So, as some of my readers already know, I have decided to end my commitment with Coburg University at the end of 2019 in order to accept a position as associate professor for compiler design at NTNU in Trondheim.

NTNU letters

Arriving at the airport in Værnes, I was greeted with the appropriate weather:

Snow at Værnes airport

Luckily, I got an upgrade to my rental car from a puny Polo to a nice Mercedes GLC. This helped quite a bit, considering the road conditions:

Trondheim street] airport

So, last week I started my new job at the institutt for datateknologi og informatikk (Department of Computer Science). Stay tuned for more!

IDI sign]

Tags: NTNU, Trondheim, moving, snow, IDI

A Glimpse of Things to Come

November 19, 2019 — Michael Engel

Stay tuned for some big changes ahead... see the teaser picture ;-).

The times they are a-changing

Tags: teaser

Further back in time!

November 17, 2019 — Michael Engel

Back in the 1990s, some lecture notes were still handwritten. I just rediscovered these in the last folder hiding in a bottom corner of a bookshelf...

This is an excerpt from Wolfgang Merzenich's Programming Languages and Compilers course at Siegen Uni which I attended ca. 1995. 230 very well legible handwritten pages... great! Sadly, Wolfgang passed away far too early several years ago.

PuC lecture notes

Tags: compilers, course, merzenich, siegen

Blast from the Past part 2!

November 17, 2019 — Michael Engel

This piece is a bit more rare than the iPhone 2G and about two years older than the iPhone.

Before Nokia was destroyed by the hostile Microsoft takeover in 2013, they developed innovative early Linux-based mobile devices. The Maemo OS developed by Nokia is based on Debian, GNOME and a number of additional open source components. The Nokia 770 was the first commercially available system in this tablet series, followup devices included the Nokia 800 and 810. This was also the basis for Nokia's Linux-based mobile phones (N900 and N9, more on these in a later post).

This device runs on a 252 MHZ TI OMAP1710 SoC (ARM926EJ-S+C55x DSP) with 64 MB RAM and 128 MB Flash. The 4.1 inch display has a resolution of 800x480 and is usually used in widescreen format. Note that the system has no mobile wireless connectivity, only 802.11 and Bluetooth.

The Linux-based system previously used by Nokia is still being developed by the Jolla guys as Sailfish. Unfortunately, they seem to have only rather moderate success.

Nokia 770

Tags: Nokia, 770, tablet, Maemo

YABftP! (Yet Another Blast from the Past)

November 17, 2019 — Michael Engel

While cleaning out my apartment in preparation for a move, I rediscovered many pieces of hardware I haven't seen for quite some time :-). This is the first piece, so stay tuned...

This first piece is an original iPhone (called 2G, since it ran on GPS (resp. GPRS/EDGE) instead of the strange US CDMA standard - no LTE, UMTS or 5G...). It was introduced in June 2007 and features an ARM1176JZF-S based single-core SoC (Samsung S5L8900, this is long before Apple starts to design their own ARM cores) running at 412 MHz. The 2G uses 128 MB RAM and 8 GB of flash, the 3.5 inch display has a resolution of 240x320 pixels . This iPhone is still running after 12 years and is amazingly useable with iOS 3.1.3 - Safari, Google Maps and email work, whereas iTunes and the youtube app fail to start.

Maybe the CPU core used in the 2G rings a bell. This is the same core as the one used in the BCM2835 SoC in the original Raspberry Pi and the current Raspberry Pi Zero (W). However, the 5€ Raspi Zero has four times as much RAM and the CPU is clocked 2.5x as fast as the iPhone... if we only had the source code for iOS, a port to the Raspi Zero would be a neat hack.

The brochure the iPhone is resting on is of course also interesting for computer history afficionados... the TI Explorer is one of the few commercial LISP machines, based on a NuBus chassis and the TI S1500 asymmetrical multiprocessor 680x0-based Unix systems.

iPhone 2G

Tags: iPhone, 2G, ARM11, TI, Explorer

Assembler in Latin...

July 16, 2019 — Michael Engel

One of the obscure old computers you have probably never seen is the German Telefunken TR440, a 48 bit machine that came to market in 1970 and was intended to be a competitor for IBM's 360 and 370 series mainframes. Well, that didn't really work out...

While reading through the TR440's assembler manual (TR440 Instruction Set on bitsavers), I noticed that the mnemonics used were mostly abbreviations of German words (though I cannot figure out where "C" for store comes from).

If you look at the mnemonics used for Boolean operations, however, you start to wonder about their origin:

Boolean ops in the TR440

...that is, until you remember your high school Latin... et is probably pretty well-known and means and.

Then you figure out that this choice of mnemonics was pretty ingenious, since Latin -- in contrast to English or German -- has separate words for inclusive or (vel) and exclusive or (aut). Nifty!

Tags: Telefunken, TR440, assembler, latin, mnemonics

New Audio Boards

March 24, 2019 — Michael Engel

Long time no post... lots of things have happened (more on this later) since last July. One of the positive results is that we have designed and built new boards for our Signal Processing course.

Like the previously used Keil MCB4300 boards, we use the LPC4357 (dual core Cortex M4 and M0) SoC as basis, here supported by 32 MB of SDRAM as well as NAND and NOR flash. Since we cannot handle BGA parts in-house, we created an adapter to use Waveshare's Open4357 board with our base board designed for the Cortex M3/LPC1778.

Sound is handled by the relatively ancient NXP UDA1380TT codec, as on the Keil board. This chip is discontinued since around the year 2006, so I had to obtain a number via a specialized IC broker. The advantage of using that codec is that we stay compatible with the Keil board and we can reuse our existing driver code. Strangely, Waveshare still sells add-on boards using the same codec chip (only in an LQFP instead of an SSOP package), so they either have some secret source for the chip or invested in a lifetime supply...

One other addition is the nice graphical OLED display that you can see in the picture.

Signal processing board

Tags: audio, DSP, Cortex-M4, signal processing

PCB Art

July 20, 2018 — Michael Engel

I just dug out an old Sparcstation 20 mainboard from my collection, since someone on Usenet was looking for a spare one to fix his broken machine.

Taking a closer look at the board, I found this little sketch of a bear with a top hat. I have worked with Sparc machines for more than 25 years now, but never noticed that little guy before. Neat!

Bear on board

Tags: sparc, sun, workstation, PCB art