• entries
    104
  • comments
    101
  • views
    251996

A C64 Game - Step 75

Sign in to follow this  
Followers 0
Endurion

1491 views

And more! Now the executable hit the load barrier, so Exomizer is the only way to go onwards (before it was optional). Added a new waterfall char with the same effect as low water.

[attachment=12066:step75.png]

At the same location the other char is initiated we add this:


ldx #0
-
lda $F800 + 143 * 8,x
sta ANIM_TILE2_BYTES,x
sta ANIM_TILE2_BYTES + 8,x

inx
dey
cpx #8
bne -


At the location where we animate the first char we add this. Note that the second sta at $c000 is for the second char set.


;animate water tile
lda DELAYED_GENERIC_COUNTER
and #$03
bne +

inc ANIM_POS
lda ANIM_POS
and #$07
tay

lda ANIM_TILE_BYTES,y
sta $F800 + 111 * 8
sta $C000 + 111 * 8
lda ANIM_TILE_BYTES + 8,y
sta $F800 + 111 * 8 + 1
sta $C000 + 111 * 8 + 1
sty PARAM1
lda #7
sec
sbc PARAM1
tay
ldx #0
-
lda ANIM_TILE2_BYTES,y
sta $F800 + 143 * 8,x
sta $C000 + 143 * 8,x

inx
iny
cpx #8
bne -


+



And finally, the actual check for the water char (143) is enhanced:


;check if we're in water
ldy SPRITE_CHAR_POS_Y,x
lda SCREEN_LINE_OFFSET_TABLE_LO,y
sta ZEROPAGE_POINTER_1
lda SCREEN_BACK_LINE_OFFSET_TABLE_HI,y
sta ZEROPAGE_POINTER_1 + 1
lda SPRITE_CHAR_POS_X,x
tay
lda (ZEROPAGE_POINTER_1),y
cmp #111
beq .NextObject
cmp #143
beq .NextObject


Another enhancement, due to packing. Now that the packer takes care of putting the sprites and characters sets at their target location we can comment them out (plus their copy routines).
With ACME or the C64 Studio assembler you do it like this:


!ifndef CRUNCHED {
CHARSET
!binary "j.chr"
CHARSET_2
!binary "j2.chr"

SPRITES
!binary "j.spr"
END_OF_FILE
}


That's all there is to this step, have fun!


Previous Step Next Step

2
Sign in to follow this  
Followers 0


1 Comment


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now