Jump to content
IGNORED

Playfield Question


Recommended Posts

Hi everyone!

 

First of all let me explain what I'm trying to do. I have already posted under the 2600 Programming for Newbies section a game idea I'm working on. And without giving too much specifics I managed to create one maze (with no working player graphics yet) on the 2600. I have stopped that one for a bit because the "call" to program on an Atari 8-bit computer was bugging me. So, while that is on hold for a bit, I decided to work the maze out on an Atari 8-bit. In theory I guess you could say that the game is being programmed, side-by-side, on both systems. And while I am doing this in Atari BASIC on the 8-bit I am using PM Graphics for player graphics. And thanks to ANTIC magazine I am understanding this aspect of the Atari computers, and Display Lists too, much better.

 

Since I am using BASIC I understand that the Playfield is not part of PM Graphics. With that being said are there ways to create a maze-like playfield in BASIC using something similar to what would be used in Assembly Language for testing purposes? If it makes a difference I'm on an Atari XEGM with a 810 disk drive and using ATARI DOS 2.5.

 

Thanks In Advance!

 

Link to comment
Share on other sites

With that being said are there ways to create a maze-like playfield in BASIC using something similar to what would be used in Assembly Language for testing purposes?

 

Yes, you can create your mazes by storing the appropriate byte values in the playfield's graphics memory. Note that you don't need to use a high-resolution mode for your mazes-- GRAPHICS 6 (ANTIC mode B) should work well for your mazes if there's only two colors in the playfield (foreground and background). And if you create a custom display list then you can mix graphics modes (e.g., so you can have a text bar for displaying a score), as well as repeat playfield rows such that those rows are "stretched" vertically (so you don't have as many bytes to fill when you need to draw the playfield).

Link to comment
Share on other sites

From what I have learned so far, I can have GR. 6 take up say 162 lines and the remaining 30 lines can be GR. 0 for a HUD. I might try to do GR 1 or 2 for the HUD depending on how it looks when it is setup. So far I have not ran across information about the Playfield's Graphics Memory nor its location. I'm still reading ANTIC Magazines (which is why I asked about Playfields here) and have learned a great deal about Display Lists and PM Graphics from that source. I will have to repay a visit to the issue with the Display List how-to again in ANTIC. I love that magazine and I wish they were still around. I also wish that there was an Atari computer club in my area for exchanging such information. Maybe I ought to start one?

 

And, just out of curiosity, which format would Atari computer gamers prefer: Cassette, Disk, or Cartridge? I know that making a cartridge would mean having to build the game in Machine Language only but I have seen many older software ads that offered only Cassette or Disk and some of those games seemed to combine BASIC and Assembly Language routines. Thought I would ask in advance.

Link to comment
Share on other sites

. . . So far I have not ran across information about the Playfield's Graphics Memory nor its location....

 

That's because other than minor considerations like crossing over a 4K boundary the memory for graphics is not fixed. You can specify (in the display list) nearly anyplace in the 16-bit address space for graphics memory.

 

You can do some experiments... after a GRAPHICS command, do PRINT PEEK(88)+256*PEEK(89) which will report the first memory location used by the current graphics mode. (corresponding to the upper left corner of the screen).

 

Locations 88/89 are not related to ANTIC/or the Display list. This is the pointer to graphics memory used by the OS character plotting and line drawing routines.

 

Wikipedia has a fair discussion of ANTIC. http://en.wikipedia.org/wiki/ANTIC#The_Display_List

Link to comment
Share on other sites

If your using the OS to create the screen (Basic's graphics command), then locations 88 and 89 will hold its location, so...
PLAYFLD = PEEK(88) + PEEK(89)*256

 

If your creating your own Display list, then its your responsibility to find a safe place in RAM for the playfield. Antic almost certainly has a few examples showing how to do that. If not, search online for "De Re Atari" which covers the topics your interested in, in quite some detail.

 

Disk is probably the better way to go if your looking to mix assembler with basic, and it has the advantage of allowing you to segment your data.

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