The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Using ms dos as a platform

I have a small application in vb6 that could benefit customers, even if it was a lite version, if it did not rely on windows as a platform and runs via ms dos.
Has anyone any ideas on how this can be done. I can only do basic dos commands. Is there some sort of program I can purchase, that allows me to create / compile a dos program.
I would like to add my url, but I have enough competion now.
mick
Friday, October 03, 2008
 
 
Remember that DOS addresses 1 MB RAM, doesn't have a built-in network stack or ethernet drivers. What hardware (specifically, with how much RAM installed) were you hoping to run your program on? Why not target Linux instead of DOS?
Christopher Wells Send private email
Friday, October 03, 2008
 
 
You don't really want "DOS". Because DOS is an OS, not a platform. Your users would have to be running DOS or at least be running an OS that supports running DOS applications (which is getting rarer everyday).

Instead you want to create a "Console Application". This is a standard C/C++ application and it runs on virtually any modern OS. There are plenty of open source C/C++ compilers out there. GCC comes to mind.
dood mcdoogle
Friday, October 03, 2008
 
 
There are also plenty of other options for cross-platform development. Basic console applications are certainly easy to do. But in most cases they aren't very marketable.
dood mcdoogle
Friday, October 03, 2008
 
 
Do you mean actual 16-bit real-mode DOS?  Or just a console window inside of Windows?

The two most widely-used compilers for DOS development these days are DJGPP and OpenWatcom.  (We use OpenWatcom.)

You may also be able to dig up a legacy copy of Borland Turbo C++ or the old Msft C compiler.

Datlight still resells an old version of Borland.
http://www.datalight.com/products/romdos/productdetails_sdtk.php
Myron A. Semack Send private email
Friday, October 03, 2008
 
 
If you _really_ want to program for MsDOS (and why you don't want to write a console app or service instead, is something I can't figure out), why not use Quick Basic?
http://www.qbcafe.net/
You can download the compiler and the runtime interpreter (QBasic doesn't produce executables) at this site.  Apparently there are libraries available that do TCP/IP, so your program can even run on a LAN.  Maybe I'll load it myself so I can play that game with two King Kongs throwing exploding bananas!
RGlasel Send private email
Friday, October 03, 2008
 
 
"(QBasic doesn't produce executables)"

O yes it does :-)
Marck
Friday, October 03, 2008
 
 
The later versions can - the ones that shipped back in the DOS days couldn't.
Martin Send private email
Friday, October 03, 2008
 
 
@Marck
You are right, the "professional" product comes with a compiler that can generate executable files.  My memories are of using the free version (QBasic), which came with MSDOS 5.0 (and maybe even 4.01?).  Ah, everything is coming back to me now...
RGlasel Send private email
Friday, October 03, 2008
 
 
Thanks for the reply's. I'll have a look at the console applications. And I just realized that they would need the dos files, i can't distribute them.
My application only communicates with the parallel, usb and serial port and does not need internet access or any other programs to operate.

You know how you have a boot disk that operates when you boot up your computer and runs a program, or you install these files on a bare HD without any operating system installed, this was what I have in mind.
mick
Friday, October 03, 2008
 
 
Waaaaaay back in the 90's there was VB for DOS believe it or not.  Maybe you can dig up an old copy of that.

Friday, October 03, 2008
 
 
Getting USB support in DOS is likely to be a problem. It might help if you specified what you plan to do with the USB port.

Serial and parallel is not a problem. You'll be working at a lower level than you're used to, but if you're comfortable with bitwise operations then it's no big deal.

If you decide that DOS is a viable solution from a technical standpoint, look at FreeDOS.
clcr
Friday, October 03, 2008
 
 
>>> My application only communicates with the parallel, usb and serial port and does not need internet access or any other programs to operate.

You know how you have a boot disk that operates when you boot up your computer and runs a program, or you install these files on a bare HD without any operating system installed, this was what I have in mind. <<<

In that case, you might want to look at Linux, or one of the FreeBSDs. With these, you can build a console based live cd that can run from boot up.
*myName
Friday, October 03, 2008
 
 
Seems like Linux would be a great choice for this sort of project.  It's a modern OS (unlike DOS) but can be easily setup to be single-user, text only, launch your-app-at-boot kind of setup.  No pesky licensing to worry about.
Almost H. Anonymous Send private email
Friday, October 03, 2008
 
 
@RGlasel:

If my memory serves me correctly, the version that came with DOS, was named QuickBasic (which couldnt compile .bas files)

The version that can compile came seperately, don't know how many versions there were, I just know that for some reason they named this one QBasic or QB. I can vagely remember some kind of fuss about them (MS) changing the 'quick' to 'q', pretending it to be some entirely different product.

Ah well, memories. It was a great thing tho, no line numbers, gosub and 'include' of other bas files :-)
Marck
Saturday, October 04, 2008
 
 
If you actually genuinely want to target DOS, then you should target FreeDOS.  It's free, so you can redistribute it without any problems.  And it's still actively maintained, unlike the Microsoft versions.

But in general Linux is a better choice if you want an OS where you can distribute bootable disk images with your software on.
Iago
Saturday, October 04, 2008
 
 
QBasic was a stripped interpreter version of the product that came with DOS.  QuickBasic was the compiler tool set.

Later there were PDS and finally VBDOS which was a superset that also supported a character-mode GUI of a sort.

All of these suffer from the limitations of a 16-bit processor and the associated memory model, and weak OS infrastructure.
Mr. Lucky
Saturday, October 04, 2008
 
 
I'm pretty sure DOS knows nothing about the necessary USB drivers that Windows loads.

That might be a problem.
AllanL5
Saturday, October 04, 2008
 
 
I think a turbo Pascal is a great (if you conformable with Pascal).

Another great possible is FoxPro 2 to 2.6. With the distribution kit..it will make a .exe for you.

If you have to read some data, then do something with that data, then foxpro would be a good choice. FoxPro would also do well if you need some type of data entry form(s).

It’s also not clear if you’re looking to have some kind of boot disk, or simply install it on some machines that you have control over?

As several mentioned here if you need USB drivers, then you going to find this a problem in dos land.

If you want to support CD ROM, floppy drives and USB, then I would look into using one of the many bootable Linux systems, as some do quite well in recognizing hardware, and you’ll even likely get network support with such a system.

Albert D. Kallal
Edmonton, Alberta Canada
kallal@msn.com
Albert D. Kallal Send private email
Saturday, October 04, 2008
 
 
I suspect the issue isn't MSDOS at all.  If so, VBDOS might be a good solution.

It is quite possible to configure Windows (XP, etc.) to use cmd.exe full screen as the shell for individual or all users as well.  Then a 32-bit development tool could be used, including VB6 if written properly avoiding Form modules.  People write console applications in VB6 all of the time.
Codger
Saturday, October 04, 2008
 
 
Have a look at xHarbour - you can write 32 bit windows and linux console apps.
www.xharbour.com
xharbour Send private email
Saturday, October 04, 2008
 
 
I think USB support under DOS might be iffy.
Best to do some investigation before making up your mind.
xampl
Monday, October 06, 2008
 
 
If you use DJGPP, as a set of routines, then you have semi-Unix that will run under DOS. It has many of the standard Unix commands, compilers, etc.
Eric Hamilton Send private email
Friday, October 10, 2008
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz