Rayer's NVclock (Developers)
For accessing the MMIO registers you use function _DJGPP_Map_physical_memory which isn't supported by Windows 9x.
But what about accessing the MMIO space from DS register like normal DJGPP memory? You can just increase the limit for DS and it should work.
In Freepascal I wrote the code bellow which could do the job. I tested it on LFB region and it works so it should work for other places too include the MMIO space.
Procedure MMIO_Mount_memory(phys_adr:pointer):pointer;
{Maps physical region of memory into normal address space}
var r:dword;
begin
Set_segment_limit(get_ds,$FFFFFFFF);
r:=Get_Linear_Addr(dword(phys_adr),16384*1024); {16MB adress space should be enough}
MMIO_Mount_memory:=pointer(r-get_segment_base_address(get_ds));
end;
And why you use for accesing the PCI bus the direct access and not INT 1A BIOS calls? Does it have any advantage over it? I am asking because most of code I have ever seen use direct method and not INT 1A.
---
DOS-u-akbar!
Complete thread:
- Rayer's NVclock - Laaca, 05.08.2009, 12:15 (Developers)
- Rayer's NVclock - RayeR, 05.08.2009, 16:39
- Rayer's NVclock - Laaca, 09.08.2009, 19:22
- bug in NVclock ? - Laaca, 13.08.2009, 09:54
- Rayer's NVclock - Laaca, 09.08.2009, 19:22
- Rayer's NVclock - RayeR, 05.08.2009, 16:39