I started programming at age 13 and Microsoft QBasic on DOS was my first pick. Some time later, I studied a little bit of X86 assembly language but didn't dive much deeper into it than writing hello world and some basic loops. When I was 15, I found this group on Yahoo with Brazilian Atari 2600 programmers and I instantly joined them. Now, after two decades and some 😝, I work with software development and requirements analysis and am a hobbyist retro videogame consoles programmer. I mostly code for Atari 2600, NES and SEGA Master System/Game Gear.
I love all computer hardware, as long as someone out there is making something that seems impossible for it. Which is why I love the Atari so much, because practically anything more than a static sprite on a blank background seems impossible!
As a historical footnote the Mac uses the VBI and VBL tasks to calculate and reposition the cursor during blanking interrupts - which is why the Mac cursor is so smooth since it’s movement interval is synched to a an exact hardware interrupt interval. All other OSes use software timers to move the cursor which is why they are skittish.
Started programming back in 1983 with the TI 994A when I was 14. Programmed a bunch of video games for it in basic and extended basic. Began programming professionally in 1999 after finishing Army service and receiving a BS. Programmed mostly in C++ and Java and some VB. Never did any assembly or atari programming so I thought I'd take a look.
Thanks, I like it too! I went through a few guitars before I stuck with the Casino. Just bonded with it. This one isn't a reissue, it's a standard stock Epi Casino.
Is the X register 8 or 16 bits? I thought the index registers are 16 bits. Also, it appears that the TIA is memory mapped at address $00xx, is this correct?
The X, Y, and Accumulator are all 8 bit registers on the 6502 and 6507 with the maximum value of 255. The TIA is mapped at $0000 - $003F, while the 128 bytes for RIOT RAM is mapped at $0080 - $00FF.
Sorry Jacob, just saw this comment. TH-cam doesn't automatically show me 2nd level comments for some reason! The next video will have more detail on this, but the short form is, you would use Indirect mode for your load instruction, which will use the address you specify with the instruction, along with the byte right beside that address as the 16-bit address.
I started programming at age 13 and Microsoft QBasic on DOS was my first pick. Some time later, I studied a little bit of X86 assembly language but didn't dive much deeper into it than writing hello world and some basic loops. When I was 15, I found this group on Yahoo with Brazilian Atari 2600 programmers and I instantly joined them. Now, after two decades and some 😝, I work with software development and requirements analysis and am a hobbyist retro videogame consoles programmer. I mostly code for Atari 2600, NES and SEGA Master System/Game Gear.
That's awesome, would love to see some of your stuff! Especially for the 2600.
Oi, Leandro. Td bem? Vc tem email ou WhatsApp? Eu estou pesquisando sobre programacao de consoles de videogame...
8blit0@gmail.com
I've been doing a lot of research on this topic, and that research led me to this series. I've subbed and I'll be following.
Awesome, glad to have you join us! Welcome!
I started to wanna learn 6507 assembly and your channel saved me. I am keeping notes in my notebook, feels like taking a private lesson. Thank you!
I'm glad you're enjoying the video's and finding them useful!
@@8Blit you should totally start a series of you making a full game
I just found your channel today. Love it, instant sub! You need a Have you programmed Atari today? T-shirt 😄
Thanks for the kind words! That's a great idea, if I can't find a shirt like that, maybe I'll make some!
I loved Dark Chambers on the 2600. My first gaming adventure!
great video, please continue to make programming related videos. thank you!
Thanks for the kind words, really appreciate it!
Enjoying this, using VS Code Atari Dev but works . Thanks for the lessons
I love all computer hardware, as long as someone out there is making something that seems impossible for it. Which is why I love the Atari so much, because practically anything more than a static sprite on a blank background seems impossible!
I love the simplicity of the games and the challenge of programming!
This is awesome, I just fixed my old Atari. Thanks man much appreciated
Great to hear!
Great videos! You've got a new subscriber, your videos deserve more views. Thanks for sharing.
Hey, thanks for the great complement and for subscribing!
As a historical footnote the Mac uses the VBI and VBL tasks to calculate and reposition the cursor during blanking interrupts - which is why the Mac cursor is so smooth since it’s movement interval is synched to a an exact hardware interrupt interval. All other OSes use software timers to move the cursor which is why they are skittish.
Ah nice, syncing up with the interrupt is a cool idea!
Started programming back in 1983 with the TI 994A when I was 14. Programmed a bunch of video games for it in basic and extended basic. Began programming professionally in 1999 after finishing Army service and receiving a BS. Programmed mostly in C++ and Java and some VB. Never did any assembly or atari programming so I thought I'd take a look.
The TI 994A resembles a DeLorean! Glad you like the videos, are you giving Assembly a try now?
@@8Blit we'll see, I'm still researching. Atari seems so complicated because of it's limitations.
@@TheArmchairrocker Limitations, or opportunities? Depends on how you look at it! haha
Cool Epiphone Casino! Is that the John Lennon reissue?
Thanks, I like it too! I went through a few guitars before I stuck with the Casino. Just bonded with it. This one isn't a reissue, it's a standard stock Epi Casino.
Absolutely awesome video. I love this. New Sub👍👌
Thanks for the kind words and for subscribing, really appreciate it!
11:58 or init X to #37, DEX in each loop, and save two bytes (and some cycles) by avoiding the CMP.
ah, yes. thanks for pointing that out!
10:30 wait so the X register on the 6507 is only 7 bits instead of the 8 of the 6502?!?!
Or did you mean to initialize X to #80?
Thanks for catching that. Not sure if I wrote it that way in my script, or if I just read it wrong.
I'm going to make super smash bros game on the Atari 2600
That would be cool. You can use Mario Bros. for the Atari 2600 as a template.
Is the X register 8 or 16 bits? I thought the index registers are 16 bits. Also, it appears that the TIA is memory mapped at address $00xx, is this correct?
The X, Y, and Accumulator are all 8 bit registers on the 6502 and 6507 with the maximum value of 255. The TIA is mapped at $0000 - $003F, while the 128 bytes for RIOT RAM is mapped at $0080 - $00FF.
@@8Blit So when doing sta x where does the upper byte of the address come from or can indexed writes just access the first 256 bytes of memory?
Sorry Jacob, just saw this comment. TH-cam doesn't automatically show me 2nd level comments for some reason! The next video will have more detail on this, but the short form is, you would use Indirect mode for your load instruction, which will use the address you specify with the instruction, along with the byte right beside that address as the 16-bit address.
Right now I'm maker new game then after that I'm going to make an Atari 2600
then after that I'm must make a version of every console OK?