VOGONS


First post, by boris

User metadata
Rank Newbie
Rank
Newbie

This is a Dell Workstation, dual Xeon processors, running Win XP Pro, 2 Gig Mem. Dual SCSI 36 gig drives. Big flat panel screen; I have no idea whose video card is in the box or the MB ID--it is my work machine.

I tried DOSBOX to run an old DOS graphic app I wrote in Lahey Fortran EM/32 and ASM, which uses the Phar-Lap DOS extender. It works...except.

(1) Text output by my own ASM code (I wrote my own BIOS) is displayed correctly;
(2) Text output by Fortran "Write" to console statements is invisible.
(3) Function key presses--indeed any keypresses--are simply ignored.

I hope these problems are a result of my own ignorance and not something fundamental. If they are ignorance, please instruct me. If they are fundamental, (IMHO) they need to be fixed...

I can supply the app and a sample data file if anyone is interested in taking a look. Even source if you are a masochist.

Any ideas/suggestions/comments?

Thank you.

Boris

Reply 1 of 6, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

PharLap extender is supported, not sure what you
mean by "I wrote my own BIOS".

Key presses could be something with unimplemented
keyboard commands or the PIC (hanging int, masking
etc.) assuming the keyboard works correctly with other
things in dosbox (try some dos games or so).
There were some changes to the PIC implementation
so it could be worth to try a CVS build.

Executables are preferred as the problem can be
tracked easier in most cases.

wd

Reply 2 of 6, by boris

User metadata
Rank Newbie
Rank
Newbie

I wrote my own bios because I wanted to support dual monitors back in the DOS days and the idiots who wrote the IBM bios couldn't imagine doing that. The BIOS talked to the "logged" monitor; if there was a monochrome monitor, I wanted the menus to appear there. Also I needed to-the-pixel control of text position, which the BIOS did not give. Very instructive.

You are using acronyms I am unfamiliar with (PIC, CVS), so please eludidate.

--Boris

Reply 3 of 6, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

PIC = programmable interrupt controller - I'm not the best person to explain what it is though
CVS = concurrent versions system (I think) - the latest work-in-progress code for DOSBox is stored in a publicly-accessible CVS repository on sourceforge.net; you can get it from there and compile it to test the latest code, or find one of the CVS-based binaries linked from elsewhere on this forum

I'm still not sure what you mean by "wrote your own BIOS" either. Are you saying that you created your own complete set of PC BIOS routines from scratch and did one of the following?
- Flashed it over the BIOS code on your motherboard
- Swapped the BIOS code chip with one containing your own code
- Created and loaded some kind of TSR that traps BIOS calls made by other programs and executes your own routines instead

And you're somehow expecting DOSBox to support that?

Or do you mean that you wrote a library of custom text output routines that allow you to avoid the hardware BIOS limitations you mentioned? If this is the case, then if your code is messing with advanced text mode video hardware features then it's likely that DOSBox doesn't yet have support for such things (DOSBox's video support is currently focused more on graphical modes than text modes AFAIK)

Reply 4 of 6, by boris

User metadata
Rank Newbie
Rank
Newbie

"I'm still not sure what you mean by "wrote your own BIOS" either. Are you saying that you created your own complete set of PC BIOS routines from scratch and did one of the following?
- Flashed it over the BIOS code on your motherboard
- Swapped the BIOS code chip with one containing your own code
- Created and loaded some kind of TSR that traps BIOS calls made by other programs and executes your own routines instead

And you're somehow expecting DOSBox to support that? "
==========================================
Actually the BIOS was in a library called by other programs. I simply did not call the EPROM bios when functions outside its meager abilities were required. As I said, DOSBOX *DOES* support MY calls; it is the standard Fortran WRITE (through the PC BIOS!) and keypresses which are being ignored.
--Boris