nbarkhina / DosWasmX

Build your own DOS/Windows machine in the browser
https://www.neilb.net/doswasmx/
MIT License
59 stars 10 forks source link

Fullscreen function pushing column 80 off-screen #10

Open shuffett407 opened 5 months ago

shuffett407 commented 5 months ago

dosbox-x-for-web-vga dosbox-x-for-web-cga When I run the VM in CGA, machine=[cga],[tandy],[amstrad] , clicking the fullscreen button works correctly. However, when I switch to EGA or higher, clicking fullscreen pushes column 80 off-screen. I'm running DOS Wasm X v0.2 and have made no other changes to the files.

nbarkhina commented 5 months ago

How are you updating it to use CGA, are you updating the dosbox-x-for-web.conf file?

shuffett407 commented 5 months ago

Yes, that's how I made it use CGA.

Other workarounds I've found use the utilities in the TEXTUTIL folder. I run EGA.COM and either 80X60.COM or 80X43.COM. This causes the mouse position highlighting to fail.

nbarkhina commented 5 months ago

I see, ok I was able to reproduce it using the EGA.COM script like you mentioned. it looks like there's a bug when you go full screen and the app is wider than your monitor. I'll take a look at, thanks for reporting.

shuffett407 commented 2 months ago

Here is a solution I created by changing the parameters in the dosbox-x-for-web.conf file.

Before [sdl] autolock=true showdetails=true showmenu=false mouse_wheel_key=1

After [sdl] autolock=true showdetails=false showmenu=false output=direct3d fullresolution=original mouse_wheel_key=1

Before [render] scaler=none

After [render] aspect=true

I had the best results with the monitor resolution set to one of these: 1152x864 1024x768 832x624 800x600 720x480 or 640x480.

With the monitor resolution set to one of these, the text displayed correctly but did not fill to the edges horizontally: 1920x1080 1680x1050 1440x900 1280x800 1280x720 or 720x400.

With the monitor resolution set to one of these, the text went off-screen: 1280x1024 or 720x576

nbarkhina commented 2 months ago

that's really cool - thanks for that fix!

I tested on both 1920x1080 and 1600x1200 and it worked for me, the text does not run off the screen. but also can see that in 1280x720 it does run off the screen.

sorry I've been swamped with work and had not gotten to working on this. I think the real solution needs to involve looking at the monitor and scaling dynamically based on that, so will probably need some amount of coding in the JavaScript file.