*Nice explanation again* 😁 If I'm understanding everything correctly: - I have to end up with *192* scanlines when I'm combining different modes. 🤓 - When defining a display list, it should start with 3 bytes _$70_ which are 24 empty scan lines to fill the unseen space (overscan). Then I add 1 byte (LMS + antic mode hex code _= $40 + $05)._ This indicates which antic mode is used for the first mode line and that our screen starts here. Then 2 bytes for the starting address of the screen in reverse order _( $00_ = LSB then _$40_ = MSB). Finally, we have to fill the remaining bytes with antic mode hex codes and jump back to the dlist label to create a kind of infinite loop. - We have to store the address of the display list in use at address _$0230._ - All 16-bit addresses should be stored in reverse order (LSB first then MSB). Hope I got all that right. Anyway, on to episode 3! 🚧🚜🚧
@@brandonphilander661 The maps will be procedurally generated. I have been working on the project plan as well as the dungeon generation algorithms, and I hope to use multiple methods for map generation.
ED! In VSCode, select the first '2' in 'antic2', then Ctrl+D to select the next '2', then keep pressing Ctrl+D until it's selected them all in the code block below. Then you can change them all at once. Cheers!
Hah, you remind me of a friend of mine that uses *all* of the shortcuts... I usually look for those when I have a job that will take a lot of work to do. Usually it's just faster to change them than to remember the shortcut. The ctrl-D one I do use from time to time, just not here :)
I have been wanting to learn assembly for a long while now but never really knew where to start, going back to the 8 bit atari inspired me do so, thanks for the great tutorials, you have got a new sub.
FYI the DL needs to be in 1k block. Something to be aware of. I wish you all lots of fun coding for the Atari. Still enjoying it after 30 years from time to time 😊
These are great tutorials. Reinforcing things I already knew and i already picked up on several new coding tricks I hadn't thought of too. Very clear and deliberate coding with purpose, not just theoretical examples for academia sake. I love it. My only question now is, when is episode 3 ? :)
Hi Ed, I havn't followed you series now since the beginning of 2022 but I wanna go back on track again so I'm starting again. One think I noticed when playing around with the code from this video is that the ANTIC modes to have an effect on the characters. When writing the text "Hello Atari!" as upper and lower case instead of "HELLO ATARI" then ANTIC mode 3 shows them a little bit garbled. It seems that the top portion of the caracters are shown later on the screens, like if they were casted on the screen in later scan lines below the bottom line of the upper case letters. Or in ANTIC mode 6 the lower case letters actually have a different color than the upper case ones. Do you have the time to give a short and quick insight on why this might be, pretty please? It must have appeared somewhere where we switched from using the Screen Memory Address pointer to our own defined screen buffer at $4000. But I sure can't wrap my head around all of this to find the root cause :)
For your first issue, I unfortunately I don't know why that would be the case. I do know that in the big text antic modes, they don't do lowercase letters so they use the lowercase letters for a different color, as well as inverse video, so that you can get 4 different combinations.
*Nice explanation again* 😁
If I'm understanding everything correctly:
- I have to end up with *192* scanlines when I'm combining different modes. 🤓
- When defining a display list, it should start with 3 bytes _$70_ which are 24 empty scan lines to fill the unseen space (overscan). Then I add 1 byte (LMS + antic mode hex code _= $40 + $05)._ This indicates which antic mode is used for the first mode line and that our screen starts here. Then 2 bytes for the starting address of the screen in reverse order _( $00_ = LSB then _$40_ = MSB). Finally, we have to fill the remaining bytes with antic mode hex codes and jump back to the dlist label to create a kind of infinite loop.
- We have to store the address of the display list in use at address _$0230._
- All 16-bit addresses should be stored in reverse order (LSB first then MSB).
Hope I got all that right.
Anyway, on to episode 3! 🚧🚜🚧
Looks about right to me!
That is freaking nuts!!!!
Very cool. The Atari 8-bit was pretty much the only major 6502 machine I haven't programmed yet. I'm glad you're doing this series!
Thanks so much!
Thank you for doing these! Please continue.
My pleasure, and I intend to!
Episode 3 is now live!
Great tutorial series, just found it. Please keep going.
Will do, thanks!
@@MissionEdPossible Will you be implementing randomly or procedurally generated maps?
@@brandonphilander661 The maps will be procedurally generated. I have been working on the project plan as well as the dungeon generation algorithms, and I hope to use multiple methods for map generation.
@@MissionEdPossible Thanks man I really can't wait for the next video.
ED! In VSCode, select the first '2' in 'antic2', then Ctrl+D to select the next '2', then keep pressing Ctrl+D until it's selected them all in the code block below. Then you can change them all at once. Cheers!
Hah, you remind me of a friend of mine that uses *all* of the shortcuts... I usually look for those when I have a job that will take a lot of work to do. Usually it's just faster to change them than to remember the shortcut. The ctrl-D one I do use from time to time, just not here :)
I have been wanting to learn assembly for a long while now but never really knew where to start, going back to the 8 bit atari inspired me do so, thanks for the great tutorials, you have got a new sub.
Thanks so much! I am having a lot of fun with it - too many tutorials skip over details, which I try not to do!
Excellent! This is my new favorite channel.
Wow, glad to hear it!!!
FYI the DL needs to be in 1k block. Something to be aware of.
I wish you all lots of fun coding for the Atari. Still enjoying it after 30 years from time to time 😊
Yes, and I need to go back and revisit this - unfortunately other business stuff has been taking up a lot of my time!
WOW !! ATARI!
These are great tutorials. Reinforcing things I already knew and i already picked up on several new coding tricks I hadn't thought of too. Very clear and deliberate coding with purpose, not just theoretical examples for academia sake. I love it. My only question now is, when is episode 3 ? :)
Now! I just released episode 3, check it out!
If you really likes display lists, the atari 7800 has plenty of them. :D I can't quite get my head around that machine display-wise....
At some point I may tackle it!
Hi Ed, I havn't followed you series now since the beginning of 2022 but I wanna go back on track again so I'm starting again. One think I noticed when playing around with the code from this video is that the ANTIC modes to have an effect on the characters. When writing the text "Hello Atari!" as upper and lower case instead of "HELLO ATARI" then ANTIC mode 3 shows them a little bit garbled. It seems that the top portion of the caracters are shown later on the screens, like if they were casted on the screen in later scan lines below the bottom line of the upper case letters. Or in ANTIC mode 6 the lower case letters actually have a different color than the upper case ones.
Do you have the time to give a short and quick insight on why this might be, pretty please? It must have appeared somewhere where we switched from using the Screen Memory Address pointer to our own defined screen buffer at $4000. But I sure can't wrap my head around all of this to find the root cause :)
For your first issue, I unfortunately I don't know why that would be the case. I do know that in the big text antic modes, they don't do lowercase letters so they use the lowercase letters for a different color, as well as inverse video, so that you can get 4 different combinations.
Following along in WUDSN once again even though I know there'll be a lot of reorganizing in Ep6
Hopefully Ep7 will be out later this month 🙂
It's coming soon, I promise! I have been prepping for it and will be recording soon!
Can you recommend an exciting book to help me learn more?
Thank you!
De Re Atari is one of the best, but there are many - you can get lots of them here: atari8bit.net/db/?g=Books&d=c&f=Books