         .OUTPI ALFRES
         .ENTRY PKDTE,UPKDTE
;ROUTINES TO PACK/UNPACK DATE IN ARC FILES
;ON ENTRY, X/Y REGS HAVE DATE LSB/MSB FORMAT
;ON EXIT X/Y/A IS YY/MM/DD WHERE YY IS OFFSET FROM 1980

DATE     .WORD 0
DD       .BYTE 0
MM       .BYTE 0

UPKDTE   STX DATE
         STY DATE+1
         TXA                    ;SHIFT FOR DATE
         AND #$1F               ;LOW 5 BITS IS DAY
         STA DD
         LDX #4
UPK001   LSR DATE+1             ;ROTATE TO GET MM
         ROR DATE
         DEX
         BPL UPK001
         LDA DATE
         AND #$0F
         STA MM
         LDX #3
UPK002   LSR DATE+1
         ROR DATE
         DEX
         BPL UPK002
         LDX DATE               ;YY OFFSET
         LDY MM                 ;REAL MONTH
         LDA DD                 ;REAL DAY
         CLC
         RTS

;PACKDATE
;ON ENTRY, X=YY OFFSET SINCE 1980,Y=MM,A=DD
PKDTE    PHA
         LDA #0
         STA DATE
         STA DATE+1
         STX DATE
         LDX #3
PKD001   ASL DATE
         ROL DATE+1
         DEX
         BPL PKD001
         TYA
         ORA DATE
         STA DATE
         LDX #4
PKD002   ASL DATE
         ROL DATE+1
         DEX
         BPL PKD002
         PLA
         ORA DATE
         STA DATE
         LDX DATE
         LDY DATE+1
         CLC
         RTS
