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

    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.

    • 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.