News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Dabz

Amstrad ala Pi... Just thinking...

Started by Dabz, 20:31, 24 March 16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Dabz

I've recently become a proud owner of a Raspberry Pi Zero, and, it's a cute little bugger! :)


I've got RetroPie on it, and, it runs the emulators well, I've never tried Mega-CD/PS1, but, I've read it's a bit slow, no problem, I have a PS1 tucked under me desk.


Anyway, the Zero is a gorgeous little thing, lovely... But after a conversation over at the blitzbasic boards, I stated that the Pi sorta let itself down in such a way that, because of what it is, in effect, a modern PC, and because of how popular it has become, it sorta shot itself in the foot and fails at what I see as the point of it in the first place [well, one of the points], to learn, about how computer work. Obviously it's a modders wet dream, media centres are the stable diet as well and the retro thing... But programming wise, it's still a modern PC that, ultimately, programming is abstract from the hardware itself, it's no different then programming on any linux box, windows box or Papple box.


And with the amount of variations in the series... 8 different specs in three years, its running up to the point where it is probably as powerful as a £200 craptop from PCWorld.

Because of this, I find the Pi, in a programming sense, fails to expose a lot of what could be learnt like we did with our fave 8-bit machine (Or any other back in the day), the more you put into the Amstrad, the more you got out... You literally had to learn how it all works to get the best out, from the firmware, to the CPU and it's registers, moving data about manually etc etc


This is what made microprocessors great.


So, while I was giving Sonic on the master system emulator a run about, I just thought, wouldnt it be great if you could get a little board like the Pi Zero, that reflected all that I loved about the Amstrad (Or just plain old 8-bit systems), I'm not saying just rehash an Amstrad into a Pi, maybe something different, and what you have left is something that, you can use and abuse, be clever with, a machine that rewards you. The specs are fixed and what you have is what everyone else has.


I think that would be pretty cool! :)


I havent got the technical skill to build such a system, or even plan one, but, I imagine it would be a nice thing... Just thinking*! ;)


Dabz


*If there's anything out there already, let me know mind! :D

pelrun

I think you're completely wrong; a platform doesn't have to be totally neutered to be a good education platform. In fact, that's almost certainly the worst possible thing you can do, because if you can't actually do anything interesting with a platform, why would anyone be interested in learning how to use it? Additionally, if you did learn to use a neutered platform, those skills aren't useful anywhere else.


The Pi is meant to be a modern platform cheap enough that you can give it to a kid and let them go wild, without having to worry about the consequences of breaking it in the process. And since it's powerful enough to do cool things with, there's plenty of scope for someone to find the thing they're interested in that motivates them to learn how to do it.

Dabz

#2
QuoteI think you're completely wrong
Opinion taken... And, well, not accepted really! ;)

Quotea platform doesn't have to be totally neutered to be a good education platform. In fact, that's almost certainly the worst possible thing you can do, because if you can't actually do anything interesting with a platform, why would anyone be interested in learning how to use it?

If that was truly the case, why are they going to give millions of micro:bits to schools? You cannot really get any more neutered then that device, with it being backed by the BBC, ARM, Barcleys, Microsoft, Samsung amongst many other tech giants, so, no... A neutered platform isnt the worst thing, as, it helps learn the fundamentals,  which is important.
QuoteThe Pi is meant to be a modern platform cheap enough that you can give it to a kid and let them go wild

Okay, after reading that... I did a little test, and I invite anyone to do this and you'll probably get the same as me... So, I have no kids, so, I've been on the blower to some of my nieces and nephews, on to a few mates who have kids at secondary school... And asked them the question "Do you know what a Raspberry Pi is?", answers I got back were "Yeah, it's just a computer", "A little computer", "No", "Mmmmm mmmm", not really a resounding result... Courts, who's my niece, the one who said it was just a computer, I asked her what she meant  and she said "It's just a computer... Dunno".

Basically, what the Pi is, from my perspective, maybe not from yours, but definitely from mine... The Pi is ultimately, a little device (And a great one), that probably gets more usage being a device for adults more then a learning device for kids... Everyone I know who has a Pi, and uses it, are adults... Online and off.. I use mine for retro stuff, a few mates use theirs for streaming films and footy, people online use it for dev purposes (Hobbist's coders mostly)... I don't know ONE single kid who owns the thing... Not one!

And do you know why... Because the Pi is a ruddy computer like the ones that you buy in Currys, and the vast majority of kids have these already, it doesnt impress them, it doesnt fire their imagination... It's a normal run of the mill PC.

Now, I'm not saying some kids dont use it, I was 9 when I got my Amstrad 464 and was hooked, but, I'm guessing that the kids using them for say, robotics and what not is a pretty low amount if you look at how many have been shipped... Which is a shame.

So, that's my view of the Pi, lovely bit of kit... Missed a beat though.

Dabz

Munchausen

So I think there are already a bunch of projects that fit the bill for what you're talking about:

Arduino - 8 bit AVR microcontroller system with easy programming
Uzebox - 8 bit console based on AVR
Fuzebox - moded uzebox with a case
Bitbox - 32 bit console based on an ARM microcontroller - like an uzebox but more powerful
Micropython pyboard - a tiny ARM based microcontroller dev board that runs python - you can code directly on the system by just hooking up a USB cable to talk to its console

And many, many more. None of the above run an OS that abstracts away from the hardware. Some of them do have some kind of abstraction (uPython abstracts hardware but lets you access it directly, arduino has many libraries) but they are all basically still baremetal programming.

PulkoMandy

I'm somewhat part of the bitbox team (well, or more realistically, I happen to own a bitbox and submitted some patches to the guy running the project).
I still didn't have time to get some kind of BASIC or similar entry-level language running on it (could be Lua, MicroPython, Forth, whatever). It would be nice to have one such thing so people can start to play around with the machine without having to go through the hassle of setting up a development environment on PC (which misses the point).


I remember reading a book called "Java for Children" which was an attempt to make Java programming on PC easily reachable, a bit similar to what the Amstrad CPC user manual did. It starts with a long and boring part about downloading the JDK, installing Eclipse, etc. This is what makes computer programming hard these days, and neither the Raspberry Pi or the Uzebox/Arduino/Bitbox solve this. We need something easy to install and usable from the start. It doesn't even need to be hardware, it could be software as well (and I believe there are some web apps doing just this).


Another interesting thing to look at is lego mindstorms. This does a great job at teaching computer programming to children, while not being "just a computer".

Singaja

Amstrad CPC manual was really great (even though English was not my native language), I learnt some elementary basic when I was like 6 which I reckon made a HUGE influence on my adult life as I write software professionally now.

Munchausen

Quote from: PulkoMandy on 12:19, 25 March 16
I'm somewhat part of the bitbox team (well, or more realistically, I happen to own a bitbox and submitted some patches to the guy running the project).
I still didn't have time to get some kind of BASIC or similar entry-level language running on it (could be Lua, MicroPython, Forth, whatever). It would be nice to have one such thing so people can start to play around with the machine without having to go through the hassle of setting up a development environment on PC (which misses the point).


I remember reading a book called "Java for Children" which was an attempt to make Java programming on PC easily reachable, a bit similar to what the Amstrad CPC user manual did. It starts with a long and boring part about downloading the JDK, installing Eclipse, etc. This is what makes computer programming hard these days, and neither the Raspberry Pi or the Uzebox/Arduino/Bitbox solve this. We need something easy to install and usable from the start. It doesn't even need to be hardware, it could be software as well (and I believe there are some web apps doing just this).


Another interesting thing to look at is lego mindstorms. This does a great job at teaching computer programming to children, while not being "just a computer".

I think the uPython board is pretty close. Perhaps you just need to add a keyboard and VGA connection, which is perfectly possible.

PulkoMandy

The bitbox has keyboard and VGA. But no interpreted language running on it yet.

Dabz

I've just exchanged a few emails with the bitbox creator fella... Waiting for his invoice, and yeah... Looks the jobbie! :)


The only thing is obviously the cross dev thing PulkoMandy mentioned, but the hardware specs look sound, you can emulate the micro version of the bitbox, which is obviously a bit more tighter spec wise... So, yeah... Raspberry Pi Zero one day, BitBox the next... I really need to turn this internet off! :D


Dabz

Munchausen

Quote from: PulkoMandy on 15:10, 25 March 16
The bitbox has keyboard and VGA. But no interpreted language running on it yet.

Actually I'm pretty sure I checked this before and the bitbox uC is supported by uPython. So it just needs some driver support.

PulkoMandy

The bitbox runtime is a bit unusual as it needs to draw the VGA display with tight sync (at the lowest level, there is not a complete framebuffer, just one line of graphics at a time). This is not easily mixed with another runtime especially when there isn't an OS to handle things. You can get away with it with some clever use of interrupts and timers, but the result is that it is much easier to embed a scripting language into the bitbox runtime, than writing bitbox drivers to fit the language's runtime.


On the bitbox wiki there is a page about differerent possible languages, ranging from a very simple BASIC interpreter to more complex stuff like uPython.

Munchausen

Quote from: PulkoMandy on 16:12, 25 March 16
The bitbox runtime is a bit unusual as it needs to draw the VGA display with tight sync (at the lowest level, there is not a complete framebuffer, just one line of graphics at a time). This is not easily mixed with another runtime especially when there isn't an OS to handle things. You can get away with it with some clever use of interrupts and timers, but the result is that it is much easier to embed a scripting language into the bitbox runtime, than writing bitbox drivers to fit the language's runtime.


On the bitbox wiki there is a page about differerent possible languages, ranging from a very simple BASIC interpreter to more complex stuff like uPython.

Perhaps it would be better to support uPython on a similar uC with a video controller. Or attach a video controller to a uPython board. Though I'm not sure suitable hardware exists! Perhaps the easiest thing is to make the bitbox into a graphics terminal providing display/keyboard as a slave to a uPython board.

robcfg

I think the problem today is that there are computers everywhere so children aren't impressed by them.

When I modified my first program I realized the potential of computers and got hooked.

But for children today, a computer that you must program is basically a computer that does nothing.

So there have to be other ways to get them interested, like making them part of interesting projects.

TMR

Quote from: Dabz on 11:16, 25 March 16Basically, what the Pi is, from my perspective, maybe not from yours, but definitely from mine... The Pi is ultimately, a little device (And a great one), that probably gets more usage being a device for adults more then a learning device for kids... Everyone I know who has a Pi, and uses it, are adults... Online and off.. I use mine for retro stuff, a few mates use theirs for streaming films and footy, people online use it for dev purposes (Hobbist's coders mostly)... I don't know ONE single kid who owns the thing... Not one!


Computers in schools are normally locked down to prevent children and in a few cases, the teachers wrecking the operating system, getting to places they shouldn't or deleting each other's files which, possibly reflective of what they'll be dealing with in adult life, isn't an environment to encourage experimentation or exploration - it doesn't stop some kids of course but the response is at best grudging respect from the ICT department as they lock down a recently-discovered security hole. The RasPi can be messed around with without worrying about physical or software damage because it's cheap to replace and quick to reimage from scratch when compared to the more robust laptops that schools tend to use.

In that respect it can perform very well as long as there's a teacher or two with the interest/knowledge to push things forwards because, despite the current national curriculum having an emphasis on programming liberally sprinkled throughout (have a read through because it's surprising how much even primary school kids are expected to know), all manner of "solutions" almost immediately cropped up which stick to the wording of the curriculum but not necessarily the spirit in which it was written.

The RasPi isn't an easy system to program at a low level, but the majority of 1980s kids with CPCs, Spectrums or C64s stayed with high level languages anyway; for the equivalent of the minority who learnt assembly language there's things like the Arduino.

Powered by SMFPacks Menu Editor Mod