VOGONS


Voodoo4 M4800

Topic actions

Reply 60 of 84, by sdz

User metadata
Rank Member
Rank
Member

Yes, I'll connect a few GPIOs for possible future use.

Reply 62 of 84, by snipe3687

User metadata
Rank Member
Rank
Member

would love to build one to test. where did you get your prototypes assembed?

Reply 63 of 84, by sdz

User metadata
Rank Member
Rank
Member

@rasteri
Interesting project! At the moment, unless I patch Dell's BIOS, the laptop with the V4 card installed is a Windows only machine.

@snipe3687
I assembled them myself.

The Dell Precision M4800 laptop can have either a LA-9771P or a LA-9772P motherboard.
LA-9771P can be factory configured for either LVDS or eDP panel. LA-9772P is eDP only.

So I made an embedded displayport variant of the V4 M4800 card:

The attachment 20241115_121326.jpg is no longer available
The attachment 20241115_121341.jpg is no longer available

Haven't yet tested it, I need to write some code first.

Reply 64 of 84, by snipe3687

User metadata
Rank Member
Rank
Member
sdz wrote on 2024-11-15, 10:30:
@rasteri Interesting project! At the moment, unless I patch Dell's BIOS, the laptop with the V4 card installed is a Windows only […]
Show full quote

@rasteri
Interesting project! At the moment, unless I patch Dell's BIOS, the laptop with the V4 card installed is a Windows only machine.

@snipe3687
I assembled them myself.

The Dell Precision M4800 laptop can have either a LA-9771P or a LA-9772P motherboard.
LA-9771P can be factory configured for either LVDS or eDP panel. LA-9772P is eDP only.

So I made an embedded displayport variant of the V4 M4800 card:

The attachment 20241115_121326.jpg is no longer available
The attachment 20241115_121341.jpg is no longer available

Haven't yet tested it, I need to write some code first.

Interesting. how do you do the BGA work? I apologize if this is old hat for people. I'm new to the electronics assembly game still and have only done SMD. BGA is something I'm a little nervous to try especially with a chip that's arguably pretty rare.

Reply 65 of 84, by sdz

User metadata
Rank Member
Rank
Member

@snipe3687
I find BGA soldering is the easiest, I always use ICs in BGA package if available. Just a preheater and hot air station is needed, and they don't have to be JBC. And some decent quality flux.
Also, for old ICs like the VSA-100, it's recommended to bake them first before soldering.

I got the eDP version somewhat working...

The attachment 20241115_190846.jpg is no longer available
The attachment 20241115_194238.jpg is no longer available
The attachment 20241115_183118.jpg is no longer available

640x480 is messed up, 800x600 sometimes looks ok, sometimes is messed up, 1024x768/1280x1024/etc work fine up to 1600x900, which loses sync. 1920x1080 results in a black screen.

I made this board back in June, and totally forgot about until last night:

The attachment 20241116_114933.jpg is no longer available

Hopefully I have all the parts to assemble it, so that I can test just the HDMI->SCALER->EDP chain.

Reply 66 of 84, by sdz

User metadata
Rank Member
Rank
Member

I managed to find most of the parts, and substitute the ones I did not have.

The attachment 20241116_184901.jpg is no longer available

Connected the panel to the board, and to a PC, black screen. I could see data on the eDP AUX channel, but nothing on the eDP data lanes, which most likely meant it failed during eDP link training.
On this board, compared to the V4 M4800 eDP, I swapped the polarity of the data lines, for easier routing. I did write to the correct register address of the LVDS->eDP converter IC, to swap the polarity, just had the wrong I2C address (the IC appears on the I2C bus as two separate devices). After correcting this, I got an image:

The attachment 20241116_195615.jpg is no longer available

With a Voodoo5 5500 DVI.
All resolutions work OK (including 640x480 and 800x600) except 1920x1080, which results in a black screen, and the eDP converter IC needs to be power cycled to recover (and the resolution lowered before that).
There are other issues as well, sometimes when the resolution is changed, it results in a black screen, that recovers without power cycling the IC, just by changing the resolution to something else and then back to the one that resulted in a black screen.
Setting 1280x1024 most of the times results in a black screen.

With integrated Intel HD whatever graphics, everything works perfectly. I stress tested it quite a bit, absolutely no issues.

So, for the V4 M4800 eDP variant, while the hardware is OK, it doesn't like the timings coming out of the VSA-100. Not sure how fixable this is, especially for 1920x1080.

For both the LVDS and eDP models of the V4 M4800 I need to finally rewrite my FPGA code, which would probably be the last step of this project (at least for the V4 M4800 LVDS). I need to use dual clock FIFOs, to fix the clock domain crossing issues that I'm currently having (messed up 640x480 and 800x600 on the eDP one, and sometimes messed up lower resolutions for the LVDS model, when overclocked, which also heavily depends on the specific VSA100 used, VCORE, temperature, 3D mode etc).

Reply 67 of 84, by sdz

User metadata
Rank Member
Rank
Member

"All resolutions work OK (including 640x480 and 800x600) except 1920x1080, which results in a black screen, and the eDP converter IC needs to be power cycled to recover (and the resolution lowered before that)."
It's not the eDP IC that needs to be power cycled, but the actual eDP LCD panel itself. Makes sense, while LVDS panels don't care what junk you feed them, eDP is way more complex.

"There are other issues as well, sometimes when the resolution is changed, it results in a black screen, that recovers without power cycling the IC, just by changing the resolution to something else and then back to the one that resulted in a black screen.
Setting 1280x1024 most of the times results in a black screen."
While this happens with a V4 4500 DVI or a V5 5500 DVI, it never happens on the V4 M4800 eDP. Might have something to do with the fact that the FPGA corrects the blank signal coming from the VSA.

Reply 68 of 84, by Postman5

User metadata
Rank Member
Rank
Member
sdz wrote on 2024-10-05, 12:34:
Made some power measurements. […]
Show full quote

Made some power measurements.

VSA-100 rev. 220, 64MB framebuffer size

2.5V VCORE, 166MHz
IDLE: 12W
LOAD: 14.52W

2.6V VCORE, 183MHz
IDLE: 14.16W
LOAD: 16.33W

2.9V VCORE, 200MHz
IDLE: 17.52W
LOAD 20.28W

Hi!
I measured the supply voltage VCORE of the Voodoo4 4500 AGP, set by the manufacturer - 3.02 V. It seems to me that this is too much.
I lowered it to 2.68V.
The heating of the card has decreased, it works stably. According to the documentation, VCORE = 2.5V. I do not understand why the manufacturer has increased this voltage so much.
What VCORE value would you recommend setting?

Reply 69 of 84, by sdz

User metadata
Rank Member
Rank
Member

Hey!

3V seems indeed too much. The 2.5V mentioned in the documentation wasn't ever used on any cards (same as for Avenger), probably that's what they hoped to run it at.
2.7V should be fine on all cards, if no OC is needed. I haven't tried lower than that on reference cards, but at least the V4 M4800 and V5 M5800 seem to run perfectly fine even at 2.5V (not a great sample size, only made a couple of cards).
Can't easliy test below 2.5V, as I haven't programmed the FW and application to support that, might try at some point.

Reply 70 of 84, by PaddyWi

User metadata
Rank Newbie
Rank
Newbie

Hey sdz,

what DELL model are you using for this project and testing?

Reply 71 of 84, by sdz

User metadata
Rank Member
Rank
Member

Hey!

It's a Dell Precision M4800.

Reply 72 of 84, by snipe3687

User metadata
Rank Member
Rank
Member

Any updates on this project? I have the chips I need and I’d love to build one!

Reply 73 of 84, by sdz

User metadata
Rank Member
Rank
Member

@snipe3687 didn't have much time to work on this.

I did manage to rewrite part of the FPGA code, and I'm now using IDDR and FIFOs, so the timings coming out of the FPGA should be pretty much perfect. For the LVDS version, 512x384 up to 1920x1080p properly works. (except 960x720, 1280x720, 1360x768, which need further investigation, most likely a scaler issue, since they don't work even with a regular V4/V5 DVI + scaler.).
For the eDP version, there are still major issues.

Before releasing the LVDS version I want to properly test it, at least 3-4 more cards and 3-4 more laptops, but I'm having no luck in finding another Dell Precision M4800 LVDS variant.

Reply 74 of 84, by snipe3687

User metadata
Rank Member
Rank
Member
sdz wrote on 2025-02-24, 10:48:
@snipe3687 didn't have much time to work on this. […]
Show full quote

@snipe3687 didn't have much time to work on this.

I did manage to rewrite part of the FPGA code, and I'm now using IDDR and FIFOs, so the timings coming out of the FPGA should be pretty much perfect. For the LVDS version, 512x384 up to 1920x1080p properly works. (except 960x720, 1280x720, 1360x768, which need further investigation, most likely a scaler issue, since they don't work even with a regular V4/V5 DVI + scaler.).
For the eDP version, there are still major issues.

Before releasing the LVDS version I want to properly test it, at least 3-4 more cards and 3-4 more laptops, but I'm having no luck in finding another Dell Precision M4800 LVDS variant.

What kind of laptop specifically is needed? I have a bunch of “vintage” laptops kicking around. If I have one that would work I would love to assist

Reply 75 of 84, by sdz

User metadata
Rank Member
Rank
Member

A Dell Precision M4800 is needed. Since the laptop doesn't execute the VSA BIOS (unless the system BIOS is patched), it will never toggle the muxes to switch to the video output of the MXM card. The Dell Precision M4800 is specifically needed, because the card has the LVDS connector on it, instead of routing the signal through the MXM connector. It could work in other laptops, it the display cable can reach the card/has the same connector/pinout or if an adapter cable is made.

Now, regarding the Precision M4800. There are two motherboard versions.
LA-9771P and LA-9772P.
LA-9771P can be factory configured for either LVDS or eDP video output. LA-9772P is factory configured only with eDP output (but incompatible with the LA-9771P eDP variant).

The LVDS version of the Voodoo4 M4800 is meant to be installed into the LA-9771P LVDS variant motherboard, while the Voodoo4 M4800 eDP version is meant to be installed in the LA-9772P motherboard. The V4 M4800 eDP is not yet working properly.

Reply 76 of 84, by kurkosdr

User metadata
Rank Newbie
Rank
Newbie
sdz wrote on 2024-10-09, 12:53:

Irrelevant for the V4 M4800, since the Dell Precision M4800 will probably never run W98, so the FPGA correcting the timings is a good fix for now.

Speaking of which, are there any laptops that have Windows 98SE-compatible drivers and an MXM slot? All Glide-exclusive games are Windows 9x games, and while some of them run under Windows XP, some others have issues (for example, Need For Speed II SE has issues on Windows XP systems with more than 512MB or RAM). And if you have to use a "modernisation patch" to get them going, you might as well use the Glide wrapper that comes with the patch.

Impressive feat nonetheless, you've achieved essentially OEM levels of integration (save for the need to connect the LDVS flex cable directly to the MXM card). If Alienware of Dell ever wanted to offer 3dfx graphics on a laptop, they would probably do something like you did.

Last edited by kurkosdr on 2025-04-17, 19:11. Edited 5 times in total.

Reply 77 of 84, by kurkosdr

User metadata
Rank Newbie
Rank
Newbie
Eivind wrote on 2024-10-09, 13:12:
Hehe, nifty! Yeah well, for the Vortex86EX it doesn't make sense to run XP, you're right about that! If we're lucky and see the […]
Show full quote
sdz wrote on 2024-10-09, 13:07:

There are many differences... I'm not the right person to answer this question 😀

For the V4 M4800 Llama edition, I can connect one GPIO of the MCU to the FPGA, so that from the control panel, via the PCIe to PCI bridge-MCU link, it can configure the FPGA for offset fix or no offset fix. This way, it will work fine via HDMI on 98 and XP, with whatever drivers.
Could be a waste of time, as I don't think XP would run great on that CPU.

Hehe, nifty!
Yeah well, for the Vortex86EX it doesn't make sense to run XP, you're right about that! If we're lucky and see the EX3 next year though... 😉
If by connecting a GPIO of the MCU to the FPGA you meant adding a hardware trace that's not already wired up, then sure - good to have that option for later?

At the expense of being "that guy", isn't the whole purpose of ITX-Llama that it doesn't require new-old-stock chips? Won't requiring new-old-stock VSA-100 chips defeat the whole purpose of the whole endeavor? If you are gonna go the new-old-stock hardware route, you might as well provide a conventional PCI slot on the ITX board and let people connect a regular 3dfx Voodoo card.

Reply 78 of 84, by Dothan Burger

User metadata
Rank Member
Rank
Member
kurkosdr wrote on 2025-04-17, 19:06:
Eivind wrote on 2024-10-09, 13:12:
Hehe, nifty! Yeah well, for the Vortex86EX it doesn't make sense to run XP, you're right about that! If we're lucky and see the […]
Show full quote
sdz wrote on 2024-10-09, 13:07:

There are many differences... I'm not the right person to answer this question 😀

For the V4 M4800 Llama edition, I can connect one GPIO of the MCU to the FPGA, so that from the control panel, via the PCIe to PCI bridge-MCU link, it can configure the FPGA for offset fix or no offset fix. This way, it will work fine via HDMI on 98 and XP, with whatever drivers.
Could be a waste of time, as I don't think XP would run great on that CPU.

Hehe, nifty!
Yeah well, for the Vortex86EX it doesn't make sense to run XP, you're right about that! If we're lucky and see the EX3 next year though... 😉
If by connecting a GPIO of the MCU to the FPGA you meant adding a hardware trace that's not already wired up, then sure - good to have that option for later?

At the expense of being "that guy", isn't the whole purpose of ITX-Llama that it doesn't require new-old-stock chips? Won't requiring new-old-stock VSA-100 chips defeat the whole purpose of the whole endeavor? If you are gonna go the new-old-stock hardware route, you might as well provide a conventional PCI slot on the ITX board and let people connect a regular 3dfx Voodoo card.

Aren't the OPL3 and Crystal audio chips new old stock?

Reply 79 of 84, by sdz

User metadata
Rank Member
Rank
Member
kurkosdr wrote on 2025-04-17, 18:57:
sdz wrote on 2024-10-09, 12:53:

Irrelevant for the V4 M4800, since the Dell Precision M4800 will probably never run W98, so the FPGA correcting the timings is a good fix for now.

Speaking of which, are there any laptops that have Windows 98SE-compatible drivers and an MXM slot? All Glide-exclusive games are Windows 9x games, and while some of them run under Windows XP, some others have issues (for example, Need For Speed II SE has issues on Windows XP systems with more than 512MB or RAM). And if you have to use a "modernisation patch" to get them going, you might as well use the Glide wrapper that comes with the patch.

Impressive feat nonetheless, you've achieved essentially OEM levels of integration (save for the need to connect the LDVS flex cable directly to the MXM card). If Alienware of Dell ever wanted to offer 3dfx graphics on a laptop, they would probably do something like you did.

Laptops with MXM 3.0/3.1 slots, probably not. Laptops with MXM 2 slots, I have no clue, but probably slim chances.
Omores ( https://www.youtube.com/@O_mores ) did get Windows 98 working on the Dell Precision M4800, but I am sure at the moment what peripherals work.

Sure, maybe not all games will work on this machine, but I'm fine with that. The reason I made 3dfx cards for it (there are about 3 models at the moment..), is because it's my old laptop, and a while ago I was pleasantly surprised that XP runs on it without any issues. Around the same time I was thinking of making a V4 card, so I made an MXM one for it.

Regarding NFSII SE, it works fine on this laptop using the Application Compatibility Toolkit tweaks described by @RoyBatty here: Getting Need For Speed II SE working on XPSP3

The only reason the LVDS cable needs to be plugged directly in the video card is Dell's BIOS, as it won't switch the video muxes on the motherboard when it sees a Voodoo card. I could get it working by cutting a few traces on the motherboard, but this makes it quite a bit less "P&P".
I started working last week getting coreboot + SeaBIOS running on this machine, which would allow using this card as a primary card (would mean DOS and maybe 98 support as well). I got it working with the iGPU at the moment, something goes wrong when it executes the VSA VBIOS.

kurkosdr wrote on 2025-04-17, 19:06:

At the expense of being "that guy", isn't the whole purpose of ITX-Llama that it doesn't require new-old-stock chips? Won't requiring new-old-stock VSA-100 chips defeat the whole purpose of the whole endeavor? If you are gonna go the new-old-stock hardware route, you might as well provide a conventional PCI slot on the ITX board and let people connect a regular 3dfx Voodoo card.

The ITX-Llama can use regular cards. What was discussed was using the V4 MXM card for the TL3, which is a mini computer that fits in your palm.