Acorn machine

Instigation

Another project? I really just wanted to draw an Acorn machine after having watched Micro Men, The Computer Programme and misc. Acorn related videos. Actually, I might not have wanted to draw an Acorn machine per-se, but a SONY HitBit F1XD as that's probably the best looking computer+keyboard case ever made (their red HitBit 101/201 is also up there).

Anyways, as I watched the videos of people using these computers and the built in BASIC, I was again reminded of how close they were to being a really useful beginner programmer platform, and that's something which doesn't quite exist today. Now you do most things at a very high level today due to the complexity of OpenGL and hardware. The Raspberry Pi was alledgedly supposed to fill the role of kids-learning-computer but I think it failed - it's more like Bionicle than regular LEGO. People (mostly hackers) are finding the RPi useful of course, but I don't think many people actually use it as a computer or programming learning tool... they toss an image onto the SD card, rehouse the RPi and use what was already made by others.

Of course, hardware from the late 70's to mid 80's had an unfair advantage when it came to getting people engaged. People who used computers back then were already quite interested in this new technology and more patient with figuring stuff out. There were no cat videos or twitter to distract, and no burden of knowing that someone else have already made what you wanted to do (either because they hadn't, or because you couldn't know about it). Just making things go with future-tech was quite empowering... though I would argue that making things go with old-basic-tech also has appeal!

Thoughts in the BBC Micro Bit and GUI programming

I just read about the BBC Micro Bit. At first I got quite excited because I thought the BBC were doing something like the beeb, maybe scaled down to a SBC / SOC. What they are planning though, appears to be a microcontroller linked to a 5x5 matrix of LEDs (enough to do letter/pattern scrolling etc.) It will be given to UK school kids aged 10-12 ("Year 7"). I suspect that the LED matrix will quickly grow boring. I would want to do sprites and stuff! The whole concept is a little weird because the board will look like confusing-hardware-stuff to some, but it will be programmed using the "beginner friendly" Scratch or Blockly. I've tried to use languages like those, but always find myself struggling more to understand the visual language of the icons, and under which mystery icon the sub icon that I want is. If I have to spend time learning a system, why can't it be a real system that's useful elsewhere? A modern BASIC dialect can look quite friendly if colored up by a proper IDE!

Evergreen?

Technology quickly becomes dated. Old computers seem to run even slower than we remember when in the shadow of this years latest and greatest. The RPi needs to be updated, and the Ouya probably won't be. However, there's a small chunk of people who don't mind the challenge of working or playing with old stuff. There's the people who still write games and demos for vintage systems. I've worked on indie games with a retro look, and they continue to steadily sell as the Direct X versions fly by. Then there's Minecraft that charms people with the... mental graspability of working with large low poly blocks. What I'm laying out here is a product which latches onto the same sort of appeal. Something old, something new... something, uh I guess it's cream and green.

When you booted up a home computer like the Beeb or C64 you were immidiately greeted with a BASIC prompt. I was too young in the early-mid 80's to understand programming but remember typing in examples from the handbooks. The thing about a computer like the C64, Electron or Speccy is that you can almost understand it, and BASIC scales well from high to low level. You can print characters on the screen with PRINT, or POKE directly to screen memory. Programming using the mono-color command prompt is quite awkward though, and a major hinderance back then was the lack of examples and online help (and having to save on tapes). There were also hardware and software quirks which we can solve better today.

Nowadays I use BlitzMax (BASIC-C hybrid) on Mac, PC and Linux, but when I want to do something like 16 color graphics I have to either write a software render engine from scratch, or fake pixel graphics using OpenGL. An urge has built up inside me to see a computer which could do "retro" graphics for real.

I guess the goal of this project is to speculate about how a programming interface with modern conveniences would look together with a BBC Micro era low-budget computer (without the hardware quirks). I'll be using modern components and perhaps fantasy components (ASICs). The whole thing could probably be done as an SoC with an ARM core, but I think it's more visually fun to show some discrete components.

Top: Later games for the machine often came on 3.5" floppies packaged in jewel cases, with the manual working as cover.

Bottom: My mockup here actually features some 70's colors - dark-brown and oranges. Spherical patterns were popular then too. Old keyboard often had fun colors and prints on them. Everything now is monolithic.

The case has slide-in IO plates (simple plastic boards going into slots) on the sides and back. I don't think molding ports into the main case is a good idea (this keyboard, if USB, could house other kinds of hardware and it's kind of sad to see people cut/drill cases up). Given the height of the case, it's possible that mounts for something like a Mini-ATX could fit.

The machine (tentative)

Indeed, an EE would immidiately be able to tell that the layout makes little sense. I like painting these though, making stuff look cute. If you look at motherboards today, people do buy designy stuff with aluminum profiles, prints and even "armour". I also like the idea of discrete components which are easy to read. A generic FPGA sitting there doesn't look as interesting and feels sort of fake.

Power on

    *** Acorn SW, model Pi ***
 64K RAM, 256K ROM, 512K Storage.
----------------------------------
Get started: HELP, INFO, DIR, DEMO
ROM programs: ABIDE, APEX, ATREK
----------------------------------
> ABIDE 

When I boot up a computer for the first time, it helps to be given hints of what to do. Older computers relied more on user manuals than in-program help I suppose. Modern command prompts are similarily, needlessly cryptic. Two simple lines of text would help, and actually helpful help files.

A more advanced text editor with syntax highlighting, syntax help, indentation, text buffer, copy-paste, mouse support etc. Programs are compiled into machine language.

The games!

Whilst Galaga, Tetris and Breakout are classic games, ports are everywhere nowadays, so I'd like to see at least some games which feel British and typical for the Beeb and Speccy (or later). In order of complexity, a TOP-10 list from, uh, 1989 when the computer was towards the end of its life:

8 color repton mockup.

Not quite what I had in mind for the OS. It needs to be simpler, perhaps running in text mode. This mockup is based on Arthur.

Steps to realization

10 INPUT A$
20 IF A$ = "Take a RPi and throw it in a cardboard box and play pretend." THEN GOTO 30
25 IF A$ = "Here, have 20-40 million." THEN GOTO 40
30 PRINT "...?" : GOTO 10
40 PRINT "HOORAY!"
50 PROC_Convince the BBC and ARM to collaborate on the project ("Flash$$$")
60 PROC_Develop an emulator to help nail down specs ("-$" )
70 PROC_Develop the OS, ROM programs, BASIC compiler and test games ("-$$")
80 PROC_Design and manufacture the custom chips ("-$$$")
90 PROC_Assemble first rev of the board and work out the kinks ("-$")
95 PROC_Design the keyboard case and peripherals and fund plastic injection ("-$$$")
100 PROC_Kickstarter for promotion because that's how it works nowadays ("+$")
101 REM I guess we're sort of done? Eh, someone else take care of this.
102 PRINT "Klytus, I'm boored..."



Art by Arne Niklas Jansson

AndroidArts.com