Month: April 2021

Subroutine to Print an Atari Display List


As I mentioned in my last article I am currently trying to teach myself programming on the Atari 8 Bit. Right now that involves looking at the Graphics capability and working my way through the book Compute!’s First Book On Atari Graphics.

Right now I am working on Display Lists.   One of the tools I am using to understand the example programs is to examine the actual display list after it has been altered.  But, when working with a display list the screen is often not a convenient place to view this information (as it is often not in a place where text can be easily printed to it).

I use an emulator for most of this – though I am testing things on an actual Atari machine too.  But the nice thing about the emulator is that is has a virtual printer.  Anything that is printed to the printer is actually displayed on the host computer as a simple text file.  That gave me the idea to write the function here.

I wanted to document it here for myself and, if anyone stumbles across here and finds it useful (in and of itself or to modify to their own taste) so much the better.

1000 REM ** PRINT DISPLAY LIST
1010 DIM DLS$(255)
1020 DL=PEEK(560)+PEEK(561)*256
1030 DLP=DL
1040 DLPV=PEEK(DLP):IF DLPV<>65 THEN DLP=DLP+1:DLS$(LEN(DLS$)+1)=STR$(DLPV):DLS$(LEN(DLS$)+1)=",":GOTO 1040
1050 DLPV=PEEK(DLP):DLS$(LEN(DLS$)+1)=STR$(DLPV):DLS$(LEN(DLS$)+1)=","
1060 DLPV=PEEK(DLP+1):DLS$(LEN(DLS$)+1)=STR$(DLPV):DLS$(LEN(DLS$)+1)=","
1070 DLPV=PEEK(DLP+2):DLS$(LEN(DLS$)+1)=STR$(DLPV)
1080 LPRINT DLS$;CHR$(12)
1090 RETURN 

Atari BASIC Graphics (COLOR & SETCOLOR)

In my continuing efforts to learn how to program the Atari 8-bit line decided I needed to step back when I started looking at display lists interrupts. I want to, eventually, learn to program this machine using assembler, but it became clear to me I needed to understand more about the concepts surrounding how the Atari draws to the screen, handles colors, and standard graphics modes. I pulled out my copy of Compute! ‘s First Book on Atari Graphics and my Atari Basic Reference Manual and set out to understand these topics.

This article is going to be my first foray into documenting my understanding of these so far. This article may not contain the correct information, but if it doesn’t, I will endeavor to come back to this article and post an addendum or follow up reference to a new corrected article when I learn more.

Continue reading “Atari BASIC Graphics (COLOR & SETCOLOR)”

Dipping my Toes into Atari 8-Bit Assembly – Hello World!

First the obligatory comment: It’s been a long time since I have posted anything at all. Not sure why per say just haven’t had a ton to say. Now on to what I want to say today.

Since I was a young child, I have had a fantasy about learning to program in assembler. Specifically 6502 assembly language for the Atari 8 bit computer line. I never really did much to make that ‘dream’ into a reality. I learned many other languages on a few different platforms, but my understanding of the 8-bit Atari internals was pretty limited.

As I have posted, I got an Atari 8-bit machine in the last year or two. I haven’t had a ton of time playing with it, but I would still like to learn 6502 Assembly. I decided to start playing with Mac/65 on the Atari itself and MADS on my MacBook Air M1 to see if I could even get a type in Hello world working, modify it a little and understand some of it. I’m not aspiring to become the next retro game developer for this platform or anything. I want to understand the platform/language at this level and maybe use it to springboard into the Commander X16 when it becomes available.

Continue reading “Dipping my Toes into Atari 8-Bit Assembly – Hello World!”