;======================= ; Clear Lemmings Out ;======================= clear_lemmings_out: lda #0 ldy #0 clear_lemmings_loop: sta lemming_out,Y iny cpy #MAX_LEMMINGS bne clear_lemmings_loop rts ;======================= ; Release Lemmings ;======================= release_lemming: ; don't release if we've released them all lda LEMMINGS_TO_RELEASE beq done_release_lemmings ; don't release if door is still opening lda DOOR_OPEN beq done_release_lemmings ; only release every X frames lda FRAMEL release_lemming_speed: and #$f bne done_release_lemmings ldy NEXT_LEMMING_TO_RELEASE lda #1 sta lemming_out,Y lda #0 sta lemming_exploding,Y sta lemming_fall_distance,Y sta lemming_attribute,Y lda INIT_X sta lemming_x,Y lda INIT_Y sta lemming_y,Y lda #LEMMING_RIGHT sta lemming_direction,Y lda #LEMMING_FALLING sta lemming_status,Y sed lda LEMMINGS_OUT ; BCD clc adc #1 sta LEMMINGS_OUT cld jsr update_lemmings_out inc NEXT_LEMMING_TO_RELEASE dec LEMMINGS_TO_RELEASE done_release_lemmings: rts