Jump to content
IGNORED

Anyone think Ballblazer is possible on the 2600?


Recommended Posts

I'll stick with my current solution for now. I'll try to scale the sprite programmatically.

Since everything else is scaled programmatically too, this seems logical. But I am afraid you will run out of RAM space that way.

 

So, good luck! :)

 

I think everyones favorite chick SARA might be in order perhaps to address the possible RAM issues?

Link to comment
Share on other sites

I'll stick with my current solution for now. I'll try to scale the sprite programmatically.

Since everything else is scaled programmatically too, this seems logical. But I am afraid you will run out of RAM space that way.

 

So, good luck! :)

 

I think everyones favorite chick SARA might be in order perhaps to address the possible RAM issues?

 

That would really depend on the final solution I choose. I leave every option open. Maybe I'm going to use 2 different kernels instead of a one-for-all kernel, and have more spare cycles to do stuff. Who knows... My goal is to use just plain rom for the game.

Link to comment
Share on other sites

With the ball, the player's ship always points to the opposite goal. So that's 180° anyway. But without the ball, the player's ship always points to the ball. How are you going to handle this? Won't 180° steps make fighting for the ball much different than now?

As I see it, the only drawback to including the 90° movement is that the guy on defense wouldn't be able to see where the goal is that he's defending, at least while he's travelling laterally. But I think I could accept that tradeoff...

 

Also, roland: very nice job so far. The use of color changes to make the grid is very innovative, although I'm still trying to figure out in my head how you'll have time to do the sprite(s). :) If nothing else, I think the scrolling grid alone is going to make a lot of demoscene scenesters jealous. I know I'm jealous at least. ;)

 

Ben

Link to comment
Share on other sites

With the ball, the player's ship always points to the opposite goal. So that's 180° anyway. But without the ball, the player's ship always points to the ball. How are you going to handle this? Won't 180° steps make fighting for the ball much different than now?

As I see it, the only drawback to including the 90° movement is that the guy on defense wouldn't be able to see where the goal is that he's defending, at least while he's travelling laterally. But I think I could accept that tradeoff...

Now that I think of it, you could still see the goal while looking at the attackers view.

 

Also, roland: very nice job so far. The use of color changes to make the grid is very innovative, although I'm still trying to figure out in my head how you'll have time to do the sprite(s). :) If nothing else, I think the scrolling grid alone is going to make a lot of demoscene scenesters jealous. I know I'm jealous at least. ;)

Thanks :cool:

Link to comment
Share on other sites

I think I'm missing something here. At the risk of dragging the thread back a ways, I'm still hung up on the capabilities of the grid kernel. Is it possible for each square to have an independent color?? If so, I'd really like to see this just as a demo.

Yes, each square can have an independent color.

ballblazer_multicolor.bin

Link to comment
Share on other sites

I think I'm missing something here. At the risk of dragging the thread back a ways, I'm still hung up on the capabilities of the grid kernel. Is it possible for each square to have an independent color?? If so, I'd really like to see this just as a demo.

Yes, each square can have an independent color.

Wow, that sure is pretty. When you get done with this game, I would like to see some kind of game using that multicolored grid.

Link to comment
Share on other sites

I think I'm missing something here. At the risk of dragging the thread back a ways, I'm still hung up on the capabilities of the grid kernel. Is it possible for each square to have an independent color?? If so, I'd really like to see this just as a demo.

Yes, each square can have an independent color.

Wow, that sure is pretty. When you get done with this game, I would like to see some kind of game using that multicolored grid.

Hmmm :ponder:

post-4102-1223496073_thumb.png

Link to comment
Share on other sites

I think I'm missing something here. At the risk of dragging the thread back a ways, I'm still hung up on the capabilities of the grid kernel. Is it possible for each square to have an independent color?? If so, I'd really like to see this just as a demo.

Yes, each square can have an independent color.

:o

Link to comment
Share on other sites

I would like to see some kind of game using that multicolored grid.

 

I want to see that more than I want to see Ballblazer. Depending on your point of view, this could be considered ultra-low-res 7-bit color 3d texture mapping. Imagine the board color cycling or blinking as well. The mind boggles. Plus, with the clever use of sprites you can probably simulate holes.

Link to comment
Share on other sites

I'll work some more on the 3d-engine so I can display the brown borders at the end of the playfield. Then I've also a sort of system which I can use to position elements, and finally show them on screen. I'll really try to implement the 90 deg. turns because it looked very good in the other versions.

 

btw, I've downloaded the 7800 version and I did not know that it looked so good!, 60fps screen updates and non-pixelated drones. Compare the nes version to that :D

Edited by roland p
Link to comment
Share on other sites

Could a 3D version of checkers be possible????!!

Easy.

 

The kernel can do only a limited (fixed!) cutout view of a checkerboard and (without flicker) at most two sprites. It is intended to display a faithful Ballblazer screen, which is difficulty enough and already goes beyond the expected limitations. So don't expect any major (or even minor) graphic additions being possible.

Link to comment
Share on other sites

Btw, I've downloaded the 7800 version and I did not know that it looked so good!, 60fps screen updates and non-pixelated drones. Compare the nes version to that :D

 

I'd say the 7800 is the definitive version... if you can make the 2600 version like that, all hail we are not worthy ;)

Link to comment
Share on other sites

Any ideas on how to display 2 players and 2 missiles?

 

Currently, I update every line one player. With use of VDELP1 this results in a 16 pixels wide sprite with each line occupying 2 scanlines.

 

The code looks a bit like this:

 

ScanLine:

0A update GRP0

0B update GRP1

1A update GRP0

1B update GRP1

2A update GRP0

2B update GRP1

etc.

 

Since the ship is blocky anyway, I could lower the vertical resolution. And update some misiles in between:

 

0A update GRP0

0B update ENAM0

1A update GRP1

1B update ENAM1

2A update GRP0

2B update ENAM0

etc.

 

With smart usage of VDEL0,1 registers I could still position the sprite on every 2 scanlines.

But the positioning of the misiles (for the goal) is very coarse. And they should be on the same scanlines when in front, and at different scanlines when viewed at the side.

 

 

This is the current checkerboard code:

	LDX sprite_data_l
STX GRP0
;0A
LDX colorLine0;(3)
STX COLUBK;(3)
LDX colorLine0+1
STX COLUBK
LDX colorLine0+2
STX COLUBK
LDX colorLine0+3
STX COLUBK
LDX colorLine0+4
STX COLUBK
LDX colorLine0+5
STX COLUBK
LDX colorLine0+6
STX COLUBK
LDX colorLine0+7
STX COLUBK
LDX colorLine0+8
STX COLUBK
LDX colorLine0+9
STX COLUBK

LDY sprite_data_r + 1
STY GRP1

SLEEP 10
;0B
LDX colorLine0
STX COLUBK
LDX colorLine0+1
STX COLUBK
LDX colorLine0+2
STX COLUBK
LDX colorLine0+3
STX COLUBK
LDX colorLine0+4
STX COLUBK
LDX colorLine0+5
STX COLUBK
LDX colorLine0+6
STX COLUBK
LDX colorLine0+7
STX COLUBK
LDX colorLine0+8
STX COLUBK
LDX colorLine0+9
STX COLUBK


SBC PlayfieldX_frag;(3)
BCS *+2

LDX sprite_data_l + 1
STX GRP0

SLEEP 3
LDX tile_pointer + 1

;1A
LDY PLAYFIELD_DATA+1,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+2,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+3,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+4,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+5,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+6,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+7,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+8,X;(4)
STY COLUBK

LDY sprite_data_r + 2
STY GRP1

SLEEP 14


;1B
LDY PLAYFIELD_DATA+1,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+2,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+3,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+4,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+5,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+6,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+7,X;(4)
STY COLUBK
LDY PLAYFIELD_DATA+8,X;(4)
STY COLUBK

SBC PlayfieldX_frag;(3)
BCS *+2


LDY sprite_data_l + 2
STY GRP0

LDX.w tile_pointer + 2
;2A
LDY PLAYFIELD_DATA+1,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+2,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+3,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+4,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+5,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+6,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+7,X;(4)
STY.w COLUBK

LDY sprite_data_r + 3
STY GRP1

SLEEP 14
;LDX tile_pointer + 2

;2B
LDY PLAYFIELD_DATA+1,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+2,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+3,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+4,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+5,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+6,X;(4)
STY.w COLUBK
LDY PLAYFIELD_DATA+7,X;(4)
STY.w COLUBK

SBC PlayfieldX_frag;(3)
BCS *+2

LDX sprite_data_l + 3
STX.w GRP0
nop


;3A
LDX tile_pointer + 3
LDY PLAYFIELD_DATA+1,X;(4)
STY COLUBK;(3)
NOP

LDY PLAYFIELD_DATA+2,X
STY COLUBK
NOP

LDY PLAYFIELD_DATA+3,X
STY COLUBK
NOP

LDY PLAYFIELD_DATA+4,X
STY COLUBK
NOP

LDY PLAYFIELD_DATA+5,X
STY COLUBK
NOP

LDY PLAYFIELD_DATA+6,X
STY COLUBK
NOP

LDY PLAYFIELD_DATA+7,X;(4)
STY COLUBK;(3)   = 9	5 is possible

;3B
LDY sprite_data_r + 4
STY GRP1

SLEEP 9

;LDX tile_pointer + 3

LDY PLAYFIELD_DATA+1,X
STY COLUBK
NOP

LDY PLAYFIELD_DATA+2,X
STY COLUBK
NOP

LDY PLAYFIELD_DATA+3,X
STY COLUBK
NOP

LDY PLAYFIELD_DATA+4,X
STY COLUBK
NOP

LDY PLAYFIELD_DATA+5,X
STY COLUBK
NOP

LDY PLAYFIELD_DATA+6,X
STY COLUBK
NOP

LDY PLAYFIELD_DATA+7,X
STY COLUBK

SBC PlayfieldX_frag;(3)
BCS *+2



;4A
LDY sprite_data_l + 4
STY GRP0

SLEEP 6

LDX tile_pointer + 4
LDY PLAYFIELD_DATA+2,X
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+3,X
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+4,X
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+5,X
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+6,X
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+7,X
STY.w COLUBK

;4B
LDY sprite_data_r + 5
STY GRP1

SLEEP 12

;LDX tile_pointer + 4
LDY PLAYFIELD_DATA+2,X
STY.w COLUBK
NOP

LDY PLAYFIELD_DATA+3,X
STY.w COLUBK
NOP

LDY PLAYFIELD_DATA+4,X
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+5,X
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+6,X
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+7,X
STY.w COLUBK


SBC PlayfieldX_frag;(3)
BCS *+2

;5A

LDY sprite_data_l + 5
STY GRP0
nop



LDX tile_pointer + 5
LDY PLAYFIELD_DATA+2,X
STY COLUBK
nop

LDY PLAYFIELD_DATA+3,X
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
STY COLUBK



;5B
LDY sprite_data_r + 6
STY GRP1

SLEEP 19

;LDX tile_pointer + 5
LDY PLAYFIELD_DATA+2,X
STY COLUBK
nop

LDY PLAYFIELD_DATA+3,X
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
STY COLUBK

SBC PlayfieldX_frag;(3)
BCS *+2


;6A

LDY sprite_data_l + 6
STY GRP0

SLEEP 7
LDX tile_pointer + 6
LDY PLAYFIELD_DATA+2,X
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+3,X
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
STY.w COLUBK




;6B
LDY sprite_data_r + 7
STY GRP1

SLEEP 14
LDY PLAYFIELD_DATA+2,X
STY.w COLUBK
nop


LDY PLAYFIELD_DATA+3,X
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
STY.w COLUBK

SBC PlayfieldX_frag;(3)
BCS *+2

;7A

LDX tile_pointer + 7
LDY PLAYFIELD_DATA+2,X
STY COLUBK
nop

LDY sprite_data_l + 7
STY GRP0

SLEEP 4
LDY PLAYFIELD_DATA+3,X
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
NOP
STY COLUBK	



;7B
LDY sprite_data_r + 8
STY GRP1

SLEEP 11
LDY PLAYFIELD_DATA+2,X
STY COLUBK
nop

LDY PLAYFIELD_DATA+3,X
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
nop
nop
STY COLUBK
nop

LDY PLAYFIELD_DATA+6,X
LDX tile_pointer + 8
STY.w COLUBK	



;8A
LDY PLAYFIELD_DATA+2,X
STY.w COLUBK
sleep 5

SBC PlayfieldX_frag;(3)
BCS *+2

LDY sprite_data_l + 8
STY GRP0

LDY PLAYFIELD_DATA+3,X
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
NOP
STY.w COLUBK


;8B

LDY sprite_data_r + 9
STY GRP1

LDY PLAYFIELD_DATA+2,X
STY COLUBK


SLEEP 9

LDY PLAYFIELD_DATA+3,X
NOP
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
NOP
STY.w COLUBK


;9A
LDX tile_pointer + 9
LDY PLAYFIELD_DATA+2,X
STY COLUBK
nop

SBC PlayfieldX_frag;(3)
BCS *+2

LDY sprite_data_l + 9
STY GRP0

LDY PLAYFIELD_DATA+3,X
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
STY COLUBK
nop


LDY PLAYFIELD_DATA+5,X
;LDY tile_pointer + 9;prefetch
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
NOP
NOP
STY COLUBK



;9B
LDY sprite_data_r + 10
STY GRP1
LDY PLAYFIELD_DATA+2,X
STY COLUBK

SLEEP 5


LDY PLAYFIELD_DATA+3,X
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
NOP
NOP
STY COLUBK

;10A

LDY sprite_data_l + 10
STY GRP0


SBC PlayfieldX_frag;(3)
BCS *+2

LDY colorLine10_0;3
STY COLUBK;3

LDX tile_pointer + 10
nop


LDY PLAYFIELD_DATA+3,X
STY COLUBK
nop



LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
STY.W COLUBK
nop



LDY PLAYFIELD_DATA+5,X
NOP
nop
nop
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
nop
nop
STY.w COLUBK


;10B
LDY PLAYFIELD_DATA+2,X
STY.w COLUBK
LDY sprite_data_r + 11
STY GRP1

LDY PLAYFIELD_DATA+3,X
NOP
NOP
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
STY.w COLUBK
nop



LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
STY.w COLUBK
nop


LDY PLAYFIELD_DATA+6,X
NOP
NOP
LDX tile_pointer + 11
STY COLUBK




;11A
SBC PlayfieldX_frag;(3)
BCS *+2



LDY PLAYFIELD_DATA+2,X
STY.w COLUBK

LDY sprite_data_l + 11
STY GRP0





LDY PLAYFIELD_DATA+3,X
STY COLUBK
nop

	
	
LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
STY COLUBK
nop



LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
STY COLUBK
nop



LDY PLAYFIELD_DATA+6,X
NOP
NOP
NOP
nop
STY COLUBK

;11B

LDY PLAYFIELD_DATA+2,X
STY.w COLUBK

;	LDY colorLine11_0
;	NOP
;	STY COLUBK



LDY sprite_data_r + 12
STY GRP1

sleep 4
LDY PLAYFIELD_DATA+3,X
STY COLUBK
nop

LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
STY COLUBK
nop



LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
STY COLUBK
nop



LDY PLAYFIELD_DATA+6,X
NOP
NOP
LDX colorLine12_0
STY.w COLUBK


;12A
STX.w COLUBK;3
LDY sprite_data_l + 12
STY GRP0

SBC PlayfieldX_frag;(3)
BCS *+2

LDY colorLine12_1
nop
STY	 COLUBK


LDX tile_pointer + 12
	
LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
STY.w COLUBK
nop


LDY PLAYFIELD_DATA+6,X
NOP
NOP
NOP
NOP
STY.w COLUBK


;12B
LDY PLAYFIELD_DATA,X
STY COLUBK

LDY sprite_data_r + 13
STY GRP1

nop

LDY PLAYFIELD_DATA+3,X
STY COLUBK



nop
LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
STY.w COLUBK
nop


LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
STY.w COLUBK
nop


LDY PLAYFIELD_DATA+6,X
NOP
NOP
NOP
LDX tile_pointer + 13
STY COLUBK




;13A
LDY PLAYFIELD_DATA+3,X
STY.W COLUBK



LDY sprite_data_l + 13
STY GRP0

NOP	

SBC PlayfieldX_frag;(3)
BCS *+2


nop
LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
STY.w COLUBK
nop



LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
NOP
NOP
nop
nop
STY COLUBK






;13B
LDY sprite_data_r + 14
STY.w GRP1

LDY PLAYFIELD_DATA+3,X
sleep 5
STY COLUBK

nop
LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+6,X
NOP
nop
nop
LDX tile_pointer + 14
STY.W COLUBK





;14A
LDY PLAYFIELD_DATA+3,X
STY COLUBK
nop

LDY sprite_data_l + 14
STY GRP0

;skip cycle takes 7 or 8 cycles
SBC PlayfieldX_frag;(3)
BCS *+2


sleep 10

LDY PLAYFIELD_DATA+4,X
STY COLUBK

nop
LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
STY.w COLUBK

nop
LDY PLAYFIELD_DATA+6,X
NOP
NOP
NOP
NOP
NOP
STY.w COLUBK



;14B
sleep 10
LDY PLAYFIELD_DATA+3,X
STY COLUBK
nop

LDY sprite_data_r + 15
STY GRP1

sleep 4

LDY PLAYFIELD_DATA+4,X
STY COLUBK

nop
LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
STY.w COLUBK
nop

LDY PLAYFIELD_DATA+6,X
nop
nop
nop
LDX tile_pointer + 15
nop
STY COLUBK





;15A
LDY colorLine15_0
STY.w COLUBK

LDY sprite_data_l + 15
STY GRP0

SBC PlayfieldX_frag;(3)
BCS *+2


sleep 10
LDY PLAYFIELD_DATA+4,X
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
NOP
STY COLUBK

LDY PLAYFIELD_DATA+6,X
NOP
NOP
NOP
NOP
NOP
NOP
STY.w COLUBK




;15B

;	SLEEP 6
LDY PLAYFIELD_DATA+3,X
STY.W COLUBK


LDY sprite_data_r + 16
STY GRP1

nop

LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
NOP
STY COLUBK



;16A
SLEEP 11
LDY sprite_data_l + 16
STY GRP0

LDX tile_pointer + 16
LDY PLAYFIELD_DATA+3,X
STY COLUBK
nop



SBC PlayfieldX_frag;(3)
BCS *+2


LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
NOP
NOP
STY.w COLUBK
nop


LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
NOP
STY.w COLUBK
nop






;16B
SLEEP 12
LDY PLAYFIELD_DATA+3,X
STY COLUBK

LDY sprite_data_r + 17
STY GRP1

nop
SLEEP 5
LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
NOP
NOP
STY.w COLUBK
nop


LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
LDX tile_pointer + 17
nop
STY COLUBK




;17A

SLEEP 9
LDY sprite_data_l + 17
STY GRP0


LDY PLAYFIELD_DATA+3,X
sleep 5
STY COLUBK


;LDY colorLine17_0
;sleep 6
;STY COLUBK


SBC PlayfieldX_frag;(3)
BCS *+2



LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
NOP
NOP
STY COLUBK



;17B
SLEEP 14
LDY PLAYFIELD_DATA+3,X
STY COLUBK
LDY sprite_data_r + 18
STY GRP1

SLEEP 3
nop
LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
NOP
NOP
STY COLUBK





;18A
SLEEP 11
LDX tile_pointer + 18

LDY PLAYFIELD_DATA+3,X
STY COLUBK

SBC PlayfieldX_frag;(3)
BCS *+2

LDY sprite_data_l + 18
STY GRP0

SLEEP 11

nop

LDY PLAYFIELD_DATA+4,X
STY COLUBK
nop




LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
NOP
NOP
STY.W COLUBK




;18B
SLEEP 14

LDY PLAYFIELD_DATA+3,X
STY COLUBK
nop


LDY sprite_data_r + 19
STY GRP1


LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
STY COLUBK
nop

LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
NOP
NOP
STY.W COLUBK



;19A
SLEEP 11
LDX tile_pointer + 19
LDY PLAYFIELD_DATA+3,X
STY COLUBK
nop
SLEEP 3



SBC PlayfieldX_frag;(3)
BCS *+2

LDY sprite_data_l + 19
STY GRP0




LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
STY.W COLUBK
nop

LDA PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
STA COLUBK

;19B
SLEEP 14
LDY PLAYFIELD_DATA+3,X
STY COLUBK
LDY sprite_data_r + 19
STY.w GRP1


nop
LDY PLAYFIELD_DATA+4,X
NOP
NOP
NOP
NOP
NOP
NOP
NOP
STY COLUBK

nop
LDY PLAYFIELD_DATA+5,X
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
STY COLUBK

Edited by roland p
Link to comment
Share on other sites

Any ideas on how to display 2 players and 2 missiles?

The goals are always going to be above the checkerboard when you're looking straight at them, though. So if you just don't display them when looking sideways, then can't you just use separate '2 player + 2 missile' and '2 player + checkerboard' kernels?

Link to comment
Share on other sites

Any ideas on how to display 2 players and 2 missiles?

The goals are always going to be above the checkerboard when you're looking straight at them, though. So if you just don't display them when looking sideways, then can't you just use separate '2 player + 2 missile' and '2 player + checkerboard' kernels?

I think that's an elegant solution. I'll try it.

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