Jump to content
IGNORED

Does changing NUSIZ1 shift player one over one clock?


Just Jeff

Recommended Posts

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 by BNE Jeff
Link to comment
Share on other sites

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.

  • Like 2
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...