VOGONS


First post, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

Some games such as The Lost Vikings appear to use 320x240 instead of 320x200 pixels. http://helppc.netcore2k.net/interrupt/int-10-0 doesn't list that mode. Apparently setting it seems to involve directly accessing the 6485 or something like that. I tried looking for some info but all I learned is that it 's called QVGA. Does anyone know how this particular mode is enabled?

My GitHub:
https://github.com/peterswinkels

Reply 2 of 11, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

@rmay635703: thank you!

My GitHub:
https://github.com/peterswinkels

Reply 3 of 11, by root42

User metadata
Rank l33t
Rank
l33t

The above link is talking about the classic Mode X. It has some advantages (page flipping, possibility of smooth scrolling) but also some drawbacks (weird pixel addressing).

Nerdly Pleasures also has some interesting details about different resolutions in DOS games:

https://nerdlypleasures.blogspot.com/2014/09/ … tions-when.html

I made a video about Mode X a few years back, if you are interested: https://www.youtube.com/watch?v=GVvr7SXM0XM

Plus some follow up videos on smooth scrolling and page flipping.

It would be nice to have a 320x240 linear mode, which is as easily addressable as mode 13h (320x200), however this doesn't work, as the VGA card can only show 65536 bytes at a time in the ISA address space, but you need 76800 bytes for 320x240. With Mode X this works, as you need to switch to plane (n mod 4) to access pixel n in the framebuffer.

YouTube and Bonus
80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & GUSar Lite, PC MIDI Card+X2+SC55+MT32, OSSC

Reply 4 of 11, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

@root42: thanks!

My GitHub:
https://github.com/peterswinkels

Reply 5 of 11, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi everyone. Here's something else I've found.

https://retrocomputing.stackexchange.com/ques … -to-64kb-window

Not sure if the last claim is true, but I've read that the i808x was very limited,
it had no deciaded unit for address calculation yet.
- That was introduced in the 80286, for example (see Wikipedia entry).
So that claim would make sense, in theory.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 6 of 11, by Azarien

User metadata
Rank Oldbie
Rank
Oldbie
root42 wrote on 2022-06-07, 13:29:

The above link is talking about the classic Mode X. It has some advantages (page flipping, possibility of smooth scrolling)

and square pixels, unlike 320x200 which is 16:10 squashed (or not) into 4:3.

root42 wrote on 2022-06-07, 13:29:

It would be nice to have a 320x240 linear mode, which is as easily addressable as mode 13h (320x200), however this doesn't work, as the VGA card can only show 65536 bytes at a time in the ISA address space, but you need 76800 bytes for 320x240.

Is there any way to get linear 320x240 using VESA 2.0/3.0? (upscaling to 640x480 doesn't count because it's no longer linear)

Reply 7 of 11, by Falcosoft

User metadata
Rank l33t
Rank
l33t
Azarien wrote on 2022-06-07, 19:45:

Is there any way to get linear 320x240 using VESA 2.0/3.0? (upscaling to 640x480 doesn't count because it's no longer linear)

Yes, most VESA 2.0+ implementations support 320x240 in linear frame buffer mode (LFB). LFB also works for 640x480 and higher resolutions making all of them linear. LFB uses a 32-bit address usually located in the 3GB -4GB range not the 64KB window at 0xA0000.

The attachment vesa1.png is no longer available

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 9 of 11, by root42

User metadata
Rank l33t
Rank
l33t
Peter Swinkels wrote on 2022-06-08, 09:19:

This proves that you can do ANYTHING in BASIC. 😁 Whether it's a good idea, or not! I should try and write a Power Basic library that supports Mode X an Mode Y...

YouTube and Bonus
80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & GUSar Lite, PC MIDI Card+X2+SC55+MT32, OSSC

Reply 10 of 11, by Jo22

User metadata
Rank l33t++
Rank
l33t++

VBDOS and PDS 7.1 (QBX) are somewhat backwards compatible to Quick Basic 4.5x..
But they do support larger code and PDS can do 286 code generation, I think.

Power Basic also is interesting. It's a relative of Turbo Basic, I think.

It seems to support many things, but I had issues with it when I tried to compile CGAView with it
(my BLOAD utility, not the video player of same name).
After several invokings, the program crashed. Not sure why. QB45 didn't do that. 🤷‍♂️

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 11 of 11, by Peter Swinkels

User metadata
Rank Oldbie
Rank
Oldbie

Quick Basic is suprisingly powerful if you are willing to include interrupt calls, low-level I/O, and machine code. However, the limited way it handles large amounts of data and strucutures (user defined types) and a lack of mandatory variable declaration can make code clunky and error prone. I tried using Turbo Basic and found it to be better than Quick Basic in some ways and lacking in other places.

Any way, is there a list of DOS games using non-standard video modes?

My GitHub:
https://github.com/peterswinkels