static void InsertString(t_vaddrcc string, t_nubitcc count, t_bool flagdup, t_bool move, t_nubit8 charprop, t_nubit8 page, t_nubit8 x, t_nubit8 y) { t_nubitcc i; qdcgaVarCursorPosRow(page) = x; qdcgaVarCursorPosCol(page) = y; for (i = 0; i < count; ++i) { switch (d_nubit8(string)) { case 0x07: /* bell */ break; case 0x08: /* backspace */ CursorBackward(page); break; case 0x0a: /* new line */ CursorLineFeed(page); break; case 0x0d: CursorCarriageReturn(page); break; default: qdcgaVarChar(page, qdcgaVarCursorPosRow(page), qdcgaVarCursorPosCol(page)) = d_nubit8(string); qdcgaVarCharProp(page, qdcgaVarCursorPosRow(page), qdcgaVarCursorPosCol(page)) = charprop; CursorForward(page); break; } if (!flagdup) { string++; } } if (!move) { qdcgaVarCursorPosRow(page) = x; qdcgaVarCursorPosCol(page) = y; } }
void vfddTransWrite() { if (IsCylEnd) return; d_nubit8(vfdd.curr) = vlatch.byte; vfdd.curr++; vfdd.count++; if (!(vfdd.count % vfdd.nbyte)) { vfdd.sector++; if (IsCylHalf) { vfdd.sector = 0x01; vfdd.head = 0x01; } vfddSetPointer; } }
void vhddTransWrite() { if (IsCylEnd) { return; } d_nubit8(vhdd.connect.pCurrByte) = vlatch.data.byte; vhdd.connect.pCurrByte++; vhdd.connect.transCount++; if (!(vhdd.connect.transCount % vhdd.data.nbyte)) { vhdd.data.sector++; if (IsTrackEnd) { vhdd.data.sector = 1; vhdd.data.head++; } vhddSetPointer; } }