Archive for the ‘retro computers’ Category
It started with a tweet
While basking in some geek nostalgia on twitter, I discovered that my first ever microcomputer, the Sinclair Spectrum, once had a Fortran compiler
However, that compiler was seemingly lost to history and was declared Missing in Action on World of Spectrum.
A few of us on Twitter enjoyed reading the 1987 review of this Fortran Compiler but since no one had ever uploaded an image of it to the internet, it seemed that we’d never get the chance to play with it ourselves.
I never thought it would come to this
One of the benefits of 5000+ followers on Twitter is that there’s usually someone who knows something interesting about whatever you happen to tweet about and in this instance, that somebody was my fellow Fellow of the Software Sustainability Institute, Barry Rowlingson. Barry was fairly sure that he’d recently packed a copy of the Mira Fortran Compiler away in his loft and was blissfully unaware of the fact that he was sitting on a missing piece of microcomputing history!
He was right! He did have it in the attic…and members of the community considered it valuable.
As Barry mentioned in his tweet, converting a 40 year old cassette to an archivable .tzx format is a process that could result in permanent failure. The attempt on side 1 of the cassette didn’t work but fortunately, side 2 is where the action was!
It turns out that everything worked perfectly. On loading it into a Spectrum emulator, Barry could enter and compile Fortran on this platform for the first time in decades! Here is the source code for a program that computes prime numbers
Here it is running
and here we have Barry giving the sales pitch on the advanced functionality of this compiler :)
How to get the compiler
Barry has made the compiler, and scans of the documentation, available at https://gitlab.com/b-rowlingson/mirafortran
One of my hobbies is retro video games and tonight’s opening ceremony for the 2012 Olympics inspired me to take a look at Olympic video games over my lifetime. Where games were released on multiple platforms I’ve simply chosen the one that was most relevant to me.
Video Olympics (Atari VCS2600, 1977)
Released in the year of my birth, the Atari VCS-2600 holds a special place in my heart. The hardware was incredibly primitive and yet some of the games were surprisingly playable. I must have spent weeks of my childhood playing Combat for instance. Sadly,Video Olympics is one of the less playable games for the 2600 and should really be renamed ‘Variations on the theme of Pong.’
Hyper Sports (Arcade, 1984)
One of my abiding memories of the early 80s was spending Sunday afternoons in the children’s room of our village’s local pub. This particular village pub was a geek child’s paradise as the kids room included up to 3 arcade games at any one time. My brother and I would be given 20p each to play on these games, a sum of money that would be expected to last us at least an hour, while dad enjoyed a quiet pint in the bar.
I remember Konami’s Hyper Sports very clearly and the youtube above brings back a flood of memories for me. Hyper Sports was released in time for the 1984 Los Angeles Olympics and was the sequel to Konami’s superb Track and Field.
Micro Olympics (BBC Micro, 1984)
If you had walked into any UK primary school in the early 80s you’d have found a BBC Micro, an 8 bit computer developed by Acorn Computers (the guys who went on to develop the ARM processor used in the vast majority of mobile devices). My primary school had exactly one of these high powered beasts and each pupil only got a few minutes on it a month on average. I remember that my dad had a chat with the head master though and scored me a lot of extra time on it. As long as I didn’t make any noise whatsoever, I could use the computer just outside the headmasters office for an hour after school and I used the time to work through my collection of Marshall Cavendish Input magazines. Happy days.
The BBC wasn’t known for its games however. Micro Olympics was rubbish!
Daley Thompson’s Olympic Challenge (Sinclair Spectrum, 1988)
Ahhh the humble speccy— Oh how I loved thee! The spectrum was my first ‘proper’ computer and I received it for my 8th birthday. All I wanted to do was play games but my father insisted that I also learn how to program it and so I probably owe my career to dear old dad and Sinclair’s 48K wonder.
Released in time for the 1988 Seoul Olympics, Daley Thompson’s Olympic Challenge was a joystick waggler pure and simple. The game included several events: 100 metres, Long Jump, Shot Putt, High Jump and 400 metres, 110 metres Hurdles, Discus, Pole Vault, Javelin and 1500 metres but gameplay consisted of nothing more than frantically waggling your joystick side to side and occasionally pressing the fire button.
Olympic Gold (Sega MegaDrive, 1992)
I remember reading articles that previewed Sega’s megadrive. Back then its power seemed nothing short of astonishing but, sadly, I didn’t have one. One of my friends, however, did have one and many a happy hour was spent over at his house playing Mortal Kombat and Sonic the Hedgehog.
Olympic gold was the first officially licensed Olympic video game and was released in time for the Barcelona Olympics. Although the graphics are much better than older games, the game mechanic is essentially exactly the same, mash buttons as fast as you can.
1996 and beyond
By the time the 1996 Atlanta games came around, I had better things to do than play video games. That summer was my last before starting my undergraduate studies in theoretical physics. Many Olympic video games have since been released of course but I haven’t played them and neither do I want to.
So, I’ll hand over to The Complete History of Official Olympic Video Games which picks up where I left off.
If I were to ask most of you what the exact date and time was right now then you would probably give me an answer based on the Gergorian Calendar system. For example as I type this sentence, the Gergorian time and date is “13:50 and 20 seconds on 12th Feburary 2008.”
Of course, the Gregorian calendar isn’t the only calendar system that has been used over the course of history. Some alternatives that spring to mind (some of which are still used) include the Julian Calendar, the Islamic calendar, the Chinese Calendar and the Roman Calendar. Check out www.fourmilab.ch/documents/calendar/ for a few more examples.
The calendar type I want to discuss today is called Unix Time*
Unix time was created back in the 1970s to serve the time keeping needs of the first Unix based computers and it has been used by many operating systems ever since. Unix time is very simple – it consists of nothing more than an integer which represents the number of seconds that have elapsed since 00:00 Universal time on January 1, 1970 in the Gregorian calendar. This may seem like an odd date to start a calendar but they had to start somewhere and it coudn’t be too early since the Unix time had to fit into a 32bit integer.
So why am I telling you this you may wonder? Well, the Unix time will soon be 1234567890 which I find fun since I am a numbers nerd. Since I live in the UK this will correspond to February 13, 2009 at 23:31:30 and I intend to celebrate (well it’s as good a reason as any)!
For some of you, 123456890 will correspond to Valentines day – giving you two reasons to celebrate on that particular day. To find out exactly when this momentous date falls for you try the following Perl command
perl -e ‘print scalar localtime(1234567890),”\n”;’
Or if, like me, you prefer Python
python -c ‘import time; print time.ctime(1234567890)’
Mathematica doesn’t use Unix time – it measures time from midnight 1st Jan 1900 so to find out when it will be Unix time 1234567890 you need to do something like
DateString[AbsoluteTime[{1970,1,1,0,0,0}+1234567890]
Something else that I recently discovered about the number 1234567890 is that both 1234567890 + 1 and 1234567890^2 + 1 are prime (originally from Prime Curios but verified by me using Mathematica).
Finally, if 1234567890 is not interesting enough for you then maybe you are more impressed with the palindromic time of 1234554321 which occurs a few hours earlier – Fri 13 Feb 2009 19:45:21 UTC to be precise.
*As I type this I consider the possibility that there is a formal definition of the term ‘calendar’ and that Unix Time doesn’t fulfill it for some reason. Feel free to correct me in the comments if this is the case.
Lemmings is one of those video games that is so popular that almost everyone has heard of it. Released back in 1991 it has been around for over half of my life and forms an integral part of my youthful memories. In my early high school years I would go to my rich friend’s house and play Lemmings on their Amiga. Back at home, my brother and I would while away the hours playing it on our own, much less powerful and more humble, ZX Spectrum.
A couple of years later – while doing my A-Levels and during my first year of University – I would play Lemmings on my Acorn Archimedes before finally graduating to the DOS version on my 233MhZ PC around the time of my undergraduate finals. During the PhD years I played Lemmings on several different systems that came my way (thanks to donations from friends and, of course, ebay) such as the Sega Master System, Sega Saturn and Sega Game Gear. These days I tend to play it on my Playstation Portable. I have played Lemmings alone and with friends, I have played it on the plane, the train and while I should be doing more important things (such as my PhD thesis). I have played it on computers, games consoles, calculators and palm pilots. Where ever I go – Lemmings seems to follow.
Recently though something was missing in my life, I had a Windows Mobile based phone but no Lemmings. Disaster! Fortunately, Johannes Zeppenfeld has come to my rescue with a Windows Mobile clone of Lemmings that seems to work absolutely perfectly and, what’s more, it’s free!
You need a file (main.dat) from the original DOS version of Lemmings in order to play this version (no…I won’t give you the file so don’t ask) but, once you have it, installation is a snap! Johannes left this file out to try and avoid possible copyright issues and I can’t say I blame him.
I am loving this version – it is practically flawless. Thanks Johannes – you’re a star!
If you enjoyed this article, feel free to click here to subscribe to my RSS Feed.
I have just returned from the 9th International Mathematica Symposium which was held in Maastricht last week where, among other things, we celebrated the 20th anniversary of the release of Mathematica. The birthday itself was on June 23rd and, as luck would have it, this was also the day of the conference dinner at the wonderful man-made caves of Geulhem so all of the IMS delegates celebrated in style. I will write more about the conference itself in a future post – once I get hold of the some of the photos.
For now, I simply wanted to highlight the fact that Wolfram have made a scrapbook that shows some of their developments over the last 20 years. We were shown a preview of it at IMS and I think there is some great material there including the complete manual for Mathematica’s predecessor, SMP (Symbolic Manipulation Program) – great for getting a flavour of how computer algebra was done in the 1980’s. While on the subject of SMP – there is a couple of screenshots of it running on a minicomputer. If you have never heard this term before you might be forgiven for thinking that a minicomputers were small, but in fact they were only small compared to the gigantic mainframes of the day. Essentially a minicomputer was the size of a two or three family washing machines as compared to the size of a house for a mainframe (or something like that – I was only 10 at the time so can’t remember!). If anyone is looking for a project, it would be very cool to get a copy of the original SMP code to work on a modern mini-computer such as a mobile phone. I wonder what the license issues are….
There are also details of the early development of the Mathematica language. What I find interesting here is how much of the early ideas survive in the present system. For me, reading code from that 20 year old dialect of Mathematica felt a little like reading victorian english – slightly odd but perfectly understandable.
I also enjoyed reading the media reactions to those early versions…one entitled “Twilight of the pencil?” by William Press for example. I find it interesting that, despite the remarkable evolution of packages such as Mathematica over the last two decades, I have yet to find a Mathematician who never does any pencil and paper maths.
I remember when I first discovered Mathematica ,version 3.0 I think it was, running on some sort of ancient Unix based system which my University had christened Newton. It was in the first month of my PhD and I had been wrestling with some terrifying looking (to a freshly minted grad student at least) integrals that were taking me ages to evaluate by hand. My PhD supervisor was a symbolic integration master and during this phase of my work I was learning loads of shortcuts and tricks that you never get taught as an undergraduate. Even with these tricks though, the work was starting to get out of hand.
One integral took me 8 A4 pages of paper to evaluate and when I took the result to my professor she glanced at it and said “that’s wrong.” For an moment I thought she already knew the answer and had just set me the problem as an exercise but she then went on to show how my result was not dimensionally consistent. A day’s work later and I had the correct answer. Over coffee someone said “There’s a package called Mathematica that could probably do those integrals – it’s installed on a machine here somewhere – maybe go and try it out.”
It took a day to find the name of the machine with Mathematica installed, another day to find said machine, 5 minutes to learn how to feed my problem to Mathematica and then about 30 seconds to reproduce several days worth of manual labour. I was in love! You would think that the pace of my research would have accelerated but I got very sidetracked learning what else I could do with my new toy.
If you have any stories concerning your early Mathematica experiences, feel free to share them in the comments section.
Oh, and the scrapbook is here – www.wolfram.com/company/scrapbook/
I work at the University of Manchester which is where the world’s first ever stored-program electronic digital computer was made back in 1948. It was originally called the Manchester Small Scale Experimental Machine but everyone called it Baby and it didn’t occur to it to mind. Before I get flamed to death by US computer historians – yes the ENIAC was built 2 years before Baby but it had a fundamentally different architecure (as explained by Alan Burlison in his blog – here). As Alan says, if you wanted to reprogram ENIAC, you needed a pair of pliars.
Many people who are a lot more eloquent than me have written a lot about the history of this machine (here for example) so I won’t say too much about it here except that it had only 128 bytes of memory which were arranged in 32 x 32 bit binary words and that it had an instruction set of only 7 commands which made programming it a bit tricky to say the least.
If you think you are a real programmer who is up to the challenge of coding for a 60 year old machine then Manchester University is holding a program “The Baby” competition (closing date 1 May 2008) to celebrate the Baby’s 60th anniversary. There is a photo realistic Java-based simulator of the machine, complete with example programs, over at the competition website along with an instruction manual to get you started. With only 7 instructions to learn how hard can it be?
On the morning of my 8th birthday my life was changed forever when I received a shiny new 48k ZX Spectrum + – the year was 1985 and this event signified the beginning of my love affair with computers. Back then the school playground was divided into two main camps – those of us who had Sinclair Spectrums and those who had a Commodore 64 and the rivalry was fierce – I even remember once being involved in a fist fight that started with a Speccy vs Commodore argument (it was probably the most pathetic punch up ever – 8 year old proto-geeks are not well known for their fighting prowess).
Of course there was the occasional oddball who had something weird like an Amstrad CPC464 (or in the case of my mate Tom – an Oric of all things) but in the main it was C64 v Spectrum and, I guess, this was my first ever technical holy war (and the only one that ended up with a physical fight).
22 years later and, like all first loves, the Speccy still holds a place in my heart but my opinions are not as polarised as they once were. These days I occasionally admit that the C64 was a good machine and, when no one is looking, I might fire up an emulator to have a game on something like the Great Giana Sisters or Wizball (the spectrum version was a bit poor you see).
One thing that I simply cannot deny is that the music on the Spectrum was just plain awful whereas that of the Commodore was quite simply stunning for its time. The sound chip on the C64 was called the Sound Interface Device (SID) and was probably the most advanced sound chip on any 8-bit home computer. Game designers used the chip to great effect in titles such as International Karate, Spellbound and R-Type – this stuff was as close as you could get to ‘proper music’ on an 8-bit computer.
Some C64 compositions are so good in fact that an an orchestra in Holland decided that they would perform full orchestral versions of them! If you head over to their myspace page you can listen to some of the results and, in my opinion at least, they are quite beautiful. What’s more – they have produced a CD with their music on it – just look at this CD Box:
Now it’s not exacty cheap – once postage and packing was taken into account it cost almost 30 pounds but I just had to order it. Expect a review here soon.