Category Archives: Retrotech

Machine Language, Assembly and Assembler, Interpreters and Compilers

I finally found out what the difference is between Machine Language, Assembly and Assembler – and how it fits in with Interpreters and Compilers. For those of you game enough, let me explain what these cryptic terms mean – and how they span computers from the early C64 to today’s high-end laptops.

Interpreters

Something that has plagued the early computers was their speed of how they executed things in BASIC – or rather the lack thereof. As nice as BASIC is, sifting through an array of variables can compare them with a known value does take some time.

That’s not BASIC’s fault though – it’s rather the way it is executed. You see, BASIC (on the C64 and his comrades) is an interpreted language. This means that while the computer is working, it’s translating the BASIC statements into something it can actually understand – which is of course not BASIC. All a computer really knows is if something’s ON or OFF. Computers are truly binary machines – no matter how old or how new they are. So if you tell them to PRINT “HELLO” then some translation work needs to happen for HELLO to appear on the screen – and that takes time.

That’s what an interpreter does: translate one language into another on the fly – much like people can listen in Spanish, and speak the same thing in English, for the benefit of an audience (usually not for their own pleasure).

The great thing about interpreted languages is that the source code always remains readable. As you can imagine, ultimately the interpreter will throw some ones and zeros at the computer. There’s no way you could make a change to that as it bears no resemblance to your source code.

One alternative to speeding up the programme in question would be to have the something like the interpreter to go to work BEFORE the programme is executed. Ahead of time, and in its own time. Then we could present the translated result to the computer right away, taking away the “on-the-fly” translation and saving some CPU power. I guess it won’t come as a big surprise that this is done frequently too: it’s called compiling, and a Compiler does such a job.

Continue reading Machine Language, Assembly and Assembler, Interpreters and Compilers

Microsoft Small Basic

Screen Shot 2014-08-04 at 13.31.05

Back in the eighties, BASIC ruled the home computer world. Most machines came with some BASIC flavour in ROM, ready for you to issue commands to that mysterious machine.

Most BASIC dialects could be traced back to Bill Gates’ very own Microsoft BASIC which he hand-coded together with Paul Allen and Monte Davidoff for the Altair. Subsequently they licensed BASIC to many manufacturers, including Commodore in the mid to late seventies.

Back in those days, home computer owners – the likes of you and I – were equally a “user” of pre-written software, as well as “programmer” to a varying degree. If you as much as wanted to see what was on a floppy disk, you had to know a couple of commands to make it happen. From there it was but a small step to creating short programmes – even insignificant ones that would perhaps repeatedly write the word HELLO on your screen.

It was fun, and something I’ve always enjoyed about BASIC.

Screen Shot 2014-08-04 at 14.04.32

As computers grew more advanced, this simple pleasure has been taken out of the equation: by the nineties we’ve all been turned into “software users”, and only extremely intelligent humans would continue to produce software which could be run on our new machines.

The day of the “casual garage coder” was effectively over.

The knowledge one needed to possess, together with the software and hardware tools, was not intended for the faint-hearted BASIC user, nor were they easy to come by. BASIC was out, and the new kids on the block were compiled languages which offered a lot more than a 40 column text screen – and they ran a lot faster on the new hardware.

So BASIC, and the Hobby Hacker along with it, is a thing of the past… or is it?

It’s sad to think that something got perhaps lost with faster and better machines, snazzier software and slicker UI’s where everything is – ultimately – about “how much money can we make out of that?”. It’s like saying “I’m only learning how to speak if you show me some cash”.

Knowing how computers work goes a long way to getting pleasure out of using them. Have you noticed that people who don’t care about such things have a really hard time making computers work for them? They can be your friends you know, they weren’t made to be our enemies.

There’s a garage coder in many of us – perhaps not in every one of us. But if you still like the idea of “casual programming”, but…

  • you don’t want to run an old computer as an emulator
  • or even buy an old computer and speak to him in BASIC (like I do)
  • and if you’re simply missing the pleasures of simple coding

you’ll be as delighted as I was when I found Microsoft Small Basic.

Continue reading Microsoft Small Basic

Fixing up a Commodore Plus/4

Recently I bid on a very good looking Commodore Plus/4 on eBay. I’ve never had one and have only heard the stories about this little guy: mismanaged marketing, the failed successor of the C64, the computer nobody wanted. A sad story – especially considering that it’s a really good machine that paved the way for the C128.

IMG_5132

With almost the same powerful BASIC commands as its successor, the Plus/4 is much smaller than the C128, a little over half its size I’d say. It takes up much less desk space and can use the 1541 floppy drive. Other peripherals were not compatible (joysticks, datasette drive, etc), neither was existing C64 software – which was widespread and popular at the time. The Plus/4 did have more colours but no sprites (which made computer games amazing in those days), and its sound qualities were less sophisticated than those of its predecessor.

The major downfall of the Plus/4 was undoubtedly its marketing and strategic decisions within Commodore: Jack Tramiel wanted a $99 machine that would sell alongside the expensive $500 C64 in 1984/85 and wipe out the fragmented home computer competition. Design of the 264 family began thanks to him – this included the C16/C116 and Plus/4 – even a 364 with speech module (only legends know about, like the CBM Museum).

Before the launch of the new machine however Tramiel left the company in 1984 – and with Commodore’s visionary gone, the rest of the clueless board of directors turned the Plus/4 family into a C64 replacement. Well, it flopped. Badly.

Since it was never meant to be what it became, and because it wasn’t compatible with existing popular software, less than 1 million units were produced worldwide and the Plus/4 was discontinued within a year of its launch.

Nevertheless, learning from their galactic mistakes, Commodore quickly developed the C128 and added everything to it that was missing on the Plus/4.

 

My Plus/4 Story

I bought mine for $49 including shipping from California, boxed with both manuals and dedicated 1531 Datasette. A complete bargain! Other than being a bit dusty, it was in great condition – some minor ageing issues aside.

One of the tragic things about shipping 30yr old computers several thousand miles, even with the best packaging, is that components can break, old solder joints can snap, and things may not survive the journey. It’s the nature of shipping retrotech.

Then there are those abysmal power supplies Commodore built back in the day: they’re usually potted and can’t be opened and are no repairable. Voltages over time may increase which leads to the death of many a chip in the best working machines. Another tragic story.

I was delighted to see that my new Plus/4 WORKED out of the box! The power supply measured the correct voltages, cursor blinks with a glint in his eye. The packaging was not only adequate, it was fantastic! I was really lucky with this purchase:

VideoGlide Snapshot

The only thing I noticed was that several of the keys did not respond well unless I hammered them or pressed them repeatedly. Time for a thorough examination and a quick fix!

Join me if you will on a journey under the hood of the Commodore Plus/4.

Continue reading Fixing up a Commodore Plus/4

Me and The Machine, Part 1: The 8-Bit-Age, ca. 1985

While most iOS Developers around the globe are busy learning Apple’s new programming language Swift or playing with early versions of iOS8 and Yosemite, I’m deeply involved in something much less cutting edge. In fact it’s from over 30 years ago, and it’s courtesy of Microsoft:

I’m having fun getting back into BASIC 2.0 as featured on the legendary Commodore 64 (or C64 or CBM 64).

Commodore-64-Computer

This was my first computer, and I’ll never forget it. German computer magazine “64er” dubbed it the VC-64, or “Volks Computer” (because Commodore’s previous machine was called the VC-20 or VIC-20). It was huge everywhere, but particularly in Germany it was just THE machine to have.

Sure, there was the Amstrad CPC664 and 464 (which were re-branded as Schneider) or the ZX-81 and Spectrum, but they were somewhere in that 5% category of “other home computers”. We never had the BBC Micro – for obvious reasons, and none of my friends could afford anApple II.

I no longer own the hardware, but some of that early day knowledge is still in me, together with many burning questions that have never been answered. There’s so much I always wanted to know about the C64, and so much I wanted to do with it: write programmes, learn machine language, and generally use it for development. I had no idea that there was such a thing as a Programmer’s Reference or developer tools. Time to get back into it!

Today we have wonderful emulators such as VICE (the Versatile Commodore Emulator) and it’s just like sitting down with my old computer again, on modern day hardware. I’m even doing it on a plastic Windows laptop for a touch of antiqueness (if I don’t get too annoyed with that).

Don’t ask me why this piece of computer history has become such an obsession with me over the last couple of weeks. I feel that for some reason it fits in with all this high-end cutting edge development I’m doing and rekindles me with how all this super technology started: with cheap plastic that was to change all our lives forever.

I remember the questions from members of my family who had not jumped on the computer bandwagon: “So what do you actually DO with a computer?” – and I guess today as much as back then you would answer, “What am I NOT doing with a computer anymore?”

The 8 bit “home computer” revolution started all that, including the stuff we use every day and half-heartedly take for granted – like downloading a PDF on the beach at 100Mbps, while sending videos to loved ones across the globe in half a second.

Before I get too old to remember, let me see if I can piece the story of “Me and The Machine” together (before my brain inevitably turns into that of a retired old gentleman yelling at the neighbour’s dog in a foreign accent).

Continue reading Me and The Machine, Part 1: The 8-Bit-Age, ca. 1985

Kindle DX

IMG_3559We have a total of 6 Kindles in our household, that’s between two people. I know this sounds excessive, but believe me every single one of them has their specific purpose.

Recently I added a lightly used Kindle DX to my arsenal, making up the 6th one. I’ve had a few weeks to play with it now so let me tell you what I think of it – and why I think it’s extremely sad that Amazon aren’t making the Kindle DX anymore.

It feels weird to write a review of technology that has just been taken off the market – but looking at several message boards this device has a cult following – myself included. I can understand why people love it so much.

Continue reading Kindle DX