or a ; 4
jp z, loop ; 10 27 (41 worst)
- ld bc, ($1002) ; src 20
- ld de, ($1004) ; dst 20 67
- ld a, ($1001) ; len 13
- ld h, a ; 4 84 (98)
-loop_cp
- ld a, (bc) ; 7
+ ld hl, ($1002) ; src 20
+ ld de, ($1004) ; dst 20
+ ld bc, ($1006) ; len 20
+
+ cp a, 2 ; 7
+ jp z, rd_timing ; 10 77 (118)
+
+ ldir ; 21/16
+ jp end ; 10
+
+rd_timing
+ ld d, h ; 4
+ ld e, l ; 4
+ inc de ; 6 14 (132)
+loop_read
+ ld a, (hl) ; 7
+ ld a, (de) ; 7
+ dec bc ; 6
+ ld a, b ; 4
+ or a, c ; 4
+ jp nz,loop_read ; 10 38
+
+ ld a, ($7f08) ; vcnt 13
+ ld de, ($1004) ; dst 20
ld (de), a ; 7
- inc bc ; 6
- inc de ; 6
- dec h ; 4 30
- jp nz, loop_cp ; 10 40
-
- xor a ; 4
- ld ($1000), a ; 13
- jp loop ; 10 27
+ jp end ; 10 50
; ---
irq
ret
+; ---
+
+end
+ xor a ; 4
+ ld ($1000), a ; 13
+ jp loop ; 10 27
+