VOGONS


First post, by bichuch

User metadata
Rank Newbie
Rank
Newbie

I use some old DOS-programs in the 50-lines text mode.
DOSbox does not allow to move mouse pointer below 25 line of text.
My question is about fatality of such behaviour.
May be some method for workaround of that exists?

Last edited by bichuch on 2012-09-26, 06:34. Edited 1 time in total.

Reply 1 of 37, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It should work fine if you call mouse reset and have the number of rows and colums correctly set in the bios area. (at least when looking the current code)

Otherwise try to load a different mousedriver in dosbox.

Last edited by Qbix on 2012-09-14, 13:57. Edited 1 time in total.

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

Reply 2 of 37, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Maybe it's true with programs you're using, but I've seen several textmode applications in 50 lines where the mouse pointer moves through all lines. For example, see the attached screenshot of QBasic where the pointer is over the help "button", which if clicked will bring up the help.

The problem you describe could occur if the BIOS row count is not changed when switching from 25 to 50 lines, so how do you switch?

Attachments

  • qbasic50.png
    Filename
    qbasic50.png
    File size
    11.12 KiB
    Views
    6965 views
    File license
    Fair use/fair dealing exception

Reply 3 of 37, by bichuch

User metadata
Rank Newbie
Rank
Newbie

ripsaw8080, your post gives me a hope!
My first question ([SOLVED] Is there a method for textscreen's height changing?) was answered negatively, but your picture shows non-standard sized window with nice 50-lines text. How to achieve this ?
And the second question is about mouse in conjuction with MultiEdit6.0 and TurboC++3.0. Again, how to move mouse below 25 line?

Reply 4 of 37, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Here's a screenshot of TC++ 3.0, again with the pointer over the clickable help "button".

You can get this kind of screen by loading the 8x12 font from Windows, reprogramming the CRTC registers controlling screen height, and setting the BIOS row count to 50. I made a TSR program that does these things and tries to keep them in force through mode changes. I've attached the program to this post -- some like it because it mimics the Windows Command Shell.

Attachments

  • Filename
    8x12_50.zip
    File size
    1.6 KiB
    Downloads
    526 downloads
    File license
    Fair use/fair dealing exception
  • tc50.png
    Filename
    tc50.png
    File size
    8.89 KiB
    Views
    6948 views
    File license
    Fair use/fair dealing exception

Reply 7 of 37, by bichuch

User metadata
Rank Newbie
Rank
Newbie

Yes, ripsaw8080, I have investigated it.
My not-default (meaningful here) setting was "autolock=false". In this mode mouse does not move into bottom half of the window. And in default "autolock=true" it does! But there are a partly garbage and some anomalies in DOSbox window (upon returning to it) after pressing <Ctrl-F10> to release the mouse after applying your USEFUL TSR. Thus, user must press <Alt-TAB> to switch tasks without mouse, and all will be OK.
Thank you very much!
😀 😀

Reply 8 of 37, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Unlocked mouse behavior can be anomalous; I usually avoid it, even to the point of forgetting to test it when people report mouse issues. 😉

I don't get any "garbage" on the screen when locking and unlocking the mouse. There may be some host factor involved. Have you tried using different output= settings?

Reply 10 of 37, by bichuch

User metadata
Rank Newbie
Rank
Newbie

Excuse me, ripsaw8080!
In fact, mouse/screen anomalies are equal with and without your TSR.
And it seems, they are gone out after applying "output=ovelay".
But sometimes anomalies are here again... System of their appearence is not recognized by me till the present...
So, thank you!

Reply 11 of 37, by gh2468

User metadata
Rank Newbie
Rank
Newbie

Ripsaw8080, by chance, or even on purpose, did you also prepare a 43-line version? Or, if there's a simple hex editor change I could make to 8x12_50, if that's easier for you.

And thanks very much for this. Been looking for a way to do this for quite a while.

Reply 12 of 37, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

DOSBox already supports 43 or 50 line text modes; the 8x12 font loaded by the TSR is just a bit easier to read than the usual 8x8 font. You'd need to modify the TSR to set the CRTC registers correctly for 43 lines and adjust the BIOS row count; but why do you need 43 lines instead of 50? 43 lines is typical for EGA, 50 for VGA, and the TSR as it is now probably won't work on the EGA machine type.

Reply 13 of 37, by gh2468

User metadata
Rank Newbie
Rank
Newbie

I'm sorry. I'm a complete newb to DOSBox, and don't know anything about modifying TSRs or CRTC registers. I've looked through all the documentation I can find, and have been unable to find any setting in the config file to set it to 43 lines of text. If DOSBox already supports 43 and 50 lines of text, can you just tell me what I have to change in the default config file to get there? I thought that's what bichuch was asking, and he was told no, you can't do that. So I'm really confused.

I need 43 lines because I have one computer set to 800x600 because I don't see well, and 50 lines is too long - can't see the bottom of the window. 43 would work fine.

Reply 14 of 37, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

You can't change the number of rows with the DOSBox config; a program like MODE from DOS is needed for that. Some textmode programs have the ability to switch to 43 or 50 rows with a menu option or hotkey, but it's typical for that to be in effect only while the program is running.

I need 43 lines because I have one computer set to 800x600 because I don't see well, and 50 lines is too long - can't see the bottom of the window.

50 rows with a 12-line font is 600 lines exactly -- a perfect height match for an 800x600 resolution. Maybe you have this mindset about 43 rows because you've been using a font with more lines...?

Reply 15 of 37, by gh2468

User metadata
Rank Newbie
Rank
Newbie

I've tried two MODE.COM files from different versions of DOS, but both come back with an error that it's the wrong DOS version. Can you tell me what the right version is, and where I would find it?

Well, there's the task bar at the bottom of the screen, and the DOSBox bar at the top of the window, which appear not to be included in the 50 lines. Anyway, when I run your 8x12_50 program, the bottom 4 lines are behind the task bar. The program doesn't pick a font, and it detects how many lines are in the window and operates accordingly, whether you can see all the lines or not.

Reply 16 of 37, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

If you know what version of DOS a program is looking for, change the reported version with the VER command. "VER SET 6 22" for version 6.22, as an example. However, the MODE program from real DOS may not work completely correctly for changing the text rows and columns unless you boot real DOS because the console device in DOSBox does not support everything the one in DOS does.

Yes, in windowed mode the total window height with the TSR will exceed 600, but in fullscreen mode the height is an exact match.

Reply 17 of 37, by gh2468

User metadata
Rank Newbie
Rank
Newbie

Ok, I got MODE.COM from DOS 7.10 to work, and it does shift to 43 lines. But it doesn't change the window size, so the text is very short, squat, and very hard to read.

Full screen does work, but then I lose the task bar, which I need.

Well, you've been very helpful, and I thank you for that. If you ever decide to do a version of 8x12_50 for 43 lines, I would volunteer to beta test for you.

Thanks again.

Reply 18 of 37, by Joey_sw

User metadata
Rank Oldbie
Rank
Oldbie

in text mode (mode 0 - 3), on CGA card it has 200 lines, on EGA 350 lines, and VGA 400 lines.
thats how it was on real system, which dosbox tries to emulates.

Those lines are important for some game that uses text-mode, as they need to change the lines/character and re-define the characters sets.

I myself prefer the 28 rows on VGA, the 8(9?)x14 characters box
I know someone who prefer 30 rows on VGA 8x13 characters box.

-fffuuu

Reply 19 of 37, by mhaigler

User metadata
Rank Newbie
Rank
Newbie

I know this thread has been closed for a while, but I thought I'd share that I'm having the same issue: no mouse below line 25 in textmode 80x50 (or 43) when Autolock=false.

Here's the thing. I have used DOSBox for years, and love it for all of my other DOS stuff (both games and non-games) that don't use textmode. But this fundamental flaw keeps me from using it for a few of the things I'd most like to use DOSBox for. It's a long story, but I have to go back and forth from the emulation in DOSBox and an outside (non-dosbox) window a LOT. (Sometimes, even between multiple DOSBox windows.)

Sure, when autolock=true, there is no issue; the mouse works fine once you "click" into the DOSBox window (or use fullscreen). But that "click" is precisely the problem, as you then have to alt-Tab (or crtl-F10) to free the mouse. It's a deal-breaker for me to use DOSBox because of the extra steps involved to get "in and out" with the locked mouse. Unlocked however, would be perfect, except that the mouse cursor won't go below line 25, leaving the lower half of the screen "un-moused". Ripsaw8080 (who is awesome) mentioned having "garbage" with the unlocked mouse, but that's never been an issue for me.

So, I did an exhaustive search online, including these forums, spent two weeks with the MODE command, mouse drivers, even the old Norton programs, and other screen tweaks. (ripsaw8080: did I mention you are awesome?: Your 8x12_50 is great, and gave me such hope, but alas...). Some blame the Microsoft's drivers, but I think that's a red herring; I am certain I used a mouse with 80x50 textmode with a "real" DOS machine.

So, I'm begging for this to get put back on the developer list; it seems like it might be a (sort-of) easy fix. The problem is either that the internal mouse driver in DOSBox is flawed, or that the implementation of it is flawed. I'm betting on the latter, since the mouse pointer is always proportioned correctly compared to where it is "outside" the DOSBox window. It simply seems that DOSBox isn't "aware" that the text mode is 50 lines (or 43) instead of the normal 25.

Any suggestions would be most welcome.

Thanks much,
MH