|
There's tons of TikTok videos that will set you straight, easy peasy.
cheers
Chris Maunder
|
|
|
|
|
Gonna get a Bob themed lambo...
Jeremy Falcon
|
|
|
|
|
If you are interested in 6502 (and/or computing history) this video is absolutely worth a watch.
He has a bunch of quality videos for retro but this one is great for the history.
The 6502 CPU Powered a Whole Generation! - YouTube[^]
EDIT: Includes interview with Bill Mensch (one of original designer/creators of 6502).
modified 27-Mar-24 9:26am.
|
|
|
|
|
Bender from Futurama CPU of choice!
|
|
|
|
|
That's the chip i learned to code on! I love that lil guy.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: That's the chip i learned to code on!
I'm very curious about a number of things. If you don't want to answer, no pressure I understand.
What year were you learning 6502?
Were you learning this on your own? Or part of some school?
What was your programming rig? IDE? Device programmer? etc.
I'm thinking you learned this back in the 80s or 90s maybe and I'm curious how you had access to that stuff? I remember having a C64 and having no idea how to program it to do anything worthwhile because all I had was BASIC and the other alternative was 6502 Assembly but I didn't know how / where I would've learned that back then.
Just curious.
|
|
|
|
|
1986, on the venerable Apple ][ machines. I got a ][gs at home but i did most of my coding at school labs at the time. I was 8 so there was no programming classes at the time, but we at least had apple labs. Most of the kids played Oregon Trail. I was still into building frankenbikes and stuff in my off time before i really caught the coding bug so like i said, mostly i did it at school to kill time, a bit at home too though, especially as I gained interest.
I learned on my own starting with the BASIC programming manual that came with the Apple ][gs. I was using it in 8-bit 6502 compatibility mode until like a year later.
raddevus wrote: What was your programming rig?
Apple ][gs in 8-bit mode, and Apple ][e's mostly. Though a friend had a ][c, and later i got a commodore.
raddevus wrote: IDE?
Surely you jest! I eventually picked up TML pascal on the ][gs but before that I had no IDE. Just a prompt and either BASIC, asm, or manual machine code (before i learned about the mini assembler)
raddevus wrote: Device programmer?
First one was an Arduino board in more recent years.
raddevus wrote: I'm thinking you learned this back in the 80s or 90s maybe and I'm curious how you had access to that stuff?
Yeah, my parents bought a ][gs as soon as it was released, and we had apple labs at our very well funded schools.
Libraries gave me access to computer mags like Byte. I learned machine code by more or less reverse engineering the code I'd find in magazines. I can't remember it now because I switched to asm as soon as I discovered the ][c and later had it.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Wow! You were extremely young to begin learning to code like that.
Yeah, the question about IDE was a bit off
Fantastic information. Thanks for sharing!
|
|
|
|
|
FWIW I learned 6502 assembler in the '80s on my Acorn Atom, that had a BASIC with a brilliant inline 6502 Assembler; you could seamlessly interleave BASIC and 6502 code. The manual documented lots of information about the internals and OS API which was also very useful.
The Atom, for those who aren't familiar, was the predecessor to the BBC Micro, itself the predecessor to the Acorn Archimedes (which was technically way ahead of the Lisa and Macintosh) and Acorn Computers begat ARM. Heady days! "Acorn Computers" was a prescient name for something small that grew so big and strong, doncha think?
I still have my Acorn Atom, with manuals, but no suitable TV for video output.☹️
|
|
|
|
|
Did not know Acorn was the ARM predecessor. Neat.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
ARM == Acorn Risc Machine
|
|
|
|
|
I learnt 6502 assembly on the BBC Micro (by Acorn). The assembler embedded in BASIC made that a cheap and convenient option.
Still use that skill from time to time. And the 6502 is still manufactured, by the way. Still useful as a fast, reliable embedded device.
|
|
|
|
|
FWIW I learned 6502 assembler in the '80s on my Acorn Atom, that had a BASIC with a brilliant inline 6502 Assembler; you could seamlessly interleave BASIC and 6502 code. The manual documented lots of information about the internals and OS API which was also very useful.
The Atom, for those who aren't familiar, was the predecessor to the BBC Micro, itself the predecessor to the Acorn Archimedes (which was technically way ahead of the Lisa and Macintosh) and Acorn Computers begat ARM. Heady days! "Acorn Computers" was a prescient name for something small that grew so big and strong, doncha think?
I still have my Acorn Atom, with manuals, but no suitable TV for video output.☹️
|
|
|
|
|
Saw the 6502 reference in the newsletter, so, got to here.
In 1980, my high school got 3 Commodore PET computers - 16K each. Commodore had a deal - buy 2 get one, so a number of teachers or parents pooled their many and bought them. A friend's dad bought one, so we had ready access to it. Not sure how we got access to the programming manual, but we did.. and taught ourselves.
Jim Butterfield wrote an assembly program that we got a copy of and the assembly code list, so we taught ourselves 6502 assembler as well.
The following year, the school got 12 more computers, so access to more people.
Still, we simply taught ourselves.
Programs I remember writing: a two-person shooting games with cowboys, solitaire Hearts, a Star Trek type kill the aliens game, and, in assembly, fill the screen with random characters and execute a bubble sort to sort the screen characters.
|
|
|
|
|
Tim Carmichael wrote: Jim Butterfield wrote an assembly program that we got a copy of and the assembly code list, so we taught ourselves 6502 assembler as well.
Wow! Amazing.
I had a Coleco Adam in 1984 or so and I would type programs into the BASIC interpreter and they would invariably fail. Once they would fail I was lost for how to fix them. I'm pretty sure my brain did not use any logic back then. Only emotions. But I would sit and stare at the computer, however, that did not fix any of the bugs.
|
|
|
|
|
Sorry to chime in here, but the questions are just too funny and show how much folks today are removed from those early days of "personal computing"...
I learned 6502 assembler on my very first own computer, back in late 1976, a MOS Technology KIM-1. With 2KB ROM and un-upgraded, 1152 bytes of RAM...
Input was a hex keyboard, output was a 6-digit LED 7 segment display (think old calculator). Not very IDE friendly...
All programming at that point was done via entering hex addresses and opcodes, using the "monitor" contained in the onboard ROM. Only documentation was the manual that MOS provided with the board, which contained little more than the opcodes/mnemonics and a VERY brief description what they did. I think it was at least a couple more years before I bought Rodney Zaks' books "Programming the 6502" and "Programming the Z80", which were kind of the bibles for assembly programming back then...
As that set very quickly limits on what I could do with it, I upgraded it to a whooping 4KB of RAM, which enabled me to painstakingly enter the hex codes for a version of Tiny BASIC. Saved and reloaded before use from a tape cassette recorder, this also didn't leave much room for further programming adventures and further memory upgrades and other stuff (video interface or serial terminal) were out of reach for my high school students budget. But by that time, 1977 had come around and the first "real" microcomputers, and while still too expensive for me to by one of those myself, I was able to access someone else's brand spanking new TRS-80 Model I and started to write my first programs for money, until, together with selling my KIM-1, allowed me to buy my own TRS-80 clone and started the long and winding road I am still on today...
|
|
|
|
|
I had the later 6510 to start with... Which is different but not on the instruction level...
"If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization." ― Gerald Weinberg
|
|
|
|
|
Commodore 64 here. Still have the Programmer's Reference Guide. I was too poor to afford the ASM cartridge, so I did all the assembly/ml programming via poke statements in Commodore Basic.
Good times. I still have a large love for ASM.
-Sean
----
Fire Nuts
|
|
|
|
|
His channel is awesome. Since the NES used the 6502 chip too, this channel covers some 6502 ASM as it pertains to NES development, as well.
Jeremy Falcon
|
|
|
|
|
Yeah, definitely. He has an amazing set of skills that I think are actually quite difficult to obtain.
and, his videos are really informative and entertaining and well edited too.
|
|
|
|
|
Happy days... I was already using Cobol, Fortran and Basic then (1979/80) but bought myself a UK101 kit, which used the 6502. Frustrated by the slowness of Basic, I bought myself a "Learn 6502 assembler" book and dived in. The UK101 ROM included a very simple "monitor" which allowed you to type in machine instructions address-by-address, and display blocks of memory in hex. However you could also call assembler code from Basic, so when experimenting with 6502 the trick was to write a "loader" in Basic and then you could simply save and load your code to/from cassette tape.
I lived 5 doors away from a fledgling home computer shop (it was just his front room initially, he later moved and it became a pretty well-known source for computer stuff in the UK in the 80s). But it meant I had a ready (and cheap) supply of hardware, so plenty of extensions on the UK101 - doubling CPU speed, quadrupling cassette i/o, doubling screen resolution, doubling memory... and later adding a soundcard.
|
|
|
|
|
I remember something like 'Commodore VC 64' which had a variant of that cpu
|
|
|
|
|
Finally got a minute to watch through the video. Side note, the trick about using the bit shifts to multiply and divide by two, is also why older video cards wanted texture dimensions to be in powers of two. So much in fact, they had their own acronym for it: POT. On older cards, using non-POT textures would slow things dddooooooooowwwwwnnnn.
Jeremy Falcon
|
|
|
|
|
6502 was (Still is) one of my favourite ever CPU's, in fact I have such a deep love for it that I have modelled various elements of it using "Digital" the successor to "Logisim" written by H.Neehman and available on Github.
GitHub - hneemann/Digital: A digital logic designer and circuit simulator.
My First CPU was actually a Z80 back in around 1979, but I rapidly got bored with that, and within a couple of years had moved on to the Acorn Electron, then eventually the BBC Micro Model B (I'm in the UK btw)
I loved the 6502, it was a joy to program. Memory Mapped I/O was the way to go, none of this taking control of the bus nonsense that the Z80 had, it was what would be classed now as a RISC processor, unlike the 6809 which had a register and instruction for every purpose.
The 6502 was light enough that you didn't get overwhelmed, but powerful enough that it could do some fantastic tricks.
Many of my friends followed the route of just using computers to pay games, so they went the Z80 route and stayed with the Sinclair computers, many of them eventually moving on to the 16 bit 68000 CPU's via the Atari ST and Amiga 500 platforms.
Myself I stayed with the 6502 on a physical machine right up to the early 90's, and even though I had a PC by that point in time, and had been doing some work with them due to college/uni etc I never forgot my BBC Model B micro.
Eventually I managed to afford an Acorn Archimedes A5000 with it's 25Mhz ARM3 CPU, a CPU which I felt was the true spiritual successor to the 6502, it had a very similar programming model, just the right number of registers and functionality, and the combined instruction layout (IE: being able to branch and loop without using separate branch & loop instructions) just felt right.
People worship the ARM CPU Architecture today, it's everywhere and inside everything, it would never have happened if it wasn't for the 6502.
Consider too, that the 6502 is an old 8-bit CPU that is still manufactured today. The western design corp, still manufactures brand new 6502 silicon, that can clock up to 32Mhz (Faster than my original ARM3 successor to it) and hobbyists are STILL making their own NEW home computers.
If you look on places like PCB Way and JLC you can find NEW board designs enabling you to build a modern BBC Model B micro, and all of the silicon and parts required to do so are still available should you wish to do so.
Myself, over the years I've released a lot of my old 6502 machine code on places like "*. forums" and Github, I'm also still credited as one of the very few people who actually made the BBC Micro (and it's 6502) produce a rolling multi part tech demo.
BBC Model B Dreamscape Demo (Colour Version) - YouTube
Something that many folks didn't see until the Amiga & Atari ST computers finally hit the scene with their 16 bit's CPU's
6502 will ALWAYS, ALWAYS have a place in my heart, and is a large part responsible for the developer/technologist that I am today.
|
|
|
|
|
Really great and interesting story. I watched the video. Very nice / amazing demo.
Thanks for sharing.
|
|
|
|
|