Jump to content

Modified SYSDM.CPL 4.90.3001 for 98SE


Recommended Posts

Maximus Decim Native USB ver.3.6

...

What's new?

* SYSDM.CPL 4.90.3001 - for auto install driver at insertion of the new flash devices

...

I have modified the Windows ME SYSDM.CPL 4.90.3001 to correct a few cosmetic errors when it is used under 98. Not perfect yet, but what I have changed so far seems fine. Need some testers and maybe someone can fix the one thing I've not been able to? :unsure:

Changes so far:

- Fixed the General tab under System to show "98" and "Second Edition" instead of "Me"

- Removed System Restore disk space slider bar from the File System / Hard Disk dialog.

- Fixed all Strings to read "Windows 98" instead of "Windows Millennium Edition"

What needs fixing:

- Remove "Disable System Restore" option from the Troubleshooting tab.

(everything I've tried messes up the rest of the Dialog)

Comments anyone?

EDIT:

Removed old link.

Edited by LoneCrusader
Link to comment
Share on other sites


What needs fixing:

- Remove "Disable System Restore" option from the Troubleshooting tab.

(everything I've tried messes up the rest of the Dialog)

Three ideas:

  1. Blank out the text: "Disable System &Restore." -> " "
  2. Reposition the text box outside of the dialog box / property sheet: (999, 999)
  3. Resize the text box to something very small like: (1, 1)

The more I think about it, removing the checkbox is probably the issue. Repositioning (method 2) should work visually, but will probably cause a "hole" in the tabbing sequence that will need addressing....

Link to comment
Share on other sites

Remove the WS_VISIBLE (0x10000000) style and that'd do - no tab gap, no errors.

Anyone can recommend a good, Free/Open-source NE editor for such 16-bit libraries? I've edited my CPL about 6 years ago and forgot which tool I used. Could've even been some shareware in trial mode, at the time, but I'd like to avoid such things now. Got no time (and enough knowledge) to build a tool from scratch right now.

Link to comment
Share on other sites

Anyone can recommend a good, Free/Open-source NE editor for such 16-bit libraries?

Free/open source: Open Watcom Resource Editor and Dialog Editor

Shareware: eXescope

Commercial: Microsoft Visual C++

That's about all there is I think.

Edited by loblo
Link to comment
Share on other sites

Three ideas:

  1. Blank out the text: "Disable System &Restore." -> " "
  2. Reposition the text box outside of the dialog box / property sheet: (999, 999)
  3. Resize the text box to something very small like: (1, 1)

The more I think about it, removing the checkbox is probably the issue. Repositioning (method 2) should work visually, but will probably cause a "hole" in the tabbing sequence that will need addressing....

eXeScope is the only tool I have that will open SYSDM.CPL so I'm limited to what it allows me to do :}

I can't edit the text, unless I tried directly hex-editing it...

Repositioning might work, if one could make sense of the positioning coordinates for the other options. Many of them are negative. :blink:

I can't resize the box because it doesn't seem to be treated as a text box.

Remove the WS_VISIBLE (0x10000000) style and that'd do - no tab gap, no errors.

A bit over my head, I'm no programmer. :ph34r:

eXeScope has a checkbox for "Visible" on this item, but it's already not checked by default.

(Tried this because it worked for the slider bar on the other dialog.)

Thanks for the help guys.. any more ideas?

Link to comment
Share on other sites

Nirsoft WinExplorer allows one to change in memory the already running program. While it does not allow one to change the executable in the disk (which would then be permanent) it sure allows one to easily test Drugwash's idea and confirm whether it works as intended.

[off topic] yes, I love split infinitives... they remind me of watching Star Treck on TV[/off topic]

Link to comment
Share on other sites

Thanks for the help guys.. any more ideas?

MSVC++ 5 was able to edit the NE file. I learned the hard way that Save crashes, but Save As works.

I was able to disable the Visible and Tabbed options on "Disable System &Restore." and shorten the group box and dialog box to match the 98se version. I also bumped the version to .3002 (in two places).

The only down-side seems to be that VC5 can only edit by adding a modded resource without removing the original data, so the file is 7KB larger. :(

Temporary attachment: - SYSDM.CPL


Edit:

I was also able to save as .rc and .res:

Sysdm.rc.res.7z - sysdm.rc, sysdm.res

Here's the most relevant part of the rc code:


1742 DIALOG DISCARDABLE 0, 0, 256, 133
STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU
CAPTION "Troubleshooting"
FONT 8, "MS Sans Serif"
BEGIN
ICON 605,1736,7,7,21,20,WS_GROUP
LTEXT "It is recommended that only advanced users and system administrators change these settings.",
1737,36,7,193,19
GROUPBOX "Settings",1738,7,33,241,92
CONTROL "Disable new file &sharing and locking semantics.",1750,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,24,48,204,10
CONTROL "Disable long &name preservation for old programs.",1749,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,24,60,204,10
CONTROL "Disable &protected-mode hard disk interrupt handling.",
1752,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,24,72,204,10
CONTROL "Disable synchronous buffer &commits.",1758,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,24,84,204,10
CONTROL "Disable all 32-&bit protected-mode disk drivers.",1751,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,24,96,204,10
CONTROL "Disable &write-behind caching for all drives.",1753,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,24,108,204,10
CONTROL "Disable System &Restore.",1814,"Button",BS_AUTOCHECKBOX |
NOT WS_VISIBLE,24,120,204,10
END

I also tried eXeScope, but eXeScope seems to do a poor job parsing controls inside the dialog box.

Edited by jumper
Link to comment
Share on other sites

I was able to disable the Visible and Tabbed options on "Disable System &Restore." and shorten the group box and dialog box to match the 98se version. I also bumped the version to .3002 (in two places).

Good job, looks like you successfully eliminated the Disable System Restore option :thumbup

..But too many changes at once :angel

If you change the size of the group box for that dialog, you must also shorten it for the "Hard Disk" Floppy Disk" "CD-ROM" and "Removable Disk" dialogs as well, because now they are all truncated at the bottom. I had planned to just hide the option, making the absolute minimum changes necessary to get a 98SE-correct version. Then later mods would be up to users.

Edit:

Also noticed that somehow the CDROM Icon on the CDROM dialog is messed up somehow. :blink: Don't know what would cause that.

I do agree that the dialogs should be shortened to be equal to the 98SE version. I just like to do things one step at a time and test each step. It took me 3 versions to get to the one I posted. :lol:

Edited by LoneCrusader
Link to comment
Share on other sites

..But too many changes at once :angel

Not quite enough, I'd say! :lol:

I see what you mean about the groupboxes in the other four tabs needing to match. I've never worked with tabbed controls before and didn't realize that changing the size of one sheet could possibly affect the other tabbed sheets. The editor must know to tie them together.

Some of the drop-downs also need to be shortened. And I see the odd cd-rom icon, too--it looks fine in the Developer Studio preview, however.... :blink: I'll look in the exported rc source and compare parameters to what the other icons use.

I'll think I'll start over and just do the minimum as you wizely suggest. :)

Link to comment
Share on other sites

Not quite enough, I'd say! :lol:

I see what you mean about the groupboxes in the other four tabs needing to match. I've never worked with tabbed controls before and didn't realize that changing the size of one sheet could possibly affect the other tabbed sheets. The editor must know to tie them together.

Some of the drop-downs also need to be shortened. And I see the odd cd-rom icon, too--it looks fine in the Developer Studio preview, however.... :blink: I'll look in the exported rc source and compare parameters to what the other icons use.

I'll think I'll start over and just do the minimum as you wizely suggest. :)

Here's another copy with all of the Dialog sizes edited to exactly match the 98SE version. (I open 3 windows of eXeScope, one with the 98 version, one with the copy I'm actually editing, and one with the ME version so I can always see what is different and what the original setting was.)

The Troubleshooting Dialog is of course messed up in this copy because of the size edits. But, a minimum patch to this copy should result in a Dialog exactly like the 98SE one. :yes:

EDIT:

Removed old link.

Edited by LoneCrusader
Link to comment
Share on other sites

Temporary attachment: - SYSDM.CPL

I went back to your previous version, rebuilt the problem icon so the resolutions were in the correct order, then changed the flag and the version strings. (I didn't use your last version because excessive movement in the Troubleshooting tab made it further rather than closer to fully adjusted.) Drugwash was right about only needing to remove just the WS_VISIBLE style.

We have Microsoft to thank for the non-standard icon that was incompatible with MS tools, and for neglecting to extend the sheet sizes for the first four tabs when they extended the group boxes--it wasn't my fault after all! :realmad: . . . :lol:

Link to comment
Share on other sites

First of all, thanks loblo for reminding me about Visual Studio being able to edit resources.

Then... I've been messing with this file all night. One thing I've learned is that Visual Studio 6 (possibly other versions too, dunno) will definitely screw up any and all dialogs that contain older versions of controls, such as SysTreeView, msctls_trackbar and others. It will replace them automatically and without any notice with the newer 32bit versions (i.e. SysTreeView32, msctls_trackbar32 etc), definitely trashing the edited file.

Therefore, do not attempt to edit any dialog that contains older 16bit controls in Visual Studio - if they need to be modified in any way, use a different tool. ExeScope can modify those dialogs without problems.

However, ExeScope has additional issues in working with dialogs. I've had it constantly crashing when trying to view or edit a certain dialog in SYSDM.CPL. Then, it will not delete any controls or resources whatsoever, leaving the user with only the choice to move/resize controls. So deleting unnecessary controls such as the ones pertaining to System Restore, can only be done in Visual Studio.

I have not even attempted to install Open Watcom because an 80+MB of an installer doesn't look good to me, while all my partitions are full up to the brim.

That said, after lots of crashes and failures I have succesfully rearranged statics on main tab, deleted System Restore-related controls, replaced bitmap resources with some home-made ones for a modern look and plan to replace icons as well. However, I also tried to resize the driver selection dialog 10009 which always seemed too short for the very large lists (try to replace display driver, see how large the Manufacturer list is), only to find out that the whole driver update (and Find new hardware) process would show taller dialogs even though those have never been enlarged. Seems like the largest dialog size in the process will be retrofitted to each and every pertaining dialog. So I'm gonna have to take it back to its original size. No comment! :(

All in all: things can be done, but with extreme care and thorough testing. If I ever get to a stable working version, it will be published somewhere (since I reached my upload quota here). I would kindly ask that such work-in-progress versions as the ones above be distributed privately, for testing purposes, as to avoid any issues with beginners messing with their sytems. A final version should reach the official distributors (Maximus-Decim, PROBLEMCHYLD), should they want to include it in their packages and maybe MDGx, for an unofficial package hosted at his site.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...