start_bpl_dma (hstart);
// if ECS: pre-set plf_end_hpos if we have already passed virtual ddfstop
if (ecs) {
- if (last_decide_line_hpos < hstart && hstart >= plfstop && hstart - plfstop <= DDF_OFFSET) {
+ // DDFSTRT=$18: always skip this condition. For some unknown reason.
+ if (last_decide_line_hpos < hstart && hstart >= plfstop && hstart - plfstop <= DDF_OFFSET && hstart != HARD_DDF_START_REAL + DDF_OFFSET) {
plf_end_hpos = plfstop + DDF_OFFSET;
nextstate = plf_passed_stop;
}