; ; File generated by cc65 v 2.19 - Git ab8bb268 ; .fopt compiler,"cc65 v 2.19 - Git ab8bb268" .setcpu "65C02" .smart on .autoimport on .case on .debuginfo off .importzp sp, sreg, regsave, regbank .importzp tmp1, tmp2, tmp3, tmp4, ptr1, ptr2, ptr3, ptr4 .macpack longbranch .import _strlen .import _memcpy .import _sprintf .import __tz .export _strftime .segment "RODATA" S0023: .byte $25,$2E,$33,$53,$20,$25,$2E,$33,$53,$25,$33,$44,$20,$25,$30,$32 .byte $44,$3A,$25,$30,$32,$44,$3A,$25,$30,$32,$44,$20,$25,$44,$00 S0016: .byte $25,$30,$34,$44,$2D,$25,$30,$32,$44,$2D,$25,$30,$32,$44,$00 S002A := S0016+0 S0015: .byte $25,$30,$32,$44,$2F,$25,$30,$32,$44,$2F,$25,$30,$32,$44,$00 S001F: .byte $25,$30,$32,$44,$3A,$25,$30,$32,$44,$3A,$25,$30,$32,$44,$00 S0005: .byte $D7,$45,$44,$4E,$45,$53,$44,$41,$59,$00 S0011: .byte $D3,$45,$50,$54,$45,$4D,$42,$45,$52,$00 S000A: .byte $C6,$45,$42,$52,$55,$41,$52,$59,$00 S0008: .byte $D3,$41,$54,$55,$52,$44,$41,$59,$00 S0013: .byte $CE,$4F,$56,$45,$4D,$42,$45,$52,$00 S0006: .byte $D4,$48,$55,$52,$53,$44,$41,$59,$00 S0014: .byte $C4,$45,$43,$45,$4D,$42,$45,$52,$00 S0009: .byte $CA,$41,$4E,$55,$41,$52,$59,$00 S0012: .byte $CF,$43,$54,$4F,$42,$45,$52,$00 S0004: .byte $D4,$55,$45,$53,$44,$41,$59,$00 S0010: .byte $C1,$55,$47,$55,$53,$54,$00 S0007: .byte $C6,$52,$49,$44,$41,$59,$00 S0002: .byte $D3,$55,$4E,$44,$41,$59,$00 S0003: .byte $CD,$4F,$4E,$44,$41,$59,$00 S000B: .byte $CD,$41,$52,$43,$48,$00 S000C: .byte $C1,$50,$52,$49,$4C,$00 S0018 := S0016+10 S0019 := S0016+10 S002B := S0016+10 S000E: .byte $CA,$55,$4E,$45,$00 S001C := S0016+10 S001D := S0016+10 S001E := S0016+10 S0026 := S0016+10 S0025: .byte $25,$30,$33,$44,$00 S0021: .byte $25,$2E,$33,$53,$00 S0022 := S0021+0 S0017 := S0016+10 S0024 := S0016+10 S000F: .byte $CA,$55,$4C,$59,$00 S000D: .byte $CD,$41,$59,$00 S0020: .byte $25,$34,$44,$00 S0028: .byte $C1,$CD,$00 S0029 := S0023+28 S001B: .byte $41,$4D,$00 S001A: .byte $50,$4D,$00 S0027: .byte $D0,$CD,$00 ; --------------------------------------------------------------- ; unsigned int __near__ __fastcall__ strftime (char *buf, unsigned int bufsize, const char *format, const struct tm *tm) ; --------------------------------------------------------------- .segment "CODE" .proc _strftime: near .segment "CODE" jsr pushax stz M0003 stz M0003+1 L0002: lda M0003 ldy #$04 cmp (sp),y lda M0003+1 iny sbc (sp),y bcc L0005 ldx #$00 txa jmp L0003 L0005: ldy #$03 jsr ldaxysp sta ptr1 stx ptr1+1 lda (ptr1) sta M0005 cmp #$00 jsr booleq php ldy #$02 lda #$01 jsr addeqysp plp beq L0006 ldy #$07 jsr ldaxysp sta ptr1 stx ptr1+1 lda #$00 sta (ptr1) lda M0003 ldx M0003+1 jmp L0003 L0006: lda M0005 cmp #$25 jne L0007 lda #>(M0006) sta M0007+1 lda #<(M0006) sta M0007 ldy #$03 jsr ldaxysp sta ptr1 stx ptr1+1 lda (ptr1) pha ldy #$02 ldx #$00 lda #$01 jsr addeqysp pla cmp #$25 jeq L000A cmp #$41 jeq L0023 cmp #$42 jeq L0024 cmp #$43 jeq L0025 cmp #$44 jeq L0026 cmp #$4A jeq L0027 cmp #$4D jeq L0029 cmp #$50 jeq L002B cmp #$57 jeq L002F cmp #$58 jeq L0030 cmp #$59 jeq L0032 cmp #$C1 beq L000B cmp #$C2 jeq L000C cmp #$C4 jeq L000D cmp #$C6 jeq L000F cmp #$C8 jeq L0011 cmp #$C9 jeq L0012 cmp #$CD jeq L0014 cmp #$D0 jeq L0015 cmp #$D3 jeq L0019 cmp #$D5 jeq L001A cmp #$D7 jeq L001B cmp #$D8 jeq L001E cmp #$D9 jeq L001F cmp #$DA jeq L0020 jmp L0033 L000A: sta M0006 stz M0006+1 jmp L0009 L000B: jsr ldax0sp ldy #$0D jsr ldaxidx jsr aslax1 clc adc #<(M0001) tay txa adc #>(M0001) tax tya jsr ldaxi sta M0007 stx M0007+1 jmp L0009 L000C: jsr ldax0sp ldy #$09 jsr ldaxidx jsr aslax1 clc adc #<(M0002) tay txa adc #>(M0002) tax tya jsr ldaxi sta M0007 stx M0007+1 jmp L0009 L000D: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0015) ldx #>(S0015) jsr pushax ldy #$05 jsr ldaxysp ldy #$09 jsr ldaxidx ina bne L000E inx L000E: jsr pushax ldy #$07 jsr ldaxysp ldy #$07 jsr pushwidx ldy #$09 jsr ldaxysp ldy #$0B jsr pushwidx ldx #$00 lda #$64 jsr tosmoda0 jsr pushax ldy #$0A jsr _sprintf jmp L0009 L000F: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0016) ldx #>(S0016) jsr pushax ldy #$05 jsr ldaxysp ldy #$0B jsr ldaxidx sta ptr1 stx ptr1+1 lda #$6C clc adc ptr1 pha lda #$07 adc ptr1+1 tax pla jsr pushax ldy #$07 jsr ldaxysp ldy #$09 jsr ldaxidx ina bne L0010 inx L0010: jsr pushax ldy #$09 jsr ldaxysp ldy #$07 jsr pushwidx ldy #$0A jsr _sprintf jmp L0009 L0011: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0017) ldx #>(S0017) jsr pushax ldy #$05 jsr ldaxysp ldy #$05 jsr pushwidx ldy #$06 jsr _sprintf jmp L0009 L0012: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0018) ldx #>(S0018) jsr pushax ldy #$05 jsr ldaxysp ldy #$05 jsr ldaxidx ldy #$0B jsr incaxy jsr pushax ldx #$00 lda #$0C jsr tosmoda0 ina bne L0013 inx L0013: jsr pushax ldy #$06 jsr _sprintf jmp L0009 L0014: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0019) ldx #>(S0019) jsr pushax ldy #$05 jsr ldaxysp ldy #$03 jsr pushwidx ldy #$06 jsr _sprintf jmp L0009 L0015: jsr ldax0sp ldy #$05 jsr ldaxidx cmp #$0C txa sbc #$00 bvs L0016 eor #$80 L0016: bpl L0017 lda #<(S001A) ldx #>(S001A) bra L0018 L0017: lda #<(S001B) ldx #>(S001B) L0018: sta M0007 stx M0007+1 jmp L0009 L0019: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S001C) ldx #>(S001C) jsr pushax ldy #$05 jsr ldaxysp jsr pushw ldy #$06 jsr _sprintf jmp L0009 L001A: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S001D) ldx #>(S001D) jsr pushax ldy #$05 jsr ldaxysp ldy #$0F jsr ldaxidx jsr incax7 jsr pushax ldy #$07 jsr ldaxysp ldy #$0D jsr ldaxidx jsr tossubax jsr pushax lda #$07 jsr tosdiva0 jsr pushax ldy #$06 jsr _sprintf jmp L0009 L001B: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S001E) ldx #>(S001E) jsr pushax ldy #$05 jsr ldaxysp ldy #$0F jsr ldaxidx jsr incax7 jsr pushax ldy #$07 jsr ldaxysp ldy #$0C sta ptr1 stx ptr1+1 lda (ptr1),y iny ora (ptr1),y beq L001C ldy #$07 jsr ldaxysp ldy #$0D jsr ldaxidx jsr decax1 bra L001D L001C: tax lda #$06 L001D: jsr tossubax jsr pushax lda #$07 jsr tosdiva0 jsr pushax ldy #$06 jsr _sprintf jmp L0009 L001E: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S001F) ldx #>(S001F) jsr pushax ldy #$05 jsr ldaxysp ldy #$05 jsr pushwidx ldy #$07 jsr ldaxysp ldy #$03 jsr pushwidx ldy #$09 jsr ldaxysp jsr pushw ldy #$0A jsr _sprintf jmp L0009 L001F: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0020) ldx #>(S0020) jsr pushax ldy #$05 jsr ldaxysp ldy #$0B jsr ldaxidx sta ptr1 stx ptr1+1 lda #$6C clc adc ptr1 pha lda #$07 adc ptr1+1 tax pla jsr pushax ldy #$06 jsr _sprintf jmp L0009 L0020: jsr ldax0sp ldy #$10 sta ptr1 stx ptr1+1 lda (ptr1),y iny ora (ptr1),y beq L0021 lda #<(__tz+10) ldx #>(__tz+10) bra L0022 L0021: lda #<(__tz+5) ldx #>(__tz+5) L0022: sta M0007 stx M0007+1 jmp L0009 L0023: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0021) ldx #>(S0021) jsr pushax ldy #$05 jsr ldaxysp ldy #$0D jsr ldaxidx jsr aslax1 clc adc #<(M0001) tay txa adc #>(M0001) tax tya jsr pushw ldy #$06 jsr _sprintf jmp L0009 L0024: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0022) ldx #>(S0022) jsr pushax ldy #$05 jsr ldaxysp ldy #$09 jsr ldaxidx jsr aslax1 clc adc #<(M0002) tay txa adc #>(M0002) tax tya jsr pushw ldy #$06 jsr _sprintf jmp L0009 L0025: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0023) ldx #>(S0023) jsr pushax ldy #$05 jsr ldaxysp ldy #$0D jsr ldaxidx jsr aslax1 clc adc #<(M0001) tay txa adc #>(M0001) tax tya jsr pushw ldy #$07 jsr ldaxysp ldy #$09 jsr ldaxidx jsr aslax1 clc adc #<(M0002) tay txa adc #>(M0002) tax tya jsr pushw ldy #$09 jsr ldaxysp ldy #$07 jsr pushwidx ldy #$0B jsr ldaxysp ldy #$05 jsr pushwidx ldy #$0D jsr ldaxysp ldy #$03 jsr pushwidx ldy #$0F jsr ldaxysp jsr pushw ldy #$11 jsr ldaxysp ldy #$0B jsr ldaxidx sta ptr1 stx ptr1+1 lda #$6C clc adc ptr1 pha lda #$07 adc ptr1+1 tax pla jsr pushax ldy #$12 jsr _sprintf jmp L0009 L0026: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0024) ldx #>(S0024) jsr pushax ldy #$05 jsr ldaxysp ldy #$07 jsr pushwidx ldy #$06 jsr _sprintf jmp L0009 L0027: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0025) ldx #>(S0025) jsr pushax ldy #$05 jsr ldaxysp ldy #$0F jsr ldaxidx ina bne L0028 inx L0028: jsr pushax ldy #$06 jsr _sprintf jmp L0009 L0029: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0026) ldx #>(S0026) jsr pushax ldy #$05 jsr ldaxysp ldy #$09 jsr ldaxidx ina bne L002A inx L002A: jsr pushax ldy #$06 jsr _sprintf jmp L0009 L002B: jsr ldax0sp ldy #$05 jsr ldaxidx cmp #$0C txa sbc #$00 bvs L002C eor #$80 L002C: bpl L002D lda #<(S0027) ldx #>(S0027) bra L002E L002D: lda #<(S0028) ldx #>(S0028) L002E: sta M0007 stx M0007+1 jmp L0009 L002F: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0029) ldx #>(S0029) jsr pushax ldy #$05 jsr ldaxysp ldy #$0D jsr pushwidx ldy #$06 jsr _sprintf bra L0009 L0030: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S002A) ldx #>(S002A) jsr pushax ldy #$05 jsr ldaxysp ldy #$0B jsr ldaxidx sta ptr1 stx ptr1+1 lda #$6C clc adc ptr1 pha lda #$07 adc ptr1+1 tax pla jsr pushax ldy #$07 jsr ldaxysp ldy #$09 jsr ldaxidx ina bne L0031 inx L0031: jsr pushax ldy #$09 jsr ldaxysp ldy #$07 jsr pushwidx ldy #$0A jsr _sprintf bra L0009 L0032: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S002B) ldx #>(S002B) jsr pushax ldy #$05 jsr ldaxysp ldy #$0B jsr pushwidx ldx #$00 lda #$64 jsr tosmoda0 jsr pushax ldy #$06 jsr _sprintf bra L0009 L0033: stz M0006 L0009: lda M0007 ldx M0007+1 jsr _strlen sta M0004 stx M0004+1 clc adc M0003 sta M0003 txa adc M0003+1 sta M0003+1 lda M0003 ldy #$04 cmp (sp),y lda M0003+1 iny sbc (sp),y jcs L0002 ldy #$09 jsr pushwysp lda M0007 ldx M0007+1 jsr pushax lda M0004 ldx M0004+1 jsr _memcpy lda M0004 ldx M0004+1 ldy #$06 jsr addeqysp jmp L0002 L0007: ldy #$07 jsr ldaxysp sta ptr1 stx ptr1+1 lda M0005 sta (ptr1) ldy #$06 ldx #$00 lda #$01 jsr addeqysp inc M0003 jne L0002 inc M0003+1 jmp L0002 L0003: jmp incsp8 .segment "RODATA" M0001: .addr S0002 .addr S0003 .addr S0004 .addr S0005 .addr S0006 .addr S0007 .addr S0008 M0002: .addr S0009 .addr S000A .addr S000B .addr S000C .addr S000D .addr S000E .addr S000F .addr S0010 .addr S0011 .addr S0012 .addr S0013 .addr S0014 .segment "BSS" M0003: .res 2,$00 M0004: .res 2,$00 M0005: .res 1,$00 M0006: .res 40,$00 M0007: .res 2,$00 .endproc