mirror of
https://github.com/86Box/86Box.git
synced 2026-02-25 12:55:32 -07:00
112 lines
3.6 KiB
Plaintext
112 lines
3.6 KiB
Plaintext
Driver version: Windows 2000 Version 3.37 (23 March 1999) - SDK: Windows 2000 build 1996.1
|
|
Features:
|
|
|
|
Resource Manager Yes
|
|
DirectDraw Yes
|
|
OpenGL Yes
|
|
Direct3D No
|
|
|
|
|
|
get started:
|
|
MUST USE X86 WINDBG
|
|
Does older windbg support coff???
|
|
|
|
sxe ld nv3_mini.sys
|
|
bp nv3_mini + 0x409ac - 0x10000 (nv3_mini+0x309ac)
|
|
|
|
offset purpose
|
|
30a1a RmInitRm call
|
|
|
|
6be7 initClientInfo call
|
|
6878 initClientInfo
|
|
6bec Check for initClientInfo success
|
|
6bf4 initGrPatchPool call
|
|
6bf9 Check for initGrPatchPool success
|
|
6c01 initDmaListElementPool call
|
|
6c06 Check for initDmaListElementPool
|
|
6c1c initDisplayInfo call
|
|
|
|
6c26 rmInitRm End
|
|
Success: eax=FFFFFFFFh / -1
|
|
6c26 Fail eax=0
|
|
|
|
30c8b NvFindAdapter
|
|
30cb6 NvFindAdapter -> NVIsPresent call
|
|
1010 NVIsPresent function
|
|
102f NVIsPresent VideoPortGetAccessRanges call
|
|
103b NVIsPresent VideoPortGetAccessRanges call success check (only possible way to fail)
|
|
127c NVIsPresent end
|
|
30cbb NvFindAdapter -> NVIsPresent success check
|
|
Success: al=1
|
|
Failure: al=0
|
|
30cca NVIsPresent NVMapMemoryRanges call
|
|
e9e NVIsPresent NVMapMemoryRanges VideoPortGetDeviceBase call #1 [PCI Space]
|
|
ea4 NVIsPresent NVMapMemoryRanges VideoPortGetDeviceBase call #1 success check [PCI Space]
|
|
ebd NVIsPresent NVMapMemoryRanges VideoPortFreeDeviceBase [conditional]
|
|
ec3 NVIsPresent NVMapMemoryRanges VideoPortFreeDeviceBase [conditional] success check
|
|
ed6 NVIsPresent NVMapMemoryRanges VideoPortGetDeviceBase call #2 [MMIO]
|
|
edc NVIsPresent NVMapMemoryRanges VideoPortGetDeviceBase call #2 success check [MMIO]
|
|
f0c NVIsPresent NVMapMemoryRanges VideoPortGetDeviceBase call #3 [LFB/RAMIN?]
|
|
f12 NVIsPresent NVMapMemoryRanges VideoPortGetDeviceBase call #3 success check [LFB/RAMIN?]
|
|
|
|
30ccf NvFindAdapter NVMapMemoryRanges success check
|
|
Success: eax=0
|
|
Failure: eax=87
|
|
30cf1 NvFindAdapter RmInitNvMapping call
|
|
6ce6 NvFindAdapter RmInitNvMapping
|
|
30cf6 NVIsPresent RmInitNvMapping success check
|
|
Success: eax!=0 (in practice 0xFFFFFFFF/-1)
|
|
Failure: eax=0
|
|
30d5c NvFindAdapter
|
|
30d64 NvFindAdapter RmPostNvDevice call
|
|
6d88 RmPostNvDevice function
|
|
6d91 NvFindAdapter DevinitInitializeDevice call
|
|
6d96 NvFindAdapter DevinitInitializeDevice success check
|
|
Success: eax=0 (?)
|
|
Failure: eax=1
|
|
e546 DevinitInitializeDevice function
|
|
[very complicated]
|
|
[several register reads]
|
|
e61d DevinitPrepDeviceForInit call
|
|
e641 DevinitPrepDeviceForInit function
|
|
e627 InitNV call
|
|
e67a InitNV function
|
|
|
|
30d64 NVIsPresent RmPostNvDevice success check
|
|
Success: eax=0 (?)
|
|
Failure: eax=1
|
|
30d78 NVIsPresent NVGetNVInfo call
|
|
30d7d NVIsPresent NVGetNVInfo success check
|
|
|
|
3e9a NvFindAdapter end
|
|
Success: eax=0
|
|
Fail eax=55 (RmInitNvMapping or NVIsPresent failed)
|
|
Fail eax=87 (NVMapMemoryRanges or NVMapFrameBuffer failed)
|
|
|
|
30ea3 NVInitialize
|
|
30f02 NVStartIO
|
|
2aa6 NVInterrupt
|
|
30a2d NVGetChildDescriptor
|
|
30a9c NVGetPowerState
|
|
30b20 NVSetPowerState
|
|
|
|
|
|
Driver Init Status:
|
|
DriverEntry Success
|
|
rmInitRm -> initClientInfo Success
|
|
rmInitRm -> initGrPatchPool Success
|
|
rmInitRm -> initDmaListElementPool Success
|
|
rmInitRm -> initDisplayInfo Success
|
|
rmInitRm overall Success
|
|
NvFindAdapter Success 17:32 27/11/2024
|
|
NvFindAdapter -> NvIsPresent Success 16:19 24/11/2024
|
|
NvFindAdapter -> NvMapMemoryRanges Success 19:15 26/11/2024
|
|
NvFindAdapter -> RmInitNvMapping Success 19:18 26/11/2024
|
|
NvFindAdapter -> RmPostNvDevice Success 17:32 27/11/2024
|
|
NvFindAdapter -> NVGetNVInfo Success 17:32 27/11/2024
|
|
NvFindAdapter -> NVMapFrameBuffer Success 17:32 27/11/2024
|
|
|
|
00:00 30/12/2024: stateGr -> i2c_Write
|
|
22:31 31/12/2024: fifoService
|
|
|
|
fix ptimer issue |