TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Fred Springfield
from: Murray Lesser
date: 1999-11-19 21:53:01
subject: Basic Pds Y2k Ok

(Excerpts from a message dated 11-18-99, Fred Springfield to Murray
Lesser)

Hi Fred--

ML>     In case there is anyone out there besides me who is still
ml> using the vintage-1990 MS BASIC PDS v 7.1 compiler running as a
ML> "native OS/2" application (not in a VDM!):
ML> 
ML>     I made a small test of the DATE$ function (compiled and linked for
ML> both real (VDM) and protected (native OS/2) modes with my system
ML> clock cranked up a year.  The full source code of TEST.BAS was:
ML> PRINT DATE$. Both versions returned 11-16-2000, something that was
ML> not really expected!
ML> 

FS>Yes, I still use mine heavily--3 commercial programs in use now,
  >which I am still supporting.  But, I run it in a VDM on Warp 4 and
  >only generate DOS .exe's, which my clients run on Win 95/NT.  I know
  >you can generate VIO programs with it, but I went to rexx for that
  >type of thing because PDS essentially becomes a text program
  >generator in that mode of operation.

    It doesn't bother me that BASIC PDS (run under OS/2) produces only
text-mode applications, because that is the only type of program I
write.  Nowadays, I program only for my own amazement, and I prefer to
run text-mode applications to their GUI brethren.  I no longer write
"new" programs with BASIC PDS, and use the compiler only to update those
currently active applications that I haven't gotten around to rewriting
in PL/I (something on the to-do list, RSN!).  At the moment, I have only
three left that I run regularly, but I will have to write a set of
separately compiled procedures for PL/I to display text "windows" within
a text-mode full-screen application before I can rewrite two of them.  I
use the compiler so rarely that I have moved it on to a Zip-drive
diskette (the files I have retained use only about 4 MB, including my
"private" link libraries containing separately-compiled and assembled
modules).

    REXX is a great programming tool for quick and dirty jobs, or even
for jobs that spend most of their activity manipulating text files, but
I would not use it as a complete substitute for BASIC PDS, even though
there are things that are easier to do in REXX than in any other
language that I know: anything that "needs" the REXX PARSE statement.
But I prefer PL/I to any other language that I know for "real" text-mode
applications.  I tried "porting" a few BASIC PDS programs to C (before I
began to learn PL/I), but gave up; C is just too clumsy a language to be
useful for programs with a lot of text manipulation, Kernighan and
Ritchie to the contrary notwithstanding.

FS>But, surprise, surprise.  How do you run it as an OS/2 application?

    You have to remember that "native OS/2" for the BASIC PDS compiler
(and protected-mode applications written in it) are 16-bit text-mode
OS/2 programs, because the only version of OS/2 that Microsoft
recognized at the time was 1.0.  However, since IBM is a very strong
believer in backward compatibility, 16-bit OS/2 programs run fine,
unchanged, in 32-bit OS/2.

    It has been over six years since I installed BASIC PDS to run in
"protected mode" and I'm not sure that I could do it today, since I seem
to have lost any "getting started" documentation that came with the
compiler.  I suppose, if I had to, I would try by starting with
SETUP.EXE on the first distribution diskette, telling it to load the
BINP directory as well as the others.  (A small test this morning
indicated that SETUP would run in a VDM.)  My installation includes both
the BINP directory (protected-mode files containing, among other things,
some necessary OS/2 DLLs) as well as the BINB directory (bound
executables that run in either mode).  For example, the version of
LINK.EXE as found in BINB will run in either an OS/2 command-line window
or a DOS window, under OS/2.  I compile only in "stand-alone" mode (/O
switch on the command line), and when I wish to compile a program that
runs in a VDM (real mode) I must use the command-line switch /LR.  I
gather from the "Programming Guide" manual that if I were running the
compiler in DOS mode, I would have to use the /LP (protected mode)
switch to produce a 16-bit "native OS/2" executable program.

    Regards,

        --Murray

___
 * MR/2 2.25 #120 * Never send a PM program to do a text-mode job

--- Maximus/2 2.02
* Origin: OS/2 Shareware BBS, telnet://bbs.os2bbs.com (1:109/347)

SOURCE: echoes via The OS/2 BBS

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.