Hi, thanks for the input. I had definitely looked at cmd_screendump.asm as a starting point and figured line 61 was the clue:
call GetVideoMem ; get start of video memory
then follows the parsing routine for the various /screendump modes. I got hung up though on just how the defined value for oVideoMem was determined for each different version of Softice, or why modifying the linear address was necessary for some of the 3.x SI versions:
in util.asm
Code:
;------------------------------------------------------------
; eax: linear address of the video memory as used by winice
;------------------------------------------------------------
GetVideoMem:
mov eax,[oVideoMem]
mov eax,[eax]
%if WINICE_VERSION_MAJOR = 3
%if WINICE_VERSION_MINOR = 22 || WINICE_VERSION_MINOR = 23
|| WINICE_VERSION_MINOR = 24
push ebx
mov ebx,[oLinAddrPhysical_0_MAXPHYS]
add eax,[ebx]
pop ebx
%endif
%else
%endif
;------------------------------------------------------
i.e. for 4.05.334e
oVideoMem dd 0x0001D87B
for 3.24g
oVideoMem dd 0x000115BB
oLinAddrPhysical_0_MAXPHYS dd 0x000067CD
I thought the Mode 4 dump into an EPS formatted file would suffice to be able to convert it into a graphic, but initially the only conversion program I had tried was CorelDraw7 and all it gave was a gray background with the text of the filename and "Icedump EPS Export v1.0".
However, I just tried the same thing using PaintShopPro to convert the EPS file, and lo and behold, it worked perfectly! What can I say? Kudos ;-)
I'm still curious about that addressing though...
Regards,
Kayaker