From feaac6d4fc620c352bb351411f6f17914ff6fb4b Mon Sep 17 00:00:00 2001 From: Joshua Bell Date: Sun, 5 Aug 2018 11:09:44 -0700 Subject: [PATCH] DATE: Mask off hour/minute in case of extra bits --- date.s | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/date.s b/date.s index f703d8c..db0f1e1 100644 --- a/date.s +++ b/date.s @@ -12,6 +12,42 @@ start: PRODOS_CALL MLI_GET_TIME, 0 +;;; Standard format: +;;; +;;; 49041 ($BF91) 49040 ($BF90) +;;; 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 +;;; +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +;;; DATE: | year | month | day | +;;; +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +;;; +;;; 49043 ($BF93) 49042 ($BF92) +;;; 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 +;;; +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +;;; TIME: |0 0 0| hour | |0 0| minute | +;;; +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +;;; +;;; Extended format (ProDOS 2.5): +;;; https://groups.google.com/d/topic/comp.sys.apple2/6MwlJSKTmQc/discussion +;;; +;;; 49039 ($BF8F) 49038 ($BF8E) +;;; 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 +;;; +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +;;; xTIME: | xSeconds | xMilliseconds | +;;; +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +;;; +;;; 49041 ($BF91) 49040 ($BF90) +;;; 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 +;;; +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +;;; DATE: | year | month | day | +;;; +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +;;; +;;; 49043 ($BF93) 49042 ($BF92) +;;; 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 +;;; +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ +;;; TIME: |xYear| hour | |0 0| minute | +;;; +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ + + ;; Date lda DATELO+1 ; month @@ -37,7 +73,8 @@ start: jsr COUT pla ; year - jsr cout_number + ;; TODO: Shift in xYear bits + jsr cout_number ; TODO: Support 16-bit numbers lda #HI(' ') jsr COUT @@ -46,12 +83,14 @@ start: ;; Time lda TIMELO+1 ; hour + and #%00011111 jsr cout_number lda #HI(':') ; ':' jsr COUT lda TIMELO ; minute + and #%00111111 jsr cout_number jsr CROUT