DOSBox-X branch

Here you can discuss the development of patches.

Re: DOSBox-X branch

Postby danrevella » 2016-8-16 @ 16:52

Hi!!
Seems to me that bios support for int 10h 1c02h is broken.
I always play to Prince of persia (dos first version) and use Gamebuster or Infinity Machine to cheat on it.
When I restore the video of the game it become corrupt and broken, after a lot of test I release that the problem is when you call int 10 funct ax=1c02 with cx >3 (usually I need cx=7)
IMO: int 10h funct 1c ...........
Notes: This is very handy for task-switching software such as the DOS
Shell and can be useful in systems that switch in-and-out of
graphics modes.
This is my supposition, BTW all the good old cheat utility (exception is Game Wizard who use an alternate system to save the video of the game) : FPe, Game buster, Gk97, Gametools no longer works..
Any help please?
danrevella
Newbie
 
Posts: 25
Joined: 2009-5-10 @ 13:34

Re: DOSBox-X branch

Postby Anamon » 2016-11-06 @ 13:14

As of the 20160510 snapshot, DOSBox-X seems to crash immediately upon startup if machine=ega is set. The log doesn't say anything relevant, it just ends after the keyboard layout loading. Does this happen to everybody else, too?
Anamon
Newbie
 
Posts: 31
Joined: 2006-10-23 @ 01:59
Location: Switzerland

Re: DOSBox-X branch

Postby Myloch » 2016-11-06 @ 13:33

Anyone distributing binaries for dosbox-x recently?
"Gamer & collector for passion, I firmly believe in the preservation and the diffusion of old/rare software, against all personal egoisms"
User avatar
Myloch
Member
 
Posts: 350
Joined: 2007-4-18 @ 22:13

Re: DOSBox-X branch

Postby Silanda » 2016-11-06 @ 15:20

Myloch wrote:Anyone distributing binaries for dosbox-x recently?


This is my latest 32-bit Windows build with OpenGL fixed. It's not absolutely up to date, but AFAIK the only source changes since have been the start of the SDL2 port. Just a heads up though, it will sometime immediately close when run in OpenGL mode, and my meagre debugging skills were insufficient to figure out why. Just keep executing it until it starts up.
You do not have the required permissions to view the files attached to this post.
Silanda
Member
 
Posts: 136
Joined: 2005-9-08 @ 01:24

Re: DOSBox-X branch

Postby Myloch » 2016-11-06 @ 15:31

Any idea if recent Munt updates (v2.0), that fix some bugs and refine things will be applied to dosbox-x?
Infos here.
"Gamer & collector for passion, I firmly believe in the preservation and the diffusion of old/rare software, against all personal egoisms"
User avatar
Myloch
Member
 
Posts: 350
Joined: 2007-4-18 @ 22:13

Re: DOSBox-X branch

Postby joprysko1 » 2016-12-30 @ 15:30

I'm trying to build DOSBox-X (or more specifically right now the old HAL9000 build), on my Raspberry Pi 3. A number of issues I've been able to get resolved with a bit of elbow-grease and google, but often it was adding an include library here or there.

What I really "need" is a DOSBox build that will be able to talk TCP/IP (via NE2000 emulation and packet driver), and talk to modems over serial or USB. I started with the HAL9000 Megabuild, as it has those functionalities built-in.

When I attempt to make, when it tries to compile the porttalk library it fails. apparently, it provides the ability for the DOSBox VM to talk to the physical parallel port from what I can tell, as it's not part of the main branch. It asks for the perm.h library, which doesn't appear to exist for the arm cpu.

porttalk.cpp:233:22: fatal error: sys/perm.h: No such file or directory
#include <sys/perm.h>

optimally, if I could get it to build without removing functionality, that would be the easiest. I've tried adding the i386 perm.h library, but it ends up spewing out a bunch more errors. I just don't know how I could 'remove' the need for porttalk, as it's functionality I don't need.

Thanks,

Joe
joprysko1
Newbie
 
Posts: 6
Joined: 2016-12-30 @ 15:10

Re: DOSBox-X branch

Postby joprysko1 » 2016-12-30 @ 15:36

Also, when I use perm.h library, here's the errors that show up.

if g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -I/usr/include/freetype2 -MT porttalk.o -MD -MP -MF ".deps/porttalk.Tpo" -c -o porttalk.o porttalk.cpp; \
then mv -f ".deps/porttalk.Tpo" ".deps/porttalk.Po"; else rm -f ".deps/porttalk.Tpo"; exit 1; fi
porttalk.cpp: In function ‘void outportb(Bit32u, Bit8u)’:
porttalk.cpp:60:5: error: unknown register name ‘al’ in ‘asm’
);
^
porttalk.cpp:60:5: error: unknown register name ‘edx’ in ‘asm’
porttalk.cpp: In function ‘Bit8u inportb(Bit32u)’:
porttalk.cpp:71:5: error: unknown register name ‘al’ in ‘asm’
);
^
porttalk.cpp:71:5: error: unknown register name ‘edx’ in ‘asm’
Makefile:229: recipe for target 'porttalk.o' failed
make[4]: *** [porttalk.o] Error 1
joprysko1
Newbie
 
Posts: 6
Joined: 2016-12-30 @ 15:10

Re: DOSBox-X branch

Postby Jorpho » 2016-12-30 @ 17:26

joprysko1 wrote:What I really "need" is a DOSBox build that will be able to talk TCP/IP (via NE2000 emulation and packet driver), and talk to modems over serial or USB. I started with the HAL9000 Megabuild, as it has those functionalities built-in.
It is not clear why you are posting about this in a thread about an unrelated patch.
User avatar
Jorpho
l33t++
 
Posts: 7043
Joined: 2003-2-14 @ 19:50
Location: Canada

FDC Emulation very broken

Postby hojuruku » 2017-1-01 @ 02:22

Hello Gents,

I've been trying out the latest dosbox-x from github the last few days in an attempt to get Windows 95 working on it with Voodoo emulation working on
Linux (Gentoo.org). I haven't progressed to voodoo yet because I've been having a few troubles.

One little problem is you can't enable alsa midi, even though I explicitly enabled it using the configure option "--enable-alsa-midi". On regular dosbox svn with glide (gentoo ebuild) it works fine to my daughter's keyboard. Here's the result from dosbox-x.

I'd use github to report these but github is based in San Francisco and took down my account and all my work because I called out an opensource project (LEDE) being forked from Openwrt in a very bad way by a bunch of #$@@#$@ for profit (free hosting 2TB integration cluster, sponsorships and trying to undermine the parent project) by a minority sexual preference team of breakaway devs. So I made a new github account named "killall-9-boylovers" and they flagged that too without posting any content whatsoever on it because they found it offensive not to respect those who are are part of international paedophile rings.

Code: Select all
mpu401=intelligent
mididevice=alsa
midiconfig=24:0


Code: Select all
LOG: TiMidity: can't open control connection (host=24, port=0)
LOG:          0 ERROR ALL:Unable to open file "24:0"
LOG:          0 ERROR ALL:Couldn't load soundfont file
LOG:          0 ERROR ALL:Failed to load SoundFont "24:0"
LOG:          0 ERROR ALL:Unable to open file "/home/lmc/.dosbox/capture/24:0"
LOG:          0 ERROR ALL:Couldn't load soundfont file
LOG:          0 ERROR ALL:Failed to load SoundFont "/home/lmc/.dosbox/capture/24:0"


Update: This isn't a big bug dosbox behaves weird when the midi device is unplugged. It appears when the keyboard is unplugged dosbox switches to other midi drivers. I changed it to port 14 (midi through port) and it worked fine.

It seems the FDC controller if enabled causes everything on the PNP bus to be re-enumerated / scanned again by windows. In my testing, I don't know what I did but ONCE it worked. When enabled I get various protection faults. With it disabled Windows is stable. I'm running the dynrec core on x86_64 4.8 kernel now, but also I tested the dynamic-x86 core when I compiled at 32 bit version. You need to edit configure.ac and modify your CXXFLAGS to include -m32 to do that.

This is what is frustrating me. I wish I knew what I did to get it working previously. If the FDC is enabled windows GPFs all over the place (see pictures), if it is disabled it is stable but I get this. In compatibility mode paging performance is no good, and there is no way to disable the floppy drive appearing even if you don't mount any floppy drive or disable the controller.

Image

Of course it isn't the 0x370h conflicting with the IDE controller, I confirmed that Windows is only using the standard IO addresses for primary, tertiary, and quaternary controllers as shown below.

Code: Select all
[ide, primary]
enable=true
pnp=true
irq=14
io=1F0
altio=3F6
int13fakeio=false
int13fakev86io=true
enable pio32=true
ignore pio32=false
cd-rom spinup time=0
cd-rom spindown timeout=0
cd-rom insertion delay=4000

[ide, secondary]
enable=false
[ide, tertiary]
enable=true
pnp=true
#irq=0
#io=0
#altio=0
irq=11
io=1E8
altio=3EE
int13fakeio=false
int13fakev86io=true
enable pio32=true
ignore pio32=false
cd-rom spinup time=0
cd-rom spindown timeout=0
cd-rom insertion delay=4000

[ide, quaternary]
enable=true
pnp=true
irq=10
io=168
altio=36E
int13fakeio=false
int13fakev86io=true
enable pio32=true
ignore pio32=false
cd-rom spinup time=0
cd-rom spindown timeout=0
cd-rom insertion delay=4000


Here's the configuration for the floppy, that doesn't work when enabled.
Code: Select all
enable=disable
pnp=false
irq=6
io=370
dma=2
#irq=0
#io=0
#dma=-1
int13fakev86io=true
instant mode=false
auto-attach to int 13h=true
mode=ps2
chip=82077aa


Note when FDC enabled and PNP is off - windows doesn't talk to the Floppy and it is stable.
LOG: FDC installing to io=370h IRQ=6 DMA=2

When adding the floppy in Windows only gave two choices with IO 0x372-375 being the second choice. When using PNP for all controllers the first controller does use different IO addresses but still windows is DOA on install, and it uses floppy IO port 0x370. Even though I enter 372 in the dosbox config the startup log shows io=370h

Image
Image

I had more luck setting the floppy drive settings to auto and pnp enabled. However with that the floppy device fails to start with a code 10. I recall the same result using PNP for all controllers. Now that I think about it the FDC only ever worked when there was no IDE emulation.

Any suggestions to what I'm doing wrong?

Image

Please excuse my avatar. If Phillis can have his big Rainbow Australian Bear... All is fair.... I thought I'd do the same and make a big gay Australian avatar too :)
Pink-Triangle.org logo was designed by Waffen SS to mark LGBTIQP for death in the Holocaust. Now worn by AU Gov's Special Gay Police (facebook.com/policeglbti) who proudly wear Nazi apparel. http://www.truthnews.com.au/web/radio/s ... arxism_101
User avatar
hojuruku
Newbie
 
Posts: 3
Joined: 2017-1-01 @ 01:00
Location: Not Disclosed

Re: DOSBox-X branch

Postby hojuruku » 2017-1-01 @ 02:34

P.s. The -fdc option to imagemount isn't working at all but my testing above was without mounting any floppy images. It's mentioned the configuration file template that dosbox-x can create but it doesn't seem to be in the code.

The big question in the interim is compatibility mode paging going to slow down the whole win95 emulated system if just the floppy drive is using that for IO?
Pink-Triangle.org logo was designed by Waffen SS to mark LGBTIQP for death in the Holocaust. Now worn by AU Gov's Special Gay Police (facebook.com/policeglbti) who proudly wear Nazi apparel. http://www.truthnews.com.au/web/radio/s ... arxism_101
User avatar
hojuruku
Newbie
 
Posts: 3
Joined: 2017-1-01 @ 01:00
Location: Not Disclosed

Re: DOSBox-X branch

Postby hojuruku » 2017-1-01 @ 02:47

In my BIOS, there's an options that says "Repord no FD for Win95". If you can find it, that may help.

Also, if you go into your System Properties (same window as device manager) and click on the "Performance" tab, then "File System", then "Floppy Disk" see if it's searching for a drive every time Windows starts. I'd try unchecking that.

from https://arstechnica.com/civis/viewtopic ... #p17320983

http://wiki.osdev.org/Floppy_Disk_Contr ... _Real_Mode
Windows 95 can only use a primary FDC, however drives 3&4 are only supported via Int13h.

If we are not going to fix the "Preliminary FDC support", and compatibility mode paging affects the whole OS performance, then we need an option to disable in13h support for floppies in the configuration file. Has anyone disabled int13h support for floppies in the Windows 95 image itself? Is that even possible?
Pink-Triangle.org logo was designed by Waffen SS to mark LGBTIQP for death in the Holocaust. Now worn by AU Gov's Special Gay Police (facebook.com/policeglbti) who proudly wear Nazi apparel. http://www.truthnews.com.au/web/radio/s ... arxism_101
User avatar
hojuruku
Newbie
 
Posts: 3
Joined: 2017-1-01 @ 01:00
Location: Not Disclosed

Re: DOSBox-X branch

Postby videogamer555 » 2017-1-08 @ 00:47

TheGreatCodeholio wrote:- Serial mouse emulation. You can enter "serial1=serialmouse" into your dosbox.conf to have DOSBox emulate a Microsoft compatible mouse connected to your serial port of choice. Some software made prior to the introduction of PS/2 mice need this. With Windows 1.0, this option is the only way to get a usable mouse cursor within the graphical interface.

AWESOME!

Too bad the official DosBox developers don't consider it worth taking their time to add that feature to the official version of the game.
videogamer555
Member
 
Posts: 125
Joined: 2010-2-04 @ 08:18

Re: DOSBox-X branch

Postby aaronp » 2017-1-26 @ 15:20

Does anyone know why the device manager in Windows 98 SE would give an error code 10 for the Soundblaster?
aaronp
Newbie
 
Posts: 5
Joined: 2016-10-16 @ 19:32

Re: DOSBox-X branch

Postby Scali » 2017-2-08 @ 12:27

I have been experimenting a bit with polling the PIC for interrupts rather than using int handlers (polling can be faster in some cases).
I have incorporated this in my SN76489 VGM player.
The int-based version works okay in DOSBox-X: https://www.dropbox.com/s/kt3acsedq2ey2 ... t.zip?dl=0
You may want to try with these Alex Kidd VGMs, as "I'm the miracle ball" and "Aaargh!" contain samples: http://www.smspower.org/Music/AlexKiddT ... 197403e452
You'll need to enable the high accuracy emulation of the Tandy audio to get that to work properly.

Here is the polled version, which I have verified to work correctly on real hardware (real 8088, real 8253 and real 8259 chips, and real SN76489AN): https://www.dropbox.com/s/q955g9mko3yfd ... d.zip?dl=0
On DOSBox-X, it just hangs indefinitely, so apparently polling the IRR does not work like it does on real hardware.
Some background info:
I set the PIT to square wave mode (mode 3), so that its signal remains high for an extended period of time (in mode 2 it is only pulsed for 1 cycle, so you'll often miss it when you poll).
I then poll IRR until bit 1 is set, indicating the timer interrupt (interrupts are disabled, so the handler is never called):
Code: Select all
      // Poll for interrupt
      mov dx, PIC1
      mov ah, 0x01

   pollLoop:
      in al, dx
      test al, ah
      je endPoll
// ...Unrolled for accuracy...
      in al, dx
      test al, ah
      jne pollLoop
      
   endPoll:


Then I emit the SN76489 command data.
Then I wait for the IRR to go low again, just in case (in mode 3 the new count gets effective the next time it hits 0, so I want to make sure I'm in the second half-phase of the countdown):
Code: Select all
      // Wait for counter to go low
      mov ah, 0x01
      
   pollLoop2:
      in al, dx
      test al, ah
      je pollLoop2


And then I write a new count to the PIT for the next interrupt.

I've also done a quick experiment with sending the poll command to the PIC instead (which is somewhat slower than polling IRR, because you have to send the command everytime).
I also got that to work on real hardware, but not in DOSBox-X yet. I will clean up that code a bit and make another binary of VGMPlay for that variation soon, and then I'll also post the code of that one, if it still doesn't work on DOSBox-X.
Scali
l33t
 
Posts: 2776
Joined: 2014-12-13 @ 14:24

Re: DOSBox-X branch

Postby Scali » 2017-2-08 @ 22:18

Following up, here is the other polling version: https://www.dropbox.com/s/i1kjdp05rn9i6 ... C.zip?dl=0
The code works like this:
The PIT is in rate generator mode (mode 2). I use the following code to poll the PIC for an interrupt happening (interrupts are disabled at this time, so no int handler is called, as in the other polling version):
Code: Select all
      // Poll for interrupt
      mov dx, PIC1_COMMAND
      mov ah, 0x80
      
   pollLoop:
      // Poll for interrupt
      mov al, 0x0C//OCW3_P
      out dx, al
      in al, dx
      test al, ah
      jz pollLoop


The MSB is set when an interrupt happens, so I just test for that bit (the low bits indicate the highest int number that is currently being triggered, I just ignore that for simplicity, I only use the timer).
When you perform the poll-command, and an interrupt was signaled, the PIC treats this poll-command as if the CPU has sent an INTA to acknowledge the interrupt.
So at this point the interrupt is in service.
I have programmed the PIC to be in auto-EOI mode (in fact, the two previous versions also use auto-EOI mode), so I need to take no further action. The interrupt is automatically acknowledged and ended after the poll loop.
So I can just wait for the next interrupt in the same way.

Again, I have verified that this works correctly on real hardware. DOSBox-X hangs indefinitely, indicating that the poll-command on the PIC never sets the MSB to indicate any interrupts from the PIT.
Scali
l33t
 
Posts: 2776
Joined: 2014-12-13 @ 14:24

Re: DOSBox-X branch

Postby Enverex » 2017-3-01 @ 10:57

Does the IDE support exist in patch/diff format anywhere? I cannot really find any mention of it anywhere on the net other than chatter within some threads about one or two of the forks.

Additionally, core command-line features appear to be different for DOSBox-X. Can it not run programs directly from the command line? e.g. "dosbox Games/Syndicate/INTRO.EXE" in normal DOSBox would mount "Games/Syndicate" as Drive C and then run "INTRO.EXE". DOSBox-X doesn't do this does it?
User avatar
Enverex
Newbie
 
Posts: 39
Joined: 2016-2-09 @ 10:05
Location: UK

Re: DOSBox-X branch

Postby pupin » 2017-3-19 @ 11:33

Hello,

Regarding MIDI functionality in DOSBox-X, I have two questions:
- Should switching on the fly of midi devices work? Because it seems it doesn't, with all versions of DOSBOX-x that I tested. For example, switching from MT32 to FluidSynth using the GUI (or using set command), results in no change.
- How can I enable logging of midi functionality? For example, I see no error if MT32 files are not found, or anything else related to MIDI is not outputted anywhere (and I set true to log for everything in the log file).

Thanks for the help!
pupin
Newbie
 
Posts: 5
Joined: 2012-8-25 @ 14:48

Re: DOSBox-X branch

Postby Myloch » 2017-3-23 @ 18:54

Bumping my question about munt 2.0.0 & dosbox-x...are all the most recent changes in the roland emulator added to this dosbox fork?

Is there anyone who's releasing updated binaries now?
"Gamer & collector for passion, I firmly believe in the preservation and the diffusion of old/rare software, against all personal egoisms"
User avatar
Myloch
Member
 
Posts: 350
Joined: 2007-4-18 @ 22:13

Re: DOSBox-X branch

Postby collector » 2017-3-23 @ 21:14

TheGreatCodeholio has not been here since last Sept. This branch is probably headed to extinction if no one else is willing to pick it up.
User avatar
collector
l33t
 
Posts: 3939
Joined: 2003-1-15 @ 10:39

Re: DOSBox-X branch

Postby chinagreenelvis » 2017-4-05 @ 04:02

I'm trying to test out DoxBox-X but I'm not sure if I have the latest x86 binary and I'm not sure what base system I should be using it with. (0.74? Daum?)

No matter what I do, I can't boot into Windows 98 SE. I've tried preexisting image installations and installing it myself. After the 98 logo, DosBox-X closes.
chinagreenelvis
Newbie
 
Posts: 3
Joined: 2017-4-02 @ 08:11

PreviousNext

Return to DOSBox Patches

Who is online

Users browsing this forum: No registered users and 1 guest