From d525dc9b03131422efa19575408aa8058cafc9b0 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sun, 5 Jul 2020 00:05:29 -0400 Subject: [PATCH] mist: dentist: time slider now obeys the rules of time --- mist/dentist_panel.s | 138 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 128 insertions(+), 10 deletions(-) diff --git a/mist/dentist_panel.s b/mist/dentist_panel.s index afa55fe6..4916f0f5 100644 --- a/mist/dentist_panel.s +++ b/mist/dentist_panel.s @@ -211,6 +211,81 @@ store_year_top: ;================= ; time + ;================= + + lda DENTIST_HOURS + beq is_0dark30 + + cmp #$13 + bcc update_hour + + sed + sec + sbc #$12 + cld + jmp update_hour + +is_0dark30: + lda #$12 + bne update_hour + +update_hour: + sta TEMP + + + lda TEMP + + lsr + lsr + lsr + lsr + and #$f + bne hour_top_not_zero + lda #$a0 + bne store_hours_top +hour_top_not_zero: + ora #$B0 +store_hours_top: + sta time_string+2 + + lda TEMP + and #$f + ora #$B0 +store_hours_bottom: + sta time_string+3 + + lda DENTIST_MINUTES + lsr + lsr + lsr + lsr + and #$f + + ora #$B0 +store_minutes_top: + sta time_string+4 + + lda DENTIST_MINUTES + and #$f + ora #$B0 + sta time_string+5 + + ; calculate AM/PM + ; AM if 0..11 + + lda DENTIST_HOURS + cmp #$12 + bcc time_am + +time_pm: + lda #'P'+$80 + jmp write_am_pm + +time_am: + lda #'A'+$80 + +write_am_pm: + sta time_string+6 lda #