JesterXIII
May 21st, 2012, 12:32
Hello everyone,
I did a brief search for subjects similar to Windows 3.1 and Softice 1.52, but I don't believe there is much on the subject. Honestly, I'm a bit too young for the topic myself.
Anyway, my questions is as follows, as the softice documentation is a bit poor: How do I properly load the symbols from Softice over DOS in the autoexec.bat and config.sys? Also, the system I'm looking at has an extended memory manager (HIMEM.SYS) with NOEMS and an I switch of E000-EFFF. Most of the documentation regarding EMM's seemed to be referring to Windows NT, though. (See Fifth Addendum)
From what I gathered, winice.exe needs to be loaded as a device in the config.sys (device=C:\WINICE\WINICE.EXE). Though, that is my assumption from reading the documentation for NT systems.
Thank you very much for your help,
-Jester
Slight addendum: If there is a more appropriate version of Softice I should be using that is still compatible with Win3.1, I am definitely open to the suggestion. To my knowledge, later versions of Softice are intended for Windows NT and on.
Second addendum: I am now working with Softice 2.62, as provided in the archives (thank you for preserving this!). Using the line "DEVICE=C:\2F5BC~1.6SI\S-ICE.EXE /SYM 500" successfully lets me load the symbols from softice before DOS (in 500k memory), but does not let me actually make calls, such as ctrl + d, to softice. However, I am still flirting with the EMM. Using the /EMM switch causes a system exit with my program, but allows me to ctrl + d. Using the command "DEVICE=C:\2F5BC~1.6SI\EMMSETUP.EXE C:\DOS\HIMEM.SYS" in the config.sys brings a blank box up during startup and freezes. Using the same command while the system is running also freezes, but does not bring up a blank box.
Third addendum: After reading through some of the new documentation, my config.sys is as follows:
DOS=HIGH, UMB
DEVICE=C:\2F5BC~1.6SI\CE.EXE ;config
DEVICE=C:\2F5BC~1.6SI\S-ICE.EXE /SYM 500 /EXT 2112 /EMM
DEVICE=C:\DOS\HIMEM.SYS
DEVICEHIGH=C:\2F5BC~1.6SI\UMB.SYS
DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\EMM386.EXE NOEMS I=E000-EFFF
FILES=255
BUFFERS=30
LASTDRIVE=Z
DEVICE=C:\RTC2000.SYS
DEVICE=C:\WINDOWS\IFSHLP.SYS
STACKS=9,256
There is no ansi.sys in the system to my knowledge and smartdrv is an executable handled by autoexec.bat rather than a .sys.
Fourth Addendum: With the previous config.sys, I experience the following errors in a system run:
[DOS boots normally until the UMB device is loaded. Returns the following:]
No high memory available.
[The next line, returned from the EMM386 device states:]
EMM386 not installed; protected mode software already running.
[DOS finishes and the system continues as normal. After windows 3.1 begins, the program begins to load, and application errors display as follows:]
Application Error
Progman caused page fault in module DRVDDLL.DLL at 0001:0000
[Click ok, the second error:]
Application Error:
Progman caused page fault in module KRNL386.EXE at 0001:4E8B
When trying to click enter, nothing happens, and the system freezes. Clearly, I'm not fluent with traditional memory management.
Fifth addendum: After getting through Chapters 2, 6, and 8 of the provided documentation in Soft-Ice 2.62, I came to realize that Soft-Ice is not compatible with EMM386.exe. Attempting to substitute the expanded memory manager with the soft-ice driver alone, however, was met with the same failures from porgman. Reading deeper into chapter 8, it seems that the emmsetup.exe should be used prior to loading the soft ice driver with /emm switch. However, chapter 8 is not quite specific on what to use emmsetup.exe with. Running the program with no file in the parameter returns the type of parameter it is looking for (a Numega driver). I'll keep reading Chapter 8, but I believe the problem is clear now: I need to tweak the internal EMM of soft ice to function identically to EMM386.exe.
Sixth addendum: I have finagled with s-ice.exe switches enough to get it loaded as a device driver. However, I am only able to ctrl + d outside of the windows 3.1 environment or on system exit. Once windows is running, however, I am (seemingly) unable to use softice functions. Will continue to experiment, assuming the issue is still nested in memory management.
I did a brief search for subjects similar to Windows 3.1 and Softice 1.52, but I don't believe there is much on the subject. Honestly, I'm a bit too young for the topic myself.
From what I gathered, winice.exe needs to be loaded as a device in the config.sys (device=C:\WINICE\WINICE.EXE). Though, that is my assumption from reading the documentation for NT systems.
Thank you very much for your help,
-Jester
Slight addendum: If there is a more appropriate version of Softice I should be using that is still compatible with Win3.1, I am definitely open to the suggestion. To my knowledge, later versions of Softice are intended for Windows NT and on.
Second addendum: I am now working with Softice 2.62, as provided in the archives (thank you for preserving this!). Using the line "DEVICE=C:\2F5BC~1.6SI\S-ICE.EXE /SYM 500" successfully lets me load the symbols from softice before DOS (in 500k memory), but does not let me actually make calls, such as ctrl + d, to softice. However, I am still flirting with the EMM. Using the /EMM switch causes a system exit with my program, but allows me to ctrl + d. Using the command "DEVICE=C:\2F5BC~1.6SI\EMMSETUP.EXE C:\DOS\HIMEM.SYS" in the config.sys brings a blank box up during startup and freezes. Using the same command while the system is running also freezes, but does not bring up a blank box.
Third addendum: After reading through some of the new documentation, my config.sys is as follows:
DOS=HIGH, UMB
DEVICE=C:\2F5BC~1.6SI\CE.EXE ;config
DEVICE=C:\2F5BC~1.6SI\S-ICE.EXE /SYM 500 /EXT 2112 /EMM
DEVICE=C:\DOS\HIMEM.SYS
DEVICEHIGH=C:\2F5BC~1.6SI\UMB.SYS
DEVICE=C:\DOS\SETVER.EXE
DEVICE=C:\DOS\EMM386.EXE NOEMS I=E000-EFFF
FILES=255
BUFFERS=30
LASTDRIVE=Z
DEVICE=C:\RTC2000.SYS
DEVICE=C:\WINDOWS\IFSHLP.SYS
STACKS=9,256
There is no ansi.sys in the system to my knowledge and smartdrv is an executable handled by autoexec.bat rather than a .sys.
Fourth Addendum: With the previous config.sys, I experience the following errors in a system run:
[DOS boots normally until the UMB device is loaded. Returns the following:]
No high memory available.
[The next line, returned from the EMM386 device states:]
EMM386 not installed; protected mode software already running.
[DOS finishes and the system continues as normal. After windows 3.1 begins, the program begins to load, and application errors display as follows:]
Application Error
Progman caused page fault in module DRVDDLL.DLL at 0001:0000
[Click ok, the second error:]
Application Error:
Progman caused page fault in module KRNL386.EXE at 0001:4E8B
When trying to click enter, nothing happens, and the system freezes. Clearly, I'm not fluent with traditional memory management.
Fifth addendum: After getting through Chapters 2, 6, and 8 of the provided documentation in Soft-Ice 2.62, I came to realize that Soft-Ice is not compatible with EMM386.exe. Attempting to substitute the expanded memory manager with the soft-ice driver alone, however, was met with the same failures from porgman. Reading deeper into chapter 8, it seems that the emmsetup.exe should be used prior to loading the soft ice driver with /emm switch. However, chapter 8 is not quite specific on what to use emmsetup.exe with. Running the program with no file in the parameter returns the type of parameter it is looking for (a Numega driver). I'll keep reading Chapter 8, but I believe the problem is clear now: I need to tweak the internal EMM of soft ice to function identically to EMM386.exe.
Sixth addendum: I have finagled with s-ice.exe switches enough to get it loaded as a device driver. However, I am only able to ctrl + d outside of the windows 3.1 environment or on system exit. Once windows is running, however, I am (seemingly) unable to use softice functions. Will continue to experiment, assuming the issue is still nested in memory management.