xp84 a day ago

I really enjoy how popular retro tech of the 6502 era has become (and thus how much content is created about the subject) from ~= 2017ish to now. For me it started on YouTube with 8-bit-guy and Adrian, but clearly it's in the zeitgeist in general, in a way that I don't feel like it was in the '00s or early '10s.

Those of you who are Gen X and grew up with parents who bought you computers at a young age, you are so fortunate. Reading those manuals and learning to code in assembly gave that cohort an amazing fundamental understanding of computing. It's similar to the understanding of the Internet's underpinnings that we Millennial geeks gained by experimenting with HTML and the Web, before everything was sealed up and packaged for consumption.

But I sure would love to experience some long summers as a kid in the early 80s with nothing but time and a Commodore 64 and its manual.

  • drivers99 a day ago

    For me, this caught my attention because I am currently re-doing Ben Eater's 6502 project[0]. (I'm spreading it out to more breadboards connected together with a bunch of breadboard power rails as the data and address busses, and I'm planning to add some stuff to read programs from audio once that's done. I also want to add a custom keyboard and a forth kernel. Oh yeah, and read/write SDcard blocks with SPI.)

    [0] https://eater.net/6502

  • lizknope a day ago

    We had an Atari 800 with a 6502. Learned BASIC on that and also the Apple II in school which also has a 6502

    • ForOldHack a day ago

      We had old gray Franklin's at college, and my friend had a broken Apple ][. We got the chips seated again, and fixed the keyboard. Lode runner and Eamon adventures ... Single sided floppies. Bard's tale too but that kind of got sidelined.

  • leptons a day ago

    If I had a kid (I'm too old for that now), I would absolutely buy a working Commodore 64 for the kid as their first computer, complete with the fantastic manual that came with it. When they understand how it works, then they can have a tablet and a modern computer. The C64 manual has instructions for BASIC programming, as well as how to program the peripheral chips to make sounds and graphics. And then in the back it goes into assembly language including documentation for all the opcodes, and then in the very back of the manual were the full schematics for the computer.

    I think it's still an amazing resource for anyone wanting to learn how computers work. It literally changed my life. Before I got the C64 when I was 15 years old, I had an Atari 400 and then Atari 600. There was very little available to me in the way of documentation for the Atari for anything beyond BASIC programming, and I found that very limiting. The C64 and its manual opened up a whole other world to me. I taught myself assembly programming in about a week. I got into BBSs, and eventually into the "demoscene" where I got to use all the assembly programming I learned. This built the foundation for the rest of my computing life and I wouldn't trade it for anything.

    • aaronbaugher a day ago

      I've thought about teaching a beginning programming course at the local community college. If I do, I'll start with just a bit of BASIC 2.0 to introduce some simple concepts like input, output, variables, and loops, before moving on to current "real languages."

    • whatnow37373 a day ago

      I have kids and new computers absolutely suck for introducing them to computing. A C64 would be perfect.

  • AStonesThrow a day ago

    > Those of you who are Gen X and grew up with parents who bought you computers at a young age, you are so fortunate.

    Indeed it was a golden age, when microarchitectures could really be grokked in their fullness by teenagers.

    The C64 user manual was like a goldmine for me. I don't know how many supplementary materials I used (I read Compute!'s Gazette a lot) and I had already owned a VIC-20. By the time my IBM PC came along, I knew the C64 inside and out, really well. I knew the sprites subsystem and I'd programmed entire games. I knew bank switching, ROM/RAM, Kernal routines, font mapping, ASCII table, assembly and BASIC alike. I was never an electrical engineer, but I could tell you, more or less, how the 6510/6502 processed any given program and how that machine code used registers, memory, I/O, etc.

    By the time I hit college I was learning Pascal and systems architecture, assembly on M68000 systems, and we were really off to the races. I was illicitly using accounts to program MU* servers and learning C, gdb, Unix. I could install and configure software and really got noticed, in my first job, for basically becoming a "shadow Unix admin" who got stuff done.

    Sadly I never had the chops to be an actual IT professional or have a career. All of that knowledge and talent could've landed a career and a very stable lifestyle for someone else, but for me it was sort of an albatross. My aspirations to a corporate office job as a knowledge worker, weren't in line with what I could actually sustain.

    But indeed they were golden years. I don't regret getting to know computers like that. I just wish that they had stayed as pets, rather than enslaving us like today.

jmount a day ago

I grew up on 8088 and then 6502 and 8086 assembly. The 8086 had more registers and more useful variations of registers. However, it emotionally felt like after eliminating the accumulator and stack pointer: the 6502 had general purpose registers (though only 2 of them!) and that the 8086 did not have any general purpose registers. Even though there were more 8086 registers, each one had a different "purpose": base register, counter, data, base pointer, source index, destination index. These specializations never felt like a hardware optimization, but a series of horrific programming constraints.

  • RiverCrochet a day ago

    It is often said the 6502 has 256 registers - being all the bytes in zero page (assuming 256 bytes in zero page exist, the Atari just had 128).

    It's a fair leap - all of the "indirect" instructions that do access-through-pointer stuff are zero page and would be register-oriented in most other architectures. Plus loading and storing stuff to zero page consumes the same cycles as a register (2), zero page is not slower than registers generally.

    You want something really icky try to make sense of Fairchild F8 with it's 64 internal bytes of "scratchpad" RAM which are kinda halfway between registers and RAM due to the weirdness of the F8 architecture.

rzzzt a day ago

The technology (NMOS) is more important than the manufacturer (MOS). The CMOS variants from Rockwell and WDC irons these opcodes out to no-nonsense NOPs.