Just got a Pi1B. What can you actually do with it these days?
Jun 06, 2025 Last reply: 1 year ago 46 Replies
G
Gordon Henderson
I know what it is and what it was designed for. I was there in the early days, owned an Arc, have followed it's development over the years, etc. I'm just not interested in it right now, thanks.
I have a scheme for multiple cores in my own system, (it's capable of pre-emptive multi-tasking) but not got the energy to implement it over multiple cores for now.
This is it in it's original incarnation on a 16Mhz 65C816 CPU demonstrating multi-tasking:
formatting link
The graphics is via a 115K serial link to a "smart" terminal running on a Linux desktop. It uses Acorn VDU style commands for graphics, etc.
Over recent years I've ported it from the 816 to RISC-V and now to ARM32.
The Pi version has native graphics and works well on the Pi 7" screen thing (or external HDMI). It boots to Basic or BCPL in under 2 seconds.
Thanks,
-Gordon
Didn't find your answer? Ask the community — no account required.
T
Theo
That was aimed at the OP who was asking the question, not you :-) If you've written your own OS I'm sure it works exactly how you want so no reason to use something else.
As long as you don't need synchronisation, there's not a lot to running multiple cores - you just set them going with different PCs. It's when they need to talk to each other, or you need them to work on the same data, then things get more complicated.
(in the case of RISC OS, a whole load of legacy APIs are not thread safe. In a custom OS you control everything so you can avoid such problems)
Looks neat. I see a certain Acorn heritage there too :)
(does that serial protocol have any similarity to the Tube, by any chance?)
That's the nice thing about not having to boot Linux or systemd...
Theo
G
Gordon Henderson
Hm. Maybe my threading got mixed up. No matter though.
Other than the sheer effort of getting "stuff" going where there is more lines of verilog (or whatever) in the hardware than the software driver needed to actually use it - e.g. USB... (or vice-versa, but essentially things are now too complex to be fully understood by one person now)
It's interestingly complex in my scenario in that there is a virtual machine written in the native assembly language ('816, RISC-V or ARM32)
- it's like a sort of microcode and that's the level the multi-tasking happens. Think Inmos Transputer if you know them... The neat thing is that when I ported it from the '816 onwards it was/is binary compatible from the output of the compilers point of view.
The one "big lock" needed right now is the memory allocator - it's a flat memory system with no MMU so all calls to it's equivalent of malloc() need locking, but that's OK for now and I've been looking at other models like CSP but time is limited and there's only so much I can do for what's really a little hobby.
Well - that was the evolution. I started with a 65C02 system and made it vaguely Apple II compatible, as that's the first 6502 system I used, but then I wanted a better Basic, so threw that away and wrote an Acorn MOS compatible OS for it - compatible to the point it will run some Acornsoft ROMs unchanged including BBC Basic. The MOS has calls you might expect like *exec, *spool, *. and so on... as well as enough osbyte, osword, oscli, etc. to make BBC Basic happy.
I don't know as I've never done a deep dive into the Tube - but it's good enough for BBC Basic to run with most of the plot commands working as they should - although the output resolution isn't scaled to 1280x1024 like the Beebs is but it's whatever the native resolution of the display happens to be.
So if you type
PLOT 4,0,0 : PLOT 4,200,200 : PLOT 85,200,0
in BBC Basic running on my '02 or '816 board with my smart serial terminal it will draw a triangle.
If theory, if you used a temrinal program on a real Beeb and just had it echo what it got from the serial port to the screen it should "just work"... I've not tried this yet.
But I may have to boot a Linux for my campervan project as I'd really like to use a USB serial line to talk back to the MCUs that form the sensor network. Running the VM under Linux should be easy as the upper layers (in BCPL) assume a Posix style interface to the underlying whatever. What's another 20 million lines of code in a little hobby project anyway...
-Gordon (Probably the 2nd last person on the planet to code in BCPL)
D
druck
Talking of bare metal; you can run Circuit Python on the Pi without the OS. After all the original 1B is closer in memory footprint and performance to the Pico than it is to the 5B.
---druck
B
Brian Gregory
I think a typical single thread 1GHz x86 CPU can probably totally knock the spots off a single thread 700MHz ARMv6 CPU.
J
Jim Jackson
I have an original Model B rev 1 with 26way GPIO and only 256M RAM which I must admit I don't use much.
But my Raspberry Pi 1 Model B rev 2 with 26way GPIO and 512M RAM is hooked upto a Gert Board, and I use it for my odd forays into AVR chip programming, and to play interfacing.
My RPI 1B+ with 40way GPIO and 512M RAM was until 6 months ago my backup server. It had a 1GB USB2 attached hard drive, and it could be powered on and off from my Pi4B home server to do a secondary backup of important stuff. Backup was using rsync so only changes saved, and yes it was slow, but it all happenned automagically at night for many years. Been replaced by a 3B+ and a bigger disk connected by a powered USB3 adapter.
I would only run the early Pi's headless. They'd make a reasonable time server, DNS server, probably even pi-hole. My god, we used to NFS serve home directories for a couple of biggish labs of Linux machines from a Sparc server with 32M RAM in the 1990's :-) It's amazing how little grunt you need for some jobs.
L
Lawrence D'Oliveiro
Back then, servers were considered the big, grunty machines, while clients were expected to be somewhat wimpy and lightweight in comparison.
Nowadays, a typical web browser is far more complex and resource-hungry than any web server ...
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.