Action! Programming for the Atari 8-bit Computer - Part 17 - Details of Graphics 1/2

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ก.ย. 2024
  • The 17th in a series of videos in programming in Action! for the Atari 8-bit computers.
    In response to a viewer's input, all about text is displayed in Graphics 1 and 2. Thanks to David Snyder and Ken Jennings for their contributions to this video.
    Code for my videos are at my GitHub at GitHub.com/Davi...

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

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

    Thanks a ton for the video - short summary is screen memory (ANTIC) uses bits 6 and 7. However, I point out that at 12:25-12:35 I disagree a bit when you say bits 5-7 do not really correspond to the color on the screen. They still do, it is just that the 2 banks of 32 characters have a different color order from each-other. The most important point is that I love having the opportunity for community dialog on programming Atari 8-bit! Keep up the great work!

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

    More Kudos!!! I see that you are getting more subscribers and comments. Of course it's a narrow Iare of interest, but for the diehard Atari and programming nuts, we are very, very happy that you have put out so many ACTION! video tutorials and continue. I have a question but not sure where to post it, so I'm leaving it here. Is there are way to access/modify the ACTION! editing configuration such as bell sound & margin controls, as well as change things like the colors, programatically? I would like to create a boot up program that runs automatically to customize these settings. It's a pain to manually make these changes everytime I boot up ACTION!. Thanks and apologies is this has been asked before.

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

      If you look on my GitHub here: github.com/DavidArlington/Action/blob/main/HIJACKRS.ACT
      You can find a program I am using now with all my videos. When you run this program, any time you press RESET key in the Action! editor, it installs the following defaults:
      INSERT mode on
      LOWER CASE mode on
      LEFT MARGIN 0
      BACKGROUND White
      TEXT Black
      You can adjust or add other things to customize it. Piotr has a whole bunch of other options I don't personally use for instance, like turning off key click sound and speeding up key repeat speed.

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

      @@davidarlington1206 Thanks so much. Just what I was looking for!!

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

    I needed to understand this thank you! So poke/peek are supposedly slow. Could it be done with = (e.g. scrloc=chrbyte) or is there a length issue with that?

    • @rscotthayes9448
      @rscotthayes9448 2 ปีที่แล้ว

      I noticed chrbyte!0 /text(len)!32 your referring to as not zero/32 but that is really an XOR is it still behaving correctly by chance or should it be chrbyte#0/text(len)#32 ?

    • @davidarlington1206
      @davidarlington1206  2 ปีที่แล้ว

      @@rscotthayes9448 You are absolutely correct. That was my Java background taking over the keyboard. And yes, in this case, it just works by accident!

    • @davidarlington1206
      @davidarlington1206  2 ปีที่แล้ว

      It cannot be done with scrloc=chrbyte. The reason is scrloc here is a variable that holds an address to the current screen memory location. chrbyte here (unlike in the Graphics 8 example) is a VALUE, not an address. If we do scrloc=chrbyte, then we are just overwriting the value that holds the address where we want to put the chrbyte value.
      I have not talked about pointers yet, but this is a case where you could use a POINTER var to skip using the Poke.
      BYTE POINTER chrptr ; a pointer to the memory address where we want to put the value.
      chrptr=scrloc ; set the pointer to point to the current address in screen memory
      chrptr^=chrbyte ; put the value of chrbyte INTO the address pointed to by chrptr (which is the address value it got from srcloc)
      I think I will make the next video about this. Make it clearer.

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

    In short antic uses its internal code not atasci

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

      There ya go. I guess the video could have been a lot shorter. LOL It's just not always that easy to actually grok the difference so I wanted to dive deep this time.

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

      Thumbs up what Brian said.
      ANTIC uses internal code values from screen memory to determine the character and the color. The fastest screen update (and in my opinion the easiest to understand) is writing bytes directly into screen memory. All characters in all colors are available.
      Printing is an abstract that the operating system implements to "write" to the screen device using ATASCII. Between ATASCII character order, and the way the screen device is implemented not every character can be printed in every color.

    • @davidarlington1206
      @davidarlington1206  2 ปีที่แล้ว

      @@SyntheToonz that's basically the whole point of this video. To set up how and why we want to write right to screen memory instead of going through the ATASCII character set.

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

      @@davidarlington1206 hey I loved the video all the series

    • @davidarlington1206
      @davidarlington1206  2 ปีที่แล้ว

      @@brianwild4640 I hope my reply didn't come off the wrong way. I was just amused you summed it up in five words or so what it took me 38 minutes to show. LOL