שיטת lowlevel נחמדה,
אני לא ממש עובד בפסקל, אבל אפשר לעשות את זה בC אז בטח אפשר גם בפסקל. אתה יכול להגדיר מצביע ל0xB800. שם DOS מאחסן את הטקסט למסך. החוצץ בנוי כך: ביט אחד מכיל את האות בתופיע במסך, הביט הבא ישמור מאפיינים לגבי הביט, הביט הבא שוב יהיה אות וכך הלאה:
|Char|-|Attr|-|Char|-|Attr|...
הביט של המאפיינים בנוי כל: 4 ביטים ראשונים מכילים את הצבא של האות. 3 הביטים הבאים מכילים את הצבע של הרקע לאות, והביט האחרון יגרום לאות להבהב אם יהיה שווה ל-1. הנה מימוש שכתבתי פעם בC (ממומש בעזרת ASM), אבל אני משאר שזאת לא בעיה להמיר אותו לפסקל. עוד הערה, 3 הפקודות הראשונות ו-3 הפקודות האחרונות דוחפות את האוגרים AX,ES וDI, למחסנית ומוציאים אותם מהמחסנית בסוף, בשביל לשמור את הערכים שלהם, אחרת לפעמים התוכנית עושה בעיות... אהה, הנה המימוש:
void PutCharXY(char c, int x, int y, byte co, byte bgc, byte blink) { int off_set; unsigned char bt = 0; asm { push ax push es push di } off_set = ((y - 1) * 80 +(x - 1)) * 2; bt = co; bt += bgc << 4; bt += blink << 7; asm { mov ax,0xB800; mov es,ax; mov di,off_set; mov al,c; mov ah,bt; mov es:[di],ax pop di pop es pop ax } }