mode x 256x224
category: code [glöplog]
So did I completely miss the tweak mode in the subject back in the day? Is it used somewhere? Was it common knowledge?
Having a resolution where y coordinate can be calculated with a single shift sounds way too useful to be so obscure.
Having a resolution where y coordinate can be calculated with a single shift sounds way too useful to be so obscure.
I used to have a german book on the VGA:
https://www.amazon.de/-/en/VGA-Super-VGA-Karten-programmieren-Programmentwicklung-VGA-Utilities/dp/3772370136
It had examples of all sorts of VGA graphics modes in it, including but not limited to a 256x256 mode. Not sure about 256x224, I'd have to check, probably I still have the book.
https://www.amazon.de/-/en/VGA-Super-VGA-Karten-programmieren-Programmentwicklung-VGA-Utilities/dp/3772370136
It had examples of all sorts of VGA graphics modes in it, including but not limited to a 256x256 mode. Not sure about 256x224, I'd have to check, probably I still have the book.
I remember that for whatever reason I did find the 256x256 mode totally awesome but subsequently found out that when I entered a prod at a party using that mode, either the compo machine's VGA card or the beamer did not like the mode at all.
Had to quickly rewrite the prod using standard mode 13h.
Had to quickly rewrite the prod using standard mode 13h.
Quote:
Can't the overscan be adjusted so that VSYNC and HSYNC periods are entirely within the normal tolerances?either the compo machine's VGA card or the beamer did not like the mode at all
E.g., embedding the 256x256 picture in a larger frame (like that from 320x256) to get to a proper horizontal frequency and pixel clock.
This is what they did in that book: frame was basically 320 wide, with the 256x256 image pillarboxed.
So probably it was the graphics card then, not the beamer? Either way, it's not like I had a clue what I was doing back then (or today, for that matter).
So probably it was the graphics card then, not the beamer? Either way, it's not like I had a clue what I was doing back then (or today, for that matter).
If the extended vertical resolution pushed the frame rate below 60 Hz, the projector may have been unhappy with that.
I was curious about the mode too, I think it was called Mode-Q, and even remember seeing it bneing used in some DOS SNES emulator at a time as it was very fitting to the SNES resolution.
Maybe useful for dot records on very oldschool DOS, Y<<8 to get address.
As for compo machines, nowadays many DOS demos are ended up running dosbox or precapture.
As for compo machines, nowadays many DOS demos are ended up running dosbox or precapture.
Or "mov bh,y"
Yeah even better
The 256×256 mode wasn’t a secret, there are a few demos that use it (for example: https://www.pouet.net/prod.php?which=4672 ). But overall, it never became particularly popular. After all, our monitors aren’t square 🙂
This mode did work on CRT monitors, but it always worried me how my monitor would go dark for a couple of seconds and make a clicking sound when switching into that mode :)
In reality, the benefits of it weren’t that significant.
But if anyone needs it, here’s the code of 256x256 MODE-Q (Turbo Pascal):
This mode did work on CRT monitors, but it always worried me how my monitor would go dark for a couple of seconds and make a clicking sound when switching into that mode :)
In reality, the benefits of it weren’t that significant.
But if anyone needs it, here’s the code of 256x256 MODE-Q (Turbo Pascal):
Code:
Procedure Mode_256;
Begin
asm
mov ax, 13h
int 10h
end;
Port[$3D4]:=$11; Port[$3D5]:=Port[$3D5] AND $7F;
Port[$3C2]:=$E3;
Port[$3D4]:=$0; Port[$3D5]:=$5F;
Port[$3D4]:=$1; Port[$3D5]:=$3F;
Port[$3D4]:=$2; Port[$3D5]:=$40;
Port[$3D4]:=$3; Port[$3D5]:=$82;
Port[$3D4]:=$4; Port[$3D5]:=$4A;
Port[$3D4]:=$5; Port[$3D5]:=$9A;
Port[$3D4]:=$6; Port[$3D5]:=$6F;
Port[$3D4]:=$7; Port[$3D5]:=$B2;
Port[$3D4]:=$8; Port[$3D5]:=$0;
Port[$3D4]:=$9; Port[$3D5]:=$61;
Port[$3D4]:=$10; Port[$3D5]:=$28;
Port[$3D4]:=$11; Port[$3D5]:=$8A;
Port[$3D4]:=$12; Port[$3D5]:=$FF;
Port[$3D4]:=$13; Port[$3D5]:=$20;
Port[$3D4]:=$14; Port[$3D5]:=$40;
Port[$3D4]:=$15; Port[$3D5]:=$7;
Port[$3D4]:=$16; Port[$3D5]:=$1A;
Port[$3D4]:=$17; Port[$3D5]:=$A3;
Port[$3C4]:=$1; Port[$3C5]:=$1;
Port[$3C4]:=$3; Port[$3C5]:=$0;
Port[$3C4]:=$4; Port[$3C5]:=$E;
Port[$3CE]:=$5; Port[$3CF]:=$40;
Port[$3CE]:=$6; Port[$3CF]:=$5;
End;If you want more exotic VGA video modes (such as 256×240 or 400×300), take a look at this: https://rk.nvg.ntnu.no/bbc/private/tweak16b.zip
But in practice, I think it’s rather unreliable. Still fun, though.
But in practice, I think it’s rather unreliable. Still fun, though.
Quote:
Procedure Mode_256;
Begin
asm
mov ax, 13h
int 10h
Lovely memories <3
