• irdc@derp.foo
    link
    fedilink
    arrow-up
    7
    ·
    edit-2
    1 year ago

    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.

    • duncesplayed@lemmy.one
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      1 year ago

      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.

      • irdc@derp.foo
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        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.

    • El Barto@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      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.

      • irdc@derp.foo
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        1 year ago

        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.