VOGONS

Common searches


First post, by Scharf

User metadata
Rank Newbie
Rank
Newbie

Dear all
Before posting this post, I spent many hours reading this forum.
I need help to print using DOSBOX.
I will describe my problem in detail:

I am using Windows Seven-64.
I have a program in Clipper, which is already compiled and can not be changed.
This program tells the printer is offline and can not print.
When I run this same program in a DOS window in XP (CMD), it prints normally.
In Seven-64, I'm using "DOSBox-SVN_MB6" with the following settings:

[parallel]
parallel1 = reallpt
realbase = 378
ecpbase = 778

If I run the command "DIR> PRN" it prints correctly.

If I change the port to SPP or EPP SETUP the problem is the same.

My program uses dot matrix printer in condensed mode on continuous paper.

For Clipper, the printer is always OFF LINE.

Please help me.

Thank you.
Scharf

Reply 1 of 28, by Scharf

User metadata
Rank Newbie
Rank
Newbie

Hello Guys,

First thanks to all authors for developing a very useful software, and this feature out to all the internet.

But I need an answer from someone who knows better DOSBOX.

Maybe some DOSBox Author can help me.

I have great hope that DOSBOX is the solution of all my needs DOS, as a perfect Virtual DOS Machine.

I think I must be doing something wrong and i need help.

As I said in previous message, I have an old program made in Clipper that worked correctly on Windows 98 and Windows XP.

Now with a new computer with Windows Seven-64, I had to look for a solution and I placed all my hopes in DOSBOX.

This program, before printing, verify the printer status, and does not print if the status is OFFLINE.

It seems that the DOSBOX, always reports to the CLIPPER, STATUS = OFFLINE, even if the printer is on.

As already mentioned in the previous message, I'm using "parallel1=reallpt".

As already mentioned in the previous message, the command "DIR > PRN" print correctly.

My program in Clipper, in my old Windows 98 and Windows-XP, prints correctly, without using DOSBOX.

Now in SEVEN-64, the program does not print because the DOSBOX returns STATUS="Printer Offline".

Can anyone answer me why this happens?

Am I doing something wrong?

Please help me ... if there is no solution, i think about installing Oracle VirtualBox.

I did not want to do this, because the DOSBOX seemed perfect for many programs ...

Thank you for your time in reading this appeal ...

Scharf.

Reply 2 of 28, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

probably some status bit emulated wrong. but dosbox is for games, we don't care (much) for applications. Use a commercial well supported solution instead.

Water flows down the stream
How to ask questions the smart way!

Reply 3 of 28, by Scharf

User metadata
Rank Newbie
Rank
Newbie

Greetings Qbix

Thank you for your attention and response.

DOSBOX I think, is not simply a machine for old games. DOSBOX is much more than that. DOSBOX is a great solution for many unique applications that do not work anymore today. I have 46 years and 25 years ago was a Clipper programmer, when there was still no windows environments. I remember how hard it was, release lower memory for running applications and games. I was very surprised with the speed and optimization of DOSBOX. Yours really are to be congratulated. Very good all work on this software. I think this software may be commercial, because it is a unique solution, especially for Windows Seven 64 bits.

About my problem and my need, I know I can not demand anything of you who have done an excellent software and are available free to all.

I came to this forum for help and information on DOSBOX, I started now and still i know very little about DOSBOX.

I thought this same problem might already be known to some, and that someone might already have found some solution, perhaps with a patch.

Anyway, it's still a small bug that should receive some attention in an next version of DOSBOX.

If someone else who is reading this, know how to work around this problem, please answer me.

If any programmer DOSBOX, help me to solve, I'll be very happy and grateful.

Thank you all for the attention and I'll be waiting for an answer.

Sincerely,
Scharf

Reply 6 of 28, by Scharf

User metadata
Rank Newbie
Rank
Newbie

Hello everyone

I respect anyone who uses the DOSBOX only for games, because I also do this type of use. I am also grateful for the advice of Qbix and eL_PuSHeR, but I'd like to try using DOSBOX.

To try to solve my problem, I would change the source code and recompile DOSBOX.

I would like to do some tests by changing the function INT17_Handler, in BIOS.CPP.

static Bitu INT17_Handler(void) {
LOG(LOG_BIOS,LOG_NORMAL)("INT17:Function %X",reg_ah);
switch(reg_ah) {
case 0x00: /* PRINTER: Write Character */
reg_ah=1; /* Report a timeout */
break;
case 0x01: /* PRINTER: Initialize port */
break;
case 0x02: /* PRINTER: Get Status */
reg_ah=0;
break;
case 0x20: /* Some sort of printerdriver install check*/
break;
default:
E_Exit("Unhandled INT 17 call %2X",reg_ah);
};
return CBRET_NONE;
}

It seems that the Clipper uses this feature to print because each time the Clipper try to print, occur TIMEOUT.

	case 0x00:		/* PRINTER: Write Character */
reg_ah=1; /* Report a timeout */

And when the Clipper tests the status of the printer, the DOSBOX replies printer-not-ready.

	case 0x02:		/* PRINTER: Get Status */
reg_ah=0;

I read in the documentation of INT17, the following:

INT 17 - CHARACTER TO PRINTER 
AH = 0 AL = CHAR
Return: AH = STATUS BITS
INT 17 - INITIALIZE PRINTER
AH = 1
Return: AH = STATUS BITS
INT 17 - STATUS OF PRINTER
AH = 2
Return: AH = STATUS BITS
STATUS BITS:
0 = TIME OUT
1 = UNUSED
2 = UNUSED
3 = I/O ERROR
4 = SELECTED
5 = OUT OF PAPER
6 = ACKNOWLEDGE
7 = NOT BUSY

Can anyone describe the version of Visual C++ used, and the steps to build the development environment, of DOSBOX. Or tell me which topic should I read to learn this.

As you can see, I really want to solve my problem, using DOSBOX to print in Clipper. If anyone can help me with this, I'd be grateful.

Thank you very much.
Scharf.

Reply 9 of 28, by Scharf

User metadata
Rank Newbie
Rank
Newbie
Jorpho wrote:

In the Microsoft Web site, has only Visual C + + 2010 Express, 2008 has no more.
SDL-devel-2.1.14-VC8.zip is for VC2008.

Reply 13 of 28, by Scharf

User metadata
Rank Newbie
Rank
Newbie
Qbix wrote:

the sourcecode of the build mentioned by you in your first post.

Qbix, Also has http://ykhwong.xy.net/ (Sep. 22. 2011 Based on SVN r3752) while MB6: Based on SVN r3661 (nov/18/2010). Both have files = 128to255, necessary for Clipper. What do you think best?

Reply 15 of 28, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

You should try to follow the 2008 guide as long as you can with 2010. Most stuff should still work. It's not like MS has reinvented the wheel since then

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 16 of 28, by Scharf

User metadata
Rank Newbie
Rank
Newbie

Hello everyone

After a few adjustments still have two errors in the compilation of MB6:

1>------ Build started: Project: dosbox, Configuration: Debug Win32 ------
1> ne2000.cpp
1>d:\dosbox\dosbox-mb6\src\hardware\ne2000.cpp(53): fatal error C1083: Cannot open include file: 'pcap.h': No such file or directory
1> printer.cpp
1>d:\dosbox\dosbox-mb6\src\hardware\parport\printer.h(33): fatal error C1083: Cannot open include file: 'ft2build.h': No such file or directory
1> Generating Code...
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I searched the archives 'pcap.h' and 'ft2build.h', in sources of DOSBOX and SDL-1.2.14, but not found.

Can anyone help me with this?

Thank you.
Scharf

Reply 17 of 28, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Sdl_net perhaps or search google which library has that

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 19 of 28, by peterferrie

User metadata
Rank Oldbie
Rank
Oldbie

but there is the #ifdef bug instead of #if in the ne2000.cpp, so it can't be disabled without editing that file.

btw the game called Oxyd wants to print a certificate with the player's name on it, when you finish the game (I still have mine from many years ago). Is it the only game that needs the printer?