     .OUTPI ALFRES
     .ENTRY SPDATE,SPTIME

;Returns the Sparta Time/Date
;Filen must have the proper name
;On Exit, SPDATE sets x=DD,A=MM,Y=YY

ENTRY *=*+23

SPDATE LDA $0700  ;SPARTA DOS ?
      CMP #$53
      BEQ SPD002
SPD001  LDA #0
      STA ENTRY+20
      STA ENTRY+21
      STA ENTRY+22
      LDX #25
      LDA #5
      LDY #62
      CLC
      RTS

SPD002 LDX #D2     ;HAVE TO USE THE PRTR
      LDA #3
      STA $0342,X
      LDA #.LO.IFILE
      STA $0344,X
      LDA #.HI.IFILE
      STA $0345,X
      LDA #20
      STA $034A,X
      LDA #0
      STA $034B,X
      JSR $E456
      BPL SPD004
SPD003 LDX #D2
      JSR CLOSE
      JMP SPD001     ;USE SECRET DATE
SPD004 LDX #D2
      LDA #.LO.ENTRY
      STA ADR
      LDA #.HI.ENTRY
      STA ADR+1
      LDA #23
      STA LEN
      LDA #0
      STA LEN+1
      JSR BGET
      BMI SPD003
      LDA ENTRY
      AND #$28
      CMP #8
      BNE SPD004
      LDX #0     ;START OF FILEN
      LDY #6     ;SPARTA ENTRY
SPD005 LDA FILEN,X
      CMP #"."   ;GO CHECK EXTN
      BEQ SPD006
      CMP ENTRY,Y
      BNE SPD004
      INX
      INY
      CPX #9
      BCC SPD005
      BCS SPD001
SPD006 LDY #14
      INX
SPD007 LDA FILEN,X
      BEQ SPD008   ;FOUND IT
      CMP ENTRY,Y
      BNE SPD004
      INX
      INY
      BNE SPD007
SPD008 LDX #D2      ;POINT TO DATE
      JSR CLOSE
      LDY #17
      LDX ENTRY,Y
      LDA ENTRY+1,Y
      PHA
      LDA ENTRY+2,Y
      TAY
      PLA
      CLC
      RTS

;On Exit, SPTIME sets X=HH,Y=MM

SPTIME LDX ENTRY+20
      LDY ENTRY+21
      RTS
