VOGONS


SVGA/VESA programming

Topic actions

Reply 60 of 72, by Exploit

User metadata
Rank Newbie
Rank
Newbie
Falcosoft wrote on 2022-06-22, 06:29:
WhiteFalcon wrote on 2022-06-22, 05:09:

Or is it okay to draw all the screen for every frame? Background, sprites and all? It did work in VGA 320x200, I think even on a 486, but that was less than 1/2 of the pixels. I am afraid it would give me like 5-10 FPS on the Pentium, if even that many.

You have to try. I always use this double buffering 'flip' concept and redraw full pages. But I must say I do not think that banked 640x480 256 color mode on a 486 (and 20+) fps is a realistic expectation. VGA 320x200 has less than 1/4 of the pixels (not 1/2). I think even the linear frame buffer mode of 640x480 could have performance problems on a 486.

Flight Simulator games were unplayable in VESA 2.0 LFB 640x480x8 on my 486DX 33MHz with an ET4000/W32 ISA 1 MB VRAM videocard. The same applies to Tomb Raider.
But Warcraft II: Tides of Darkness, which did use VESA 2.0 LFB 640x480x8 too, was playable.

But the real problem wasn't even the CPU, but the slow ISA bus. That was the main bottleneck. Unfortunately, a VLB card didn't fit into the mainboard.

WhiteFalcon wrote on 2022-06-22, 11:39:

...
TTycoon is a different beast though, they must have needed to redraw the screen almost constantly with so much happening in bustling cities and also with allowing the user to drag the whole landscape around. Magic. No other explanation.

EDIT: Maybe my eyes are pink-tinded with nostalgia and there were some artifacts, will have to try on the real PC when possible.

Transport Tycoon most likely makes heavy use of color cycling. Only the values in the color palettes are changed, which is extremely cost-effective. The same trick was used in Sim City 2000.
https://en.wikipedia.org/wiki/Color_cycling

Reply 62 of 72, by rasz_pl

User metadata
Rank l33t
Rank
l33t

Afair Transport Tycoon did water with palette cycling, everything else was VLB brute force. I dont think it is doing any fancy VESA panning, I dont think VESA even had any panning standardized in early versions (1-1.3).

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 63 of 72, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
rasz_pl wrote on 2024-05-19, 23:43:

I dont think VESA even had any panning standardized in early versions (1-1.3).

It doesn't work with those versions, it requires 2.0 with a LFB - either from the card's BIOS, or via the embedded version of univbe.

Reply 64 of 72, by Exploit

User metadata
Rank Newbie
Rank
Newbie
jmarsh wrote on 2024-05-19, 17:52:

Color cycling doesn't explain how it can scroll the entire map so smoothly. Panning and a lower framerate does.

It explains exactly this:

WhiteFalcon wrote on 2022-06-22, 11:39:

... with so much happening in bustling cities...

rasz_pl wrote on 2024-05-19, 23:43:

Afair Transport Tycoon did water with palette cycling, everything else was VLB brute force. I dont think it is doing any fancy VESA panning, I dont think VESA even had any panning standardized in early versions (1-1.3).

It did also the coal mine transport effect you can see at 29:12 in this video in the lower right corner:
https://www.youtube.com/watch?v=L6fyS4LgtQw&t=1752s

The same applies to the steel mill you can see at 1:06:40 in the same video:
https://youtu.be/L6fyS4LgtQw?feature=shared&t=4000

All other animations were not performed by changing colors, but in the classic way by changing pixel values. But these were only updated at a slow pace. The smoke of the chimney of the power plant and the Oil derricks you can see at 32:20 were done a little faster:
https://youtu.be/L6fyS4LgtQw?feature=shared&t=1937

And the trains and aircrafts had the highest priority. And the rest simply didn't move at all. Except when scrolling.

Last edited by Exploit on 2024-05-20, 01:19. Edited 2 times in total.

Reply 66 of 72, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
Exploit wrote on 2024-05-20, 01:00:

And the trains and aircrafts had the highest priority. And the rest simply didn't move at all. Except when scrolling.

Do you not see how the individual windows all follow their respective vehicles as they travel? That's not color cycling. You could fill the screen with those and it wouldn't have any noticeable slowdown.

Reply 67 of 72, by Falcosoft

User metadata
Rank l33t
Rank
l33t
jmarsh wrote on 2024-05-19, 23:50:
rasz_pl wrote on 2024-05-19, 23:43:

I dont think VESA even had any panning standardized in early versions (1-1.3).

It doesn't work with those versions, it requires 2.0 with a LFB - either from the card's BIOS, or via the embedded version of univbe.

I do not think it's true. Page flipping, virtual pages and virtual scrolling worked the same way in VESA 1.2 banked modes as in VESA 2.0+ LFB modes, albeit slower.
There were no special functions added in VESA 2.0 regarding virtual scrolling. Or what do you mean exactly by 'panning' that required VESA 2.0 LFB modes?
Function 0x06 Set/Get Logical Scan Line Length and Function 0x07 Set/Get display start were defined and worked perfectly in VESA 1.2.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 68 of 72, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
Falcosoft wrote on 2024-05-20, 05:39:

I do not think it's true. Page flipping, virtual pages and virtual scrolling worked the same way in VESA 1.2 banked modes as in VESA 2.0+ LFB modes, albeit slower.
There were no special functions added in VESA 2.0 regarding virtual scrolling. Or what do you mean exactly by 'panning' that required VESA 2.0 LFB modes?
Function 0x06 Set/Get Logical Scan Line Length and Function 0x07 Set/Get display start were defined and worked perfectly in VESA 1.2.

I meant the game explicitly requires VBE 2 with LFB or it simply refuses to run. If the current BIOS doesn't support it, it loads UNIVBE to try to get it (which leads some people to think it doesn't require VBE 2 due to it working on cards that don't have it built-in).

Reply 69 of 72, by Falcosoft

User metadata
Rank l33t
Rank
l33t
jmarsh wrote on 2024-05-20, 06:39:
Falcosoft wrote on 2024-05-20, 05:39:

I do not think it's true. Page flipping, virtual pages and virtual scrolling worked the same way in VESA 1.2 banked modes as in VESA 2.0+ LFB modes, albeit slower.
There were no special functions added in VESA 2.0 regarding virtual scrolling. Or what do you mean exactly by 'panning' that required VESA 2.0 LFB modes?
Function 0x06 Set/Get Logical Scan Line Length and Function 0x07 Set/Get display start were defined and worked perfectly in VESA 1.2.

I meant the game explicitly requires VBE 2 with LFB or it simply refuses to run. If the current BIOS doesn't support it, it loads UNIVBE to try to get it (which leads some people to think it doesn't require VBE 2 due to it working on cards that don't have it built-in).

Ahh, OK. I though you replied directly to 'I dont think VESA even had any panning standardized in early versions'.
The point is VESA did have panning/virtual scrolling support in earlier versions (before VESA 2.0).

Last edited by Falcosoft on 2024-05-20, 06:46. Edited 1 time in total.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper

Reply 70 of 72, by Exploit

User metadata
Rank Newbie
Rank
Newbie
jmarsh wrote on 2024-05-20, 03:32:
Exploit wrote on 2024-05-20, 01:00:

And the trains and aircrafts had the highest priority. And the rest simply didn't move at all. Except when scrolling.

Do you not see how the individual windows all follow their respective vehicles as they travel? That's not color cycling. You could fill the screen with those and it wouldn't have any noticeable slowdown.

Why didn't you read my posting carefully? Wake up!

Reply 72 of 72, by Exploit

User metadata
Rank Newbie
Rank
Newbie
jmarsh wrote on 2024-05-20, 06:53:

I gave your reply more attention than any reply to a dead, two-year-old thread deserved.

In particular, you didn't read my comment above where i said:

All other animations were not performed by changing colors, but in the classic way by changing pixel values.

So you weren't paying attention.
So what do you want with that:

jmarsh wrote on 2024-05-20, 03:32:

Do you not see how the individual windows all follow their respective vehicles as they travel? That's not color cycling. You could fill the screen with those and it wouldn't have any noticeable slowdown.

I hope you've noticed it now.