First post, by Kahenraz
- 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?
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?
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.
FASTVID is asking for to enter an address manually because it can't detect it. I don't know what to enter.
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.
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 .
It is a Pentium, yes. I'm just testing it with some utilities to see how fast it can go.
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) .
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.
darry wrote on 2021-08-05, 16:57: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) .
It's a Pentium 3. 😀
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.
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.
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.
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.
again another retro game on itch: https://90soft90.itch.io/shmup-salad
How did you measure the speed increase?
With an ISA card? By believing in it.
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.
again another retro game on itch: https://90soft90.itch.io/shmup-salad
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
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.
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 .
There is a very small performance gain when VGA Write Combining is enabled. Is this change unrelated to the PCI bus?