Just Jeff Posted April 27, 2019 Share Posted April 27, 2019 (edited) I'm switching player 1 from single to double width and getting this: Notice missile 1 and ball stay on their normal course but player 1 shifts over 1 clock. Is this avoidable? Edited April 27, 2019 by BNE Jeff Quote Link to comment Share on other sites More sharing options...
JeremiahK Posted April 28, 2019 Share Posted April 28, 2019 Can you post the code for this kernel? Quote Link to comment Share on other sites More sharing options...
Just Jeff Posted April 30, 2019 Author Share Posted April 30, 2019 (edited) Sure.. Here it is. Note- I commented out the four lines I used to correct for it. Still I'm interested knowing if this is a quirk and/or avoidable. Thanks! lda #$F0 ;2 @31 sta HMP1 ;2 @34 To make line down and right lda #$F0 ;2 @36 Can be deleted sta HMM1 ;3 @39 To make line down and right cpy #130 ;2 @41 bne .loop4 ;2,3 @43/44 ;************************************************* ; MiddleOfUmb SUBROUTINE ; ;************************************************* ;44 spare cycles from above SLEEP 18 ;18 62 ;lda #%00000000 ;2 @64 ;sta HMP1 ;3 @67 Stop player 1 for two lines to realign it due size change lda #%00110101 ;2 @69 sta NUSIZ1 ;3 @72 8 clock missile 1, double size player 1 .loop sta WSYNC ;3 @0 sta HMOVE ;3 @3 lda (Player0Ptr),y ;5 @8 - load line 1 shape for car sta GRP0 ;3 @11 dey ;2 @ 13 lda #0 ;2 @15 sta HMBL ;3 @18 sta ENABL ;3 @21 .loop2 sta WSYNC ;3 @0 ;lda #$F0 ;2 @2 ;sta HMP1 ;3 @5 Return Player 1 speed to 1 clock to the right lda (Player0Ptr),y ;5 @10 - load line 1 shape for car sta GRP0 ;3 @13 sta RESBL ;3 @16 Get the ball out of here dey ;2 @18 cpy #122 ;2 @20 bne .loop ;2,3 @22/23 lda #GRAY ;2 @24 sta COLUPF ;3 @27 ;************************************************ ; UmbHub SUBROUTINE ; ;************************************************* ;27 spare cycles from above lda #%00110000 ;2 @29 sta CTRLPF ;3 @32 Switch to 8 clock ball, repeat PF, playfield gets priority .loop sta WSYNC ;3 @0 sta HMOVE ;3 @3 lda (Player0Ptr),y ;5 @8 - load line 1 shape for car sta GRP0 ;3 @11 lda #0 ;2 @13 sta PF2 ;3 @19 dey ;2 @22 SLEEP 16 ;11 @33 lda #%00000001 ;2 @35 sta PF2 ;3 @38 .loop2 sta WSYNC lda (Player0Ptr),y ;5 @5 - load line 1 shape for car sta GRP0 ;3 @8 lda #%00000000 ;2 @10 sta PF2 ;3 @16 dey ;2 @20 SLEEP 19 ;20 @42 lda #%00000001 ;2 @35 sta PF2 ;3 @38 cpy #98 ;2 @49 bne .loop ;2,3 @45 Edited April 30, 2019 by BNE Jeff Quote Link to comment Share on other sites More sharing options...
DirtyHairy Posted April 30, 2019 Share Posted April 30, 2019 There are definite effects of changing NUSIZ once the player sprite has started drawing. You can see an example (shift by one pixel) if you look at the Meltdown source closely. Another example is Realsports Boxing. However, the details are rather intricate, and I can't give a simple recipe of what happens when. You can find more details at https://github.com/stella-emu/stella/issues/63 If you don't have any particular reason to change NUSIZ during draw, I'd just stay clear of it. 2 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.