+SpiceWare Posted September 17, 2010 Share Posted September 17, 2010 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. ROM EarlyHMOVE.bin Source EarlyHMOVE.zip 2 Quote Link to comment Share on other sites More sharing options...
LS_Dracon Posted September 17, 2010 Share Posted September 17, 2010 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 screentest.bin Quote Link to comment Share on other sites More sharing options...
Just Jeff Posted February 16, 2019 Share Posted February 16, 2019 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.) Quote Link to comment Share on other sites More sharing options...
RevEng Posted February 16, 2019 Share Posted February 16, 2019 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. 2 Quote Link to comment Share on other sites More sharing options...
Just Jeff Posted February 16, 2019 Share Posted February 16, 2019 Ah.. That's got to be it. Thanks! 1 Quote Link to comment Share on other sites More sharing options...
Just Jeff Posted February 16, 2019 Share Posted February 16, 2019 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? Quote Link to comment Share on other sites More sharing options...
Just Jeff Posted February 16, 2019 Share Posted February 16, 2019 OK never mind.. I see where the pdf addresses this.. Weird stuff. Quote Link to comment Share on other sites More sharing options...
Just Jeff Posted April 20, 2019 Share Posted April 20, 2019 So I just figured out.. You can't easily draw a line down and to the right with this- right? 1 Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted April 21, 2019 Author Share Posted April 21, 2019 Correct, so games like Missile Command will always have HMOVE bars. 3 Quote Link to comment Share on other sites More sharing options...
JeremiahK Posted April 21, 2019 Share Posted April 21, 2019 (edited) 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 April 21, 2019 by JeremiahK 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.