; ; File generated by cc65 v 2.19 - Git ab8bb268 ; .fopt compiler,"cc65 v 2.19 - Git ab8bb268" .setcpu "6502" .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,$73,$20,$25,$2E,$33,$73,$25,$33,$64,$20,$25,$30,$32 .byte $64,$3A,$25,$30,$32,$64,$3A,$25,$30,$32,$64,$20,$25,$64,$00 S0016: .byte $25,$30,$34,$64,$2D,$25,$30,$32,$64,$2D,$25,$30,$32,$64,$00 S002A := S0016+0 S0015: .byte $25,$30,$32,$64,$2F,$25,$30,$32,$64,$2F,$25,$30,$32,$64,$00 S001F: .byte $25,$30,$32,$64,$3A,$25,$30,$32,$64,$3A,$25,$30,$32,$64,$00 S0005: .byte $57,$65,$64,$6E,$65,$73,$64,$61,$79,$00 S0011: .byte $53,$65,$70,$74,$65,$6D,$62,$65,$72,$00 S000A: .byte $46,$65,$62,$72,$75,$61,$72,$79,$00 S0008: .byte $53,$61,$74,$75,$72,$64,$61,$79,$00 S0013: .byte $4E,$6F,$76,$65,$6D,$62,$65,$72,$00 S0006: .byte $54,$68,$75,$72,$73,$64,$61,$79,$00 S0014: .byte $44,$65,$63,$65,$6D,$62,$65,$72,$00 S0009: .byte $4A,$61,$6E,$75,$61,$72,$79,$00 S0012: .byte $4F,$63,$74,$6F,$62,$65,$72,$00 S0004: .byte $54,$75,$65,$73,$64,$61,$79,$00 S0010: .byte $41,$75,$67,$75,$73,$74,$00 S0007: .byte $46,$72,$69,$64,$61,$79,$00 S0002: .byte $53,$75,$6E,$64,$61,$79,$00 S0003: .byte $4D,$6F,$6E,$64,$61,$79,$00 S000B: .byte $4D,$61,$72,$63,$68,$00 S000C: .byte $41,$70,$72,$69,$6C,$00 S0018 := S0016+10 S0019 := S0016+10 S002B := S0016+10 S000E: .byte $4A,$75,$6E,$65,$00 S001C := S0016+10 S001D := S0016+10 S001E := S0016+10 S0026 := S0016+10 S0025: .byte $25,$30,$33,$64,$00 S0021: .byte $25,$2E,$33,$73,$00 S0022 := S0021+0 S0017 := S0016+10 S0024 := S0016+10 S000F: .byte $4A,$75,$6C,$79,$00 S000D: .byte $4D,$61,$79,$00 S0020: .byte $25,$34,$64,$00 S0028: .byte $41,$4D,$00 S0029 := S0023+28 S001B: .byte $61,$6D,$00 S001A: .byte $70,$6D,$00 S0027: .byte $50,$4D,$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 lda #$00 sta M0003 sta 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 ldy #$00 lda (ptr1),y 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 tay sta (ptr1),y 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 ldy #$00 lda (ptr1),y pha ldy #$02 ldx #$00 lda #$01 jsr addeqysp pla cmp #$25 jeq L000A cmp #$41 jeq L000B cmp #$42 jeq L000C cmp #$44 jeq L000D cmp #$46 jeq L000E cmp #$48 jeq L000F cmp #$49 jeq L0010 cmp #$4D jeq L0011 cmp #$50 jeq L0012 cmp #$53 jeq L0016 cmp #$55 jeq L0017 cmp #$57 jeq L0018 cmp #$58 jeq L001B cmp #$59 jeq L001C cmp #$5A jeq L001D cmp #$61 jeq L0020 cmp #$62 jeq L0021 cmp #$63 jeq L0022 cmp #$64 jeq L0023 cmp #$6A jeq L0024 cmp #$6D jeq L0025 cmp #$70 jeq L0026 cmp #$77 jeq L002A cmp #$78 jeq L002B cmp #$79 jeq L002C jmp L002D L000A: sta M0006 lda #$00 sta 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 jsr incax1 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 L000E: 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 jsr incax1 jsr pushax ldy #$09 jsr ldaxysp ldy #$07 jsr pushwidx ldy #$0A jsr _sprintf jmp L0009 L000F: 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 L0010: 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 jsr incax1 jsr pushax ldy #$06 jsr _sprintf jmp L0009 L0011: 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 L0012: jsr ldax0sp ldy #$05 jsr ldaxidx cmp #$0C txa sbc #$00 bvs L0013 eor #$80 L0013: bpl L0014 lda #<(S001A) ldx #>(S001A) jmp L0015 L0014: lda #<(S001B) ldx #>(S001B) L0015: sta M0007 stx M0007+1 jmp L0009 L0016: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S001C) ldx #>(S001C) jsr pushax ldy #$05 jsr ldaxysp jsr pushw ldy #$06 jsr _sprintf jmp L0009 L0017: 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 L0018: 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 L0019 ldy #$07 jsr ldaxysp ldy #$0D jsr ldaxidx jsr decax1 jmp L001A L0019: tax lda #$06 L001A: jsr tossubax jsr pushax lda #$07 jsr tosdiva0 jsr pushax ldy #$06 jsr _sprintf jmp L0009 L001B: 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 L001C: 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 L001D: jsr ldax0sp ldy #$10 sta ptr1 stx ptr1+1 lda (ptr1),y iny ora (ptr1),y beq L001E lda #<(__tz+10) ldx #>(__tz+10) jmp L001F L001E: lda #<(__tz+5) ldx #>(__tz+5) L001F: sta M0007 stx M0007+1 jmp L0009 L0020: 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 L0021: 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 L0022: 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 L0023: 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 L0024: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0025) ldx #>(S0025) jsr pushax ldy #$05 jsr ldaxysp ldy #$0F jsr ldaxidx jsr incax1 jsr pushax ldy #$06 jsr _sprintf jmp L0009 L0025: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0026) ldx #>(S0026) jsr pushax ldy #$05 jsr ldaxysp ldy #$09 jsr ldaxidx jsr incax1 jsr pushax ldy #$06 jsr _sprintf jmp L0009 L0026: jsr ldax0sp ldy #$05 jsr ldaxidx cmp #$0C txa sbc #$00 bvs L0027 eor #$80 L0027: bpl L0028 lda #<(S0027) ldx #>(S0027) jmp L0029 L0028: lda #<(S0028) ldx #>(S0028) L0029: sta M0007 stx M0007+1 jmp L0009 L002A: lda #<(M0006) ldx #>(M0006) jsr pushax lda #<(S0029) ldx #>(S0029) jsr pushax ldy #$05 jsr ldaxysp ldy #$0D jsr pushwidx ldy #$06 jsr _sprintf jmp L0009 L002B: 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 jsr incax1 jsr pushax ldy #$09 jsr ldaxysp ldy #$07 jsr pushwidx ldy #$0A jsr _sprintf jmp L0009 L002C: 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 jmp L0009 L002D: lda #$00 sta 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 ldy #$00 sta (ptr1),y 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