• Welcome to Powerbasic Museum 2020-B.
 

News:

Forum in repository mode. No new members allowed.

Main Menu

Moving Forward To Go Backwards

Started by Donald Darden, May 21, 2008, 07:46:34 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Donald Darden

Here's something that might interest some of you.  I'm checking out some Example code with kbasic
and turning in bug reports when I find discrepancies.  The code I am currently checking out is classified as VeryOldBasic, dating back to the days of QBasic and QuickBasic.  A difference of opinion came up about how QB handled some PRINT statements, so I went looking for something to support my claims.

Do you know that there are communities that are still involved with both?  And that you can download and install Qbasic 1.1 and QuickBasic 4.5 for free today?  Not only that, but you can get QBX, or what some people call QB 7.1, for nothing as well.

The problem with this old code is that it is all DOS-based, meaning 16-bit applications.  You can run them under Windows 2k/XP, but awkwardly.  However, if you have adopted the NTFS file system or moved to large hard drives, you cannot access folders and files via the IDEs.

So technically, these products no longer have a home in the Windows world, although if you stick to a smaller partiton using the FAT file system, you might still be using some of the old products.

But there is another way to go, meaning get off Windows altogether.  Yes, you can still run the old
software in a different environment.  I first considered DOSEMU, but after installing it, it would not run because it lacked a DLL, and I found no help on the internet.  I also tried WINE, but it could not allocate low memory for DOS, so it could not start either.  Well, I never much cared for emulations anyway, so I thought about it for a moment, then remembered that VirtualBox allows the creation of a VE for DOS,
as well as for various versions of Windows.

So I fired up VirtualBox on my Ubuntu host, and set up a new VE for DOS, then downloaded an ISO image of MSDOS 6.22 which is bootable, and set that up as my virtual CDROM drive and booted up into DOS.  Now at that point I could only find two drives:  The A: drive, which was virtualized of the CDROM image, and the R: drive, which apparently was the CDROM image.  I mean it was the same image under both drive letters.  But there were no other drives.

Now for you Windows users, DOS was a bit harder to install and set up, because there were certain tasks you had to do manually.  You have a virtual drive there, but DOS can't see it, because it has not been partitioned and formatted yet.  So you have to use FDISK to create a DOS partiton, then use the FORMAT /S command to format it and install the boot (system) capability.  After that, the drive appears as the C: drive. and you can copy the rest of the DOS files over to it from the CDROM image.

DOS had a limit of 64 entries in the root directory, and usually you set up a folder called DOS or MSDOS or whatever, and copy most of the files into that.  It is normal to have just five key files under the root at this point:  Two are hidden files, then a CONFIG.SYS file and a AUTOEXEC.BAT file, and finally a COMMAND.COM file.  The two hidden files are your boot process, the CONFIG.SYS file is normally use to manage installed drivers (which usually had to be added by hand), and the AUTOEXEC.BAT file set up environmental variables and ran whatever startup programs you designated.  Some processes could be loaded by either the CONFIG.SYS file or the AUTOEXEC.BAT file, and others might require entries in both.

Note that while you have your C: drive now, you still cannot access the CDROM drive or image, except in the case where you booted from it.  But DOS did not come equipped with the ability to "see" the CDROM drive, so you have to add a driver in both the CONFIG.SYS file and in the AUTOEXEC.BAT file.

Now I had a bit of a problem in doing this.  First, DOS does not automatically recognize a mouse either, so you also have to add an entry in one or the other for mouse support.  Otherwise, when you try to edit the config.sys or azutoexec.bat file, the mouse gets lost.  You seem to be stuck with no way to do anything.  But not to panic, you can use the right Ctrl+R key combo, and it will force your DOS install to reboot.  That will give you back your mouse.  Of course you have to restart your edit probably, but it at least gets you back where you are in control.

To edit either the config.sys or the autoexec.bat file, you type the word "edit" followed by the file name.  The toolbar that appears at the top can only be accessed by holding down the Alt key and pressing the corresponding letter.  You can then use the scroll keys to pick options or move left or right along the toolbar.

What you need to enter in config.sys or autoexec.bat depends upon what you want to do.  My advice it to type words like "cdrom driver dos" or "mouse driver dos" into a search engine, then try some of the entries that you find suggested there.

If your boot process hangs, you can wait until the VirtualBox notice goes away, then press the F5 key, and the boot process will skip your config.sys and autoexec.bat files during the bootup.  You won't have everything working, but it gets you back to where you can re-edit these two files.

During the boot process, you can also use the F8 key to cause each instruction in the config.sys and autoexec.bat file to be manually confirmed before executing.  This way you can find which line has the error that is keeping you from booting normally.  You can use the Ctrl+C to curtail the rest of the boot process if you don't want to finish performing the steps in these two files.

It seems like a mess, but that was what DOS required us to do, back in the day.  I just wanted to put enough info out there so that you get the feel for it.  There may still be some good books and other references on DOS that can detail all this for you.

Installing QuickBasic 4.5 required that I find a good site to download it.  It wants to install from the A: drive, but right now I've found that Ubuntu is not letting me get access to the disk in my A: drive.  No big deal, since I can work from a CD ISO image or floppy IMG file.  What I did was download the QB45.zip image I found, and extracted the contents to a folder while in Windows.  I then copied all the files there to three floppies.  The order was not important.  When I executed the setup.exe file from the A: drive,
I just kept swapping floppies until all the files were found and extracted to the folder where I wanted them.  Then I used the CD Creator software in Ubuntu to copy that folder to the CD Creator folder, and indicated I wanted to burn a CD.  Only I chose to burn it to a file (ISO image) rather than to an actual CD.  Then in VirtualBox, I mounted the Image, and after DOS booted and loaded the MSCDEX.EXE driver and recognized the CDROM drive (image), I used XCOPY /S to copy the folder from the image to my virtual hard drive.  Now I have access to QB 4.5 in a virtual DOS environment, and it works the way it is suppose to.  I can do the same thing with QBasic and even PB/DOS.

That's what I mean about moving forward having enabled me to move backward as well.  The virtual environments created by products like VirtualBox are turning out to be great enablers for a person like me, and let's me keep the old right along with obtaining the new.





Marco Pontello

#1
For running old DOS thing, DOSBox is very effective and simple (and free).
It's a full blown PC+DOS emulator: so it's not as fast as a virtualizer, but you get better compatibility (especially for old games, or anything related to audio, or other software that do some low level tricks).
Since speed is often non that important with very-old software (as current PC ar so fast in comparision), it's a very handy tool.

BTW, I used a lot BASIC 7.1 PDS / QBX, for updating / maintaining some old business apps, natively under XP without any show stopping problem.

Bye!

Frederick J. Harris

Hi Donald!

     I still occasionally use old DOS software/programming tools too.  Up to this point I can't say I've had too much trouble using whatever on any Windows system I've ever had.  I've never used Vista, so I can't speak to that.  I've installed QB45 countless times from an original set of floppies (originally 5-1/4 inch) I obtained when I purchased QB45 in the mid to late 80s.  Under Windows, sometimes I've found that I had to fiddle with the conventional memory/extended memory settings that become visible when you right click the shortcut that starts the program. 

     Actually, I think DOS had its final life (its now dead) or last years in the world of handheld data collectors.  Here in the Pennsylvania Bureau of Forestry we are still using my DOS QB45 and PowerBASIC 3.5 programs to collect all our timber data for our Timber Sale System.  This isn't really a minor thing as we sell 30 to 45 million dollars worth of timber per year, and its all collected/tallied with this software.

     Over the past couple years I've rewritten all the software in Windows CE.  We're just really in the infancy of using these new programs however.  Everybody loves the old DOS programs.  The types of issues one has to face in moving from the DOS environment to the Windows CE environment pertain to fundamental UI issues involving focus management between entry fields.  DOS is just way more efficient and easy to code in that regard.

     One thing I've found with QBX and VBDOS is that one can simply copy a whole installation right from one computer to another and still have it work with minimal problems.  Naturally, there is no registry use involved with these old dos environments. 

     Like you though, I try to keep these old environments going.  I still find uses for them.

Donald Darden

Well, I've used PB/DOS under Windows 2000 Pro and XP, and while it worked, it always felt so cramped to me, especially the IDE.  It was pretty laborous to use, especially the help system.  Of course I found the help with QuickBasic even more difficult to navigate.  And PB/DOS was the reason I stuck with FAT32 partitions for so long.

But my decision to move up the NTFS partitions and add Linux to my PC seemed to put the nail in the coffin for PB/DOS.  I printed out the Open Source manual for WINE, and found it just too involved.  I will be honest and say that I never really gave DOSEMU a chance, because my real purpose was to see if I could find a home for PB/CC and PB/Win in the Linux world.  Porting PB/DOS had been done by others, so I just assumed I could do that if I ever needed to.  But my real interest at that point was PB/CC.

Well, virtualization via VirtualBox has saved the day for me, because I can port everything involving Windows over, including Windows itself.  That took care of the immediate issue of PB/CC and PB/DOS.  And it even took care of PB/DOS, after a fashion.  But there are some graphics-specific programs that won't run in the later versions of Windows, so I was still gapped there a bit.

After I got though setting up a VE with MSDOS 6.22 and ported some DOS development tools over, including PB/DOS 3.5, which works real well in that environment, I went to bed.  But it was already challenging me that going back, DOS had some significant weaknesses as we look at things today.  So I woke up this morning with the resolve to do something about that.

So what I did, was to decide to VM the one Microsoft product that came the closest to straddling the widening divide between the DOS and Windows world.  Yes, folks, I mean nothing less than WINDOWS 98!  It gave you access to DOS 7 in the command line mode, and brought with it some significant progress in terms of memory management and GUI capabilities.  PB/DOS would be very much at home there.  And I should be able to access those elusive Shared Folders (I hope) that stumped me when I was experimenting with just DOS 6.22.

So I dug through my archive of CDs this morning and found my old Windows 98 Setup disk, and it is busy installing itself in a new VE I created for the purpose.  I store my CDs in some plastic containers with removable blue tops I found for sale at Walmart.  They  are the perfect size for CDs, and I can pack about 60 per container,
and they keep the dust away.

I also checked online, and you can find downloads for the Windows 98 Setup disk, but you are going to need a valid registration key to install it.  I have that as well, as contrary to what some advise, I use a softtip marker to write the serial numbers on the disks themselves.  That way I don't lose or misplace it.

I'm not sure I can (or should) help anyone concerning getting valid registration keys for old products that are not on the market anymore.  So the best I can say is, look where you are most likely to find something of that nature.  And oh-by-the-way, they are sometimes called serial numbers, license keys, product keys, or similar
terms.


Scott Hauser

I am using FreeDOS in a VDI. It comes with a lot of free compilers such as FreeBASIC, Free Pascal, assemblers, etc..  It also has DOS web browsers, games, etc. QB 4.5 and PDS 7.1 work OK with FreeDOS, but VB DOS and PB Dos 3.2 seem to work the best. FreeBasic works well although I haven't installed the latest build yet. So far, I haven't found anything that won't run on FreeDOS.

I would like to install DOS 6.22 but can't get my USB floppy drive to boot from VirtualBox. I believe I will search for the boot iso's Donald mentioned. Once I get a 6.22 machine going, I intend to install Win 3.11 for Workgroups and all of my old "legacy" software too (such as VB3 and Pb/DLL).

Donald Darden

Hmmm.  I went back and checked out some of the sites that promise a Windows 98 Install Disk download, and most aren't there anymore, and others are misleading or just offer additional software that can run on Windows 98.  There are some repair disks being offered which support different Windows installs, so I don't know if you can find the actual install disk image or not.  But in my search, I also found where some people are selling the install disk, from about $50 up to more than $2K.  I guess it's about time to hit the flea markets and see what can be scrounged up, because this is taking on the aspects of a collector's item.

I got Windows 98 installed, but I'm having a spot of trouble with drivers.  Right now no network connection because a couple of drivers are missing, and I still have the default screen, again because I lack a proper driver.  No help from the Guest Additions, as they don't support Windows 98.  I will see if I can fix the problems I have before moving on. 

Donald Darden

Okay, I now have Win98 set up in a VE created with VirtualBox.  It's not a smooth running as I would like, but there is no Guest Additions available that work with Win98, and the slight roughness I experience with the keyboard is the same as I found with other virtual installs before applying the Guest Additions.  So that is to be expected.

The Guest Additions also enhance the video capabilities when applied, so I found myself stuck with 16 colors and 640x480, which you know is not very pleasing.  None of the video drivers supplied with Win98 help, because they can only be used if the video adapter can be detected, but it is being virtualized here.  But looking online for a solution, I found that SciTech Software offers the SciTech Display Doctor, which can replace the default video driver and provide something like 24-bit colors at 1024x768,  I got the download from Major Geeks, and it does work.  But it has a 21 day trial period.  I've heard that it is now offered for free, but I haven't turned up a link to the free version yet.

The rough spot turned out to be getting the network set up.  I could not even get Windows to detect a network until I turned off the virtualized adapter under Devices, at which point it finally indicated it found it.  Then it wanted to load a bunch of new files from the install disk, only there is a problem because it expects to find them at c:\windows\system\preload.  It asks for the Windows 98 Second Edition CD, but can't detect it on its own.  You have to wait until it asks for the CD, then type in "d:\win98" so that it knows where to find it.  You have to add the directory, or it will still fail.  It actually asked for the CD three times, loading more files each time, until it finally stopped, but then it could not connect to the internet anyway.  I checked the Device Manager, and it had about eight different adapters installed, none of them working.  So I manually removed them all, ignoring the request to reboot until the last one was gone, then did a reboot.  Once again it identified a network card,
installed the driver, then wanted the install disk again.  This time it got everything it needed, and I could connect to various web sites.  Did we use to have that much trouble when we set up Windows 98?  Probably.  You just tend to forget what we had to deal with sometimes.

Of course I mostly plan to boot up just to DOS, but you want to get it all working if you can.  And I pretty much succeeded in doing that here.

I got the process of getting files off the internet into my Win98 install when it did not have an internet connection down to something like a science.  I used FireFox in the host OS to locate and download the files, then used CD/DVD Creator (under Places) to burn them to an ISO image.  CD/DVD Creator is a bit awkward to use, because when you open it up, it just gives you a CD Creator folder.  You need to first find the folders or files that you want to burn to an image, and use the right mouse button and select Copy.  Then you click on Places and CD Creator, which opens up its CD/DVD Creator folder,  You position into the folder and use the right mouse button, but this time you pick Paste.  The folder or file is copied there.  You can do this as many times as you want.  When you have everything there that you want to include,   Then you click on Write to Disk.  At the next screen, you change it from writing to a CD/DVD drive to write to file.  Set whatever name you want to use, and tell it to Write.  The next screen will ask where you want to write the image to.  I set up an ISO folder for projects like this.  Now here is a neat trick:  If you merely want to update an existing image, then don't worry about setting a name before you tell it to Write.  Just maneuver to the folder where the old image is and click on it, then verify that you want to overwrite it, and that's it.

But let's say that the old image was previously passed to the virtual environment where it was used.  The new image will not automatically replace it.  What you have to do is use Devices with the VE and unmount the CDROM drive or image, then indicate that you want to mount it again and designate that you want to mount a CD/DVD image.  You will be shown a list of any prior images that were made available.  Find the old image and remove it.  Then select Add, and go find the new image that you made,  When you select this image, it will now supercede the old one.  The new image will now show up under the drive letter D:, and look like a CD/DVD drive to the guest OS.


Donald Darden

Still twiddling with the Win98 install.  I had sort of forgotten just how difficult it can be to set up a Network with Microsoft products.  But as bad as I remember it to be, this seems worse because here I am, running in Virtual Mode on top of the same PC that is running Ubuntu, which is the "computer"  I'm trying to network to.  So Win98 wants to see a Windows NT Domain, and complains because it can't find a domain server to validate the userid and password, and Ubuntu just sits there passively.  No big deal, except I can't access any shared folders.

I guess I will have to research this some more later,   I'm just bumping my head against the wall right now.  I tried everything I could think of from the Win98 side with no progress, which means the only possibility left may be to see what I can do from Linux instead.  Or it might think of something I haven't tried yet.  My memory of how all this stuff works has sort of faded with the passage of time.