-
Notifications
You must be signed in to change notification settings - Fork 4
Minicomputers
This is a page dedicated to "Hellorld!" running on minicomputers. What exactly classifies a computer as a "minicomputer" is sometimes a little blurry, but in general, we're focusing on large scale systems that aren't quite full on mainframes. Entries are in alphabetical order.
The MERA-400 is a 16-bit Polish minicomputer from the mid 70s. See here for more details and here for some pictures.
Below is the assembly code for a simple "HELLORLD!" written in ASSM syntax - this is the original MERA-400 assembler:
PROG*
DEV=15/14+3/10.
OU,2(DEV+16/4)
C.C.C.
C:
LW,1(HELLO)
SLZ,1.
LWT,2,0.
LOOP:
LB,2,1.
CWT,2,0.
JES,END.
EN:
OU,2(DEV+24/4)
ERR.EN.OK.
ERR:
HLT,1.
OK:
AWT,1,1.
UJS,LOOP.
END:
HLT,0.
HELLO:
TEXT*0.
"HELLORLD!".
FINPROG*
The same code for a modern emas cross-assembler looks like this (a bit more readable and with some comments):
.equ DEV 15\14 + 3\10 ; terminal is connected to port 3 on I/O channel 15
ou r2, DEV + 16\4 ; send "reset" I/O command to the terminal
.word c, c, c
c:
lw r1, hello ; load address of "HELLORLD!" string to r1
slz r1 ; shift r1 left (in preparation for byte addressing)
lwt r2, 0 ; clear r2
loop:
lb r2, r1 ; load byte at the address stored in r1 into r2
cwt r2, 0 ; is it 0?
jes end ; if it is, jump to "end"
en:
ou r2, DEV + 24\4 ; send byte stored in r2 to the terminal
.word err, en, ok
err:
hlt 1 ; if the terminal controller doesn't respond - halt
ok:
awt r1, 1 ; move pointer to the next letter
ujs loop ; loop over
end:
hlt 0 ; halt
hello:
.asciiz "HELLORLD!"
Since I don't have an operating system running on my machine, code has been cross-assembled and its hexdump has been entered manually word by word using the control panel, as shown in the video. Thus the code runs on a "naked machine", as they called it back then. :-)
Finally, this is the result of "HELLORLD!" running on MERA-400 with a MERA 7953N terminal connected:

Aint nothing like getting an oil and gas pipeline mini-computer from the 60s to print "Hellorld!" which is exactly what SomeComputerGuy did, and it's every bit as glorious as it sounds! Not only that, he got it to literally print using an ASR33 teletype as the terminal! The SEL810A is a beautiful "little" minicomputer that's actually built using discrete transistor cards that plug into wire-wrapped backplanes. The machine is surprisingly reliable for creeping up on 70 years old, and it's an absolute work of art inside!
Here's a video of this very SEL810A running Lunar Lander
Code: