Jump to content
Sign in to follow this  
kamakazi

Atari 400/800/XL/XE Player Registers Question

Recommended Posts

I am working on a project (still working out some display and register issues) when it dawned on me. The original 400/800 had four controller ports and each port, in simple terms, had its own player register in PM Graphics (or in the OS). XL and XE machines removed two of the controller ports I assume to cut production costs. Does this mean that the extra player registers were removed as well or are they still intact?

 

I'm asking because my game project is designed on paper to take advantage of all four player registers. I don't want to create something for just a specific line of Atari 8-bits...I want it to be able to play on all of them.

 

Thanks in advance!

Share this post


Link to post
Share on other sites

Totally different things. The controller ports are handled by PIA and ports 3 and 4 were repurposed to handle things like control of built-in BASIC and the self-test. The PMG's are handled by Antic and GTIA and are unaffected, otherwise existing software wouldn't work at all.

Share this post


Link to post
Share on other sites

I know that they are different...was just having a humorous moment. So if I have a program that uses all four player registers then the XL and XE will still have those registers (P0-P3)? And how much memory should I have on an XEGM with BASIC (Keyboard) running and DOS 2.5 loaded? If I'm not mistaking my XEGM "should" have 64K of RAM. All that BASIC is reporting back is 32K and that is using the command:

 

PRINT FRE(0)

Share this post


Link to post
Share on other sites

BASIC doesn't see RAM under the OS or under BASIC. That's 24K gone from your 64K.

 

The system reserves the bottom 2K (roughly) for buffers, page zero, the stack etc, so we're up to 26K unavailable.

 

Add a DOS, and that's another chunk of memory gone - leaving you with 32K of RAM available for programming.

Share this post


Link to post
Share on other sites

I know that they are different...was just having a humorous moment. So if I have a program that uses all four player registers then the XL and XE will still have those registers (P0-P3)?

Players are general purpose graphics objects. They don't actually have to be used 1 per controller or anything like that. You have 4 with missiles or 5 without. Do whatever you want with them.

Share this post


Link to post
Share on other sites

I know that they are different...was just having a humorous moment. So if I have a program that uses all four player registers then the XL and XE will still have those registers (P0-P3)?

 

But you just said you know they are different. ! ? ! ? ???????

 

The controller ports are handled by the PIA chip.

Player/Missiles are run by the GTIA chip.

Removing the controller ports did nothing to change GTIA graphics features.

(OK, GTIA does do the joystick triggers, but that just means the two bits for the triggers for those missing controller ports are not used.)

 

 

Share this post


Link to post
Share on other sites

(OK, GTIA does do the joystick triggers, but that just means the two bits for the triggers for those missing controller ports are not used.)

 

One of the triggers is now used to detect a cartridge. On the 400/800 it was done by looking for non-writable memory.

Share this post


Link to post
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...