VOICE Home Page: http://www.os2voice.org
[Newsletter Index]
[Previous Page] [Next Page]
[Features Index]

March 2001

OS/2 Tips

We scan the Web, Usenet and the OS/2 mail lists looking for these gems. Have you run across an interesting bit of information about OS/2 recently? Please share it with all our readers. Send your tips to tips@os2voice.org. If you are interested in joining a particular OS/2 Mailing List, check out the VOICE Mailing List page for subscribing instructions for a large variety of existing Lists - http://www.os2voice.org/mailinglists.html.

Editor's note: these tips are from OS/2 users and in some cases can not be verified by myself. Please heed this as a warning that if you are not sure about something, don't do it.

January 23, 2001 - IBM's Scott E. Garfinkle on comp.os.os2.bugs offers this help for anyone getting "Out of Memory" messages when running Java apps:
"Out of Memory" only very rarely means that you're out or RAM/swap. Usually, it's something that's exhausted the private or shared arenas. First, get FP15 or MCP. Second, add "SET JAVA_HIGH_MEMORY=1" to config.sys.

January 26, 2001 - Forwarding messages to the VOICE News list, I noticed a problem with some posts becoming disjointed. A helpful prod from David Eckard pointed me to the best way to reflow these paragraphs in MR2ICE:
I see by the header that you are using mr2 ice.... For the above passage from a web page, I find ctrl f9 really really helpful. Do put two blank lines between each paragraph before using ctrl F9 on said paragraph.

February 1, 2001 -Ulrich Möller, the main developer of XWorkPlace, offered this suggestion on the XWorkPlace User Mail List on how to help add stability to the WPS:
I'd suggest getting rid of the MM classes anyway, they have hung my system too many times.

There's a script in MMOS2 that will deregister them for good... let's see... run "F:\MMOS2\INSTALL\INSTMMVW.CMD -R" (mind the -R for deregister).

Or, you can do as I did, and define two program objects, one called "Multimedia Player" and linked to "C:\MMOS2\AB.EXE", and the other called "Multimedia Editor" and linked to "C:\MMOS2\WEPM.EXE" (if "C:" is your MMOS2 drive).

Let's see. I use AB.EXE for playing my audio files. I created a program object for it and associated it with WAV files and so on. If you use XWP's extended associations, I'd suggest association AB.EXE with the "Digital Audio" type and making AIF, AU, IFF, MP3, SND, VOC, WAV, _AU subtypes of that.

VB.EXE is the video player. Similar to the above, associate that with "Digital Video" and make AVI, FLC/FLI, MPEG, QuickTime (MOV) subtypes of that.

Yes, I know that there should be a default setup for the extended file types. ;-)

Editor's note: Though this in fact works, be aware that it also removes your "Volume" object as well. To reverse this, just rerun INSTMMVW.CMD without the -R parameter which will re-install all the MMOS2 classes. Here is a short REXX script that worked for me to restore the Volume object. I had to reboot after running INSTMMVW for it to work:
/* instvolume.cmd */
/* */
/* This REXX command file will install the MMVolume object. */
/* */
/* Example: */
instvolume */

/* Load all the Rexx Util functions */
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs
call RxFuncAdd 'RxWinReplaceObjectClass', 'mmparts', 'RxWinReplaceObjectClass'

if SysRegisterObjectClass('MMVolume', "mmparts") then
say 'MMVolume class registration successful'
say 'MMVolume class registration failed'


February 4, 2001 - Dan Leitner offered the following instructions for uninstalling a win32 app under installed/run Odin. this is courtesy of the Odin Users list:
To un-install a win32 program installed in Odin that you don't need or were not able to complete the install, do the following.

open regedit2.exe
From this key:

Select and copy the 'Uninstallstring' value with Ctrl+Insert.
Open a command prompt
Paste the string onto the command line
use the left arrow key to move cursor to front of line
then Press insert Key, and type "PE "
Press Enter.

To test the procedure try it on 'Odin Test' program.

This has worked for me on a few programs.

February 5, 2001 - Here's a useful gem from Don Eitner on the eComStation Yahoo mail list for people who use the DIR command:
One setting I've always found useful was:


This makes DIR listings much more readable, with directories first and then file sorted alpha-numerically.

February 5, 2001 - Duane Chamblee of Indelible Blue offered these tips on getting by a WPS initialization hang. Again from the eComStation Yahoo mail list:
Next time, boot to a commandline, change into your desktop directory,md a "bad" directory and move all files into it
cd \desktop
md bad
move * bad
(this doesn't move folders, just file objects)
After doing this, my desktop comes up when it hangs like you say... I think there is something on the desktop that keeps it's initial "refresh" from completing correctly.

Of course before I try the above method, I always try "Ctrl+Shift+F1" to stop any startup folder actions. If the WPS still hangs, boot to command line and move the objects usually gets it back.

(I've even moved the objects back to the desktop with no problems!?!, don't know why)

February 8, 2001 - If you ever need to stop a running instance of MR2ICE, here is a tip from Frank V. Schubert on the MR2ICE mail list:
Try using /`

That is the accent mark just to the left of the 1 key.

I asked this a long time ago and Nick told me about this. I tried it and it does work. I wrote a simple listserver Rexx exec which only ran MR/2 during certain times of the day. What it did was at 9:00AM in the morning, it started MR/2 up and then shut it down at 5:00PM. It started it using the command:

MR2 /-

and then shut it down by issuing

MR2 /`

This seemed to work although I never completed the exec. But at least it seemed to start and shutdown MR2.

February 11, 2001 - Again we have a tip from Duane A. Chamblee, this time on the XWorkPlace mail list:
If you used DFSEE to win2k proof bootmanager, SETBOOT no longer recognizes it... I notified Jan van Wijk about this, but there is really nothing he can do because he is only changing ONE byte on the bootmanager partition.

He sent me these quick commands on using DFSEE command to pick the reboot...

dfs setboot! ibd:e
/* note the exclamation for 'batch' */

dfs -b setboot /ibd:e
/* note the '-b' for batch and optional '/' */

dfs -b -q setb ibd:e
/* additional '-q' for quiet operation */

For most SETBOOT.EXE commands, you can just prefix it with 'DFS -b' for the same result ...

February 12, 2001 - Here are a couple of tips on International Language support in OS/2 from the eComstation list from Michal Necasek:
To anyone interested in OS/2 related I18N stuff, I heartily recommend visiting http://www.borgendale.com/ and reading the available info there. Be especially sure to grab http://www.borgendale.com/tools/ulstools.zip and play with the SHOWCP applet. Ken Borgendale was the brain behind I18N on OS/2.
Another tip on Internationalization in OS/2 from Michal Necasek:
I found a little REXX program that shows the available country/codepage combinations defined by COUNTRY.SYS. It's not big, so here's the source:

---------------------------------- cut here -----------------------------
/* showctry.cmd -- country.sys file viewer */

say 'OS/2 COUNTRY.SYS file viewer'

arg infile x

if infile = '' then do
say 'Usage: showctry <country file>'

if x = '' then
ctry = 0
ctry = x

ofs = x2d('1B')
call skip(ofs)

say 'Ctry CP ? Offs ? ?'

rc = 0
do while rc <> 62
rc = printctry()
if rc <> 12 then leave


country = readw()
codepage = readw()
unknown1 = readl()
offset = readw()
unknown2 = readw()
unknown3 = readw()

if (country = ctry) | (ctry = 0) then
say format(country,4) format(codepage,4) unknown1 d2x(offset) unknown2 unknown3

return unknown3

v: /* convert a decimal value to an human-readable representation */
if arg(1) < 32 then
return ' 0x'd2x(arg(1),2)' '
return ' "'d2c(arg(1))'" '

readb: /* read one byte from infile */
return x2d(c2x(charin(infile,,1)))

readw: /* read one word from infile */
return w2d(charin(infile,,2))

readl: /* read one long from infile */
return l2d(charin(infile,,4))

skip: /* skip arg(1) chars */
return charin(infile,,arg(1))

bit: /* return bit arg(2) of arg(1) */
return substr(x2b(d2x(arg(1),4)), arg(2),1)

w2d: /* littleendian word to decimal */
w = c2x(arg(1))
return x2d(substr(w,3,2)substr(w,1,2))

d2w: /* decimal to littleendian word */
w = d2x(arg(1),4)
return x2c(substr(w,3,2)substr(w,1,2))

l2d: /* littleendian long to decimal */
l = c2x(arg(1))
return x2d(substr(l,7,2)substr(l,5,2)substr(l,3,2)substr(l,1,2))

d2l: /* decimal to littleindian long */
l = d2x(arg(1),8)
return x2c(substr(l,7,2)substr(l,5,2)substr(l,3,2)substr(l,1,2))

halt: /* abort operation */
say '^C'

---------------------------------- cut here -----------------------------

Only the first two columns are interesting... note that country 1 (US) indeed allows unusual number of codepages. I assume this was done for testing. While most countries support 3 codepages (one of them 1004), US supports 28 codepages on FP15.

February 12, 2001 - Ever need to print a plain text file to a postscript printer? K. Imre offers this neat trick on the OS2User Yahoo list:
If you just want to print a text file in a PostScript printer then you may use a "simple" method by adding the following six lines in front of the text file before sending to the printer:

=========================Begin file simple=====================================
%!PS-Adobe-1.0 %%Creator: Jon Saunders %%Simple Ascii-PS header v1.1
/d/def/s/show/SP/showpage/E{{loop}stopped p}def/S/string/CF/currentfile/l/loop

/findfont/v/scalefont/w/setfont/D/dup/o/if/n/gt{load def}E/r{H G{lt g f of q m
CF L R{s}{x}ie}l SP}/L{255 S} /g{/f c e p D Z e n{p SP z}o d}/G{z z m}/H{F u of
v w}{d}E/lt 40/L L/of 8/z 800/F/Helvetica/Z 30{d}E r
=========================End file simple=======================================


copy simple + your_text.file prn

should work if prn is a PS printer.

I usually put couple of blank lines on top of the text file so that default setup of the printer would not chop the top off. You can also change the font type and size if you wish.

February 14, 2001 - Network cards were a big discussion topic on the eComStation Yahoo list lately, Duane Chamblee passed on this tip from Jan Swartling for people trying to install a Netgear FA-310TX network adapter:
Apart from the install procedure that other have described in great detail, I had to make some changes to the L100.NIF file before I got it to work.

The changes was made to the [Media Mode] block. After the changes mine looks like this

display = "Serial connection type"
type = string
strlength = 14
optional = yes
set = TP_10,TP_10_FD,TP_100,TP_100_FD,AUTODETECT
default = AUTODETECT
help = "This parameter specifies the serial connection type used on the adapter.

February 14, 2001 - Someone asked on the MR2ICE mail list about tnef attachments on emails. Turns out this is yet another non-standard standard from microsoft. Steven Levine offered the following advise on how to deal with them:
ICE does not support these directly. Find a copy of:


and you will be able to decode them. If you get a lot of them, you can hook up something in msgutil to automate the decode. You could also ask your friend to change the settings to attach the files in standard MIME format.

[Previous Page ] [ Index] [Next Page
VOICE Home Page: http://www.os2voice.org