AppleWin behaviour: (ddial.dsk)
- 1.10.4   : Counts up immediately at correct rate (but no "login" msg)
- 1.12.6   : Counts up immediately at correct rate (but no "login" msg)
- 1.12.9.1 : Sticks at 2s, then starts counting slowly after ~30s (but no "login" msg)
- 1.14.2   : Very fast counting immediately

NB:
. "Login" msg output ~33s/34s
. After option-1 is loaded, then it writes to some regs in slot-1 ($C0An), but no reads.

=======================================

$38EB:
 LDA $28				; [$28] = #$00
 BMI .SKIP_UPDATE_TIME	; $38FF
 
 LDA $F4				; [$F8] = #$FF
 BNE $38F8
 
  LDA #$80+' '
  STA SEC_HI-1

$38F8:
 LDA #$84
 STA $28

 JSR UPDATE_TIME

.SKIP_UPDATE_TIME:
 JSR $7FD3
 JSR $4753
 JSR CHECK_VBL

 ;...
 
=======================================

$395F:
 LDA $F4
 CMP #$01
 BCC $3979

 LDA TAPEIN
 TAY
$3969:
 EOR #$00		; Default?
 BPL $3979

  ; State change on TAPEIN
  STY $3969+1
  LDA #$0A
  STA $F4
  STA $28
  LDA TAPEOUT

$3979:
 JMP $28B4
 
=======================================

; Func entrypoint
UPDATE_TIME:		; $5205
 LDX $FF			; [$FF] = #$FF
 BEQ $5220
 BPL $520D
  LDX #$09
$520D:
 DEX
 STX $FF
 BNE $5220

  ;...

$523D:
 LDX #$07

$523F:
  LDA $A0,X

  ;...

  DEC $38,X
  BNE $5289
   LDA #$00
   STA $90,X
  
$5289:
  DEX
  BPL $523F

$528C:
 INC $4A7			; SEC_LO
 LDA $4A7
 CMP #$80+'9'+1		; #$BA 
 BNE $530A
 
 ; $4A6 = SEC_HI

 ;...
 
$530A:
 RTS

=======================================

CHECK_VBL:	; $F822

 LDA RDVBLBAR
$F825:		; FRMCNT = $F826
 EOR #$3C	; (*SMC)
 BMI $F82A
 RTS
 
 ; VBl changed
$F82A:
 LDA FRMCNT
 EOR #$80
 STA FRMCNT
 BMI $F86A
 
 ; 1 frame elasped
 INC $30	; [$30]   = #$FF
 AND $7F9F	; [$7F9F] = #$01
 BNE $F83D
   STA $F2	; [$F2]   = #$01
$F83D:
 DEC FRMCNT
 BNE $F86A

 ; 1 sec elasped
$F842:		; FRMCNT2 = $F843 
 LDA #$3C	; (*SMC)
 STA FRMCNT
 DEC FRAMECNT3
 BNE $F861
 PHP
  CMP #60		; #$3C
  BCS $F858		; Branch if A >= 60
   INC FRMCNT2
   LDA #$79		; 121 = 60*2+1
   BNE $F85D	; == BRA $F85D
$F858:
   DEC FRMCNT2
   LDA #$0A
$F85D:
   STA FRAMECNT3
 PLP

$F861:
 LDA $F4	; [$F4]  = #$FF
 BNE $F86B
 STA $28	; [$28]  = #$00
 LDA TAPEOUT
 RTS
 
$F86A:
 RTS
 
$F86B:
 DEC $F4
 RTS

FRAMECNT3:	; $F86E
 DCB $01
