Jump to content
IGNORED

scroll jumping and score weirdness


tschak909

Recommended Posts

So far the kernel seems to be coming along very nicely, I was finally able to implement a smooth scrolling algorithm by unrolling everything.... but I have some other problems that have come up:

 

* The first digit for the score is garbled, not sure why.. it's looking like a mangled pointer somehow....

* The scroll completes, then starts at the very beginning again. I suspect this is because i am updating state during overscan.. do I need to move the bounds enforcement (basically the AND), in-kernel?

 

I am pasting source and a screenshot.. but I'm showing some progress!

 

post-9462-1173596088_thumb.png

 

and the current code:

salmonrun_070311.zip

 

Until next time!

 

-Thom

Link to comment
Share on other sites

* The first digit for the score is garbled, not sure why.. it's looking like a mangled pointer somehow....

Yes, this is where it gets mangled:

SCOREPTR5		= $CC; ...
SCANCOUNTER3		= $CD; and another counter...

The one-byte counter SCANCOUNTER3 is overlapping the two-byte pointer SCOREPTR5.

 

Michael

Link to comment
Share on other sites

This is also looks wrong:

 

PF1DATA			= $81; 32 bytes of PF1.
PF2DATA			= $A0; 32 bytes of PF2.
SCANCOUNTER		= $C0; a scanline counter.

If PF1DATA is supposed to be 32 bytes, then PF2DATA should start at $A1, and SCANCOUNTER should start at $C1, with everything after that getting shifted 1 byte as well.

 

Michael

Link to comment
Share on other sites

So far the kernel seems to be coming along very nicely, I was finally able to implement a smooth scrolling algorithm by unrolling everything.... but I have some other problems that have come up:

 

* The first digit for the score is garbled, not sure why.. it's looking like a mangled pointer somehow....

* The scroll completes, then starts at the very beginning again. I suspect this is because i am updating state during overscan.. do I need to move the bounds enforcement (basically the AND), in-kernel?

 

I am pasting source and a screenshot.. but I'm showing some progress!

 

post-9462-1173596088_thumb.png

 

and the current code:

salmonrun_070311.zip

 

Until next time!

 

-Thom

 

To avoid this sort of variable clashing, I suggest you try the following...

 


			SEG.U variables
			ORG $80

; define your variables here
; this is an uninitialised segment -- the assembler will calculate addresses, but create no actual data in the binary

; examples...
GAME_STATUS		ds 1		 ; 1 byte for this var!
PF1DATA			ds 32	   ; 32 for this one
PF2DATA			ds 32	   ; and this

; this allows you to insert/remove variables at will, and resize, without having to recalculate!
; in other words, let the assembler calculate the locations of stuff, you just state how big they are!
 
		SEG code
		ORG $F000

; rest of your program here

Link to comment
Share on other sites

Yes indeed, i was always a huge fan of that game (and ALL of Bill Williams' stuff!), and I want to do a solid port (I think we can even improve on the graphics a bit since it is very vertically oriented!)

 

I'm progressing very quickly on this, quite amazing considering this is my first game attempt on the VCS!

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