Date: Wed, 7 Feb 1996 02:41:53 -0500 (EST) From: Sujal Patel <smpatel@wam.umd.edu> To: willows@throck.com, hackers@freebsd.org Subject: Emulated x86 - FreeBSD Willows Twin Running Message-ID: <Pine.BSF.3.91.960207012200.197U-100000@xi.dorm.umd.edu> In-Reply-To: <Pine.LNX.3.91.960206105337.1941G-100000@www>
next in thread | previous in thread | raw e-mail | index | archive | help
I'm happy to announce that the EMULATED x86 version of the Willows Twin package is now running properly on FreeBSD. The software runs slow as molasses, but this will improve dramatically once we fold in the User LDT and interrupt stuff for FreeBSD. I was able to successfully run many Windows applets and also run MS PowerPoint 4.0 (it's actually useable too). The FreeBSD port isn't really ready for the mainstream, so be prepared for hacking if you want to try using it (though it should work without any problems). Note: The binary requires FreeBSD-current from Jan. 21 or later (2.1R users will need to recompile the whole mess). The patches and a binary will be made available by Willows soon (I'll upload them tonight). You'll need probably need to be registered with Willows to gain access to the FTP site (see www.willows.com). Please send bug reports/problems with the FreeBSD port to willows@throck.com Just remember that this TWIN doesn't work with nearly all Windows software yet. Here is what you need to follow to compile the binary from the source: patch -p0 < freebsd.x86emul.twin.patch setenv TARGET freebsd cd src/win ./configure touch DrvSystem_freebsd.s [Edit the paths in makeinclude/*freebsd*] [Make the tools in winsdk] gmake xwin Here is the way I run it: setenv WINDOWS /mnt/dos/windows setenv TWINDIR /xi2/smpatel/twin/src/win setenv TWINRC /xi2/smpatel/twinrc setenv LD_LIBRARY_PATH=/xi2/smpatel/twin/src/win cd /mnt/dos/windows /xi2/smpatel/twin/src/win/xwin Thanks to Jordan Hubbard, Michael Smith, Gary Jennejohn, Brian Smith, and Rob Farnum for their work in get this port working. Sujal --- sample twinrc, referenced by the TWINRC variable [see above] --- ############################################################################## # # Configuration Guide # --------------------- # win.ini Definitions of entries in win.ini # system.ini Definitions supported by system.ini # ############################################################################## # # WIN.INI # ############################################################################## # # The following entries in the [windows] section # are supported: # CursorBlinkRate the rate at which to blink the caret # DoubleClickRate how fast to recognize a doubleclick # FontFace alternate system typeface name, helvetica # FontSize alternate system point size, 14 # IconFontFace alternate typeface for MDI icons windows # IconFontSize alternate pointsize for MDI icons windows # FontAspect to specifically choose 75 vs. 100dpi fonts # Device what is the default printer... # [windows] CursorBlinkRate=530 DoubleClickRate=452 Device=Apple LaserWriter,PSCRIPT,LPT1: # # The following are pseudo entries. They describe # what printers are configured. # The entries here are those supported by the # binary printer driver. # # This printer will write to a file, specifically printout.ps [Apple LaserWriter,LPT2:] CtrlD=0 feed1=1 feed4=1 EPS=1 EpsFile=printout.ps # This printer will write to the file specified in [portalias] for LPT1: [Apple LaserWriter,LPT1:] CtrlD=0 feed1=1 feed4=1 EPS=0 # # The following give aliases for devices. The # device alias may start with | to signify that # output from the device will be piped to the # specified command. The entries here can be # set by the Device Manager, which emulates the # devices section of the control panel. # [PortAliases] LPT1:=| rsh daffy "lpr -h" LPT2:=lastfile.ps COM2:=/dev/cua2 COM1:=/dev/cua1 # This is read by some applications, and so is # turned off to disable truetype. The library # DOES NOT use this entry. # [TrueType] TTEnable=0 # This is only maintained for applications, and # is not used by the library. # [intl] sLanguage=English (American) sCountry=United States iCountry=1 iDate=0 iTime=1 iTLZero=1 iCurrency=0 iCurrDigits=2 iNegCurr=0 iLzero=1 iMeasure=1 s1159= s2359= sCurrency=$ sThousand=, sDecimal=. sDate=/ sTime=: sList=, sShortDate=M/d/yy sLongDate=dddd, MMMM dd, yyyy # # This table provides the font alias to use for the # given typeface. The alias represents a font that # is supported by the system. # [FontSubstitutes] Helv = helvetica Symbol = symbol Arial = charter Arial = new century schoolbook courier = courier Times New Roman = times Times New Roman Bold = times Tms Rmn = times MS Sans Serif = helvetica MS Serif = charter ################################################################## # # This [colors] section describes the color mapping for # built in controls, and MDI windows. # # format: # color = blue green red 0 - 255 # = #hex 0 - ffffff # # red|green|blue = #hex 0 - ff # = decimal 0 - 255 # # keywords: # # Scrollbar # Background # ActiveTitle # InactiveTitle # Menu # Window # WindowFrame # MenuText # WindowText # TitleText # ActiveBorder # InactiveBorder # AppWorkspace # Hilight # HilightText # ButtonFace # ButtonShadow # GrayText # ButtonText # InactiveTitleText # ################################################################ [colors] #Hilight=0 0 255 #HilightText=255 255 255 ################################################################ # # These sections is used by the Print Manager and Control Panel # Printer.cpl. These describe the configured printers. # [PrinterPorts] Apple LaserWriter=pscript,LPT1:,15,45 [devices] Apple LaserWriter=pscript,LPT1: ################################################################## # # This is the mapping of devices to devices... # Aliases are kept in [PortAlias] above. # [ports] ; A line with [filename].PRN followed by an equal sign causes ; [filename] to appear in the Control Panel's Printer Configuration dialog ; box. A printer connected to [filename] directs its output into this file. COM2:=9600,n,8,1 LPT1:= EPT:= FILE:= ;LPT1.OS2= ;LPT2.OS2= FAXMODEM= ############################################################################## # # SYSTEM.INI # ############################################################################## # # In the [boot] section, the following keywords are recognized # compatibility see below for detailed explanation # screenwidth override the actual screen width # screenheight override the actual screen height # minwidth a minimum window width # minheight a minimum window height # directories well known directory locations... # it is a semi-colon separated list of # directories, they are list in the drop # down list box, instead of drives... # # The following two are examples of how you may override a builtin # library DLL, by specifying it in the [boot] section. # # COMMDLG.DRV = COMMGLG.DRV # VER.DLL = VER.DLL # SHELL.DLL = SHELL.DLL # ####################################################################### [boot] directories=/mnt;/usr/lib/X11;/etc;.;/xi2/smpatel/windows;/xi2/smpatel/windows/system ####################################################################### # # # this can be any value, some programs do read it, and display it # [boot.description] display.drv=XFree86 3.1 ####################################################################### # # Drive mapping table... # ####################################################################### # # The following are drive mappings, which means that all references to # a given drive letter are mapped to the following directory. # (This is currently only supported in the binary interface) # [xdos] C=/xi2/smpatel/windows D=/xi2/smpatel ####################################################################### # # The logic of reading profile strings has been extended # as follows.o: # # If $WINDIR is defined and set, it becomes the Windows # Directory. # # /usr/lib/X11/xwin is the default global windows directory # # If a .ini file can not be found in the Windows Directory, # we look in the current directory, and then in the users # home directory. # ####################################################################### # # The following discusses the process of LoadLibrary and LoadModule. # According to documentatio, when loading a DLL,... # If we have a fully qualified name, then load it, otherwise... # # We first look in the current directory, then # We look in the WindowsDirectory, then # We look in the WindowsSystemDirectory, then # We look in the directory containing the current executable, then # We look in the $PATH, then # We look in directories mapped in a network # #######################################################################
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.960207012200.197U-100000>