It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Is there a way to disable just the Y-axis (foreward/backward movement) of the mouse in DosBox while leaving X-axis movement intact? I've been trying to play AoG using WASD for movement (courtesy of DosBox's built-in mapper) and mouse for just "mouselook" (left/right only) but the game is making me kind of sick/dizzy. And I think it's because of the small/unintentional Y-axis movements of the mouse are causing my guy to "swim" foreward/backwards a bit when I'm just trying to turn left/right. I'd like to use only the left/right movement of the mouse and have the fore/back movements of the mouse ignored. Any ideas?
I don't know about Blake, but for Doom series I used novert.com http://www.doomworld.com/idgames/index.php?id=12039 .
avatar
theNeuron: I don't know about Blake, but for Doom series I used novert.com http://www.doomworld.com/idgames/index.php?id=12039 .
Thanks for that! Unfortunately the game thinks the up-arrow is being constantly pushed, making the game unplayable. But I see what it's trying to do... intercepting the mouse INT 33 vector and zeroing out the Y-axis. I'll tinker with it and see if I can get it to work.

UPDATE: I got it working. The solution is to hexedit NOVERT.COM and change the two bytes at offset 0031 (hex) from (33,D2) to (B2,64).

Explanation: the original NOVERT.COM intercepts two functions of the mouse handler vector (INT 33). Function 03 returns the position of the mouse, and Function 0B returns how far the mouse has moved since the last time we checked. The 0B function correctly returns 0 for the Y-axis movement (i.e. the mouse "never" moves in the Y-direction). However the 03 function was returning 0 for the Y-coordinate, which is the bottom edge of the screen. The correct answer (for Blake Stone, anyway) is to return the MIDDLE of the screen for the Y-cursor position, which is 64 (hex).

Now the mouse only moves left/right and does not move Blake foreward or backwards. Thanks for the tip!
Post edited February 08, 2011 by tritone
avatar
tritone: UPDATE: I got it working. The solution is to hexedit NOVERT.COM and change the two bytes at offset 0031 (hex) from (33,D2) to (B2,64).
Nice!
avatar
tritone: Explanation: the original NOVERT.COM intercepts two functions of the mouse handler vector (INT 33). Function 03 returns the position of the mouse, and Function 0B returns how far the mouse has moved since the last time we checked. The 0B function correctly returns 0 for the Y-axis movement (i.e. the mouse "never" moves in the Y-direction). However the 03 function was returning 0 for the Y-coordinate, which is the bottom edge of the screen. The correct answer (for Blake Stone, anyway) is to return the MIDDLE of the screen for the Y-cursor position, which is 64 (hex).

Now the mouse only moves left/right and does not move Blake foreward or backwards. Thanks for the tip!
I'm glad that helped. Pity source is not available, but I would guess that original author was too fast with copy and paste while coding the interrupt handler.

Oh, msdos assembly brings even more memories than Blake Stone :)

Have a nice day!
Well I am MSDOS iliterate would someone mind explaining how to get the program to work in simple terms. Please? Thakn you and sorry for my ignorance.
Post edited February 09, 2011 by grounddown77
high rated
avatar
grounddown77: Well I am MSDOS iliterate would someone mind explaining how to get the program to work in simple terms. Please? Thakn you and sorry for my ignorance.
1. Download and unzip the "novert.zip" file from the link listed by theNeuron above.
2. Copy NOVERT.COM to where you installed Blake Stone Aliens of Gold
3. From a Windows Command prompt, CD to the Blake Stone folder.
4. Run the DEBUG command to edit novert.com. Below is an example of how the window
will look after you type in your commands. Type "debug novert.com" and hit Enter. After the "-" prompt, type "e131" and hit Enter. On the 3rd line, debug will stop at the "33." and you type "b2" followed by the SPACEBAR. Then it will print "D2." and you type "64" and another SPACEBAR. Now hit Enter. Then type "w" and Enter. Then type a "q" and Enter. Here is how it should look...


debug novert.com
-e131
140D:0131 33.b2 D2.64 CF.
-w
Writing 0018B bytes
-q


Now you need to edit the dosboxBlakeAOG.conf and find the line with "BS_AOG.EXE" on it (at the very bottom of the file). Insert a line just above that with the command "novert.com" on it. Save the file. That's it! Here's how your dosboxBlakeAOG.conf will look at the very bottom when you're done...

@ECHO OFF
mount C "."
c:
cls
novert.com
BS_AOG.EXE
exit

Enjoy!
Post edited February 09, 2011 by tritone
avatar
theNeuron: Oh, msdos assembly brings even more memories than Blake Stone :)
Oh, i know! I was just thinking last night... it's probably been 15 years since I last had to hexedit a DOS program. Thanks for the memories! :)
Post edited February 09, 2011 by tritone
Thank you som much for your time and knowledge. Sorry I took -SO- long to reply, the computer I was using died and I just now got my new one.
I can't debug :( What am I doing wrong?
Attachments:
error.jpg (19 Kb)
Someone?
avatar
Ghostbreed: I can't debug :( What am I doing wrong?
If you're using 64-bit Windows the debug command is not available. You will need to open DOSBox and use it's debug command (easiest) or use a virtual machine with a 32-bit copy of Windows (more difficult).

Flynn
EDIT: Got it to work now. Thanks Flynn!

I tried debugging in DOSBox, but that was apparently "illegal" command.
Post edited November 19, 2014 by Ghostbreed
avatar
Ghostbreed: EDIT: Got it to work now. Thanks Flynn!

I tried debugging in DOSBox, but that was apparently "illegal" command.
Good to hear. =)

Flynn
Second Edit: It appears to be working, but if my mouse is on when I start the game it gets me stuck in a "Do you wish to quit?" loop as soon as I hit the menu screen. No matter how many times I hit "N', it just keeps reappearing. Any ideas? It looks like I have it sorted apart from this one bizarre issue..
Post edited November 29, 2014 by JustJeff88
Happens to me too, if I accidently click with the mouse during the intro screens. Just avoid it and click forward with Enter instead.
Post edited November 29, 2014 by Ghostbreed