VOICE Home Page: http://www.os2voice.org |
[Previous Page] [Next Page] [Features Index] |
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.
"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.
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.
I'd suggest getting rid of the MM classes anyway, they have hung my system too many times.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:
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. ;-)
/*****************************************************************/
/* 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'
else
say 'MMVolume class registration failed'
exit
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:
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\Uninstall\'Your application name'
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.
One setting I've always found useful was:
SET DIRCMD=/P/O:GEN
This makes DIR listings much more readable, with directories first and then file sorted alpha-numerically.
Next time, boot to a commandline, change into your desktop directory,md a "bad" directory and move all files into it
cd \desktopAfter 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.
md bad
move * bad (this doesn't move folders, just file objects)
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)
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.
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 ...
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'
say
arg infile x
if infile = '' then do
say 'Usage: showctry <country file>'
exit
end
if x = '' then
ctry = 0
else
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
end
exit
printctry:
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)' '
else
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'
exit
---------------------------------- 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.
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
/R/readline/ie/ifelse/x/exit/p/pop/c/currentpoint/e/exch/q/sub/m/moveto/u
/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=======================================
Then
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.
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
[Media_Mode]
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.
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.