Yeah... The game works fine on Dosbox, but if I attempt to use a controller or joystick, it keeps throwing information about the joystick all over the screen like this!
Does anyone know how to remove this?
Now one thing I do know is that using the "joysticktype=false" command in the conf file works. But this defeats the point if I wish to play this game with a controller! So does anyone know what's going on here?
Last edited by SepticLemon on 2012-10-07, 18:49. Edited 1 time in total.
It appears this only happens in the 1.4 version, which I believe was the version included on the CD release, and earlier versions are not affected.
The game is constantly writing the joystick state info to STDOUT when a joystick is detected, but it also installs an INT 10h handler to specifically bypass function 0Eh (teletype output) so that nothing is actually written to the screen. It's odd, not to mention inefficient, for the game to go to the trouble of writing the data and then prevent the output elsewhere. Anyway, the INT 10h handler is not able to work as intended. This is due to DOSBox's internal DOS calling internal video BIOS functions directly rather than having the emulated CPU execute the same interrupts that real DOS does, which is faster but somewhat less compatible.
As a workaround, run the TSR program named INT29 from this thread in DOSBox; it uses interrupts that are similar to what real DOS uses for output.
That did the job! I downloaded int29 and put it into the same directory as the game, and I wrote the Conf file so that it would run int29.com before running the game, and now there's no STDOUT for the controller!
Fantastic! 😁 Thanks a bunch!
For those that want to see the conf file I made for this, here's the details, remember to grab that int29 file to make it work.
1[sdl] 2fullscreen = true 3fulldouble = true 4fullfixed = true 5fullresolution = desktop 6 7[cpu] 8core = simple 9cputype = 486_slow 10 11[render] 12aspect = false 13scaler = normal3x forced 14output = ddraw 15 16[joystick] 17joysticktype=4axis 18timed=true 19autofire=false 20swap34=false 21buttonwrap=true 22 23[autoexec] 24mount C D:\Games\DOSBox-0.74\GAMES\Prince\Prince1\ 25C: 26int29.com 27#int29.com & int29.asm need to be put into the directory seperatly as a download 28prince.exe 29exit
Plus, the files!
Directory of D:\Games\DOSBox-0.74\GAMES\Prince\PRINCE1