Display List Programming Introduction on the Atari Computer

Ғылым және технология

We will take a look at what display lists are and how to use them to customize the Atari's screen with mixed graphic modes.

Пікірлер: 61

  • @croysk
    @croysk2 жыл бұрын

    Clear and well-paced description.

  • @musclesmouse
    @musclesmouse9 ай бұрын

    I am a modern programmer and wanted to get back to my roots. Have not done much since the 80s using Basic XE

  • 2 жыл бұрын

    This is definitely the best explanation of the Atari display list I have ever watched. Thank you so much!

  • @8bitandmore

    @8bitandmore

    2 жыл бұрын

    You're very welcome!

  • @mortenpedersen6149
    @mortenpedersen61494 жыл бұрын

    This is probably one of the best instructional videos I have ever seen. it's really nice to listen to a calm voice with good explanations that don't scream "subscribe" and "like" all the time.

  • @goblazers78749
    @goblazers78749 Жыл бұрын

    I wish I had your tutorial back in 1983! Always wondered how to mix graphics modes. Thanks for helping me finally learn the details about the display list. Looking forward to learning more.

  • @8bitandmore

    @8bitandmore

    Жыл бұрын

    Great to hear!

  • @pjollymore
    @pjollymore3 жыл бұрын

    this is so cool, so glad I discovered your videos, now with some stroke of luck after all these years, watching and learning from you and doing more research that I may learn how to write a damn program, I did do some basic non graphical things many years ago with no help but I enjoy how you explain things, many thanks

  • @grymmjack
    @grymmjack3 жыл бұрын

    Great teaching. Subbed

  • @brianh2771
    @brianh27713 жыл бұрын

    Nice presentation. Clarity! Another thing about ANTIC that mystifies me is how the "cycle stealing" works - like how to predict and/or control the cycle stealing so as to make 6502 code run faster or slower, as needed, by reconfiguring the display...

  • @alexandermirdzveli3200
    @alexandermirdzveli32004 жыл бұрын

    Great presentation. Very interesting. Thank you!

  • @rchennau
    @rchennau3 жыл бұрын

    Thank you so much. I was able to watch your video, convert the basic code into c (cc65), and learn a lot.

  • @IntoTheVerticalBlank
    @IntoTheVerticalBlank4 жыл бұрын

    Great job explaining the VERTICAL BLANK!

  • @bernardocalderon7811
    @bernardocalderon78114 жыл бұрын

    Thanks for yours videos and thanks for your very simple way of teach, you are a "Maestro!" like we say in my country. Regards from Chile!

  • @8bitandmore

    @8bitandmore

    4 жыл бұрын

    Many thanks!

  • @mateuszmaterzok431
    @mateuszmaterzok4313 жыл бұрын

    Wow this is great explanation about things that are kinda hard for new programmers for Atari ! Thank You so much for Your effort to make this as easy as it could be. Please make more videos about programming Atari like that :). Subscribed

  • @8bitandmore

    @8bitandmore

    3 жыл бұрын

    You're very welcome!

  • @eugenetswong
    @eugenetswong4 жыл бұрын

    Thanks! 1) This video's format seems to be much more planned, professional, prepared, and polished. All of that makes you and the video more respectful of our time. I just want to add that I still value other creators, who don't prepare this much. 2) Seeing the modes listed in Antic order, and not GR. order also helped me to get a tiny bit of a better grasp. 3) Those arrows throughout the video make a huge difference. I think that I glossed over the horizontal blank concept, when I read about it, because I wasn't ready for it. Now that I want to know about the opportunities to keep the processor busy, me seeing the horizontal blank and the vertical blank helped me to understand in quick glance. This really helped! 4) GR.0, GR.1, GR.2, & GR. 8, are my favourite modes, so I thank you for the image demo at the end of the video. I think that my next favourite modes are the grey scale modes. 5) If you are wondering about how to finish off each of your videos, then perhaps a quick demo of artistic work to show what Atari is capable of? 6) Perhaps it would be helpful to display artifacting in GR.8. The thing is that your TV might not be old enough. I don't know enough about screen technology. 7) In the future, I'd love to see demos of the other Antic modes; especially the other text mode, which has no graphic mode number. It might be interesting to see why we would choose that over the other text modes. 8) Your audience might see some value in poking 752 and 755. I thought that I understood it all, until I actually tried all the possible values. I'd be willing to submit code that helped me to understand it, if you'd like. Your viewers might get also get a kick out of seeing half of the text be displayed upside down, and how it can be used to display nice playing cards. It would make a nice logical followup to your introduction on display lists.

  • @8bitandmore

    @8bitandmore

    4 жыл бұрын

    thanks for the great feedback. I think a card game would be a great video for learning.

  • @originaltrilogy1

    @originaltrilogy1

    2 жыл бұрын

    @@8bitandmore Artefacting works differently on PAL and NTSC TVs as well. The GR.8 artefacting trick to get colour in that mode never worked correctly on the slightly higher resolution PAL TVs.

  • @edbrown1166
    @edbrown11664 жыл бұрын

    Great videos! Many thanks for putting them together. It's been bugging me and I can't stop myself from saying, there's a little mistake in the printed display list - there's only 23 GRAPHICS 0 lines instead of 24 - there, I've said it, now I can sleep at night. But, seriously, great videos! I'm getting my 800XL out of the box to check this out now. I never did understand how the display list worked so I just used the graphics modes available to me via BASIC for the games I wrote.

  • @8bitandmore

    @8bitandmore

    4 жыл бұрын

    Thanks for watching! The 24th graphics zero display is actually part of byte #4, byte #4 is 66 (64+2). The 64 is an LMS command. The 2 is added to tell Antic what the first display line mode will be

  • @mmille10
    @mmille104 жыл бұрын

    Re. the Halloween demo - Good use of page flipping!

  • @ralphyrocket5770
    @ralphyrocket57704 жыл бұрын

    Like always!! ON POINT!!! Like I said before! Your videos have been missing in the community for years!!! Poke 82,0......lol

  • 4 жыл бұрын

    POKE 82,0 is super!

  • @markstrickland438
    @markstrickland4384 жыл бұрын

    Thank you for this informative video!

  • @8bitandmore

    @8bitandmore

    4 жыл бұрын

    welcome...

  • @ElDirtyFly
    @ElDirtyFly3 жыл бұрын

    great info

  • @billkendrick1
    @billkendrick14 жыл бұрын

    Another fun trick is to just point ANTIC, via the addresses for the LMS'd instruction, to random parts of memory. Like in Page 0, you can see the clock bytes (18,19,20) counting up, etc. etc.

  • @michaelstoliker971

    @michaelstoliker971

    4 жыл бұрын

    A little basic program will let you scroll a window from the bottom to the top of memory with a joystick. These are pretty flexible computers.

  • @SimmeringPotpourri
    @SimmeringPotpourri2 жыл бұрын

    I would love to see you cover the GTIA graphic modes. I don't see these used that often in games but more for multicolored demos but I think it's possible that they could be used for very colorful backgrounds.

  • @8bitandmore

    @8bitandmore

    2 жыл бұрын

    will do

  • @SimmeringPotpourri

    @SimmeringPotpourri

    2 жыл бұрын

    @@8bitandmore Since I posted I've been spending a lot of time using GTIA 9 mode and have a much better understanding of it. Still, a video on those modes will never hurt. :-)

  • @8bitrocketstudios
    @8bitrocketstudios4 жыл бұрын

    NIce job!

  • @infamouskid2010
    @infamouskid20104 жыл бұрын

    Thunderclaps in helloween demo are so awesome

  • @homejonny9326
    @homejonny93264 жыл бұрын

    thanks for the channel and the videos! I would like to know if you have any will about making a video that explains how tiles and sprites work in atari 400/800 games...

  • @8bitandmore

    @8bitandmore

    4 жыл бұрын

    I actually already have several videos that talk about sprites in basic and Assembly language if you look through my videos you will find them.

  • @homejonny9326

    @homejonny9326

    4 жыл бұрын

    @@8bitandmore great!!!

  • @bomber9848
    @bomber98484 жыл бұрын

    Great Video Thanks! I don't know how you knew I was just starting to learn about DL's but the video came at the perfect time! Any way to get PDF's of all those great charts? THANKS!

  • @8bitandmore

    @8bitandmore

    4 жыл бұрын

    I believe I have most of them as a PDF already email me and I will send them to you, 8bitsandmore@gmail.com

  • @8bitandmore

    @8bitandmore

    4 жыл бұрын

    i'm psychic!

  • @bomber9848

    @bomber9848

    4 жыл бұрын

    @@8bitandmore Email sent

  • @mikerhodes9198
    @mikerhodes91983 жыл бұрын

    I used to make jagged lightening using the random function.

  • @David-Cope
    @David-Cope3 жыл бұрын

    Atari 8 bits were missed out by a lot of peeps - They went for Crummydore 64 instead. I used to program demos in the 80's and it's great for you to do this video. Can I add a link to some Atari Magazines that will enhance this video.. Won't link De Re Atari but Computer Animation Primer is really interesting - book cost me £90 on import but now it's here.. Great video BTW.. Keep doing them.. This is link to Animation Primer. You might like it too.. It's Atari computer in chapter 2 but not many people know that.. www.atarimania.com/documents/Computer_Animation_Primer.pdf

  • @chadtodd9490
    @chadtodd949028 күн бұрын

    Is this germane to the Atari 400 mini?

  • @sahhaf1234
    @sahhaf1234 Жыл бұрын

    I cannot make sense of the table at @12:12. What do "split" or "full" mean? What is "columns?"? what is bytes/line?

  • @ArtemKuchin
    @ArtemKuchin3 жыл бұрын

    Why there are no blank lines at the bottom in the display list? How then it knows how to draw background color at the bottom? Also, what about sides?

  • @8bitandmore

    @8bitandmore

    3 жыл бұрын

    The blank lines at the bottom are there because we purposely do not draw enough to leave blank.

  • @SyntheToonz

    @SyntheToonz

    3 жыл бұрын

    After the jump Vertical Blank at the end of the Display List ANTIC outputs blank scan lines (background color) automatically for the remainder of the frame.

  • @theannoyedmrfloyd3998
    @theannoyedmrfloyd39983 жыл бұрын

    Display lists do basic things. Change a color register at a certain line on the screen Change character set pointer at a certain point Change a Sprite data pointer Change a display mode Whatever it's doing, the instruction(s) can't do much. It's similar to how the 6507 drives the TIA in the 2600.

  • @rbrtck

    @rbrtck

    2 жыл бұрын

    The ANTIC chip that processes the display list can only change the graphic mode, the pointer to graphics data (one type per mode), and optionally call the 6502 CPU with a display list interrupt (DLI) on each mode row. Things like changing color registers and everything else the ANTIC cannot do on its own are actually done by the CPU in DLIs. DLIs are somewhat similar to what is done on the 2600, although there is a big difference in that the ANTIC does most of the required work of feeding the GTIA all of the graphics data in memory on the Atari computer, while on the 2600 the CPU itself does all of this work all of the time.

  • @billkendrick1
    @billkendrick14 жыл бұрын

    Woulda been cool to see you replace the three "112 / 8 blank scanlines" with the first line of your GRAPHICS 0 mode, but then *leave* the original "66 / ANTIC 2 + LMS" & same pointers to memory, so you'd get this effect at the top of the screen: HELLO HELLO WORLD ;)

  • @8bitandmore

    @8bitandmore

    4 жыл бұрын

    Yes, I think in the second video where we do some more advanced stuff we'll try some crazy tricks like that.

  • @mmille10
    @mmille104 жыл бұрын

    Just for clarity, the reason you multiply the peek(561) value by 256 is that the 6502 is a little-endian processor. It places the low byte of a 16-bit value in a lower address (in this case, 560) than the high byte (in address 561). In normal binary, this is the opposite of where the low and high bytes are placed (the low byte is in the higher address (lower place value), and the high byte is in the lower address (higher place value)). It won't work out well if you just add the peek values from the two bytes in Basic. So, you shift the high byte into its proper position. You do this by multiplying it by 256 ($0100 in hex). This is one way of doing what would be called a left bit-shift in languages like C. The way + is used is equivalent to doing a bitwise OR on the two byte values, into a 16-bit integer (DLIST).

  • @PeterPrevos
    @PeterPrevos3 жыл бұрын

    I learned coding from the Dr Wacko book - the most awesome Atari BASIC book ever. Would be great to see some videos that run through this book. archive.org/details/Dr_Wackos_Guide_to_Creating_Arcade_Games

  • @8bitandmore

    @8bitandmore

    3 жыл бұрын

    I will take a look at it. Thank you for tuning in!

  • @spearPYN
    @spearPYN3 жыл бұрын

    Programming Atari is so fun. Modern programming is overly complex and bloated. I much prefer retro programming on Atari or MS-DOS.

  • @8bitandmore

    @8bitandmore

    3 жыл бұрын

    I agree!

  • @gamerbrosmaximuz7125
    @gamerbrosmaximuz71254 жыл бұрын

    First?

Келесі