Example #1
0
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;
    }
}
Example #2
0
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;
	}
}
Example #3
0
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;
    }
}