Display List Programming Introduction on the Atari Computer

แชร์
ฝัง

ความคิดเห็น • 62

  • @croysk
    @croysk 2 ปีที่แล้ว +1

    Clear and well-paced description.

  • @goblazers78749
    @goblazers78749 ปีที่แล้ว +4

    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.

  •  2 ปีที่แล้ว +3

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

    • @8bitandmore
      @8bitandmore  2 ปีที่แล้ว +1

      You're very welcome!

  • @mortenpedersen6149
    @mortenpedersen6149 4 ปีที่แล้ว +14

    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.

  • @musclesmouse
    @musclesmouse 10 หลายเดือนก่อน +1

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

  • @pjollymore
    @pjollymore 4 ปีที่แล้ว +3

    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

  • @brianh2771
    @brianh2771 3 ปีที่แล้ว +2

    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...

  • @rchennau
    @rchennau 3 ปีที่แล้ว +1

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

  • @grymmjack
    @grymmjack 3 ปีที่แล้ว +1

    Great teaching. Subbed

  • @alexandermirdzveli3200
    @alexandermirdzveli3200 4 ปีที่แล้ว +4

    Great presentation. Very interesting. Thank you!

  • @bernardocalderon7811
    @bernardocalderon7811 4 ปีที่แล้ว +1

    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!

  • @billkendrick1
    @billkendrick1 4 ปีที่แล้ว +1

    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 ปีที่แล้ว +2

      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.

  • @mateuszmaterzok431
    @mateuszmaterzok431 3 ปีที่แล้ว +2

    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!

  • @IntoTheVerticalBlank
    @IntoTheVerticalBlank 4 ปีที่แล้ว

    Great job explaining the VERTICAL BLANK!

  • @eugenetswong
    @eugenetswong 4 ปีที่แล้ว

    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.

  • @mmille10
    @mmille10 4 ปีที่แล้ว +2

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

  • @ralphyrocket5770
    @ralphyrocket5770 4 ปีที่แล้ว +1

    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!

  • @edbrown1166
    @edbrown1166 4 ปีที่แล้ว +1

    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 ปีที่แล้ว +2

      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

  • @markstrickland438
    @markstrickland438 4 ปีที่แล้ว

    Thank you for this informative video!

  • @ElDirtyFly
    @ElDirtyFly 4 ปีที่แล้ว

    great info

  • @infamouskid2010
    @infamouskid2010 4 ปีที่แล้ว

    Thunderclaps in helloween demo are so awesome

  • @mikerhodes9198
    @mikerhodes9198 3 ปีที่แล้ว +1

    I used to make jagged lightening using the random function.

  • @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?

  • @SimmeringPotpourri
    @SimmeringPotpourri 2 ปีที่แล้ว +1

    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 ปีที่แล้ว +1

      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
    @8bitrocketstudios 4 ปีที่แล้ว

    NIce job!

  • @chadtodd9490
    @chadtodd9490 2 หลายเดือนก่อน

    Is this germane to the Atari 400 mini?

  • @ArtemKuchin
    @ArtemKuchin 4 ปีที่แล้ว +1

    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  4 ปีที่แล้ว

      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.

  • @homejonny9326
    @homejonny9326 4 ปีที่แล้ว +3

    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 ปีที่แล้ว +2

      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 ปีที่แล้ว +1

      @@8bitandmore great!!!

  • @David-Cope
    @David-Cope 3 ปีที่แล้ว +2

    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

  • @theannoyedmrfloyd3998
    @theannoyedmrfloyd3998 3 ปีที่แล้ว

    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.

  • @PeterPrevos
    @PeterPrevos 4 ปีที่แล้ว +1

    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 ปีที่แล้ว +1

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

  • @bomber9848
    @bomber9848 4 ปีที่แล้ว

    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 ปีที่แล้ว +1

      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

  • @mmille10
    @mmille10 4 ปีที่แล้ว +1

    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).

  • @spearPYN
    @spearPYN 3 ปีที่แล้ว +2

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

  • @wildthing72
    @wildthing72 4 วันที่ผ่านมา

    It is a shame that Atari programming was often the subject of advanced books like Compute's series, whereas the Commodore C64 manuals that came with the machine described sprites and colour map.

  • @billkendrick1
    @billkendrick1 4 ปีที่แล้ว

    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 ปีที่แล้ว +1

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

  • @gamerbrosmaximuz7125
    @gamerbrosmaximuz7125 4 ปีที่แล้ว

    First?