átírtam a blokk olvasó rutint, most a nullás lapra van belapozva a DE által kapott cím, a P1-en marad a csatorna RAM.
Így eléggé fölgyorsult, most 7447 byte / sec lett az eredmény a korábbi 3960 helyett.
READ_BLCK:
; exos 6
bit 0, (ix-3)
jp nz, RET_NOFN
; HL = pointer to buffer
ld l, (ix-6)
ld h, (ix-5)
; DE' = DE
push de
exx
pop de
exx
in a, (0b0h)
push af
di
call SET_USER_SEGMENT0 ; at return DE points to P0
.loop: ld a, b
or c
jr z, .vege ; if (BC == 0) { A = 0; goto vege; }
ld a, (ix-1)
or (ix-2)
jr z, .eof
inc (ix-4)
call z, Read256ByteFromEeprom
ldi
exx
inc de
exx
bit 6, d
call nz, SET_USER_SEGMENT0
inc (ix-2)
jp nz, READ_BLCK.loop
inc (ix-1)
jp READ_BLCK.loop
.eof: ld d, ERR_EOF ; End of file
db 020h ; JR NZ, .. skip next byte
.vege: ld d, a ; no error
pop af
out (0b0h), a
ei
ld a, d
ld (ix-6), l
ld (ix-5), h
exx
push de
exx
pop de
ret