
This is exactly the same as above, but the clocktick increments are added up and only output at
the end of basic blocks.  Special handling would be done for conditional branches, where the
ticks are added up within the "if (test) { ... ; JUMP; }" code but not the drop-through case.

// =============== S U B R O U T I N E =======================================
  case 0x670D:
L670D:
                                                     mon("L670D    LDX   #$496F                  ; 670D: 8E 49 6F      \n"); // "Bank 1"
    X = 0x496f; 
 // Z = X; 
 // N = (X) >> 8; 
 // V = 0; 
                                                     mon("         LDA   #$00                    ; 6710: 86 00         \n");
    clockticks = clockticks + 3+2; 
    val = (UINT8)0x00; 
    A = val; 
 // N = val; 
 // Z = val; 
 // V = 0; 
  case 0x6712:
L6712:
                                                     mon("L6712    STA   ,X+                     ; 6712: A7 80         \n");
    val = A; 
 // Z = val; 
 // N = val; 
 // V = 0; 
    ea = X; 
    wr_mem(ea, val); 
    X = X + 1; 
                                                     mon("         CMPX  #$4989                  ; 6714: 8C 49 89      \n");
    val = X; 
    arg = 0x4989; 
    res = val - arg; 
    C = res & 0x10000; 
    res = (UINT16)res; 
    Z = res; 
    N = res >> 8; 
    V = ((val ^ arg) & (val ^ res)) >> 8; 
                                                     mon("         BCS   $6712                   ; 6717: 25 F9         \n");
    // temp fix to ensure flags synched
    if (C) {
    goto L6712;
    }
                                                     mon("         LDA   #$60                    ; 6719: 86 60         \n");
    val = (UINT8)0x60; 
    A = val; 
 // N = val; 
 // Z = val; 
 // V = 0; 
                                                     mon("         LSRA                          ; 671B: 44            \n");
    val = (UINT8)A; 
    C = val & 1; 
    val = val >> 1; 
    A = val; 
 // N = 0; 
 // Z = val; 
                                                     mon("         STA   <$D2                    ; 671C: 97 D2         \n");
    val = A; 
 // Z = val; 
 // N = val; 
 // V = 0; 
    ea = DP|0xd2; 
    wr_mem(ea, val); 
                                                     mon("         LDD   #$5300                  ; 671E: CC 53 00      \n");
    A = 0x53; 
    B = 0x00; 
 // Z = A|B; 
 // N = A; 
 // V = 0; 
                                                     mon("         STD   <$D4                    ; 6721: DD D4         \n");
    Z = A | B; 
    N = A; 
    V = 0; 
    ea = DP|0xd4; 
    wr_mem(ea, A); // Care needed with I/O space and word fetches
    wr_mem(ea + 1, B); 
    // End of function sub_670D
                                                     mon("         RTS                           ; 6723: 39            \n");
    clockticks = clockticks + 6+4+3+2+2+4+3+4+5+1; 
    PC = rd_mem(S)<<8; 
    S = S + 1; 
    PC = PC | rd_mem(S); 
    S = S + 1; 
    JUMP;
