how do we encorporate this patches.. i had a hardtime on this...
Main Topics
Browse All TopicsHi, is it possilbe to print in dosbox0.65 using lpt port. I have researched alot but still not good.. can anybody help me please.
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Thats where you need to re-compile the kernal.
You'll need C++ or the such.
Thats why I suggested you tried ykhwong's (Windows and Linux builds available)
That one there already has patches compiled into the package so you won't need to apply the patch and re-compile the kernal.
It has "Virtual Printer support" which I'm assuming will allow it to either print to LPT1 from within it's own virtual shell or it will print to a physical file you can print later.
Sorry I had to download DOSBOX as I don't run it.
In the dosbox directory open the dosbox.conf in notepad and look for the [printer] section.
Change these 3 lines (If they are not set like this already) to what is below
printer=true
printoutput=printer
multipage=true
A note on multipage "multipage -- Adds all pages to one Postscript file or printer job until CTRL-F2 is pressed."
In the [speaker] section change the disney setting
disney=false
Then when you print from Dosbox the first time it pops up the windows printer dialog.
Choose your printer, then print all you want.
When you have finished printing do a CTRL-F2 and it will spool off to the printer.
The only other way would be to get a patch and patch your version of Dosbox.
For that you'd need Visual C++ for a start. (To apply the patch and re-compile Dosbox)
Terry
You have to make the changes to the dosbox.conf I mentioned.
You are striking an incompatability with the disney part in the [speaker] section.
disney=true
changes to
disney=false
Until I made that change it would accept the command to print to LPT1 but do nothing.
And don't forget to do a CTRL-F2 after you have printed, (Otherwise it will once again not print anything)
All the changes I mentioned above have to be made and you using CTRL-F2 after it's printed is needed to make this work.
[printer]
# printer -- Enable printer emulation. (turn off disney)
# dpi -- Resolution of printer (default 360).
# width -- Width of paper in 1/10 inch (default 85 = 8.5'').
# height -- Height of paper in 1/10 inch (default 110 = 11.0'').
# printoutput -- Output method for finished pages:
# png : Creates PNG images in the DOSBOX directory
# ps : Creates Postscript documents in the DOSBOX directory (default)
# bmp : Creates BMP images (very huge files, not recommend)
# printer : Send to an actual printer (Print dialog will appear)
# multipage -- Adds all pages to one Postscript file or printer job until CTRL-F2 is pressed.
printer=true
dpi=360
width=85
height=110
printoutput=printer
multipage=true
[speaker]
# pcspeaker -- Enable PC-Speaker emulation.
# pcrate -- Sample rate of the PC-Speaker sound generation.
# tandy -- Enable Tandy Sound System emulation (off,on,auto).
# For auto Tandysound emulation is present only if machine is set to tandy.
# tandyrate -- Sample rate of the Tandy 3-Voice generation.
# disney -- Enable Disney Sound Source emulation.
# innova -- Enable Innovation SSI-2001 emulation.
# innovabase -- Base port for Innovation SSI-2001 emulation.
pcspeaker=true
pcrate=22050
tandy=auto
tandyrate=22050
disney=false
OK, that looks fine and is the exact same as mine.
To test it
Restart dosbox
In the dosbox shell type in dir > lpt1.
A print dialog should pop up. choose your printer, then when it goes back to DOSBOX do a CTRL-F2
In the dosbox Status window you should see a SHELL:Redirect output to lpt1.
From that point in time onwards you will not get the popup for which printer. It remembers your choice until Dosbox is re-started.
You just have to CTRL-F2 after each print job.
Watch out you do not have a keyboard like mine, with an "f-lock" key. (For changing the functionality of the F1-F12 keys) If you do have an F-Lock key try hitting it and trying CTRL-F2 again.
Tell me if you don't get the print dialog doing this (But not sure what I can do about it).
I'll try the Postscript option to see what I get.
Terry
Well if you don't have to do anything like I do to make the F keys work properly (My F Lock key) or on a Laptop sometimes theres sometimes a key you need to hold cown to make the F keys work properly.
If none of those holds true, then your clipper application must be using it for itself.
To test whether it's the keyboard or application do that same test of restarting dosbox, dir > lpt1 in the dosbox shell, then in the same dosbox shell do a CTRL-F2.
It should print.
No.
Only addons to try and make printing work, then re-compiling the kernal. (The kernal is the main dosbox.exe)
Did the CTRL-F2 work from just a shell and doing a dir > lpt1 then a CTRL-F2?
If it didn't are you doing this on a laptop or a keyboard like a Microsoft Intellitype?
You have to remember DOSBOX was made for gaming support in older DOS games that didn't run properly in new machines. I don't think the person who originally devised the program thought it would ever be used for applications.
(Hence the not putting in LPT1 support). So this is where other people have looked at the code and devised their own ways to change the code to enable LPT1 redirection to windows.
It works for me, but I'm not running your application. So now is where you need someone to change the source to suit your enviroment and recompile it unless the answers to my keyboard/laptop question above is yes.
Terry
OK, so it did print just in the DOSBOX shell, the F keys work fine, just not CTRL-F2 in your clipper application.
That would indicate to me that your clipper program is using CTRL-F2 for something for itself and not letting DOSBOX see the keystrokes.
One thing I'd look at is if you can change the key your application uses for CTRL-F2 to something else.
I don't know what your application would be using CTRL-F2 for, but if theres some sort of configuration that says use this key for this function then find CTRL-F2 in that list and if you can change it.
One last thing to try (A work around)
Try printing in your application, Hopefully it will pop up and ask you for a printer, then exit the application BUT before you quit DOSBOX try a CTRL-F2.
(I'm assuming your application does not close DOSBOX when you exit it)
To answer your other questions, DOSBOX was made just because of incompatabilities (Mainly speed) with running older programs on new computers. The games ran just WAY too fast to play.
I'm assuming someone found a problem some time in the past and thats why your running it under DOSBOX now.
You could try running it under XP. Just create a shortcut to it on your desktop, right click on the shortcut and select properties.
Then under the compatability tab check/tick "run this program in compatability mode for" and I'd suggest Windows 95. It's the closest to the old dos days.
Theres no guarantee it will work though.
Terry
SIGH!!!!! (I didn't expect compatability mode to work anyway)
I think if you have tried everything in my last post (The printing from your application and exiting from it then trying the CTRL-F2 to "finish" the job) then I'm running out of ideas myself.
We know dosbox itself is re-directing the output because you can do the diagnostics of a DIR > LPT1 and then a CTRL-F2 and it prints.
It seems like this will require re-configuring the application OR re-compiling the source of DOSBOX to use a new keystroke.
I don't know how configurable your application is, but if you have anyone who knows C++ and can compile it then I think this can still be done.
Terry
Sorry, I was away for 2 weeks on a course with no net access.
To be honest re-compiling DOSBOX from source for LPT support can be a pain.
I've just spent 1/2 a day on it with various things missing but I got it working, but unless you have someone who can understand C++ WELL and support the changes in DOSBOX I'd not recommend it as there is no fall back when things don't work properly (As you found with the one that did have LPT support compiled in it).
The Dosbox source is available at
http://prdownloads.sourcef
I have just tried another option with getting access to LPT1: that seems to work on my machine.
http://vogons.zetafleet.co
Have you tried running your DOS program under Parallels or any other Virtual machine program?
http://www.parallels.com/e
Parallels is a "virtual machine" that runs on your machine. (BUT you will have to pay for it after a month)
It's like the machine inside a machine. (Same concept as DOSBOX, but with commercial support).
It fully supports running DOS applications and running them including LPT and networking support.
The LPT support is rather cool.
It supports going to either a direct windows printer OR a physical LPT port OR a physical file on your machine.
The downside of Parallels or any Virtual machine software is you have to install the Operating system. (So you have to install Windows 95 or 98 on the "virtual machine", BUT it does not affect your machine at all.)
I wouldn't delete it.
Alot of good information in this about DOSBOX and LPT support thats (personal perspective) hard to find.
The problem was it was not working for the application. We had found out DOSBOX itself did indeed re-direct to the LPT port fine which was the original question. (More than likely the keystroke for closing the print file was used by the App)
I still reckon Parallels would have worked a treat in this situation and given them a support line which DOSBOX being open source cannot offer as well.
Terry
Business Accounts
Answer for Membership
by: qz8dswPosted on 2007-04-14 at 01:50:43ID: 18910208
Going by here not without a new build. (Not of DosBox itself, but incorperating some patches)
m/viewtopi c.php?t=93 06=
http://vogons.zetafleet.co
I'd try the first one listed in the heading "The following CVS builds contain additional fixes and/or features that are not officially part of DOSBox." about 1/4 of the way down the page.