Thursday, June 16, 2011


.. still changing internet provider...

Hi there,

Well, changing providers turns out to be 'tricky' to say the least. It seems KPN in holland is capable of messing up a lot of different people and accounts... Unbelievable!

Anyhow, this is a test post. Sort of a 'keep alive' message. Talk to you later ;-)


Oh yes, I just updated the links to my site stuff, and here is the mirror site for the nVidia Haiku Driver:


Monday, May 11, 2009


Moving to another internet provider..

Hi there,

Currently I am working on moving to another internet provider. This means my Email adresses and homepage will go into oblivion. The locations that is, not the content. :-)

Anyhow, please take note of the mirror site's adress and of this weblog since these two will remain operational.

I'll post more news once it becomes available.



Sunday, January 25, 2009


Something else - Logitech Z680 mod for lower Bass output

NOTE: If you execute the modification suggested below and you blow-up your set, you are on your own! I can give no warranties of any kind whatsoever...


Ever since I can remember I have a Logitech Z680 5.1 audio set which I use to watch movies and listen to my music. It was the top-of-the-line audioset for PC's from Logitech way back, there's a follow-up top-set now: The Z5500.

This (Z680) is an audioset with integrated Dolby digital and DTS decoder and it has a remote as well. You can input audio using 3.5Inch jacks, but also using coaxial or optical cable. You can choose from 3 input signals using the remote so I have the set connected to my stand-alone DVD player, but also to an old stand-alone audio set with CD player.

On the Z680 (one of) the downside(s) is that you cannot set the sub-woofers volume between 0 and 100% in small steps. Instead you can set 0%, and about 60-100%. On the Z5500 this limitation was removed BTW.

A lot of Z680 users including myself found that the 60% setting of the subwoofer is much too loud for most (living) rooms: Neighbours will complain about pictures falling of their walls, and the sound is not optimal for the user him (or her)self either.

So, I decided to take my set apart and modify it to be actually useable. I did two modifications: for one I added a RS232C interface in the hope I could (re)program the set some way. This RS232C interface was there on the board already, it just missed a few components placed though. Unfortunately the set's firmware does not have RS232C connectivity I found out.

The second modification, which is much more low-level, worked like a charm for me. I'll decribe that modification below.

Z680 Modification for a lower bass setting range.

The control POD of the Z680 has all digital inputs and the decoders. After all signal processing is done, the audio channels are converted to analog signals. These analog signals are then transferred to the bass speaker housing via the 15-pins thick black signal cable. In the bass speaker housing sits the analog amplifier that cranks up the signals so you can hear them from the speakers.

This means lowering the bass signal range can be simply done in the control pod at the exiting spot to the amplifier. I just located the signal wire for the sub-woofer speaker and took the wire loose. I then added a simple resistor network which divides the voltage to 1/3rd of the original level, and I attached the signal wire to the output of this divider. (The input of the divider is connected to where the wire was before.)

Since the voltage is now 1/3rd of the original, the current through the speaker is also at 1/3rd of the original which means output power is 1/3 * 1/3 = 1/9th of the original for a specific volume setting.

Now I can set the volume perfectly for my taste!

Photo's and a more detailed description.

Before you start make sure you have the following:
- a screwdriver
- a soldering iron
- soldering tin
- two resistors: one of 1k-Ohm and one of 2k-ohm or there about. 1/8th Watt versions will do nicely.

First, remove mains power and take the Z680 control POD loose from the set and any extra wires. Now remove the four black screws at the backside: make sure you removed them completely (take them out).
After you did this, you can gently pull of the front panel. Please note that a wire sits in between the front panel and the mainboard which will remain in the back part of the housing: so be gently indeed!

Picture 1:
The four black screws removed completely and the front cover removed gently.

You can see the dark-grey ribbon cable that connects the frontcover part with the POD's mainboard. Note that the light-grey ribbon cable will not be there in your case: this cable belongs to the RS232C modification I did.

This RS232C modification is not needed.

Once you have the situation as shown in picture 1 you can pull-off the dark-grey ribbon cable gently so the front-panel part nolonger bothers you while you do the modification. Please note the red wire in this cable as it denotes PIN1 of the connector (has a small triangle pointing at it on the mainboard if you look closely).

OK. Now you should gently pull the mainboard from the back part of the housing. Please note that at the backside of the mainboard there is a soldered connection to the thick black wire that normally connects to the Bass speaker's housing. Lift up the mainboard (including the other boards that sit on it) and gently turn it over.

Once you did that you'll be in the situation of Picture number 2 below.

Picture 2:
mainboard removed from back part of the housing. Again you can see the light-grey ribbon cable that belongs to my RS232C mod.

You'll not have that in your situation.

Below there's a closeup picture (3) of the situation in picture 2. Please note that the area of interest is where the black cable is soldered too. Please note the white characters printed on the board denoting (among others) the analog channels that are outputted on the respective wires:

+8 - +8V 'logic' power supply
G - 'logic' supply ground (return)
SB - ??
G - signal ground
RR - Rear Right speaker channel
RL - Read Left speaker channel
C - Center speaker channel
S - Subwoofer speaker channel - this signal we are going to modify
FR - Front Right speaker channel
FL - Front Left speaker channel
G - Signal ground
G - Signal ground
-18 - -18V analog power supply
G - analog power supply ground (return)
+18 - +18V analog power supply

Picture 3.
The area of interest, specificially the 'S' wire and the two G wires next to each other next to -18V.

Now flip the board so the other side faces up. Now Heat up your soldering iron and remove the brown wire that's soldered to the 'S' connection. Solder the 2K resistor (or 2 1k resistors in series as I did) to the S connection of the board leaving the other end free in the air.

Solder the 1k resistor with one side to the 'G' connection(s) next to the -18 signal as these G connections are closest by. Make ABSOLUTELY SURE you don't connect the -18 with the G next to it by accident! You'll probably blow-up the power supply in your set if you'd turn it on in such a case...

The other end of the 1K resistor needs to be soldered to the free end of the 2K resistor. Also connect the loose brown wire to this point. If you do it as neat as in picture 4 you can leave it as it is: it will fit nicely in the housing this way without making shortcuts.

Picture 4:
The board is flipped over showing the modification done to decrease the subwoofers power level.

The next picture shows the same modification from a different angle. Note BTW that I removed some of the white transparant 'glue' to be able to solder decently..

Picture 5:
Same spot viewed from a different angle.

OK, that's it!

Now put the control POD back together gently, keeping an eye on the modification and where you put the black cable. Re-attach the grey ribbon cable with the red wire at the same spot is was before. make sure all pins are indeed in the connector: no pins should be visible next to the connector's sides!

Gently put the top side on the backside: it should fit perfecly. If it does not, you probably made a mistake somewhere and you should just do it once more.
Put the four black screws in the backside and screw everything back together.

All set? Reconnect mains power and try your set. If it doesn't work remove mains power quickly and trace back all your steps to see if you made any mistakes, maybe it can be fixed.

If all is right it should work without a problem.


You could also use other resistor values for more or less attenuation to fit your needs. I suggest to keep the values in the range from 1k to 10k Ohm and not much higher since the impedances of the circuitry around it are 'low' as well. It's said in the electronics that you get the best power-transfer if the impedances match..

Good luck!


Monday, May 26, 2008


New cards on my block..

Hi there,

I've not been working on 3D much unfortunately, nor with the 2D driver.
There are some very recent developments however.

I've been in contact with BeOS/Haiku developer Matt Madia lately, and he decided to send me two new gfx cards to 'thank me' for my previous work (as he wrote). The cards are a Geforce 7300LE (G72) and a Geforce 8500GS (G86), both for PCI-E.

Also I'm working on finding the Haiku problem with my driver that makes the acceleration engine inoperable (not yet done). In the meantime I came into possesion of a P3-600/FSB133 Mhz system and a second computercase that's still empty.
Seems I'm going to have to arrange for a PCI-E mainboard now so I can test with the two new cards and fork the nvidia driver to create a second one for the G8x series cards... It will probably be a Asus Intel P35 chipset board with two PCI-e x16 slots, a PCIe x1 slot and some PCI slots so I have maximum flexibility for gfx testing for Haiku/BeOS.

Still, time is and will remain limited in which I'll do this stuff. I'm curious how effective I can make it..

Well, it's fun playing around a bit again, that's for sure!

Matt, big thanks for those cards you sent me!!

Oh, about 3D. Seems there's a newer versioning system used much for Linux these days called git (Mesa3D, the nouveau driver among others). Unfortunately there's no BeOS/Haiku port which makes accessing sources I need for 3D dev hard to do. Still, I could download some stuff using an early windows port and it's an interesting read.

The next step I need to take for 3D is finding out what the exaxt format of the nouveau_vertex structure is, as I need to create and feed those in the NV15's engine. If anyone accidentally knows where to find that info, please advice :-)
And if someone would want to port that versioning system, rest assured I'd be using it to checkout some interesting sources...

Have a look here:



Sunday, February 17, 2008


3D.. testing testing..


Just so you know: every now and then I'm fiddling with 3D support improvement. The high-level interface I wrote about two years ago is 'nothing more' than a new 3D command in the engines. This command is called TCL_PRIMITIVE_3D, and I'm testing it on a NV15.

I already noted some time ago that the command NV11_TCL_PRIMITIVE_3D is responding on my NV15: I can set the colorspace for the back colorbuffer. I can also set the Z buffer range on the card and apparantly most other stuff without hanging the engine. The old 3D command keeps rendering nicely as always so that's good I think.

Just one thing is hanging the engine: setting the 2D window position. Well, I'll leave that disabled for now since it's working anyway on this card.

Tonight I find myself at the spot where I need to actually try to render using the new command. Which means I'll now shut-down the old 3D render command and test the new one. The coming time that is..

I have to admit I'm feeling exited about this. Will I actually be able to get this thing going or not? And: will it improve speed for Q2 and the teapot? And after it works on NV15: could NV20/NV30 be made to work?

Interesting stuff. Anyhow: little time to work in, lots to do. (as usual ;-)



Sunday, October 28, 2007


G80 support remains non-existing for now.

Hi there.

No news about 3D yet. Seemed like I had to add support for more cards to the 2D driver first. I synced the driver against nVidia's april 2007 ID list which meant adding 24 more cards (one extra was reported by a user).

Anyway, some 'bad' news I have I guess:

After testing on a G86 laptop, looking at the logfiles, and looking at the nv driver code I decided to block G80 and higher support in the driver's accelerant.
Since the 2D accelerant is becoming crowded anyway with all those cards with little differences in them, it seems to me we need to create a new, seperate accelerant (and maybe kerneldriver too) for G80 and higher cards.

These cards have new CRTC's, DAC's and accelerant engine I think. It won't do the current driver any good (readability for one) to add support for this more extensive modified hardware.

If anyone is up to the task, I guess it's a good starting point to copy the current nvidia driver and start tweaking that copy to only get G80 and higher support. That would mean a big cleanup to that version of the driver I guess... ;-)

Since I have no hardware to work with (and of course little time) I won't start on this myself now.

This means the current 2D driver just needs to have the ID's added for all new, but pre-G80 cards that are left. And of course this driver could still have some functional gain in the future, like more 2D accelerated functions.

The driver now has version number 0.84.

See you later!


Tuesday, September 18, 2007


3D is running OK again over here :-)

Hi there!

Well, the 3D accelerant Alpha 4.1 is running correctly again over here: just saw the 152fps timedemo2 going well :-)

As it turns out something changed with the compiler (or so) indeed: I had a enumeration list of TVencoders defined inside shared_info: apparantly this list gets (more/less) room assigned to it in shared info with the result that every entry coming after that pointed to 'nothing'. When I released the 3D accelerant compiling both the 2D and 3D driver gave the same result in both: the driver worked. These days however the 2D driver compiles differently, so I had to move this TVencoder list outside shared_info to correct the problem. I only had to do so inside the 2D driver: the 3D driver (originally compiled version) then works correctly again.

Strange. However, I'm glad I nailed it down now. This was irritating me for quite some time. :-)

This means I can have a look at the Linux world now to see XFree's current card ID's (we're much behind I guess) and the 3D nouveau attempts. For 3D I think I'll try to modify a 3d accelerant command to use the high-level interface on the NV15 card here and see what happens.

When I again have some time that is :)

Oh, SVN has the fix of the above described problem now of course.
And: my public Email adress is up again.



This page is powered by Blogger. Isn't yours?