VOGONS


First post, by Kahenraz

User metadata
Rank l33t
Rank
l33t

I'm trying to use FASTVID with my Tseng Labs ET4000AX ISA VGA card but it isn't automatically detecting the address of the linear frame buffer. Where can I find this address?

Reply 1 of 27, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

It's usually in the 15MB to 16MB memory hole that you enabled in CMOS setup I think.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 2 of 27, by Kahenraz

User metadata
Rank l33t
Rank
l33t

FASTVID is asking for to enter an address manually because it can't detect it. I don't know what to enter.

Reply 3 of 27, by Falcosoft

User metadata
Rank l33t
Rank
l33t
Kahenraz wrote on 2021-08-05, 16:14:

FASTVID is asking for to enter an address manually because it can't detect it. I don't know what to enter.

You can use VESA information utilities to get this info .You need VESA 2.0 at least to use LFB anyway. I attached one.

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

Reply 4 of 27, by darry

User metadata
Rank l33t++
Rank
l33t++

Are you running an ISA VGA card in a Pentium Pro or newer ?

http://files.mpoli.fi/unpacked/hardware/misc/ … zip/fastvid.txt

THIS PROGRAM WILL ONLY WORK ON PENTIUM PRO PROCESSORS.  IT WILL NOT WORK,
AND IS NOT NEEDED, ON PENTIUM AND EARLIER CPU's.

Additionally, PCI (or AGP) is an implied requirement, AFAIU .

Reply 5 of 27, by Kahenraz

User metadata
Rank l33t
Rank
l33t

It is a Pentium, yes. I'm just testing it with some utilities to see how fast it can go.

Reply 6 of 27, by darry

User metadata
Rank l33t++
Rank
l33t++
Kahenraz wrote on 2021-08-05, 16:48:

It is a Pentium, yes. I'm just testing it with some utilities to see how fast it can go.

Fastvid requires a Pentium Pro (or newer) .

Reply 7 of 27, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

First, you need a better CPU that supports Write-Combine. It is only available in Pentium Pro+ (i686), K6-2+ and K6-3, Athlon+. Pentium (i586) is not one of them. Second, I don't believe Write-Combine would have made an impact if the bus is 2-hop away from the CPU. ISA is 2-hop for most PCI chipsets with PCI as north-south link or 3-hop for later PC chipsets that utilize propriety north-south link. For the later, even PCI will be 2-hop away from the CPU and FASTVID would not have made an impact on PCI framebuffer.

Reply 9 of 27, by BitWrangler

User metadata
Rank l33t++
Rank
l33t++

This would be a rare situation where if the motherboard has onboard video, I would advise using it if you want to have faster video 🤣

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 10 of 27, by mkarcher

User metadata
Rank l33t
Rank
l33t
kjliew wrote on 2021-08-05, 17:03:

Second, I don't believe Write-Combine would have made an impact if the bus is 2-hop away from the CPU. ISA is 2-hop for most PCI chipsets with PCI as north-south link or 3-hop for later PC chipsets that utilize propriety north-south link. For the later, even PCI will be 2-hop away from the CPU and FASTVID would not have made an impact on PCI framebuffer.

I was going to write something similar, but I think it is wrong. Write-Combining does not only merge DWORD writes to burst writes (which is useless for ISA graphics cards, as the posted write buffer in the chipset should keep the ISA bus busy all the time anyway, even without burst writes), but Write-Combining is supposed to merge byte writes to word/dword writes. ET4000 cards are able to accept word writes in most (or all?) video modes, so games using sequential byte access to video RAM would profit from write combining. Sequential byte access might happen in 256-color games if every pixel gets written to memory right after it got calculated, which is a plausible usage pattern.

Reply 11 of 27, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie
mkarcher wrote on 2021-08-05, 17:45:
kjliew wrote on 2021-08-05, 17:03:

Second, I don't believe Write-Combine would have made an impact if the bus is 2-hop away from the CPU. ISA is 2-hop for most PCI chipsets with PCI as north-south link or 3-hop for later PC chipsets that utilize propriety north-south link. For the later, even PCI will be 2-hop away from the CPU and FASTVID would not have made an impact on PCI framebuffer.

I was going to write something similar, but I think it is wrong. Write-Combining does not only merge DWORD writes to burst writes (which is useless for ISA graphics cards, as the posted write buffer in the chipset should keep the ISA bus busy all the time anyway, even without burst writes), but Write-Combining is supposed to merge byte writes to word/dword writes. ET4000 cards are able to accept word writes in most (or all?) video modes, so games using sequential byte access to video RAM would profit from write combining. Sequential byte access might happen in 256-color games if every pixel gets written to memory right after it got calculated, which is a plausible usage pattern.

I do not disagree with you, and you are right that Write-Combine can merge any write size into larger chunk to be sent over the bus for better bus utilization. I never said that Write-Combine can only merge DWORD writes. That's the CPU-side traffic optimization. At the bus down-stream, it hoped similar large write transactions would be carried forward. On the PCI for example, the host bridge would initiate single Memory-Write at maximum payload or Memory-Write-Multiple for back-to-back writes to prefetchable target. ISA is a primitive bus by specification and does not possess the notion of non-prefetchable vs prefetchable target. It is typically assumed to be conservative to meet strict in-order rules, explicit byte-enables and the side-effects of registers even with posted write buffers.

I had personally measured zero impact with WC MTRR for LFB on Intel ICH2 where the PCI bus is 2-hop away from the CPU. On the AGP bus which is 1-hop, the WC MTRR for LFB significantly improved the performance of CPU writes into LFB. I don't believe WC MTRR would make an impact on CPU writes to LFB on ISA bus.

Reply 12 of 27, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie

If you have an LFB at all, I think the 15MB memory hole would be the only possible place for it. So I guess the command line would be like this:

FASTVID x11 1 00F00000

I enabled write combining on an ISA card one time just to see what would happen. The system was a Soyo 7SBB with Celeron 400 and Trident 8900. I think the speed went up from 4MB/s to 5MB/s ? But I only tested the VGA buffer, no LFB since the card didn't have one.

GBAJAM 2024 submission on itch: https://90soft90.itch.io/wreckage

Reply 13 of 27, by Kahenraz

User metadata
Rank l33t
Rank
l33t

How did you measure the speed increase?

Reply 14 of 27, by Moogle!

User metadata
Rank Member
Rank
Member

With an ISA card? By believing in it.

Reply 15 of 27, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie
Kahenraz wrote on 2021-08-06, 14:45:

How did you measure the speed increase?

I used SVGASPD, which has evidently fallen off the face of the internet since then. But you can still see it in the wayback machine https://web.archive.org/web/20000815205802/ht … peed/index.html

BTW, I have seen 5MB/s from that video card on other boards without write combining, at least from word/dword writes rather than bytes.

GBAJAM 2024 submission on itch: https://90soft90.itch.io/wreckage

Reply 16 of 27, by darry

User metadata
Rank l33t++
Rank
l33t++
bakemono wrote on 2021-08-07, 21:52:
Kahenraz wrote on 2021-08-06, 14:45:

How did you measure the speed increase?

I used SVGASPD, which has evidently fallen off the face of the internet since then. But you can still see it in the wayback machine https://web.archive.org/web/20000815205802/ht … peed/index.html

BTW, I have seen 5MB/s from that video card on other boards without write combining, at least from word/dword writes rather than bytes.

Found a slightly older version of it from here : http://www.hyakushiki.net/junk/memspd.zip

The attachment memspd.zip is no longer available

Reply 17 of 27, by Kahenraz

User metadata
Rank l33t
Rank
l33t
bakemono wrote on 2021-08-06, 14:38:

If you have an LFB at all, I think the 15MB memory hole would be the only possible place for it. So I guess the command line would be like this:

FASTVID x11 1 00F00000

FASTVID says that only addresses above 80000000 are allowed.

Reply 18 of 27, by darry

User metadata
Rank l33t++
Rank
l33t++
Kahenraz wrote on 2021-08-10, 01:31:
bakemono wrote on 2021-08-06, 14:38:

If you have an LFB at all, I think the 15MB memory hole would be the only possible place for it. So I guess the command line would be like this:

FASTVID x11 1 00F00000

FASTVID says that only addresses above 80000000 are allowed.

Which makes sense as Fastvid is likely meant for PCI (also works with AGP and possibly PCI Express) devices .

Reply 19 of 27, by Kahenraz

User metadata
Rank l33t
Rank
l33t

There is a very small performance gain when VGA Write Combining is enabled. Is this change unrelated to the PCI bus?