Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

NVClock 0.8 beta 4 for DOS and Win32 (Announce)

posted by RayeR Homepage, CZ, 25.01.2009, 23:32

Hi,
during my nvidia hacking journey I remembered linux tool NVclock which can do various O'C settings and also display debug info about nV cards. So I decided to make Win32 and DOS port. They are not ideal but works. A question for DOS/DJGPP programmers about memory mapping - see bottom of readme:


NVClock 0.8 beta 4 DOS & WIN32 port by RayeR, 25.1.2009
*******************************************************

This ports are based on NVClock sources downloaded from:
http://www.linuxhardware.org/nvclock/#download.

There already existed win32 port but it was too obsolete
and disabled in configure. I had to tweak configure and
make scripts to reenable it. Also some fixes of sources
was needed. I did code clean-up to fix all warnings that
appeared on -Wall. Then I added a feature to read softstrap
bits from NV4x BIOS (appended to BIOS info, see -i option).

To run and compile win32 version you need to download
and install MemAccess Library 1.4 from:
http://www.zealsoftstudio.com/memaccess/download.html
This will install NT KMD or VXD to enable physical
memory access to MMIO registers. Warnig: not available
for Windows Vista/7. To compile sources I used MinGW32
with GCC 3.4.5 from:
http://www.mingw.org

Because I'm a DOS fan I also created DOS port of NVClock.
I need to write own PCI and physical memory handling
routines, see BACKEND\back_dos.c. Accessing PCI is quite
easy, I go directly thorugh PCI IO ports. To map the MMIO
registers I used DPMI wrapper __djgpp_map_physical_memory()
that maps physical memory over your page-aligned allocated
virtual memory buffer. This requires DPMI 1.0 server or
support of DPMI function 0508h - CWSDPMI has it but e.g.
Win9x not. Then I'm not sure about unmapping this memory
and because freeing of allocated buffers caused problems
I leaved it mapped but I seems to work. I tested it on my
Asus 7900GT PCI-E VGA.

To compile sources I used DJGPP 2.04 from:
http://www.delorie.com/djgpp
with GCC 4.3.2. Because of DJGPP is missing getopt_long()
function I bundled BACKEND\getopt.h, BACKEND\getopt.c,
BACKEND\getopt1.c from findutils 4.17 sources.
If you want to compile with short file names use
MAKEFILE.DJ instead.


http://rayer.ic.cz/programm/programe.htm#NVCLOCK

---
DOS gives me freedom to unlimited HW access.

 

Complete thread:

Back to the forum
Board view  Mix view
22632 Postings in 2109 Threads, 402 registered users, 468 users online (0 registered, 468 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum