Help - Search - Members - Calendar
Full Version: minibox - mini windows on a box
The CD Forum > The CD Forum > WinBuilder
Pages: 1, 2
Nuno Brito
Mini-Windows on a box


Mini-Windows on a box is a small set of .script files and open source programs wich will build a bootable CD based on a freedos boot disk image and MINI.CAB - available on any windows 95/98/ME install CD.

The goal of this work is to supply a working platform to test and further customize the capabilities of this miniaturized windows version in newer hardware/software conditions.


All the required software tools and .script files are included inside a single download file (~3Mb).
This includes: QEMU, FREEDOS boot image, Batcher with .script files, HX-DOS and MKISOFS, all licensed under the GNU license (with the exception of batcher wich is freeware), the only needed external file is MINI.CAB itself wich will provide the shell for this test box.





Further documentation regarding configuration and installation are available here:
http://nunobrito.100free.com/MiniBox/Readme.html



At the moment very few windows 16bit are supported (winfile.exe will work but I can't include it due to license restrictions), most other programs will crash with an error: Application Error. Call to Undefined Dynalink, I wonder if there is a good workaround to this issue?
I've already tried to solve it - please read the documentation before trying to solve it yourself (might save you some time..) wink.gif


Download link is here:
hxxp://nunobrito.100free.com/MiniBox/Win31Scripts/minibox.zip
(copy&past link into the explorer address bar)



btw: This work is mostly dedicated to Wendy and her guidance through the Win3.1-OS/2 world, and Jaclaz (your tip on HX-DOS was very accurate..) I thank both for the support given to me in everything.. laugh.gif
jaclaz
Well, really happy about this, VERY good work , nuno! smile.gif

Cannot wait to test it, must find the time for it (and to find my old '98 CD).

Not sure about this, pardon me as I am posting this BEFORE reading the docs, but since a license of win9x/ME is required anyway, wouldn't it work with the 9x/ME dos files?

Another idea, just as it comes, what about Calmira?


jaclaz

p.s.: I had a look at the "Dynalink error", reading "between the lines" of what you find, it seems like everyone attributes it to an outdated .DLL, simply because the largest number of problems occurred when updating an already running Win 3.1.
I believe that this article is more correct:
http://www.sjoerd-visser.demon.nl/doip-os2/extra/iakhelp.txt
QUOTE
If you get a "Call to undefined dynalink" error under WinOS2....

The "Call to undefined dynalink" is a known Microsoft problem.

This error message appears anytime an application tries to make a

call to a .DLL file that is an older version than the .DLL that it

needs. It is a generic WIndows error message that means that the

application tired to register a .DLL that either does not exist or is

incorrect. This error can also occur if the OLE .DLL files are not all

the same version.


I would bet that the error is caused by one or more missing .DLLs wink.gif
Nuno Brito
QUOTE (jaclaz @ Apr 15 2006, 05:56 PM) *
Not sure about this, pardon me as I am posting this BEFORE reading the docs, but since a license of win9x/ME is required anyway, wouldn't it work with the 9x/ME dos files?


I am not sure if the included .script files would work with different versions of windows as the .cab files may have between distributions, so I decided to just stick with mini.cab, if necessary I can add tools to search and extract files inside .cab files, but this is just the first step and preferably I'll keep working on a solution that only uses open source files and maybe someday we can all enjoy a free 16 bit shell.. cool.gif


QUOTE
Another idea, just as it comes, what about Calmira?
jaclaz


I think it's a great idea too, Calmira has recently evolved to Calmira XP, I registered at their forum some days ago and the developer of this new version is helping out too.. smile.gif

Here's the topic:
http://members.lycos.nl/abzone/viewtopic.php?t=25


And a screenshot of Calmira:







But it is still needed to solve the crash issues, if that was solved then we could easily add calmira or any other application - the fun begins.. laugh.gif
jaclaz
I quicly tested the release.
Build is ok.
ISO appears to be correct.
Qemu boots allright.
When Start.bat invokes dosx.exe, the GUI background briefly show, than an error message:
QUOTE
Error loading PROGMAN.EXE

appears. sad.gif

Moreover, a capital "C" appears on the command line....

jaclaz
Nuno Brito
Can you post your log file?

Maybe I can spot where things are not working, I assume you're using windows XP right? So all needed 16 bit files should remain the same in my win2003...

There is a way of testing other programs.. in the file system.ini you can edit the "SHELL" entry in [boot] section to try other 16 bit applications.

In the meanwhile I'm debugging the script back again, in windows 95 you can find winfile.exe under the cab file 17, maybe it works.. (haven't tried yet..)
smile.gif
Nuno Brito
I'm not sure what could be wrong, I've updated the .script and rerun it some times and it kept working..


On the bottom is a link to the file with wich I'm working at the moment, I've changed the paths, instead of win31 it will use minibox (I didn't remembered MS could hold a license for using that name) so this .script will work just fine - but you will need to replace the text in your start.bat to point the new directory..

like this:
CODE
@Echo off
::
:: This is a simple batch file, you can edit
:: all your commands here instead of editing the autoexec.bat
:: from the boot image
::
PATH=%PATH%;Z:\MiniBox;Z:\MiniBox\System
cd MiniBox
If exist dosx.exe dosx.exe


Download link:
http://nunobrito.100free.com/MiniBox/minibox.zip
(copy&paste link to explorer bar)



btw: I've tried using winfile, but it gave me the same error as appeared to you.. (but works with sysedit and the original win31 winfile.exe, thought)

Good luck!
laugh.gif
jaclaz
Well, the .script log reports a missing .dll:
tss4d.dll
from %systemdir%\System\
directory.

I am on Windows 2000 by the way.


jaclaz

P.S.: Same missing .dll with the new minibox .script
Nuno Brito
QUOTE (jaclaz @ Apr 16 2006, 10:33 AM) *
Well, the .script log reports a missing .dll:
tss4d.dll
from %systemdir%\System\
directory.

I am on Windows 2000 by the way.
jaclaz


tss4d.dll is not critical (or even needed) to at least start dosx.. so I don't know what could be causing this problem huh.gif


here's a screenshot of my first crosscompare between win2003 and Win95 mini.cab files - at first I tried to build a mini shell straight from NT files (I supposed at the time they were pretty much similar between versions since 16 bit wow remained almost the same in every one of them..)

I've used the information available here



On the table of the right you'll see the "critical" files of the shell, without any of them dosx won't start. I wonder if this could be because of sysedit.exe? (this is your default shell, right?)

I hope this helps.. smile.gif
jaclaz
hmm, I'll look into it.

As a side note:
these are the "update files" actually a complete copy of Winfile.exe for Y2k:
Win3.1:
http://download.microsoft.com/download/win...US/W31Y2KUP.EXE
WfW3.11:
http://download.microsoft.com/download/wfw...US/WFWY2KUP.EXE

And a nice add-on for the file manager:
Step Up:
http://www.winability.com/fmutils/

jaclaz
Nuno Brito
I'm glad to see were tunned in to the same wave, take a look into the minibox.script encoded files, you'll see a FMSTEPUP.DLL (file manager step up) the executable itself comes as a dll file, I've tried using it as default shell, but no go..

I included it because it's freeware and maybe someday the sun can shine on us..


p.s. Also forgot to mention that in the freedos image already comes a 7zip dos port ready to use.. cool.gif
jaclaz
Ok, found the culprit. smile.gif

The SHELL.DLL MUST be ENGLISH.

Now I can boot with sysedit as shell allright.
(not very useful, though) wink.gif

If you do File -> About, system will crash with the "Dynalink" error.

About the PROGMAN.EXE, the file from win2k is a PE app and makes lots of calls to 32 bit DLLs, whilst, most probably, we need a NE one, like sysedit is.

Read this also:
http://en.wikipedia.org/wiki/Program_Manager

jaclaz
Nuno Brito
QUOTE (jaclaz @ Apr 16 2006, 03:52 PM) *
Ok, found the culprit. smile.gif

The SHELL.DLL MUST be ENGLISH.


Great work! I just don't understand the reason why it complains.. I'm using the portuguese version.. blink.gif

Getting only native english files won't be an easy task in these days, but there might be an alternative.. The Wine project already supplies all needed dll's (open source) to run 16/32 applications - they probably will have the files we need to fix this issue - or at least understand better how to deal with this problem.

When I go back to work I'll download the wine project and crosscompare all files - this may eventually lead to building minibox based on when win9x shell - since the registry and all needed files should be there already.. (better yet as they are completely open source.. laugh.gif )

QUOTE
About the PROGMAN.EXE, the file from win2k is a PE app and makes lots of calls to 32 bit DLLs, whilst, most probably, we need a NE one, like sysedit is.


Maybe progman isn't needed at all, most likely it can be removed (but I still don't figure why appear errors regarding progman when trying to run other apps) sad.gif
jaclaz
Bad news, sort of. sad.gif

All the problem relies in BOTH this SHELL.DLL AND PROGMAN.EXE

The Italian Win2k shell.dll simply blocks everything. (cannot load progman.exe)
English versions from XP/2003 do work for shell=sysedit.exe
ALL three fails with shell=progman.exe

I took SHELL.DLL from Win3.1 and win2k PROGMAN.EXE does NOT work (as said it is a PE app, instead of NE)

SHELL.DLL from win 3.1 is about 41 Kb, 2k/XP/2003 is 5.120 bytes, probably just a dummy.

I took both files from an old win 3.1 and it works, whilst the win 3.1 PROGMAN.EXE DOES NOT work with newer SHELL.DLL.

So we must find PRIMARILY a substitute for SHELL.DLL and PROGMAN.EXE.

Can you try with WIN9X versions of these files?

jaclaz

P.S.: by the way, the .script copies to \Minibox a quanyity of completely UNNEDED .dlls, as soon I have clarified a bit, I will post a list of the minimal ones.

P.P.S.: The file shell.dll is inside this update:
http://www.winsite.com/bin/Info?500000005670
(but the license is different from the one for winfile.exe above, so ..., NO way)
Nuno Brito
Sure, I'll try right away, post in a second..


btw: I'm using power search to scan the cab's for the files I need..

http://www.geocities.com/ck_senthilkumar/ smile.gif


The list can indeed be shortened, I just added these files as common dll's for the programs I as needing, some were complaining about missing dll files..

A minimal list is the screenshot I posted before, I used it from another forum wich tried to make a minimal win3.1 version a long while ago..



EDIT:

In windows 95 install CD you'll find:

Shell.dll -> precopy2.cab
progman.exe -> Win95_17.cab (same as winfile.exe..)
Nuno Brito
Didn't worked.. shell.dll seems much better from win95, and progman too, but just failed to load like before - I can see the about box in sysedit.exe but the rest will still complain on missing progman - I will do some further experimenting.. smile.gif
Nuno Brito
I've installed the full version of windows 3.11 for workgroups, then copied back all files onto the ISO image and repeated the same process..


On this test all dll versions are correct, all executable files are 16 bit Win31 specific.

I run win.com.... message:




I run dosx.exe .. message: "Error loading progman.exe.."


I copy all files into the RAMDisk on drive "Q:", repeat the above mentioned process..

And the result repeats itself.. huh.gif


Could the problem be related with the support for himem.sys (or the lack of it?)

btw: I also tried to start win.com using some switches (disabling 32bit acess, and others..) nothing worked.. dry.gif
Wendy
I had a quick look at the mini-windows box thing. It's a nice idea, but it has a few config problems.

For a windows shell, you could also look at a proggie called MSDOSEXE.zip. This contains the windows 3.0 msdos.exe, which is meant to be a shell for small environments. (it's kind of like a permanent "file open" dialog, if you must know).

The windows is not really well configured, i need to take a closer look.

If you have the win3x setup stuff, try this.

1. run "setup /a" to a directory, eg c:\cdrom\win31

2. subst the cdrom directory to z, eg subst z: c:\cdrom, and include z:\win31 in the path.

3. create a ramdisk dir (eg c:\ramdisk), and subst it like y:

4. create a directory y:\win, and put it into the path too.

5. create a directory y:\temp, and point TMP and TEMP at that directory.

6. change dir to y:\win, and run "setup /n" This creates a network copy of windows. Note you will have win.com etc, but very few else files. Add whatever icons you want to this group.

7. When all is done, you can add these directories to the cd, and copy the ramdisk folder to the ramdrive.

Wendy
Nuno Brito
Thanks Wendy, I'll try to do that, at the moment the boot disk will load a ramdisk with 90Mb, there's also an emulated 50Mb disk image as c: (not partitioned).

Default boot sequence:

1 - load freedos kernel
2 - add ramdisk (q:)
3 - add cd-rom support (z:)
4 - goto drive z:
5 - cd\minibox
6 - dosx


I appreciate your help, I'm kind of confused on how to correctly proceed in this situation.


I'm pointing my finger at the used drivers used by freedos..



btw: msdos.exe files are probably licensed by microsoft, restricting distribution - I couldn't find a link to take a look at them..
jaclaz
QUOTE (nuno brito)
I've installed the full version of windows 3.11 for workgroups, then copied back all files onto the ISO image and repeated the same process..


Nuno, don't take it as an offence, but I think you are going the WRONG way.

WfW is NOT 3.1.

You should start with 3.1.

Small hint, here is my (now working) MINIBOX dir, including working Stepup:
CODE
Directory di K:\MINIBOX

17/04/2006  10.27       <DIR>          .
17/04/2006  10.27       <DIR>          ..
17/04/2006  10.27       <DIR>          System
11/07/1995  09.50                7.568 KEYBOARD.DRV
11/07/1995  09.50                9.936 LZEXPAND.DLL
11/07/1995  09.50                3.440 SOUND.DRV
11/07/1995  09.50                2.304 SYSTEM.DRV
11/07/1995  09.50                9.008 VER.DLL
11/07/1995  09.50               73.200 VGA.DRV
16/04/2006  19.50                  483 DOSX.EXE
11/07/1995  09.50              264.016 USER.EXE
11/07/1995  09.50              149.456 GDI.EXE
11/07/1995  09.50                1.300 MINIKBD.DLL
11/07/1995  09.50               12.800 WIN87EM.DLL
11/07/1995  09.50                9.280 COMM.DRV
11/07/1995  09.50               12.928 LMOUSE31.DRV
11/07/1995  09.50               10.672 mouse.drv
11/07/1995  09.50                  416 NOMOUSE.DRV
11/07/1995  09.50               57.936 SERIFE.FON
11/07/1995  09.50               64.544 SSERIFE.FON
11/07/1995  09.50                5.360 VGAFIX.FON
11/07/1995  09.50                5.168 VGAOEM.FON
11/07/1995  09.50                7.280 VGASYS.FON
02/08/2002  04.00               19.303 sysedit.exe
02/08/2002  04.00                2.080 winoldap.mod
16/04/2006  19.50               30.261 HDPMI16.EXE
16/04/2006  19.50               14.352 DPMILD16.EXE
16/04/2006  19.50                  403 HXDOSLD.EXE
31/12/1993  03.11               41.600 SHELL.DLL
01/11/1993  03.11              115.312 PROGMAN.EXE
17/04/2006  10.14                  671 WIN.INI
03/02/2002  23.44                  661 SYSTEM.INI
16/05/2000  20.01               89.088 COMMDLG.DLL
16/12/1992  00.00               49.248 WINOA386.MOD
17/04/2006  11.03                  218 WINFILE.INI
10/03/1992  03.10              146.864 WINFILE.EXE
17/04/2006  10.49                  810 MAIN.GRP
17/04/2006  11.00                   34 CHAOSOFT.INI
17/04/2006  11.00                3.046 FMSTEPUP.GRP
17/04/2006  11.05                1.221 FMSTEPUP.INI
17/04/2006  11.09       <DIR>          FMSTEPUP
17/04/2006  11.12                  139 PROGMAN.INI
              38 File      1.222.406 byte

Directory di K:\MINIBOX\System

17/04/2006  10.27       <DIR>          .
17/04/2006  10.27       <DIR>          ..
11/07/1995  09.50               75.490 krnl386.exe
               1 File         75.490 byte

Directory di K:\MINIBOX\FMSTEPUP

17/04/2006  11.09       <DIR>          .
17/04/2006  11.09       <DIR>          ..
20/12/1999  03.51               77.312 SETUP.EXE
20/12/1999  03.51               21.008 CTL3D.DLL
20/12/1999  03.51              105.472 FMSTEPUP.DLL
20/12/1999  03.51              104.448 FMSTEPUP.HLP
20/12/1999  03.51               57.856 CSLFMSU.DLL
               5 File        366.096 byte


By the size and/or file date you should get the idea of what release the files are.

I took out the image.bmp and changed win.ini as follows:
QUOTE
; Load the fonts for initialization when running Minibox
[fonts]MS Serif 8,10,12,14,18,24 (VGA res)=SERIFE.FON
MS Sans Serif 8,10,12,14,18,24 (VGA res)=SSERIFE.FON

[colors]
Background=0 128 128
AppWorkspace=255 255 255
Window=255 255 255
WindowText=0 0 0
Menu=192 192 192
MenuText=0 0 0
ActiveTitle=0 0 128
InactiveTitle=255 255 255
TitleText=255 255 255
ActiveBorder=192 192 192
InactiveBorder=192 192 192
WindowFrame=0 0 0
Scrollbar=192 192 192
ButtonFace=192 192 192
ButtonShadow=128 128 128
ButtonText=0 0 0
GrayText=128 128 128
Hilight=0 0 128
HilightText=255 255 255
InactiveTitleText=0 0 0
ButtonHilight=255 255 255

[ports]
LPT1:=

and system.ini as follows:
QUOTE
[boot]shell=progman.exe
display.drv=vga.drv
keyboard.drv=keyboard.drv
network.drv=
system.drv=system.drv
386grabber=vga.3gr
oemfonts.fon=vgaoem.fon
fixedfon.fon=vgafix.fon
fonts.fon=vgasys.fon

[386enh]
display=*vddvga
keyboard=*vkd
mouse=*vmd
local=con
filesyschange=off
paging=0
woafont=vgaoem.fon
network=*dosnet,*vnetbios
ebios=*ebios
device=*vpicd
device=*vtd
device=*reboot
device=*vdmad
device=*vsd
device=*v86mmgr
device=*pageswap
device=*dosmgr
device=*vmpoll
device=*wshell
device=*blockdev
device=*pagefile
device=*vfd
device=*parity
device=*biosxlat
device=*vcd
device=*vmcpd
device=*combuff
device=*cdpscsi


I modified the setup, not using for the moment the .iso file, just a "superfloppy" to be able to better experiment, also, I use the Ramdrive where I decompress the \minibox dir.

I am now trying to see what happens with Calmira....

jaclaz
Nuno Brito
Great work!!! laugh.gif laugh.gif


If you say that WfW is not the way then I will follow your example try to find a win 3.1 source to test - I only have the Win3.1 for WfW installation files, but I never thought it would interfere with the shell start up..


I can see you are using most files from mini.cab, and I suppose some others from win9x install, are you using any "original" win3.1 files?


One other issue: As super-floppy you mean a 2.88Mb disk image, right? I just didn't made it that way mostly because of the editing process inside an image.. I thought it would dificult the work for others who didn't know how to handle images, but superfloppy seems the right way to go..


Good luck with calmira!!
laugh.gif
Wendy
msdosexe.zip is a win31 redistributable, for those who preferred the Win2.x shell. ohmy.gif

You can, i suppose, add it to any Windows after win3.0, so if you are evidently compiling the proggie under winXP, you could download it. Google for "MSDOSEXE.ZIP", and you will find it sure enough.

W
jaclaz
Quick update:
1.) Calmira seems a dead end to me at the moment:
a.) Calmira XP though working, is really AWFUL looking, both at 16 and 256 colours, and to enable more colours, we need specific Video drivers, so it won't be portable anymore.
b.) Calmira "standard" 3.3 works Ok when loaded through win.com, but freezes after a few mouse clicks/operations when loaded through the HX DOS extender dosx.exe (it could be some settings I haven't yet found, but it could also be some incompatibilities)
c.) the installation files though reasonably small for a complete shell replacement are too big, as I see it, for the limited functionalities needed
2.) While re-re-re-re-re-re-re-...re-booting the QEMU VM, a thought struck me:
Actually WHAT we want to achieve?
a.) A complete Win3.1 replacement?
b.) A smallest possible emergency dos disk with a nicer interface than pure DOS command line with the minimum functionality?

I would think that a) is already (sort of) detailed here:
http://www.jankie.net/soedesh/20.htm

So, maybe the goal is b.).

If this is the case, can we list here what are the MINIMUM functionalities we expect?
I would say that deleting and copying files, with FAT32 and LFN support, and possibly with NTFS one too, is all is needed, to which I would add running a simple text editor (Notepad?) and maybe a small Hex editor (suggestions?).

I have found this really MINIMAL, FREEWARE, shell, Hajime, just search on Google for hajim215.zip, that is just a configurable start button, that seems to work.
Please note that it must have the path for its .ini file somehow hardcoded, and it searches for it in \Windows or C:\Windows ( I am not sure, still experimenting).

Just for the record, I also found this file:
http://www.appletmaster.de/zip/winhelpx.zip
that is a "fake" WINHELP.EXE, only 20 Kb, that allows to get rid of the original WINHELP.EXE and of all .HLP files without creating errors.

jaclaz
Nuno Brito
I'm planning on using it as a shell for for freedos - using delphi 1.0 I can compile my programs to run in 16 bit.

In delphi is easy to make applications like file managers or notepad replacements - I was planning on using it as a front-end for command lines applications like 7zip, I'll make my best to make them visually appealing and reliable, there are many things that can be done under a 16 bit shell..

At the begining I was thinking it would be possible to compress an image (7zip), decompress it to ramdisk folder, then use grub4dos - I understand know it won't be possible due to tsr restrictions imposed by grub. But this can still be extremely usefull for all disk applications that require direct disk acess - like mHdd, the disk repair tool - who could be used under a simple shell.

laugh.gif



p.s. Wendy, I didn't had time to check your tips, but will do so as soon as possible.. smile.gif
jaclaz
Well, actually the TSR problem with GRUB4DOS only happens if you try to invoke GRUB.EXE to change your OS "on the fly".

I'll be more explicit:
a.) Windows 95/98/ME DOS 7.0, 7.1, 8.0 booted from GRLDR, either as a bootsector, a no-emulation CD boot image or through NTLDR/BOOT.INI work "normally" even if a device driver like QCDROM+SHSUCDX is loaded and allow to access again the GRUB4DOS menu.lst by invoking GRUB.EXE
b.) FREEDOS booted from GRLDR, either as a bootsector, a no-emulation CD boot image or through NTLDR/BOOT.INI works "normally" even if a device driver like QCDROM+SHSUCDX is loaded but DO NOT allow to access again the GRUB4DOS menu.lst by invoking GRUB.EXE.If no device drivers are loaded, FREEDOS+GRUB.EXE work just like DOS.

So there is NO problem with using GRLDR+FREEDOS, unless you want to achieve the kind of "recursive" booting I am looking to get for my ezGRUB4DOS project, this is why I had the idea of getting the OS files from XP, see this:
http://www.911cd.net/forums//index.php?showtopic=16745&hl=

Back to topic, there is a newish problem I just found:
The same "normal" Win 3.1 install, with ALL the different shells I tried has different behaviours:
1) When booted "normally" from win.com, the DOS prompt works allright
2) When booted from the HX C:\Minibox\dosx.exe, invoking the DOS prompt leads to the error message:
QUOTE
Standard-mode switcher is not running. Cannot start application.


jaclaz
Nuno Brito
Those are really great news.. I really had the wrong impression on grub4dos, thank you! smile.gif



QUOTE
Back to topic, there is a newish problem I just found:
The same "normal" Win 3.1 install, with ALL the different shells I tried has different behaviours:
1) When booted "normally" from win.com, the DOS prompt works allright
2) When booted from the HX C:\Minibox\dosx.exe, invoking the DOS prompt leads to the error message:
jaclaz


HX was meant to run 32bit console and opengl applications, the original dosx.exe likely implements other features, but it's hard for me to pinpoint what since I don't have much experience with it..

dosx.exe - I wonder if the original HX developer would like to have a word in this? (I think I'll just ask him..) wink.gif

I can only wonder how win9x manages to bypass all these problems and simply load their setup program? dry.gif
Wendy
An alternate shell one might use is WPS for windows. This is an IBM ews thing, which presents an OS/2 desktop under Windows. It was my fav 3.1 shell, although most of the time, i used progman or something like that.

W
Nuno Brito
Yes, I've tried it too.. I liked the OS/2 flavour, but failed to run it in the minibox - maybe jaclaz can make further progresses and solve the riddle.. smile.gif
Nuno Brito
I've posted a link in http://scripts.pt.vu to host miniBox page


Delphi 1 can compile applications for use in 16 bit shells, if anyone has a special request for this environment just let me know.. smile.gif
jaclaz
Quick update:
Hx will not load the dos swapping program, this is stated in the docs, however the author says (wrongly) that the program is WSWAP.EXE, whilst it is really DSWAP.EXE.
(In my test install DOS prompt works WITHOUT WSWAP.EXE)

To load DSWAP.EXE, WIN.COM is necessary.

Windows 3.1 WIN.COM can be "rebuilt" from WIN.CNF+VGALOGO.LGO+VGALOGO.RLE.
These three files are available in most (but not all) S3 video drivers (and probably other makers') for Windows 3.1, a small search and a bit of patience will be enough.

By the way simply copying win.cnf to win.com will be enough to start win 3.1 WITHOUT ANY splashscreen, but win 0x files will probably need to be patched with 3xstart:
http://oldfiles.org.uk/powerload/win3x.htm
(at the moment I am doing my tests with DOS 6.22, to have best compatibility)
and this will probably cause as well some compatibility problem with FREEDOS...

However the problem seems to me the fact that DSWAP.EXE is not available outside original Win 3.1 disks.

Next try will be using a command prompt substitute, like econsole or quickwin.....

jaclaz
Nuno Brito
Jaclaz, I'm amazed with your testings, I want to help in any way I can, but I admit it's getting dificult to catch up with your progress.. laugh.gif

3xstart really seems the way to go in order to patch old applications - I wonder if any newer 16 bit app will need the patch too? huh.gif


I'll try to contact the HX-DOS author, he seems the right person to supply an alternative open source version of DSWAP.


eConsole seems cool - and they distribute the sourcode in delphi.. laugh.gif


quickWin seems a good option too, really small size - but will it still work in 16bit mode?


If you need customizations to eConsole just let me know.. smile.gif



Good luck with your testings! cool.gif
dennis123123
QUOTE (jaclaz @ Apr 18 2006, 11:51 AM) *
I have found this really MINIMAL, FREEWARE, shell, Hajime, just search on Google for hajim215.zip, that is just a configurable start button, that seems to work.
Please note that it must have the path for its .ini file somehow hardcoded, and it searches for it in \Windows or C:\Windows ( I am not sure, still experimenting).


The path isnt hardcoded! It tells you in the help file to specify in command line. eg:

CODE
C:\menu\hajime.exe c:\temp\hajime.ini
for example



Try WinHEX 7.5 for a great 16bit disk/hex editor.
jaclaz
@dennis123123

Well, the path IS hardcoded.

Unless off course, the presence of the string "C:\Windows\Hajime.ini" twice in the .exe is not "hardcoding" to you.

I have read the docs, thank you.... cool.gif

Problem is that the entry "shell=" does not accept a parameter, like the path to hajime.ini. mad.gif

Making a .bat file with
C:\Minibox\Hajime.exe C:\Minibox\Hajime.ini
and pointing the shell entry to it does not work as well. mad.gif

Quite strangely, making an EMPTY hajime.ini file in C:\Windows\ works and Hajime reads the .ini file from the same directory Minibox where the .exe is.

Final solution will most probably be hexediting the hardcoded path in the app.... dry.gif

@nuno
QUOTE
3xstart really seems the way to go in order to patch old applications - I wonder if any newer 16 bit app will need the patch too?

Actually 3Xstart does not patch apps, but rather the IO.SYS file of some versions of DOS 7.x that is not compatible with 3.1 WIN.COM, that appears to be a "red-herring" as stated here:
http://members.ozemail.com.au/~geoffch@oze...firstpublic.htm
http://members.ozemail.com.au/~geoffch@oze...d/ddjletter.htm
http://davesource.com/Fringe/Fringe/NonZen..._Out_DrDOS.html

jaclaz
Nuno Brito
Thanks for the explanation, I really had a wrong idea.. smile.gif


btw: I always liked the console terminal in kde, but never found a win32 equivalent - thanks for this great tip - most likely I'll include it in scriptPack as well.. laugh.gif
jaclaz
happy71.gif Small update:
Found another shell, this time really minimal:
GDESK 20

Find it here:
http://cvsup.de.openbsd.org/historic/comp/...desktop/system/
http://cvsup.de.openbsd.org/historic/comp/...em/gdesk_20.zip

Actually it's NO shell at all, you right click with the mouse anywhere on the screen and a menu will popup! smile.gif

CODE
04/12/1993  02.00               40.448 GDESK.EXE
04/12/1993  02.00                6.784 GDESKLIB.DLL
04/12/1993  02.00               15.616 GDESK.WRI
04/12/1993  02.00               20.976 CTL3D.DLL
               4 File         83.824 byte

and that includes 20 k of a shared dll and 15 k of .Wri help file! smile.gif smile.gif

jaclaz

Also found this one:
http://cvsup.de.openbsd.org/historic/comp/...em/ewexec15.zip
that could be the workaround for the missing dswap.exe:
QUOTE
This utility uses a feature of Windows 3.1+ to exit windows, run a DOS
application and then automatically re-start Windows. This program is
useful for running DOS programs which are not compatible with Windows
3.1 (such as Kommander Keen, Wing Commander and such). FREEWARE


going to try this...
Nuno Brito
There are some Next step shells for win3.1 - maybe they can be customized with skins too..?

here is a good link for a win3.1 resource page:

http://www.bookcase.com/library/software/w...util.undef.html



I've also stumbled with EGRESS, a program wich according to its description will:

QUOTE
Quick-exit from Win or Reboot or Restart or run DOS App
and another:

QUOTE
EDOS365D
Summary: Enhances DOS in Windows 386 Enhanced Mode




Good luck testing! laugh.gif
jaclaz
Nuno, off-topic, but not really, have a look here:
http://homepage.ntlworld.com/gvision/gv/download.htm
http://homepage.ntlworld.com/gvision/gv/gvfm.htm

One could even get a Minbox working WITHOUT Windows at all! wink.gif

jaclaz
Nuno Brito
sweet.. cool.gif

Especially because it derivates from pascal - and I can easily code anything in it.. but the main bugger to me is the nag screen displayed everytime an application runs..

It's really a pity - he has support for really big screen resolutions and the hability to run DOS programs - all I've been looking to find..

I'll post a message to the author, maybe he's interested in making a small exception in our case.. at least to help promote his work too..

There's only one inconvenient - I don't think he can multitask a DOS program along with his program, windows shell deals really well enough with multitasking - and I would surely prefer to use delphi on this..


But a really nice tip indeed.. where do you find all this stuff? laugh.gif
jaclaz
QUOTE (Nuno Brito)
But a really nice tip indeed.. where do you find all this stuff?


Fantasy, luck and massive googling! cool.gif

Another one:
http://datacomponents.kldp.net/71005/mos.html

jaclaz

P.S.: still searching for a substitute for DSWAP.exe/WSWAP.EXE...... blink.gif no joy yet!
Nuno Brito
Seems fun to try out..! laugh.gif
Nuno Brito
I've lost track to how many dos based GUI's I've found in the net - I was searching for one in particular - wich a sort of mini win in a mac-like win 16bit environment - this was back in 1998 - but haven't managed to find anything related to it on the web.. (I don't exactly remember the name - I think it was WinMac or something..)

Have you made any more progresses? smile.gif
jaclaz
UPDATE:
It seems like I have found a possible way to get rid of the dswap.exe file. smile.gif

Still very preliminary, just tested it in my QEMU full win 3.1 install, but it seems like working. tongue.gif

The solution is this version of OS2 files to run Win 3.1:
http://hobbes.nmsu.edu/cgi-bin/h-browse?dir=//pub/windows
http://hobbes.nmsu.edu/pub/windows/os2win31.zip

I will try to rebuild the install from scratch and see if it works as well. rolleyes.gif

jaclaz
aaaaa
laugh.gif
Nuno Brito
I'm really eager to see your results, they seem promissing.. laugh.gif

I've searched for win 16 sources, but should have focused more on OS2 apps - I just keep learning more and more about win 3.1 compatibilities.. cool.gif

Thanks for posting your lnks - I'll have fun checking these new apps, but I have a doubt.. Do you think they can be freely distributed? huh.gif
jaclaz
It seems like most of what I have written before has to be corrected:
1) It seems like there is NO need for WSWAP.EXE NOR DSWAP.EXE, if win3.1 is booted through win.com, the DOS swapping works as well.
2) Using an original win.com from 3.1 (including the VGA boot logo) or creating one from a win.cnf or using the winos2.com dos NOT make any difference
3) Any of the three files:
a.) work with MS-DOS 6.22
b.) work with DOS 7.1 (Win98) ONLY if IO.SYS is patched through 3xstart
c.) work with FreeDOS ONLY if you use a "special" kernel, still Beta:
http://wiki.fdos.org/Main/Windows
http://www.fdos.org/kernel/test/
(grab EITHER kernel.win.sys or kernel.win.fat32.sys and rename to kernel.sys)
This version works, though prints to the screen exit codes and, at least under QEMU appears to have problems running in a box, but works OK in full screen.
Please note that the added entry in System.ini
CODE
InDOSPolling=true

is NECESSARY for this kernel.
4) There is a newer version of the GDESK shell (2.2 as compared to 2.0):
http://www.winsite.com/bin/Info?500000004509
5)GDESK also needs the ddeml.dll that appears to be a redistributable file:
http://www.cs.wright.edu/people/faculty/ds...Lab5/SAMPLE.TXT
6)Cannot say if win.cnf has any string attached, but since, as said, it is included in a number of freely downloadable video drivers, there should be no licensing problems, as I see it, expecially because one MUST have a valid license for Win9x to use the mini.cab contents

Now the UNRESOLVED problems:
1) Find a good alternate FREEWARE filemanager
2) Understand if it's legal to distribute a DOSPRMPT.PIF, it seems like ONLY the original Win 3.x Pif Editor can manage these files, or find an editor for it

jaclaz
Nuno Brito
Those a really good news..

Another resource link:
http://www.dans20thcenturyabandonware.com/...-win1x2x3x.html

I can make a custom filemanager in delphi 1, but I don't know if it's possible to make a pif editor yet - I've searched a bit in google, but haven't found much info.. dry.gif
Nuno Brito
Here's some info I've digged regarding PIF files from here:

QUOTE
The Program Information Files have stayed a long time with the PC. They origi-
nated from IBMs Topview, were carried on by DoubleView and DesqView, and today
they are used by Windows and Windows NT. The PIF files store additional
information about executables that are foreign to the running multitasking
system such as ressource usage, keyboard and mouse virtualization and hotkeys.
The original (Topview) PIF had a size of 171h bytes, after that, there come the
various extensions for the different operating environments. The different
extensions are discussed in their own sections.

OFFSET Count TYPE Description
0000h 1 byte reserved
0001h 1 byte Checksum
0002h 30 char Title for the window
0020h 1 word Maximum memory reserved for program
0022h 1 word Minimum memory reserved for program
0024h 63 char Path and filename of the program
0063h 1 byte 0 - Do not close window on exit
other - Close window on exit
0064h 1 byte Default drive (0=A: ??)
0065h 64 char Default startup directory
00A5h 64 char Parameters for program
00E5h 1 byte Initial screen mode, 0 equals mode 3 ?
00E6h 1 byte Text pages to reserve for program
00E7h 1 byte First interrupt used by program
00E8h 1 byte Last interrupt used by program
00E9h 1 byte Rows on screen
00EAh 1 byte Columns on screen
00EBh 1 byte X position of window
00ECh 1 byte Y position of window
00EDh 1 word System memory ?? whatever
00EFh 64 char ?? Shared program path
012Fh 64 char ?? Shared program data file
016Fh 1 word Program flags

EXTENSION:PIF,DVP
OCCURENCES:PC
PROGRAMS:Topview, DesqView, Windows
REFERENCE:see DDJ #202, July 1993, QuarterDeck SDK
SEE ALSO:Windows PIF, Windows NT PIF



I haven't found a ready to use application for editing PIF, but I guess this will be a good guide to hex edit custom files - if you wish I can make a small program to hex edit these parameters.. laugh.gif
jaclaz
Well, there is a pif editor for desqview pif files:
http://esca.atomki.hu/simtel/msdos/desqview.html
with source:
ftp://ftp.iif.hu/pub/simtelnet/msdos/desqview/dvpif10.zip
but it did not work for me.

jaclaz
Nuno Brito
Here's another link for win.31 resources:

http://www.sac.sk/files.php?d=15&l - there are many file manager options in the site - but they are bundled with win9x and DOS applications.. dry.gif
jaclaz
Proposed TASKMAN.EXE substitute:
FTASKMAN
http://ftp.sac.sk/mirrors/sac/utiltask/
http://ftp.sac.sk/mirrors/sac/utiltask/ftask124.zip

Proposed NOTEPAD.EXE substitute:
SUPERPAD
http://asgard.actrix.co.nz/windows/win3x/desktop/
http://asgard.actrix.co.nz/windows/win3x/d...op/superpad.zip

Proposed FILEMAN.EXE sustitute:
FileExpress 1.0
http://cd.textfiles.com/pier06/046/FEXPR1_0.ZIP
(simple, dual pane, includes date/time)

jaclaz
Nuno Brito
Do you know a way of upxing 16 bit win 3.1 files?

I've tried the earliest version of UPX from their site, and the latest also - but both refused to compress delphi applications..


btw: Started making a small test application to open text files, really simple but I wanted to know the differences between delphi 7 and delphi 1 - Can you please tell me if this works on your win 3.1 build?

hxxp://nunobrito.100free.com/Win31/NOTE16.zip

Thanks!
laugh.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.