Click here for important information about

DOS via Windows XP problem

December 15, 2020 at 20:50:09
Specs: MS/PC-DOS
Hi All,

I've stumbled across a DOS application at a business that is literally un-google-able. It's an inventory/invoice/billing system. In an effort to get it off of a laptop from 2003 running Windows XP, I've been testing with virtual machines. The software all comes packed in a folder, that's it. Run the application and send print jobs and so on. The print jobs rely on LPT ports I can get it to print fine with using software such as DOS2USB and render a PDF and such. The application also has the option to dump the print to a text file. This is where the problem is. On the source machine it prints with extra character types and full text of what is to be printed. On the destination, however, it prints with less of the special/extra character code types and the text is cut off on the right hand side if it gets too long.

So at the very base level, I'm looking at this:
1. Old XP machine that prints like this:
2. New XP VM with the data folder copied over (can't find any reg keys or anything, it all appears to be located in just this main folder... the software is from the 80's after all) and looks like this when I print:

Both of these were printed with an integrated ASCII print function. I don't know what I'm missing here, I've messed with options terminal options and print options and no matter what I can't make these extra characters appear or make it print to file full width

See More: DOS via Windows XP problem

December 15, 2020 at 22:05:41
Yeah, it's probably all in the single directory. During original installation it may have modified config.sys and/or autoexec.bat but that's probably all. For most dos applications, after installing it, you'd run a setup routine to choose a sound card, printer and maybe a monitor. The printer options would be only what was available when the software was written but many old printers were epson compatible and you could choose an epson even if yours was something else. My guess is you don't have the correct printer configured in the software. See if you can figure out how run the setup again and try to find a listed printer that matches what you have.

Oh, and when you copied it over did you make sure to also copy any subdirectories in its main software directory?

message edited by DAVEINCAPS

Reply ↓  Report •

December 15, 2020 at 23:47:07
So would I be correct to assume if I copied this straight across - system to system, that I’d just need printer drivers installed that don’t exist on the new system? Is that as simple as copying what exists in the windows\system32\spool\drivers folder? I’m not sure how dos queries the OS for drivers.

On the old system it uses lpt1 to print to a brother printer. If I print from the software to a file it also prints as expected. On the new system I’m using dos2pdf. Both dos2pdf and the built in print to file have the same problem in cutting off of text and the lack of the extra characters from my screenshots.

And yes, I recursively copied everything.

message edited by ninjai

Reply ↓  Report •

December 16, 2020 at 06:58:31

Do you know what the special characters are supposed to do?
Either specifically or in general?

The version you call "good" has the special characters, but the
formatting is obviously slightly messed up by those characters.
The version you call "bad" does not have the characters, but the
formatting is not messed up. That makes me think the special
characters are not supposed to print.

It looks like the reason characters get cut off on the right is that
the line begins printing too far to the right.

I would expect the special characters to do something, such as
specify how far over to begin printing, but not print as visible

The lines of characters that form a box are obviously not the
intended characters. The wrong character set is being used.
I think that most likely you are using either Windows-1252 or
ASCII when you should be using ANSI.

-- Jeff, in Minneapolis

Reply ↓  Report •

Related Solutions

December 16, 2020 at 07:34:08
I'm not sure now whether "ANSI" is the correct designation.
In my Windows 98 SE installation, the QBASIC Help shows
a table of characters that it calls "extended ASCII", which
are the characters you almost certainly want. However, the
term "extended ASCII" does not refer to a specific character
set. It just refers to any set of characters that use character
codes 128-255, in addition to the original codes 0-127.

In your samples, the capital A with two dots probably wants
to be replaced by either character 196, a horizontal line, or
character 205, a double horizontal line.

I hope this is enough info to help you find what you need.

-- Jeff, in Minneapolis

Reply ↓  Report •

December 16, 2020 at 08:12:14
The interesting thing here is if I print to an actual printer from the "good" one it prints how you'd expect with pretty boxes and formatted text. The "bad" one does the exact same, but if the characters run along the right side too far they get cut off. And you're on to something Jeff, because that is kind of where I got stuck. See here:

I see the 0_ _5 character (the clubs one) on the "good" one and not on the "bad" one. TBH I don't even know if the "bad" one is formatted poorly or what, because it seems fine with the exception of it being cut off too soon on the end of the page.

I found in the settings how to view/edit/create print profiles. I am editing one I found on there already here:

What I don't understand is how forklifting this from one system to the next would impact this if everything is stored in the same directory and it's a 1:1 copy. Would this depend on drivers that exist in Windows somewhere? Or is this literally the code used to render the print job?

Reply ↓  Report •

December 16, 2020 at 09:41:42
I'd say that the code page / character set used needs to
be enabled separately from running the program. On the
old computer it was probably the standard character set,
while on the new computer, it is not, and needs to be
selected somewhere outside the program. Maybe in

-- Jeff, in Minneapolis

Reply ↓  Report •

December 16, 2020 at 10:22:44
What exactly is AUTOEXEC.BAT and where is it located? The program directory? Root of C:\? Also CONFIG.SYS - is this binary or text? Where is it located?


Reply ↓  Report •

December 16, 2020 at 11:35:20
"What exactly is AUTOEXEC.BAT and where is it located? The program directory? Root of C:\? Also CONFIG.SYS - is this binary or text? Where is it located?"

"Channeling the spirit of jboy..."

Reply ↓  Report •

December 16, 2020 at 13:14:55

I think I may have resolved the problem, however. Looks like there's a config section in here for printers. I haven't figured out exactly what is needed yet but if I change the character per line entry in there it fixes the problem when I print to PDF. I guess the printer that is being used right now works with 128 but my print to PDF does not. Apparently different printers print fine, others do not, but I'm not sure on what determines if it will fit or not. I would assume it's always the characters per line setting. Also not sure why if the settings are the same on the new machine that this is a problem where it isn't on the old.

Reply ↓  Report •

December 16, 2020 at 15:04:55
Have you though of using DOSBox for this? There's apparently some degree of printing you can do through it:

"Channeling the spirit of jboy..."

Reply ↓  Report •

December 16, 2020 at 18:09:50
Autoexec.bat and config.sys are the files a dos system loads after the basic system files. Yes they're located in in the root directory, C:\>. When installing software sometimes the process backs up the previous working files so you may have more than one autoexec and config files but with different extensions. In dos systems copying a complete software directory to another computer should have no effect on it working, allowing for any changes the installation made to config.sys and autoexec.bat.

I can't really say how using a VM, command prompt or DOS2PDF would affect a dos program. But I have seen misidentified printers spew gibberish in dos programs.

It's also possible some of the extra characters are for formatting the output. They normally wouldn't be printed but perhaps the non-standard method you're using is allowing that.

Dos isn't too particular about the hardware it runs on. You're limited by hard drive partition size but that's about it. Dos doesn't care about fast processors or gobs of ram. If this program is important to you you may want to set up a dos-only computer for it. For ease it should probably have a parallel printer port and not rely on USB.

Reply ↓  Report •

December 18, 2020 at 08:08:32
@T-R-A yes, and it didn't work because DOSBOX doesn't have share.exe. I tried to load it in manually and it just got a bit messy.

@DAVEINCAPS - It's still a mystery to me but there are certain settings I discovered to change within the software itself that fix a lot of the problems I'm having. What's still the largest mystery to me is why when I copy from system A to system be (both XP for arguments sake) that these settings seem to change when the program says they have not. IE there are these keyboard map profiles and screen profiles and printer profiles. On the source system they're all set to the default files. On the destination system I need to change them to some other ones I found within the system then it all seems to work fine (for now.. lol). So I'm not really sure what piece to this puzzle is causing this if there's no registry for DOS. That's the only other thing I could think of but if that's not a piece of the puzzle then... beats me.

Reply ↓  Report •

December 18, 2020 at 22:46:51
There should a file containing the changes. I'd expect that file to be in the directory you copied but it may not be. Another possibility is it's a hidden file and wasn't copied. I don't think the COPY command will copy hidden files. The XCOPY command has a switch that will allow that. Just do a XCOPY/? at the prompt for available switches and their syntax. I know with some old dos software they took considerable pains to hide things. You may be stuck with reentering the changes if you copy the software from one system to another.

Reply ↓  Report •

December 23, 2020 at 08:07:47
I copied using Windows explorer which was set to show hidden files already so I'm not sure what the difference is between the systems

Reply ↓  Report •

December 24, 2020 at 00:28:41
I don't know. Running a dos program in window whether in a VM or command prompt may introduce unexpected problem. i can remember running some dos stuff in windows 98 after 'shut down and restart in msdos mode' but not XP. Windows 9x kind of sits on top of Dos but XP took a different path It's 'command prompt' was made to look like dos but XP doesn't depend on it.

Part of the problem may also be that you don't have the original installation disks. Sometimes when making changes in installed software it'll ask you to insert the original disk because it needs additional files. You say it's 'un-google-able' but keep checking. I know there's some sites that stock old software where titles may not show up in a google search. If you google something like "old software' dos download some will show up.

My advice would be if this program is important to you then install it on a dedicated Dos machine or maybe a dual boot setup. The original problem with the printer may still exist as I imagine supported printers by the program are dot-matrix, daisy wheel and maybe a laser printer with a laser printer probably being the easiest to 'fool' the software. Otherwise I think you're stuck with experimenting to try to get it exactly right.

Reply ↓  Report •

Ask Question