Jump to content
IGNORED

Graphics modes in Atari BASIC


Recommended Posts

So I think I've finally landed on an idea for a game that I believe I can program.  The game would be turn-based, but rely on static graphics, almost like in a graphic adventure game.

 

It obviously needs to be in color, and if memory serves, in Atari BASIC, the highest resolution mode you can "access" is Graphics 7?  Is there a way to get use Antic E / Gr. 15?  I think that's the highest resolution mode with color options.

 

If you can't - do the other BASICs (e.g., Turbo BASIC, FastBASIC) let you access the "hidden" modes?

Link to comment
Share on other sites

GRAPHICS 12-15 are only available with the XL/XE OS. The underlying graphics modes are supported by the hardware on all models including the 400/800, but OS-B doesn't support setting up GR.12-15. As BASICs defer to S: to set up the graphics mode, they'll all fail on these modes if run on OS-B.

 

You can edit the display list to switch the hardware mode from ANTIC F to ANTIC E, but OS-B won't know how to draw into it -- you'll be drawing 1-bit pixels on a 2-bit pixel screen.

 

Link to comment
Share on other sites

15 minutes ago, phaeron said:

GRAPHICS 12-15 are only available with the XL/XE OS. The underlying graphics modes are supported by the hardware on all models including the 400/800, but OS-B doesn't support setting up GR.12-15. As BASICs defer to S: to set up the graphics mode, they'll all fail on these modes if run on OS-B.

 

You can edit the display list to switch the hardware mode from ANTIC F to ANTIC E, but OS-B won't know how to draw into it -- you'll be drawing 1-bit pixels on a 2-bit pixel screen.

 

Yea that would be a problem.  So I guess I would revert to Gr.7 if I do this.  Should work fine for what I need, just need to render the pic.

Link to comment
Share on other sites

1 hour ago, rdefabri said:

Yea that would be a problem.  So I guess I would revert to Gr.7 if I do this.  Should work fine for what I need, just need to render the pic.

If these are going to be static pictures, I would recommend setting up your own display list then, and simply loading the image data to the screen.  Unless your plan was going to be using PLOT, DRAWTO, and XIO fill routines to do each image.  That way, it will work on any machine regardless of OS.  The only caveat being, the required screen RAM will double when using ANTIC E compared to D.

  • Like 1
Link to comment
Share on other sites

31 minutes ago, Stephen said:

If these are going to be static pictures, I would recommend setting up your own display list then, and simply loading the image data to the screen.  Unless your plan was going to be using PLOT, DRAWTO, and XIO fill routines to do each image.  That way, it will work on any machine regardless of OS.  The only caveat being, the required screen RAM will double when using ANTIC E compared to D.

I will definitely load the image - would be too complex to do plot / drawto / etc.  I don't know that RAM will be an issue, but always good to be frugal if I can.

 

Ideally, the image would be a digitized image, but I'm getting ahead of myself.

Edited by rdefabri
  • Like 1
Link to comment
Share on other sites

30 minutes ago, rdefabri said:

I will definitely load the image - would be too complex to do plot / drawto / etc.  I don't know that RAM will be an issue, but always good to be frugal if I can.

If you're trying to be frugal, using a character mode might be helpful. Depending on how complex the images are, they may fit into single character sets. At that point, you're just talking 1024 bytes for each set and 960 maximum bytes for screen ram (for a full-screen image).

 

As an example, the bottom portion of my slot game uses Antic 2 (BASIC Gr. 0). Each image is contained in a character set that resides in ram. Switching images just requires pointing to the necessary character set, and then loading the relatively small amount of screen data (compared to bitmapped-mode data). This also makes switching between the screens very fast.

 

payout.thumb.png.2d08349d26d4e2cd1d540818e1ad2433.png    lines.thumb.png.d84f50df824a114ffebb6a4a8542a7a6.png

mills.thumb.png.fb8fd6539e0d8e5ff9197290530a6d8c.png    bursting.thumb.png.f5427c7bd5b0380e3bab43b6afe8eafb.png

bell.thumb.png.3bff28a3a75238deb1ed368748310107.png

 

 

Edited by MrFish
  • Like 6
Link to comment
Share on other sites

16 hours ago, MrFish said:

If you're trying to be frugal, using a character mode might be helpful. Depending on how complex the images are, they may fit into single character sets. At that point, you're just talking 1024 bytes for each set and 960 maximum bytes for screen ram (for a full-screen image).

 

As an example, the bottom portion of my slot game uses Antic 2 (BASIC Gr. 0). Each image is contained in a character set that resides in ram. Switching images just requires pointing to the necessary character set, and then loading the relatively small amount of screen data (compared to bitmapped-mode data). This also makes switching between the screens very fast.

 

payout.thumb.png.2d08349d26d4e2cd1d540818e1ad2433.png    lines.thumb.png.d84f50df824a114ffebb6a4a8542a7a6.png

mills.thumb.png.fb8fd6539e0d8e5ff9197290530a6d8c.png    bursting.thumb.png.f5427c7bd5b0380e3bab43b6afe8eafb.png

bell.thumb.png.3bff28a3a75238deb1ed368748310107.png

 

 

That looks awesome by the way!

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...