[Back to EGAVGA SWAG index] [Back to Main SWAG index] [Original]
{
>How do I set those REALLY low-resolution modes which people keep on
>using? i.e. 80x50, etc. I can tell that the only real reason that most
>scaling effects are so fast is because rather than doing it fullscreen in
>320x200, they use something like 80x50 or so...
Correct, in the old days, anyway. They usually were unchained
modes with the cell height changed. Changing the cell height makes
every pixel twice as high, three times as high, etc. They were
unchained modes so you could change the write plane registers so
when you wrote one pixel to the screen, it wrote four in a row.
Voila, 80x50.
You can't do that because of the way you program (you're strictly
mode 13h) but you *can* change the cell height, like this:
}
Procedure cellheight(a:Byte);Assembler;
Asm
push DX
mov AH,a {cell height is a}
mov DX,$3D4 {CRTC_Index $3d4 }
mov AL,9 {register function}
out DX,AL {do it!}
Inc DL
In AL,DX
And AL,11100000b
Or AL,AH
out DX,AL {do it!}
pop DX
End;
[Back to EGAVGA SWAG index] [Back to Main SWAG index] [Original]