I think that one solution is hard coding the params of mem in a BIOS image. But, how?
The documentation from VIA is simply crap. Nobody actually really know the correct value to program to the memory controller.
Sorry, My explanation was wrong. I tested many combination of M/B and DIMMs. And found most of then dont work at all, but a little of them work rarelly. I mean, some combination work but VERY unstable. For example, work once in 100 times reset.
So, My idea is, for this kind of very unstable combination, do like this. 1. add a func outputting params to console. 2. try, try, try. push reset, push reset and hope to run. 3. If it works as it happens, hard code this param to the src. 4. hope runs stably.
How about this way?
The third issue is, VGA. I read the FreeVGA paper. Yes, it seems great. But such complicated technology is really necessary?
I am afraid we have to do it this way. It is probably the only way we can get VGA working without any vendor support.
For example, this guy succeeded to use normal VGA bios, although I failed. http://www.carbotpc.com/linux/index.html
I think this one uses the old "switch back to 16-bit mode and back" technology. It is actually much more complicated than an emulator.
You can try to add VGA support by yourself. Please take a look at arima/hdama and tyan/*. There is one problem you have to solve, the VGA BIOS on EPIA makes some BIOS call back to the system BIOS, you have to emulate this in the emulator (see pcibios.c).
Umm.. Then, how about porting LX1 VGA code to LX2? In my EPIA M/B, LX1 VGA init seems to work.
--- Okajima, Jun. Tokyo, Japan.