RISC OS, the operating system with its roots in Acorn's 1987 Archimedes micro and therefore the birth of the ARM processor architecture, has been released for the Raspberry Pi. Available as a free download, or pre-loaded onto an SD card for £10 plus postage, the release for the Pi is version 5.19 RC6. There's also a £35 software …
My second childhood is beckoning (pouting lasciviously, actually)
First step was buying the "Acorn User" DVDs from http://www.acornelectron.co.uk/p-dvd.php#au_dvd_1 - cue much ooohing and aaahing and cooing as all those neurons that have been napping for almost three decades jumped up and fired away.
And now a (sort-of) Arc for a mere hanky-load of groats? All I can say is...
100 DEF PROCAsm
110 DIM store 100
120 P% = store
130 [ MOV R0, #42 ; built-in assembler, wheeee!
140 MOV R15, R14
first post made the point I wanted to make
giving your hippocampus the chance to dredge up some very old syntax from deep memory.
BBC Basic has an embedded assembler, so you've actually got two different syntaxes to remember (or, in my case, learn).
I started programming life as an early teen on a BBC, and would love a chance to do it again. And maybe finally understand what the heck the assembler was all about.
Wonder if it'll simulate the different modes - Mode 2 for lower resolution but more colours, Mode 7 for text but it's black and white (or just a few colours, I forget) etc etc.
Have a look at Beebem.
Or indeed fire up your Android phone (or preferably tablet), point it at Google Play and download Beebdroid.
Can I play my old Exile game on it? And Elite?
I'm actually really excited. Must calm down and write some boring JSF UIs.
Yeah.... stuff the Kickstarter project Braben -- just get ArchElite on GOG.com
RiscOS was ARM Archimedes, not the 6502 based BBC Micro
It just happened to have the similar BASIC.
I doubt it very much, I'm afraid. Most RISC OS games were very tightly tied to the hardware and very rarely went through the OS interfaces for stuff like drawing on the screen. RISC OS wasn't much for hardware abstraction. Also, most games ran in one of the 320x256 graphics modes with the freaky palette, and I would be very surprised if the Pi supported those.
RiscOS was ARM Archimedes, not the 6502 based BBC Micro. It just happened to have the similar BASIC.
Oops. I just assumed that it was the same BBC Basic on both BBC Micro/Archimedes. I got that impression from this (excellent) guide to ARM assembly:
Is Zarch* included??
* (aka Virus/Lander)
I'll be rummaging through the drawers tonight to find a SD card to put the RISC OS image on, then firing up the Pi.
Re: Great News
Perhaps the Sodor?
Re: Great News
I bought a pair of SD cards in Tesco marked to 1/2 price for this purpose. I must find them
Re: Great News
Found an SD card, but only a 1GB when it needed 2GB for the image. RISC OS is small though so there is nothing in that 2nd GB, so a quick use of RISC OS on the Iyonix fixed that (F%=OPENUP"image":EXT#F%,1024^3:CLOSE#F%) and I was able to get it up and running.
It didn't have any boot sequence, so it would do a lot, but I was able to tap in a variant of Random Triangles, which was the very first program I typed in from the BBC BASIC User Guid in 1981.
10 MODE 28
30 GCOL 0, RND(255)
40 PLOT 85, RND(1280), RND(960)
50 UNTIL 0
And off it went, the use of the GPU for acceleration was obvious, resulting in a blur of triangles 6x faster than the Iyonix with its old nVidia graphics card.
If my memory fails me...
I still actually have my BBC Basic user guide.
Where was that article on hoarding again?
I just might have to order a Pi now...
Alternatively just download http://www.mkw.me.uk/beebem/
BeebEm doesn't appear to run RiscOS, so that would be rather pointless.
Cracking. Now how do I extract my old 4th Dimension games off their 1.44 Mb disks
MODE 7 is teletext mode, and I believe it works as it is a software emulation (and always has been in RISC OS; the BBC Micro had a hardware teletext chip.)
As for all your old games, they probably won't work: the ARM11 in the Raspberry Pi lacks the old 26 bit code addressing mode used by original Acorn systems and so only software patched or recompiled etc will function.
(Stuff in pure BBC Basic with no assembler will probably still work.)
many of these work if you get Armulator - currently being tweaked for the Pi.
10 VDU 2
20 PRINT "PACKER IS A KNOB"
30 GOTO 20
A newer OS than UNIX/Linux :-)
1987 vs 1976?
Re: Whoo Hooo!
Unix perhaps. Linux = 1991.
I'll go pedant at people somewhere else now.
This has been around for a few days now, and there has been a fully functional RISC OS image available for the Pi for ages.
I gave the latest version of RiscOS a whirl on my Pi last week, I was initially very impressed with how responsive it was compared to Linux, until I tried to do something CPU heavy (like installing software from their package manager apparently) and was reminded how terrible cooperative multitasking is...
Setting up an internet connection is considered programming now? Wow. Talking about clueless morons only able to click links...
cluless are w <click>
Co-operative multitasking in itself *can* work well - it's great for simple high-throughput servers (pretty much how Novell's NetWare was built, though it added basic 'pseudo pre-emption later') - though it does fail badly in a lot of cases too. There's some basic command-line-only multitasking available on RISC OS in the form of TaskWindows, which might help with the package manager, and someone actually got quite a long way towards implementing a pre-emptive scheduler under the name Wimp2 (the original desktop being 'the WIMP').
(Quite an impressive feat that Windows managed to jump from cooperative to preemptive multitasking along with the 16-32 bit move, while keeping the API almost identical; there are a few catches in the RISC OS API which make this more difficult, as I recall, which is a shame.)
Re: Co-operative multitasking
Indeed it can work very well, but it means that the programmers need to know what they are doing and write decent code.
P.S. The clue is the word co-operate.
Gosh, that's a quick desktop. You drag the windows and they move in real time. Although it nearly made me cry when I looked at the task manager to find the free pool was 128000K. I remember spending weeks on end cramming my games to make them fit in a 640k free pool to support the 1Mb machines.
Visions of the Impossible.
Remember BBC BASIC? I do! I Do!? Or rather, I did...
A trip down memory lane for some of us but of little or no use today for any practical purpose...
Write your own TCP/IP stack?
So given you need to hack it to even enable the network port do you have to write your own TCP/IP stack too?
I'm only being semi-facetious here as ISTR the simplest (and most reliable) way to get the last model of Archimedes online was to buy an add-on card which was basically a 486SX25 with 4MB of RAM - and run Windows For Workgroups or Win3.1 with trumpet winsock.
There was some sort of belated TCP/IP stack on the Archimedes but it was pointless given the RiscOS internet apps were crap.
I'd load it up to see but my current Raspberry Pi issues are more demanding - getting a couple of HDHomeruns working with OpenElec. DVDs play fine now with the MPEG2 licence so the HDHomerun ought to be fine. Annoyingly I had OpenElec+HDHomeruns "working" (it'd find channels but not play them) before I got the MPEG2 licence, then I decided to start fresh and can't remember what the hell I did before. Not the first time that's happened :)
Re: Write your own TCP/IP stack?
"So given you need to hack it to even enable the network port do you have to write your own TCP/IP stack too?"
Hack it? <sigh>
It's a pointy-clicky configuration tool that you tell it how the network behaves (static IP, DHCP, blah blah). Give it the right info, it is done. No, you don't need to write a stack. There's one built in. I guess, since you call the machines "Archimedes", that it has been a really long time since you'd used RISC OS...
"I'm only being semi-facetious here as ISTR the simplest (and most reliable) way to get the last model of Archimedes online was to buy an add-on card which was basically a 486SX25 with 4MB of RAM - and run Windows For Workgroups or Win3.1 with trumpet winsock."
You really don't have much of a clue, do you? Okay, so setting up ka9q was a serious pain in the ass. Well, Argo Interactive put together a floppy disc of stuff. An entire internet suite on a floppy disc (this in the days before widespread scripting and when HTML 3.2 was cutting edge). Anyway, put the disc into the machine, let it install some stuff. Run it, and off you go. I remember thinking it was going to be a BBS killer because you could download stuff (which took ages at 28k8) and do other stuff at the same time. Like try to figure out the best syntax to get altavista to return the results you really wanted...
"given the RiscOS internet apps were crap."
They are lacking now. I'm not so sure back then. Heck, Webite made a better attempt than Mosaic. Fresco and Oregano did a reasonable job with the whole "Best viewed with MSIE 3!" style pages. I think it started to come unstuck around the time of HTML 4 (anybody remember "frameset"? ;-) ) when the world went "yay" for scripts and flash and real video (as opposed, I guess, to fake video?).
Pluto was hands down better than most of the mainstream packages around. These days we have Thunderbird. Fifteen years ago, we didn't. But then, I decided to write my own mail fetcher because I wanted to discard messages that were "too big" and so on. I wrote it in BBC BASIC. Because I could. Talks POP3, it'd probably still work...
"my current Raspberry Pi issues are more demanding"
Mmm, enjoy yourself. You look at DVDs, I'll look at RISC OS's kernel source. We all have our own definitions of "fun".