mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-03-11 21:37:37 +00:00
lemm: update percent in counter
This commit is contained in:
parent
ddb9328748
commit
08dd4bf01d
@ -220,10 +220,10 @@ remove_lemming:
|
|||||||
bcc no_percent_oflo
|
bcc no_percent_oflo
|
||||||
|
|
||||||
inc PERCENT_RESCUED_H
|
inc PERCENT_RESCUED_H
|
||||||
|
no_percent_oflo:
|
||||||
cld
|
cld
|
||||||
|
|
||||||
no_percent_oflo:
|
jsr update_percent_in
|
||||||
|
|
||||||
didnt_exit:
|
didnt_exit:
|
||||||
|
|
||||||
@ -237,6 +237,7 @@ didnt_exit:
|
|||||||
jsr click_speaker
|
jsr click_speaker
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
ldy CURRENT_LEMMING
|
||||||
sta lemming_out,Y
|
sta lemming_out,Y
|
||||||
|
|
||||||
jsr update_lemmings_out
|
jsr update_lemmings_out
|
||||||
@ -283,7 +284,7 @@ ground_walking:
|
|||||||
ldy CURRENT_LEMMING
|
ldy CURRENT_LEMMING
|
||||||
|
|
||||||
lda lemming_fall_distance,Y
|
lda lemming_fall_distance,Y
|
||||||
cmp #24
|
cmp #32
|
||||||
bcs lemming_goes_splat
|
bcs lemming_goes_splat
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
@ -1,8 +1,16 @@
|
|||||||
|
|
||||||
|
|
||||||
|
;============================
|
||||||
|
; update the time
|
||||||
|
;============================
|
||||||
|
; this gets called approximately once a second
|
||||||
|
|
||||||
; updates the time left
|
; updates the time left
|
||||||
update_time:
|
update_time:
|
||||||
|
|
||||||
|
;==============================
|
||||||
; update explosion timer
|
; update explosion timer
|
||||||
|
;==============================
|
||||||
; not ideal (first second might be short)
|
; not ideal (first second might be short)
|
||||||
|
|
||||||
ldy #0
|
ldy #0
|
||||||
@ -81,45 +89,51 @@ draw_time:
|
|||||||
|
|
||||||
jsr hgr_draw_sprite_autoshift
|
jsr hgr_draw_sprite_autoshift
|
||||||
|
|
||||||
|
;================
|
||||||
; draw seconds
|
; draw seconds
|
||||||
|
|
||||||
lda TIME_SECONDS
|
lda TIME_SECONDS
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
tay
|
|
||||||
|
|
||||||
lda bignums_l,Y
|
|
||||||
sta INL
|
|
||||||
lda bignums_h,Y
|
|
||||||
sta INH
|
|
||||||
|
|
||||||
ldx #37
|
ldx #37
|
||||||
stx XPOS
|
sec ; no leading zero removal
|
||||||
lda #152
|
jmp print_two_digits
|
||||||
sta YPOS
|
|
||||||
|
|
||||||
jsr hgr_draw_sprite_autoshift
|
|
||||||
|
|
||||||
|
|
||||||
; draw seconds
|
;===========================
|
||||||
lda TIME_SECONDS
|
;===========================
|
||||||
and #$f
|
; update percent in
|
||||||
tay
|
;===========================
|
||||||
|
;===========================
|
||||||
|
|
||||||
|
update_percent_in:
|
||||||
|
|
||||||
|
; draw hundreds
|
||||||
|
ldy PERCENT_RESCUED_H
|
||||||
|
beq not_hundred_yet
|
||||||
|
|
||||||
lda bignums_l,Y
|
lda bignums_l,Y
|
||||||
sta INL
|
sta INL
|
||||||
lda bignums_h,Y
|
lda bignums_h,Y
|
||||||
sta INH
|
sta INH
|
||||||
|
|
||||||
ldx #38
|
ldx #23
|
||||||
stx XPOS
|
stx XPOS
|
||||||
lda #152
|
lda #152
|
||||||
sta YPOS
|
sta YPOS
|
||||||
|
|
||||||
jsr hgr_draw_sprite_autoshift
|
jsr hgr_draw_sprite_autoshift
|
||||||
|
|
||||||
rts
|
sec ; no leading zero for rest
|
||||||
|
bcs hundreds_entry
|
||||||
|
|
||||||
|
not_hundred_yet:
|
||||||
|
; print tens/ones
|
||||||
|
clc ; leading zero removal
|
||||||
|
hundreds_entry:
|
||||||
|
|
||||||
|
lda PERCENT_RESCUED_L
|
||||||
|
ldx #24
|
||||||
|
jmp print_two_digits
|
||||||
|
|
||||||
|
|
||||||
;===========================
|
;===========================
|
||||||
;===========================
|
;===========================
|
||||||
@ -127,18 +141,57 @@ draw_time:
|
|||||||
;===========================
|
;===========================
|
||||||
;===========================
|
;===========================
|
||||||
|
|
||||||
; TODO: combine with time drawing code?
|
|
||||||
|
|
||||||
update_lemmings_out:
|
update_lemmings_out:
|
||||||
|
|
||||||
; draw tens
|
|
||||||
lda LEMMINGS_OUT
|
lda LEMMINGS_OUT
|
||||||
|
ldx #15
|
||||||
|
clc ; leading zero removal
|
||||||
|
jmp print_two_digits
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;===========================
|
||||||
|
;===========================
|
||||||
|
; print two-digit number
|
||||||
|
;===========================
|
||||||
|
;===========================
|
||||||
|
; A is the BCD value
|
||||||
|
; X is the X location
|
||||||
|
; C set means print 0
|
||||||
|
; we assume 152 for Y location
|
||||||
|
|
||||||
|
print_two_digits:
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
bcs ptd_leading_zero
|
||||||
|
|
||||||
|
ldy #10
|
||||||
|
ptd_leading_zero:
|
||||||
|
|
||||||
|
sty ptt_lz_smc+1
|
||||||
|
|
||||||
|
|
||||||
|
stx ptt_smc+1
|
||||||
|
inx
|
||||||
|
stx pto_smc+1
|
||||||
|
|
||||||
|
print_two_tens:
|
||||||
|
|
||||||
|
; draw tens
|
||||||
|
pha
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
beq lemmings_out_ones
|
|
||||||
lemmings_out_tens:
|
bne no_handle_zero
|
||||||
|
|
||||||
|
clc
|
||||||
|
ptt_lz_smc:
|
||||||
|
adc #10 ; blank or zero, depending
|
||||||
|
|
||||||
|
no_handle_zero:
|
||||||
|
|
||||||
tay
|
tay
|
||||||
lda bignums_l,Y
|
lda bignums_l,Y
|
||||||
@ -146,16 +199,17 @@ lemmings_out_tens:
|
|||||||
lda bignums_h,Y
|
lda bignums_h,Y
|
||||||
sta INH
|
sta INH
|
||||||
|
|
||||||
ldx #15 ; 105
|
ptt_smc:
|
||||||
stx XPOS
|
lda #15
|
||||||
|
sta XPOS
|
||||||
lda #152
|
lda #152
|
||||||
sta YPOS
|
sta YPOS
|
||||||
|
|
||||||
jsr hgr_draw_sprite_autoshift
|
jsr hgr_draw_sprite_autoshift
|
||||||
|
|
||||||
|
|
||||||
lemmings_out_ones:
|
print_two_ones:
|
||||||
lda LEMMINGS_OUT
|
pla
|
||||||
and #$f
|
and #$f
|
||||||
tay
|
tay
|
||||||
|
|
||||||
@ -164,8 +218,9 @@ lemmings_out_ones:
|
|||||||
lda bignums_h,Y
|
lda bignums_h,Y
|
||||||
sta INH
|
sta INH
|
||||||
|
|
||||||
ldx #16 ; 112
|
pto_smc:
|
||||||
stx XPOS
|
lda #16
|
||||||
|
sta XPOS
|
||||||
lda #152
|
lda #152
|
||||||
sta YPOS
|
sta YPOS
|
||||||
|
|
||||||
@ -178,7 +233,9 @@ lemmings_out_ones:
|
|||||||
bignums_l:
|
bignums_l:
|
||||||
.byte <big0_sprite,<big1_sprite,<big2_sprite,<big3_sprite,<big4_sprite
|
.byte <big0_sprite,<big1_sprite,<big2_sprite,<big3_sprite,<big4_sprite
|
||||||
.byte <big5_sprite,<big6_sprite,<big7_sprite,<big8_sprite,<big9_sprite
|
.byte <big5_sprite,<big6_sprite,<big7_sprite,<big8_sprite,<big9_sprite
|
||||||
|
.byte <blank_sprite
|
||||||
|
|
||||||
bignums_h:
|
bignums_h:
|
||||||
.byte >big0_sprite,>big1_sprite,>big2_sprite,>big3_sprite,>big4_sprite
|
.byte >big0_sprite,>big1_sprite,>big2_sprite,>big3_sprite,>big4_sprite
|
||||||
.byte >big5_sprite,>big6_sprite,>big7_sprite,>big8_sprite,>big9_sprite
|
.byte >big5_sprite,>big6_sprite,>big7_sprite,>big8_sprite,>big9_sprite
|
||||||
|
.byte >blank_sprite
|
||||||
|
Loading…
x
Reference in New Issue
Block a user