Author Topic: Revisiting old OS/2 Software.  (Read 28318 times)

xynixme

  • Guest
Re: Revisiting old OS/2 Software.
« Reply #30 on: July 23, 2019, 09:01:01 pm »
Rather static output (ASCII, codepages, chemical elements, food databases, keyboard lay-outs, Latin dictionary, BMI calculator, ...) versus variable output per system (font viewer, clipboard viewer, ...).

You could wonder if the number of apps is worth an own category. Can an user be bothered to check all 94 clocks to find the 2 alarm countdown clocks? Editorial choices.

I do introduce a new level of folders when the number of apps in a folder exceeds some limit, or when there are enough apps to justify an own subfolder. For example, my Utilities-folder contains an environment-related subfolder "Geography" (mixed OSes). Route calculators, maps, Cosmos/2, Moon, Night Vision(s), PM Globe, Weather Calculator, Xplanet.

I can image that someone would move the Weather Calculator to your unit conversion-section with variable user input (a wind speed of X MPH always remains a wind speed of Y knots), which would be an understandable editor's choice. At Hobbes it's "misc": http://hobbes.nmsu.edu/download/pub/os2/apps/misc/wcalcos2.zip

I considered reporting PCX2PRN for the Fiannce-category, but it was my editor's choice to not do that. Converting (data conversion) some free downloadable (category internet) image (graphs, graphics) to (typically financial) data. You'd almost wish "tags" would exist. Like "clock", "text mode" and "open sourced", to find all text mode clocks which can be maintained. Cross-links won't work, because a page "text mode" may be too large to be useful.

Following Hobbes will be a good starting point. Unless, for example, an internet directory contains too much (WWW, mail, PM Mail, Mozilla, usenet, downloaders, speed monitors, ...) files to be useful indeed.

It also depends on goals. I'd try to avoid almost empty categories, because that would demote an OS when users are offered one choice. Fore example, I know one internet telephony app and it ain't Facetime (or whatever that's called).

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4710
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Revisiting old OS/2 Software.
« Reply #31 on: July 24, 2019, 04:07:55 pm »
You could wonder if the number of apps is worth an own category.
Agree on that.

I think I should go with the flow. I will see how things take shape and how much time I can use to have a wiki page for each OS/2 software. The good thing with the wiki is that I can start doing something "quick and dirty" and evolve it and fix it with time.

For the moment I invite everyone to help me, you can share a screenshot of you favorite OS/2 application here and I will include it on the wiki.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

xynixme

  • Guest
Re: Revisiting old OS/2 Software.
« Reply #32 on: July 26, 2019, 03:50:17 am »
While translating its basic WPS UI to Dutch for eCS 1.2 NL, to avoid mixing UI languages, I've updated the CmdHere wiki with registration codes. No screenshots, because mine are translated and now print "Open sourced" instead of "$10".

For OS/2 sessions PMDIR.EXE is the antipode of CmdHere. PMDIR opens the current CMD.EXE directory as a folder. But I didn't dare to create an initial PMDIR wiki and links to each other. Both antipodes are quite easy to translate, FWIW. Mainly copy & paste "IBM translations", like the default OS/2 name of a folder object and its views (details, icon, tree, settings).

CMDRUN13.ZIP is a slightly different alternative for CmdHere: http://home.clara.net/orac/os2.htm#cmdrun.
« Last Edit: July 26, 2019, 04:42:00 am by André Heldoorn »

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4710
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Revisiting old OS/2 Software.
« Reply #33 on: July 26, 2019, 05:10:57 pm »
Hi André.

Good work with the CmdHere translation. Do you think it can be a way to merge your Dutch translated source code with the git ? https://github.com/OS2World/UTIL-SYSTEM-CMDHere
So the source code files (English and Dutch) remains in one repository.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

xynixme

  • Guest
Re: Revisiting old OS/2 Software.
« Reply #34 on: July 26, 2019, 09:02:46 pm »
Do you think it can be a way to merge your Dutch translated source code with the git ?
Good question. In Dutch, the "ReadMe.TXT" explains why the source code is not included. There are no functional changes, it's not a full distribution of all binaries, and one of the changes was related to a patched and moved, copyrights-protected IBM header file.

If I would be lazy and just "dump" changed original files, for a true and legal merger, then it may look like the required file WPFOLDER.H is missing. If I would undo changes, then there's a fatal error during the execution of NMAKE.

The source for a word like "OS/2-opdrachtverwerkingsprogramma" was "HELP CMD.EXE". Names of eCS WPS object were used as-is too, like "DOS-aanwijzing (Volledig Scherm)". Once it compiled without fatal errors, using a F: drive, most of the work was related to the length of the word "OS/2-opdrachtverwerkingsprogramma". That didn't fit.

I can attach images of the most relevant components and changes, assuming that an user entered a registration code during the install. The basic WPS UI. I have no list of changed texts, but such a list would be rather short.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: Revisiting old OS/2 Software.
« Reply #35 on: July 27, 2019, 01:32:44 am »
Hi André.

Good work with the CmdHere translation. Do you think it can be a way to merge your Dutch translated source code with the git ? https://github.com/OS2World/UTIL-SYSTEM-CMDHere
So the source code files (English and Dutch) remains in one repository.

Regards

Just create a branch and check it out, commit the Dutch version and push. Something like,
Code: [Select]
git branch Dutch
git checkout Dutch
git commit -a -m"Dutch translation" -m"Thanks to André Heldoorn"
git push Dutch
not quite sure about the push command.

xynixme

  • Guest
Re: Revisiting old OS/2 Software.
« Reply #36 on: July 27, 2019, 09:57:38 am »
Translation "errors" were copied too, FWIW. "(Volledig Scherm)" -> "(volledig scherm)". "eCS" is hard-coded text. Hence "for eCS 1.2 NL", or a release per product if e.g. AN didn't switch back to "OS/2 session (Full Screen)"

not quite sure about the push command.

No need for credits. If github is the new official home of CmdHere, then perhaps the home of-URL had to be adjusted too. Of course you'll have the freedom to copy (un)zipped files from Hobbes to a gitgub download section. I've used the embedded original SourceCode.zip @ Hobbes, which may have been changed/fixed before source was uploaded to github.

I've got a diffutils-3.7.zip. Can this be used to produce output which looks like the sample below, and would that help? IOW: is this input to merge code when you have nothing but the original source code, maybe after having to change directory names or file names?

Code: [Select]
diff -buNr src/util.c.org src/util.c
--- src/util.c.org 2008-04-15 10:22:12.000000000 +0900
+++ src/util.c 2009-01-09 01:59:12.000000000 +0900
@@ -160,7 +160,7 @@
 char *
 fillout_device_name(const char *device_name)
 {
-#if defined(HAVE_WIN32_CDROM)
+#if defined(HAVE_WIN32_CDROM) || defined(HAVE_OS2_CDROM)
   return strdup(device_name);
 #else
   unsigned int prefix_len = strlen(DEV_PREFIX);

Here "diff.exe -buNr \NL\cmdhere\cmdhres.mak \EN\cmdhere\cmdhres.mak" didn't produce any output, with or without -buNr.

BTW, w.r.t. Unix-tools: looks like fontconfig-related software now may produce a \@unixroot directory. If so, then I'll downgrade that.

xynixme

  • Guest
Re: Revisiting old OS/2 Software.
« Reply #37 on: July 27, 2019, 10:34:57 am »
FWIW, the default menu-option "Opdrachtaanwijzingen" of the first screenshot is almost identical, but mixes title bar languages and offers less options and less settings than CmdHere.

In theory one may want to replace "Opdrachtaanwijzingen" (OS/2 window or a DOS window only) by a (renamed) "CmdHere"...

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4710
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Revisiting old OS/2 Software.
« Reply #38 on: July 27, 2019, 02:29:54 pm »
If github is the new official home of CmdHere, then perhaps the home of-URL had to be adjusted too.

I will suggest to go for it. If you have the time change the homepage URL, remove Gary's emails and address, and any shareware reference since it is now GNU GPL.
I was the one that made that source code available with the permission of Gary L. Robinson, and he agreed to open source it.

I don't know about "git branches" so it can be a great exercise to commit to github the changes.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

xynixme

  • Guest
Re: Revisiting old OS/2 Software.
« Reply #39 on: July 27, 2019, 04:47:04 pm »
I will suggest to go for it. If you have the time change the homepage URL, remove Gary's emails and address, and any shareware reference since it is now GNU GPL.
There is more to it than just replacing visible text, at least twice (once per language), and I don't have an environment to reproduce the original binaries, without any errors or warnings, first. That may require an older toolkit, for example. That's why my version has an "unsupported" or as-is status.

Replacing his personal data by a different text is easier than removing it, because otherwise you'll have to redesign ugly dialogs. That's why a long word took most of the time, mainly because an uninstall is required between attempts. EXEs are easier to test than registered WPS class DLLs.

For one to avoid functional changes and new source code with a (c) IBM file, I've documented a registration code (wiki, Dutch ReadMe.TXT) and just replaced "Only $10" by "Open sourced". And I cannot recompile the original English source code without any errors or warnings, so I cannot guarantee I'm reproducing the original binaries first. I'm also not supporting the include debug code.

With a classic dialog editor it should be quite easy to duo what you want. I do assume it's possible the source code matches the binaries, because there tend to be no meaningful problems with his source code. ZipZap can be recompiled too, for example.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: Revisiting old OS/2 Software.
« Reply #40 on: July 27, 2019, 04:59:42 pm »

I've got a diffutils-3.7.zip. Can this be used to produce output which looks like the sample below, and would that help? IOW: is this input to merge code when you have nothing but the original source code, maybe after having to change directory names or file names?

Code: [Select]
diff -buNr src/util.c.org src/util.c
--- src/util.c.org 2008-04-15 10:22:12.000000000 +0900
+++ src/util.c 2009-01-09 01:59:12.000000000 +0900
@@ -160,7 +160,7 @@
 char *
 fillout_device_name(const char *device_name)
 {
-#if defined(HAVE_WIN32_CDROM)
+#if defined(HAVE_WIN32_CDROM) || defined(HAVE_OS2_CDROM)
   return strdup(device_name);
 #else
   unsigned int prefix_len = strlen(DEV_PREFIX);

Here "diff.exe -buNr \NL\cmdhere\cmdhres.mak \EN\cmdhere\cmdhres.mak" didn't produce any output, with or without -buNr.

That's strange. Does diff.exe --help work? Perhaps due to the r. Try simple
Code: [Select]
diff -u NL\cmdhere\cmdhres.mak \EN\cmdhere\cmdhres.mak > cmdhres.patch"might also need --binary depending on line endings. the diff -buNr is for directories rather then files. diff --help | less for all the commands.
Using the *nix patch command,
Code: [Select]
patch -p0 --binary < cmdhres.patchshould apply the patch. Add --dry-run for testing. Git patches need -p1

Quote
BTW, w.r.t. Unix-tools: looks like fontconfig-related software now may produce a \@unixroot directory. If so, then I'll downgrade that.

Fontconfig looks in @unixroot/etc/fonts for its font.conf file. Really need one that looks in %ETC% for people without @unixroot. There's always the old mzfontcfg, which has enough of the API to work for a lot of stuff.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4786
  • Karma: +99/-1
    • View Profile
Re: Revisiting old OS/2 Software.
« Reply #41 on: July 27, 2019, 05:16:14 pm »
I don't know about "git branches" so it can be a great exercise to commit to github the changes.

They're handy, if only for doing work before pushing to master. I'll create a branch called work or such to experiment then can rebase it or merge it to master or create git patches with "git format-patch" or even "git diff"
Lots of tutorials out there.
Also for all this patching, have to watch line endings too as these tools by default consider a change in line endings to be a change in source.

xynixme

  • Guest
Re: Revisiting old OS/2 Software.
« Reply #42 on: July 28, 2019, 03:11:52 am »
Oops, I may have kept the wrong CmdHere source code. Intentionally'ish, because it's unsupported.

If I can actually use DLGEDIT.EXE (or the URE, the Universal Resource Editor) to produce a new DLG file, without having to guess & hope that new coordinates and new sizes are right, then I may change the English version first. Instead of pretending to be nothing but the author of a different version. DLGEDIT.EXE is IBM's documented legacy Dialog Editor.

If I cannot, then I may produce DIFF files which can be easier for new translations, but without bothering if a new text still fits. DIFFs are smaller, and presumably (the virtual sample)...

Code: [Select]
-- SETTINGS_DLG "Settings ..."
++ SETTINGS_DLG "Instellingen ..."
-- ADV_TXT "Just $10"
++ AVD_TXT "Open sourced"

... could make translating "Settings" to the German "Einstellungen" simpler. Replace "Instellingen" and execute PATCH, as described by Dave Yeo.

xynixme

  • Guest
Re: Revisiting old OS/2 Software.
« Reply #43 on: July 28, 2019, 11:00:39 am »
There's your (possible) problem:

According to GitHub, the source code is of a version 1.12, build 402.
According to recompiled source code at Hobbes, it's 1.12, build 130 (About-dialog, screenshot above here).

May be just a number which had to be increased, FWIW. To make sure I'ld suggest to try to reproduce a clone of the English binaries first, to make sure that a modernized version actually isn't an implied downgrade from 402 to 130.

Instead of possibly downgrading all (English) binaries, I'll try to reproduce DIFF files. So e.g. a German translator just has to look at a few lines, and has both Anglo-Saxon and D(e)ut(s)ch input to get inspired. In pseudo-code:

-- SETTINGS_DLG "Settings ..."
++ SETTINGS_DLG "Instellingen ..."

In that case Replace "Instellingen ..." by "Einstellungen ...", and patch the original source code. DIFFs are smaller than nearly identical full source code files.

At least one of the full URLs, Hobbes is another candidate to replace an address in Ohia, is too long to fit. So there's more to it than just replacing text. I'll translate it as-is. It's an editor's choice to replace a GitHub URL by e.g. a shorter os2world.com wiki URL, which somehow refers to GitHub (and Hobbes). Registration during the install was already taken care by: a RTFreadme.txt per translated release, so no real need to change the way it works.

xynixme

  • Guest
Re: Revisiting old OS/2 Software.
« Reply #44 on: July 29, 2019, 01:46:38 am »
I don't know about "git branches" so it can be a great exercise to commit to github the changes.

Here's an untested plan, and an untested set of attached DIFF files:

Code: [Select]
Assumed environment: IBM VAC 3.08, OS/2 toolkit v4.52, original SOURCECODE.ZIP unzipped in F:\

Edit the *.DIFF files, if you want to compile CmdHere for another language and/or another OS-name.

Patch F:\CMDHERE\WPSDLL\CMDHERE.C (cmdhere.c.diff)
Copy F:\CMDHERE\WPSDLL\CMDHERE.IH to F:\CMDHERE
Copy F:\CMDHERE\WPSDLL\CMDHERE.H to F:\CMDHERE
NMAKE F:\CMDHERE\WPSDLL\CMDHERE.MAK

Copy IBM's copyrighted file WPFOLDER.H (x:\IBMCPP\H\WPFOLDER.H) to F:\CMDHERE
Optionally patch F:\CMDHERE\WPFOLDER.H (wpfolder.h.diff, may avoid a compilation error, the quality of this error-avoiding patch is unverified)

Patch F:\CMDHERE\CMDHERE.IH (cmdhere.ih.diff)
Patch F:\CMDHERE\MYOBJRES.DLG (myobjres.dlg.diff)
Patch F:\CMDHERE\MYOBJRES.RC (myobjres.rc.diff)
NMAKE F:\CMDHERE\CMDHRES.MAK

Optionally expose both compiled DLLs to LXLITE.EXE

Write manual, instruct user to enter a registration code during the install.
Distribute both DLLs and the manual, and perhaps edited DIFF files instead of full source.

If you happen to have some supported Spanish OS/2, a drive F: and IBM VAC, then it shouldn't be that hard to translate the DIFF files to Spanish first. Perhaps a PATCH.EXE can be used, as described by Dave Yeo, but you can also apply all changes manually.

The attached files are a reconstruction, which won't always exactly match released Dutch DLLs. Differences should be trivial, and the original English binaries are leading.

In case of difficulties I'd suggest the use of a different (programming) thread.
« Last Edit: July 29, 2019, 01:52:30 am by André Heldoorn »