The 6502 was weird back in the day as well, just weird in an ubiquitous way. It’s registers are too small, it’s stack is too small, it’s address space is too small. Argument passing often had to be done using the zero page, and since none of its registers can hold a respectable portion of its address space it requires hacks to implement such obscurities as C-style pointers. No current ABI can trace its origin to the 6502 (not even ARM).
Sure, back in the day the alternatives at the price point were worse, but that doesn’t make the 6502 good.
If you want a good CPU design with a 16-bit address space, take a look at the PDP-11.
I agree with you, though.
I’m kind of the prime market for this from an educational standpoint.
My oldest kid has just learned to read and write (kind of).
She’s fascinated by computers.
She’s only played retrogames (happily) thus far, so she wouldn’t be put off by the 8-bit era’s graphics or sound.
But even so…what would I be hoping to teach her with this?
How to work around the quirks of the 6502 that are not applicable to literally anything else?
That life is full of unnecessary obstacles and frustration?
That she could have learned more interesting programming in an easier way if I’d got her a computer with a flat memory model?
I’m kind of meh on it.
Exactly. Something in the spirit of an Amiga 500 (I never had one, so this is not nostalgia speaking) is much more suitable to beginning programmers. Something with a flat address space, an easily memorisable instruction set and rich collection of hardware (blitter, DMA controller, sound generator) to play with. And something that has modern interfaces (HDMI & USB) so the not-so-well-equipped hacker-in-training can also jump in right away.
I never said that the 6502 was good. I was questioning you calling it weird as if it was uncommon, when it wasn’t, because it was one of the most popular chips in its era.
Many say that the x86 architecture is awful. But to say that it’s weird would be quite the stretch.
It’s weird in the sense that software development has moved in other directions. A tagged-architecture stack machine like the Burroughs Large System is weird as well, even though it’s been highly successful and very influential on later designs (eg. Forth, SmallTalk).
If we’d still be using bank switching and overlays I’d say learning to code assembly on a 6502 is a great introduction to modern computers, but we’re not so it’s not.
Bro you can’t say that “the 6502 is too weird” without providing more context. Too weird for today’s standards maybe?
Because the 6502 was everywhere back in the day.
It’s like saying that sony walkmans are too weird.
The 6502 was weird back in the day as well, just weird in an ubiquitous way. It’s registers are too small, it’s stack is too small, it’s address space is too small. Argument passing often had to be done using the zero page, and since none of its registers can hold a respectable portion of its address space it requires hacks to implement such obscurities as C-style pointers. No current ABI can trace its origin to the 6502 (not even ARM).
Sure, back in the day the alternatives at the price point were worse, but that doesn’t make the 6502 good.
If you want a good CPU design with a 16-bit address space, take a look at the PDP-11.
Which was used in home computers, just not in the west
I agree with you, though. I’m kind of the prime market for this from an educational standpoint. My oldest kid has just learned to read and write (kind of). She’s fascinated by computers. She’s only played retrogames (happily) thus far, so she wouldn’t be put off by the 8-bit era’s graphics or sound.
But even so…what would I be hoping to teach her with this? How to work around the quirks of the 6502 that are not applicable to literally anything else? That life is full of unnecessary obstacles and frustration? That she could have learned more interesting programming in an easier way if I’d got her a computer with a flat memory model? I’m kind of meh on it.
Exactly. Something in the spirit of an Amiga 500 (I never had one, so this is not nostalgia speaking) is much more suitable to beginning programmers. Something with a flat address space, an easily memorisable instruction set and rich collection of hardware (blitter, DMA controller, sound generator) to play with. And something that has modern interfaces (HDMI & USB) so the not-so-well-equipped hacker-in-training can also jump in right away.
The Commander X16 isn’t it.
I never said that the 6502 was good. I was questioning you calling it weird as if it was uncommon, when it wasn’t, because it was one of the most popular chips in its era.
Many say that the x86 architecture is awful. But to say that it’s weird would be quite the stretch.
It’s weird in the sense that software development has moved in other directions. A tagged-architecture stack machine like the Burroughs Large System is weird as well, even though it’s been highly successful and very influential on later designs (eg. Forth, SmallTalk).
If we’d still be using bank switching and overlays I’d say learning to code assembly on a 6502 is a great introduction to modern computers, but we’re not so it’s not.