Jump to content
IGNORED

48 pixel timing diagram / formula


Karl G

Recommended Posts

I'm surprised that I wasn't able to find something like this when I searched, but is there a detailed diagram or formula that can be used to know the exact cycle range for each of the GRPx register writes? This would be relative to the position of the leftmost portion of the image (or leftmost digit in the case of a 6-digit score). Bonus points for how the timing would differ for TIA revisions that have "special" timing (which I've confirmed is the case with my Atari Jr.).

 

Thanks in advance for any help!

Link to comment
Share on other sites

David Crane's iphone app had a nice description of the 48 pixel kernel. Unfortunately, it's not on the app store anymore, but you can see some pictures here:

 

http://atariage.com/forums/topic/198577-im-having-a-problem-moving-objects-horizontaly/?do=findComment&comment=2531796

 

I do not think there is a timing difference for GRP writes depending on the TIA, just the late HMOVEs can have different results on the junior.

  • Like 1
Link to comment
Share on other sites

Okay, let me test my understanding here in terms of how the normal case works for the 48-pixel image, then narrow the scope of my question.

 

So, to draw a 48 pixel image or a 6-digit score, I would first set each of the players to be 3 copies, close, then horizontally position player0 to the left edge of the desired image placement, and player1 to 8 color clocks to the right of player0. VDELP0 and VDELP1 are set so that writes to the GRPx registers are delayed until the other player's GRPx register is updated.

 

Now, my first write to GRP0 would go to a buffer rather than updating the register. My first write to GRP1 would also go to a buffer, but that same operation then updates the actual GRP0 register with the previously buffered value.

 

Now, presumably each operation that results in updating the actual GRPx register needs to happen before the corresponding copy of the player graphic is displayed, but can this be immediately beforehand? E.g. if the write operation that updated the actual GRP0 register ends on cycle 30, and a copy of the player0 graphic is at position 22 on the visible screen (90 TIA cycles), then will that update be in time for it to be drawn correctly with the updated graphics?

 

I'm wondering if I made the timing for this to be more arcane than it actually is. :-)

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