Jump to content
SpiceWare

Early HMOVE demo

Recommended Posts

Here's a demo I whipped up to figure out how to do an early HMOVE that still allows for other TIA updates

during the scan line that the repositioning occurs on. It works by having 11 special kernel sections that trigger RESP1 at the appropriate cycle - each special kernel covers a range of 15 X positions. Each kernel is currently populated with 1-2 SLEEP macros that can be replaced with other TIA updates.

 

Use your joystick left/right to move the blue sprite, which is player 0

Use up/down to move the red sprite, which is player 1.

 

The blank line between the sets of sprites is where player 1 is repositioned using an early HMOVE. The positioning should match the upper sprite, so it's easy to tell if something is wrong.

post-3056-12846847951_thumb.png

 

ROM

EarlyHMOVE.bin

 

Source

EarlyHMOVE.zip

  • Like 2

Share this post


Link to post
Share on other sites

It will be usefull for me, thanks. :)

 

I have a incomplete scanline counter to test the television resolution, perhaps can be usefull for other programmer too.

Incomplete because it miss the scanline counter.

You can push up or down, to increase or decrease 1 scanline by time. Start at 262 scanlines of resolution, my tv hang up to 285 sanlines before lost the sync.

 

Well, here is :P

screentest.bin

Share this post


Link to post
Share on other sites

Hi..

 

Would using early HMOVE for player 1, but not player 0 cause any issues? I've applied that in something I'm writing, but when player 0 moves over the horizon of the player 1 early HMOVES, player 0 shifts over to the left 8 pixels, then 8 more at the next player 1 early HMOVE. I don't think its an HMP0 issue because that is zero while in the kernel, plus, I already had those HMOVEs in the kernel before attempting the early HMOVE (just moved them to cycle 72 or 73.)

Share this post


Link to post
Share on other sites

For an early HMOVE, the "don't move" value isn't zero. Try setting HMP0 to 8, after you've moved it the fist time and allowed the dust to settle.

  • Like 2

Share this post


Link to post
Share on other sites

Also along those lines, the new HM values are 0 through -15. I don't believe its possible to represent -9 through -15 in two's compliment using only the high nibble that the HM registers read. What am I missing there?

Share this post


Link to post
Share on other sites

So I just figured out.. You can't easily draw a line down and to the right with this- right?

 

I ran into this issue with my giant nyan cat kernel. I needed to move the player objects both left and right, so early HMOVE's weren't possible.

Edited by JeremiahK
  • Like 1

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

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...