Support The 8-Bit Guy on Patreon:https://www.patreon.com/8BitGuy1Visit my website:http://www.the8bitguy.com/Order your Commander X16 here:https://texelec.com...
Though I really like the concept of building a new device which incorporates the inherent ease of programmability of the computers of yore, I think the 6502 is just too weird and limited for doing so. For example, in order to cram a halfway decent amount of memory into the thing they had to resort to bank switching. At the least they should’ve gone with a 65816 (apparently they tried but they initially had some problems with the '816 address bus multiplexing).
For example, due to parameter passing often being done via the zero page, recursion is unnecessarily hard on the 6502, whereas one could argue that recursion is one of the major skills to master for any programmer.
@irdc@feoh All programmers need to learn recursion and fully understand it so when they encounter it in the wild they can properly analyze what it is doing and replace it with non-recursive code.
One could, but I would argue that this idea pre-supposed a very ascetic class of programmer, and that depending on one’s goals in learning how to program, recursion can be a useful concept but saying it should be the one litmus test for any learning platforms seems highly questionable to me.
They learn how to program in a more efficient way that makes better use of limited memory and CPU cycles. Which frankly is something modern programmers and game designers could very much benefit from considering how bloated and unoptimized much of modern software is, probably because they didn’t need to think about whether computers can actually run it.
Yeah I see the Commander X16 as a bit of a folly, a hobby project by some serious retro computer nerds. I don’t think it has any viability as a platform, even as a gaming platform, as it’s a strange implementation of a weird architecture.
That said, yeah there really isn’t something that is as imminently accessible as a C64 was, where the machine itself plugs into a monitor and keyboard, and you program the device using itself.
Arduino requires a PC or other device to compile and run code, most of them are very low power devices that must have compiled binaries, so they’re programmed in C++.
Maximite is another guy’s attempt to have a standalone BASIC machine. Uses fairly modern hardware but it’s still some guy’s project, and runs BASIC rather than anything remotely modern.
Raspberry Pi and other Linux SBCs are surprisingly powerful, but also very complicated to run. You can do a college degree in Linux sysadmin.
Meanwhile, I’ve played with the MicroPython language a bit, and as cool as it is, it can be a pain in the ass to manage because it runs on a microcontroller meant to be programmed from a PC, so there’s a pile (not a stack, not a heap, a pile) of software you have to manage. So it’s cool, but sorta supported on a bunch of platforms none of which are amazing to use and it’s got almost every problem that Arduino does.
I had been thinking about doing something akin to the X16 but more modern, but realised that the main challenge with launching a product like this lies not in doing the design, but in coordinating all the people that are involved in producing the hardware, software and documentation (and hype, don’t forget hype). And you’ve gotta hand it to David Murray (the 8-bit guy): he’s knows how to do this, and has demonstrated this before with Planet X3.
There’s plenty of choices. If you want that retro vibe go for a 68k, if you want something neat but obscure (and are willing to use an FPGA) choose the pdp-11, if you want to go with the flow then use risc-v.
But please pick something that’s not actively fighting modern (that is, not 1970’s) programming techniques.
Though I really like the concept of building a new device which incorporates the inherent ease of programmability of the computers of yore, I think the 6502 is just too weird and limited for doing so. For example, in order to cram a halfway decent amount of memory into the thing they had to resort to bank switching. At the least they should’ve gone with a 65816 (apparently they tried but they initially had some problems with the '816 address bus multiplexing).
Also, how would that ‘weirdness’ impact using the device in a teaching context?
People would learn bad habits.
For example, due to parameter passing often being done via the zero page, recursion is unnecessarily hard on the 6502, whereas one could argue that recursion is one of the major skills to master for any programmer.
@irdc @feoh All programmers need to learn recursion and fully understand it so when they encounter it in the wild they can properly analyze what it is doing and replace it with non-recursive code.
A non-recursive recursive descent parser isn’t any easier to reason about.
One could, but I would argue that this idea pre-supposed a very ascetic class of programmer, and that depending on one’s goals in learning how to program, recursion can be a useful concept but saying it should be the one litmus test for any learning platforms seems highly questionable to me.
They learn how to program in a more efficient way that makes better use of limited memory and CPU cycles. Which frankly is something modern programmers and game designers could very much benefit from considering how bloated and unoptimized much of modern software is, probably because they didn’t need to think about whether computers can actually run it.
Yeah I see the Commander X16 as a bit of a folly, a hobby project by some serious retro computer nerds. I don’t think it has any viability as a platform, even as a gaming platform, as it’s a strange implementation of a weird architecture.
That said, yeah there really isn’t something that is as imminently accessible as a C64 was, where the machine itself plugs into a monitor and keyboard, and you program the device using itself.
Arduino requires a PC or other device to compile and run code, most of them are very low power devices that must have compiled binaries, so they’re programmed in C++.
Maximite is another guy’s attempt to have a standalone BASIC machine. Uses fairly modern hardware but it’s still some guy’s project, and runs BASIC rather than anything remotely modern.
Raspberry Pi and other Linux SBCs are surprisingly powerful, but also very complicated to run. You can do a college degree in Linux sysadmin.
Meanwhile, I’ve played with the MicroPython language a bit, and as cool as it is, it can be a pain in the ass to manage because it runs on a microcontroller meant to be programmed from a PC, so there’s a pile (not a stack, not a heap, a pile) of software you have to manage. So it’s cool, but sorta supported on a bunch of platforms none of which are amazing to use and it’s got almost every problem that Arduino does.
I had been thinking about doing something akin to the X16 but more modern, but realised that the main challenge with launching a product like this lies not in doing the design, but in coordinating all the people that are involved in producing the hardware, software and documentation (and hype, don’t forget hype). And you’ve gotta hand it to David Murray (the 8-bit guy): he’s knows how to do this, and has demonstrated this before with Planet X3.
What would you like to see instead? Z80? Something else?
There’s plenty of choices. If you want that retro vibe go for a 68k, if you want something neat but obscure (and are willing to use an FPGA) choose the pdp-11, if you want to go with the flow then use risc-v.
But please pick something that’s not actively fighting modern (that is, not 1970’s) programming techniques.
Are there any off the shelf available 68K based computers these days? I wasn’t aware of one but that would be cool :)
AMIGA 2023!!! :)