+ lines_sft_offs = (lines << 16) | offs;
+ if (Pico32x.vdp_regs[2 / 2] & P32XV_SFT)
+ lines_sft_offs |= 1 << 8;
+
+ do_loop[which_func](Pico.est.DrawLineDest, dram, lines_sft_offs, md_bg);
+}
+
+// mostly unused, games tend to keep 32X layer on
+void PicoDraw32xLayerMdOnly(int offs, int lines)
+{
+ int have_scan = PicoScan32xBegin != NULL && PicoScan32xEnd != NULL;
+ unsigned short *dst = (void *)((char *)DrawLineDestBase + offs * DrawLineDestIncrement);
+ unsigned char *pmd = PicoDraw2FB + 328 * offs + 8;
+ unsigned short *pal = HighPal;
+ int poffs = 0, plen = 320;
+ int l, p;
+
+ if (!(Pico.video.reg[12] & 1)) {
+ // 32col mode
+ poffs = 32;
+ plen = 256;
+ }