BBC BASIC in RiscOS on a Raspberry Pi is really cool!
ฝัง
- เผยแพร่เมื่อ 25 ส.ค. 2024
- The Raspberry Pi, Acorn Archimedes, and the BBC Micro have played a significant role in shaping the microcomputer industry. They were designed to be affordable and accessible to the general public and educational institutions, with the goal of promoting computer literacy and technology education.
The Raspberry Pi is a series of small and low-cost single-board computers that were first released in 2012. It was designed as an educational tool to help teach computer science and programming to students, and to provide a platform for hobbyists and DIY enthusiasts to build their own projects. The Raspberry Pi runs on a variety of operating systems, including Linux, but its most notable operating system is RISC OS.
The Acorn Archimedes was a range of personal computers produced by Acorn Computers Ltd in the late 1980s and early 1990s. It was one of the first computers to use the ARM architecture, which is now widely used in mobile devices such as smartphones and tablets. The Archimedes was notable for its advanced graphics capabilities and was used in educational institutions. The Archimedes ran on the RISC OS operating system, which was developed specifically for the platform.
The BBC Micro, also known as the BBC Microcomputer System, was a series of microcomputers produced by Acorn Computers Ltd and released in 1981. It was commissioned by the British Broadcasting Corporation (BBC) as part of their Computer Literacy Project, with the goal of promoting computer education in schools and homes. The BBC Micro was widely used in educational institutions and was one of the most popular computers of its time. It was equipped with a 6502 CPU and ran on the Acorn MOS operating system and was programmed using BBC BASIC.
BBC Basic is a high-level programming language that was developed by Acorn Computers Ltd for the BBC Micro. It was designed to be simple and easy to use, and was intended to introduce beginners to the concepts of programming. BBC Basic was widely used in educational institutions. The language has been updated and maintained over the years, and is still in use today by a dedicated community of users and developers.
RISC OS is a proprietary operating system developed by Acorn Computers Ltd in the 1980s. It was designed to be simple, efficient, and easy to use, and despite its age, RISC OS continues to be used and maintained by RISC OS Open Limited www.riscosopen.... In addition to running on old Acorn hardware, it also runs natively on the Raspberry Pi.
-----------
Video Title: BBC BASIC in RiscOS on a Raspberry Pi is really cool!
You can write |BBC BASIC programs in Edit or better editors like StrongEd or my favorite was Zap. Once saved you can then execute from the desktop. You have access to all the modules under RISCOS including outlined fonts too and Draw. I Once wrote a sprite drawing routine in ARM assembler using the inline assembler. Not easy but I didn't have access to a C compiler as it was expensive. It was capable of running animations and calculating if a something collided with a non-transparent pixel in the sprite. My first sprite was generated using BASIC code to draw a 3D object and rotate to create a spinning sprite. It was really cool. On Raspberry PI that would run really fast today. Sadly stored on a hard drive somewhere on one of my many Archimedes and can't find.
I liked mode 7 which was the Teletext mode. The lines you saw being displayed across the screen was probably the graphics mode character which made everything on the same line change to graphical objects. Another character would switch it back to text mode which is the default state at the beginning of each line.
Never thought I'd catch General Zod talking about BBC BASIC!
I've got an A420 upstairs, it's actually the very machine we had in CDT at school. I just happened to be in the right place at the right time to be able to get it from my school many years after I'd left and moved away from the area. It's been stuck in a state of not working as the hard drive died at some point in its life and trying to adapt it to use modern storage like memory cards (like I've done with many other of my machines like the BBC Master and Amiga 1200) has been very difficult due to having to source hard to find podules. I did get one but the ROM needs updating.
This video has shown me a way I can get back into the Archimedes without having to spend loads of money and time upgrading a machine I probably won't get to use much because of space having these machines set up. My Amiga 1200 is my main retro machine (thanks to the PiStorm) and after that it's my BBC Master (which also has a Pi inside it being used as a PiTUBE) so it looks like a Pi 400 will be purchased soon but I have one question - is there any way of getting the keyboard from my A420 plugged into the Pi 400 via an adaptor of sorts? I've never liked using BBC emulators because of its awesome keyboard - mapping has always been an issue, similar to trying to use a Spectrum 48K under emulation with the tokenised keywords. I wrote a new games menu for the hard drive in my Master (yes, it's 2GB!!!) in a mix of BBC BASIC and 6502 assembler.
Many thanks for this video - it's opened up a whole new world of possibilities for me with the Archimedes and BBC BASIC, I can't wait ton get in and play plus with it being so small (I have a RetroPie for gaming) I can store this so much easier than a full sized computer.
Never had any assembler manual for my BBC B. Did a lot of BASIC. Eventually wrote a font editor to redefine the standard font using a gui/mouse with a grid editor and outputting VDU commands to redefine the font/glyph of every letter. Then you go back into Archimedes Desktop mode and everything takes on that font. Won a regional programming competition with my Scorch game entry too. haha fun times. Never learnt Assembler though. If I knew that, perhaps I could have made some really good action game bits and pieces.
Excellent video 👌 this is what youtube is for 👍
That inline 6502 assembler was a very neat feature on the BBC micro. I think Locomotive BASIC on the Amstrad CPC let you do that too... but with Z80. Possibly the Memotech MTX machines allowed Z80 inline too... just a vague memory. I had a ZX Spectrum (and C64), and you either POKEd using READ and DATA, or loaded a CODE file. However, there were lots of assemblers available on tape. I used the one by Picturesque, but I think the most popular, was Zeus. Nowhere near as convenient as that inline assembler. The BBC Model B had a much better BASIC and OS in its 32K ROM... but being 8-bit, that size ate into the 64K of memory addresses; it didn't have enough RAM if you were in a high res mode.
I think you'll find that HiSoft Devpac was the most popular assembler on the ZX Spectrum.
Thanks for a great video. Actual original content. Not just a rehash of the same old superficial impressions. I would love to watch your adventures with Arm assembler code. One thing that would be a nice addition would be access to the code listings for the examples used in the video. If you could add a link to a Githb repository or something similar, viewers could try them for themselves and easily modify them to try out their own ideas.
I love that Model F keyboard! Quite jel!
FYI: +F12 Will open a Command Window, you can run BASIC in, within the Desktop. Not forgetting free editors, like !Zap, allow you to write and run BASIC from a colour coding, line number free environment, using a font of your choice. Not forgetting, by default, Shift clicking your BASIC source files will open them, in the built in, !Edit app (or whatever App you've associated), making editing a bit easier, no
I’m pretty sure you can use !StrongED that comes with riscOS too 🤔
@@nickblack9891 It certainly does. You can even see it pinned to the pinboard (yes, that's the RISC OS name for it) at 2:56
indeed, RISC OS is high brow retro computing
nice video, nostalgic...
i miss my bbc!!!! went all the way up to the archimedes way back when. but i did my 5th year computer project for my GCSE on the beeb.... was a teletext clone that ran pages in a similar way to the way teletext did.
Nice to see RISC OS getting some love. I've booted it up on a Pi a couple of times but never really got off the starting blocks. But it's ace that something that old is still going and what's more that it's been adapted to the Pi (yes, that ARM chip has some serious heritage cred'). I never got to touch the BBC Micros at the school I went to, so no idea how to deal with them at all, but having managed to get off the starting blocks with z80/ZXspectrum assembly it would indeed be interesting to see what could be done talking directly to the ARM processor in the Pi. Looking forward to some more stuff from NCOT :-D
I ran it on emulator and instantly fallen in love with it (intially I expected some Amiga OS style nonsense). So I ordered Pi400 to learn ARM, port my apps to RISC OS and hopefully replace Windows/Linux. Hopefully it will be possible to get RISC OS running on one of the ARM laptops with proper power management.
@@nangldRiscOS has some quite obvious limitations compared to "modern" operating systems, and a number of unique quirks, so depending on what you need and expect, it may not be the best option. But then again, it might be ideal. It makes the Pi (and some other ARM boards) into a 21st Century Archimedes or BBC Micro.
This is awesome I’m going to do this right now, many thanks 🙏
A video showing the speed against og BBC basic in stuff like complex plotting, fractals etc would be interesting
I've never seen the MODE statement used like that
I still use my Risc Station 7500 and I also updated my Pi400 with Artworks 2 and Techwriter 9, both fantastic packages. What I lament is that Risc OS is only 32 bit and cannot be easily ported because of all of the low level code that made it so versatile on low end hardware 30 plus years ago. Still, I would rather a modern Risc OS that is not backward compatible than have it die. As for programming, I have used GCC, but a lot of code often needs Linux compatibility libraries that defeat the GUI standards.
Like many old operating systems, eventually you'll have to either run it on "old" hardware or use an emulator on new machines. Sadly ARM have changed the 64 bit ISA to be incompatible with the 32 bit ISA, and RiscOS was written in 32 bit Assembly. I can't see any of the current maintainers having the time or inclination to rewrite the whole OS in 64 bit Assembly or C.
Still have my BBC Model B and dual floppy drive.
Subbed, great video.
Top stuff! I appear to be living in a parallel universe.
If you use the editor package (in command line not riscos,) you don't need line numbers. They may be there just under surface, not sure. It was a bit like nano from Linux. You had to know the keyboard shortcuts but was easier than using basic command line. I used it to code with back in the day.
How do you launch the "editor package" from Acorn MOS? Always used basic command line myself.
@@bobmcbob4399 can't remember off top of my head but would be surprised if not *edit
ARM CPUs were developed FOR the BBC Micro NOT on the BBC Micro, pardon the correction.
The prototype ARM CPU was designed ON a BBC Master with a 6502 Second Processor. Sophie Wilson designed the instruction set and Steve Furber implemented it in silicon. VLSI provided the foundry. One of the prototype chips was used to make the first ARM Second Processor. The first limited production run resulted in the ARM 1, which was used to make a batch of Second Processors. ARM 2 was the result of the full scale production run and was used in the first generation of RISC OS computers (the Archimedes branded A300- and A400-series). In fact, when the Archimedes range first launched RISC OS was not ready and an interim operating system called Arthur was included, with the promise of a free upgrade to RISC OS when it became available. I ordered a model A440 on the day they were announced (4 MiB of RAM and a 20 MB hard disc) and received it a couple of months later, with Arthur installed. After another six months or so the set of RISC OS 1.2 ROMs arrived and completely transformed the machine.
@@johnm2012 I miss having an OS on ROM. Instant on. Mind you, I do like booting into either Win7 for gaming and Linux for productivity.
@@bobmcbob4399 The thing is, ROMs are pretty slow by today's standards and NVMe storage is much faster than anything we could have imagined back in the 1980s. ROM-based OSes can't easily be updated and in between releases you have to load patches from disc, which slows start-up enormously. My Archimedes's !Boot application became very complex and convoluted over time. The big problem with modern OSes is the bloat.
@@johnm2012 oh ok. Although I used Archimedes at school, wasn't aware of these kinds of issues. And yes, modern OSes are bloated.
I think if Microsoft and Intel weren't a thing we would have probably wound up with ARM based systems that ran around generic hardware like a PC, running some kind of CP/M improved with a GUI. Or perhaps Apple might have taken over as were in bed with IBM PowerPC at one point. “Difficult to see; always in motion is the future.” as some green dude once said in a decent Star Wars film...
Excellent video as always however. I would love to see more retro--futuristic coding on a system that doesn't really exist :)
Why use CP/M? Acorn designed the ARM chip, and they designed a GUI based OS for it. And also they had plans for a new OS, at least until they decided to quit the desktop computer market. CP/M was originally designed to run on 8 bit CPUs, so had to make lots of concessions that wouldn't be needed on more powerful CPUs. ARM was a 32 bit architecture from the outset (albeit initially with 26 bit addressing). And it was faster per clock than any x86 chip of the time. MSDOS was just a renamed version of X-86 DOS, a 16 bit clone of CP/M, created by Seattle Computer Products. And CP/M did have a GUI available... it was called GEM.
Apple was involved with ARM since 1990: they used it in the Newton PDA, and Apple was a founding partner in Advanced RISC Machines Ltd when it was spun off from Acorn - the first CEO of ARM was an Apple VP.
Shame that RIsc OS modern doesn't run the old greats from Archimedes like Chocks Away or Conqueror or Twin Worlds etc
There are programs that allow you to run older Archimedes software. It's not RiscOS that's at fault, it's the fact that technology has moved on from the first ARM CPUs and their (quite reasonable at the time) addressing limitations, so RiscOS had to move with them to work on newer chips.
Back in the days of Acorn designing and making a whole range of ARM based computers, they were actively looking to replace RiscOS with a more modern, more capable OS. Like many products in computing history, this was never completed, and didn't materialise on their machines before they left the home computer market. So RiscOS lingered on, dodging the bullet that Acorn had planned for it, and 30+ years later, it's valiantly struggling along on crutches, trying to make a last stand before purely 64 bit ARM chips finally kill it off. 😢
It’s RISC OS. RiscOS is different thing entirely. The killed off OS was going to be ARX, it was dog slow and plagued with problems. As for RISC OS being killed off by purely 64bit ARM chips…. Watch this space.
Nice video, but it doesn't really show the full beauty of the RISC OS (most people wont care about BBC Basic, while the RISC OS itself comes with native C++ compilers plus a Unix compatibility layer with GCC). RISC OS was the first OS to introduce Apps and did it better than OSX or Android. Or how RISC OS allowed seamlessly running Apps directly from the zip archives (they had to invent their own arc format, since zip wasn't around yet in 1987), which sped up running stuff over network, from floppies and cdroms. Back in the day it allowed stetting up RAM disk with just two clicks (RMB on the OS logo, and clik and drag the RAMDisk slider). Compare that to DOS or Amiga. Today it allows for easy virtualization. You can seamlessly run 1987 apps on the modern system (you just have to give them a virtual floppy or a virtual CD), if Aeumulor is launched. That is despite RISC OS getting forked and switching several companies and dev teams over the years. OSX can't run NextSTEP software or even older OSX stuff (not speaking about the classic mac software). Apps themselves also prioritized user friendliness, instead of overwhelming the users with annoying nonsense, like MS Word did with Clippy. So what people care nowadays, if it will make running Python easier. Which it can, if it gets wrapped into a nice App with all dependencies included.
"You can seamlessly run 1987 apps on the modern system (you just have to give them a virtual floppy or a virtual CD), if Aeumulor is launched"
...So you are saying I can get Conqueror or TwinWorlds running on modern RiscOS on a Pi? Is there anything I can look up? Because Aeumulor draws a blank.
0:35 What's a Pi 1200?
Very interesting video. Remember when typing a BBC BASIC program to use the AUTO command. Also learning the command abbreviations also helps such as P. for PRINT and M. for MODE [of course on the Electron you could use the brilliant CAPS LK FUNC key to quickly enter commands]. VDU23 is also worth learning about. MODE 7 is a Teletext mode and can be used to create Teletext style block graphics - try two consecutive lines of P.CHR$(142);"HELLO" for enlarged text. PROC and FN can be used instead of GOTO and GOSUB to make a tidier program. ON GOTO and ON GOSUB can also be useful. REPEAT... UNTIL 0 is a better way of creating an infinite loop of commands.
How about accessing the GPIO inBASIC? Also auto starting a BASIC program at boot running RiscOS?
How about a BBC BASIC compiler, like the one that is available for the PC? Now that would be something.
I don't have anything against BASIC, but does it have to be in ALL CAPS? It makes it so much harder to read. It's like being ranted at.
Does RISC OS support gcc?
BBC BASIC wasn't ALL in caps! Commands were but user defined functions and procedures and variable names could be in lowercase.
@@SpeccyMan That seems like it would take constant use of the shift or caps lock key. I didn't own a BBC micro - they were too expensive. I did own a ZX81 then a ZX Spectrum though - both of which involved multiple shift key awkwardness.
It is entirely possible to write programs in BBC BASIC and never ever have to use goto.
RISC OS lacks preemptive multitasking. This alone was enough to scare me off back in the day.
I was a Windows 3 user, you got used to your entire machine going down if an application refused to give up its CPU time 😁
@@ncot_tech I went to Slackware and then Debian Linux in 1997.
I wish I would have know about AmigaOS in the late 1980s and 1990s, only started using it the last 3 years
Why would it scare you off? Most people wouldn't even have heard of pre-emptive multitasking, let alone known the practical differences. At the time ARM and RiscOS launched, Preemptive multitasking was the preserve of a few high end OSs, none of which were designed for the home computer market. CP/M, MSDOS (MS licensed and rebadged 86-DOS from Seattle Computer Products), Windows 1, 2, 3, MacOS, Sinclair QL DOS and Atari's TOS were all either single tasking or co-op multitasking. The Amiga was the only standout for home computers, and even that wasn't the most stable of OSs.
@@another3997 yeah it scares me off big time, what is now called “classic” Mac OS was cooperative multitasking and it was a massive POS, no protected memory crashed constantly.
However AmigaOS had preemptive multitasking back in 1985 (AmigaDOS was/is a port of TRIPOS a one time Unix competitor).
Amiga OS is incredibly stable, I use it today and an accelerated Amiga 1200 for daily driver tasks.
Cooperative multitasking sucks.
RISCOS peeps keep saying RISCOS will get preemptive multitasking at some point but it’s never happened.
RISCOS has a nice UI, it would be the perfect OS for Raspberry Pi computers if had preemptive multitasking.
In the 1980s (I lived through it so I don’t need the OS history lesson LOL) I used a TRS-80 (and a few other Tandys) and ran OS-9 on them, it was Unix and of course had preemptive multitasking. In 1997 I went to Debian Linux and PC hardware.
Today I use Linux boxes, my Amigas, and the Unix like Mac OS X (now rebranded “macOS”) computers, and of course smart phones and tablets.
Unix won. The only devices out there that aren’t Unix now are Windows PCs (and even Microsoft finally figured preemptive multitasking out).
@A Nother not true. Amiga Workbench was a preemptive multitasking OS, released in 1985. Hardly a high end machine.
apple
what about XRoar - nobody has yet ported it across to risc os ?? thanks.................