VOGONS


First post, by A600

User metadata
Rank Newbie
Rank
Newbie

Hello,

Dynamic core never worked on the xbox so after reading this post about using VirtualAlloc (I remember having similar problems with ZDoom) I gave a try and did a quick port from the latest CVS.

Sadly, the Xbox and the Visual Studio debugger hangs with the dynamic core enabled so I can't see why 🙁

Any ideas?

btw, with C_DYNREC enabled it seems to work fine but I don't see any speed improvements over the normal core.

Thanks in advance.

Reply 1 of 10, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Visual Studio debugger hangs

Where/when? Does it reach CPU_Core_Dyn_X86_Run() ?

with C_DYNREC enabled it seems to work fine

Be sure the core is actually compiled in, and the dynamic core is disabled.
Select core=dynamic then (=auto doesn't switch automatically).

Reply 2 of 10, by A600

User metadata
Rank Newbie
Rank
Newbie
wd wrote:

Where/when? Does it reach CPU_Core_Dyn_X86_Run() ?

CPU_Core_Dyn_X86_Run() is reached. The problem is, the Xbox hangs so the debugger losts the connection and the problem can't be traced.

Be sure the core is actually compiled in, and the dynamic core is disabled.
Select core=dynamic then (=auto doesn't switch automatically).

That's it!

Dynamic core seems to work pretty well. Games like Doom, Hexen or Heretic are very playable and run almost fullspeed (with the normal core they are slow as hell) Even Blood is somehow playable if there is no more than one enemy on screen 😅

Many thanks!

Reply 4 of 10, by ADDiCT

User metadata
Rank Oldbie
Rank
Oldbie

Wow! A600, is it possible for you to distribute that compile? I know of the problems connected with X D K apps, but it would be _so_ cool to try this build...

Reply 5 of 10, by A600

User metadata
Rank Newbie
Rank
Newbie
wd wrote:

CPU_Core_Dyn_X86_Run() is reached.

But does it already hang then? Can you single-step from that point on?

Yes, I can single-step from there, set a breakpoint, etc. I'll try a little program like keyb and trace DosBox from the beginning.

Wow! A600, is it possible for you to distribute that compile? I know of the problems connected with X D K apps, but it would be _so_ cool to try this build...

My build without keyboard and mouse is almost unuseable but I'm sure Xport will update his DosBox port now that we know the dynarec is working.

Reply 8 of 10, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Well then suppose you can find it only by intense debugging or something.

Try removing a good bunch of instructions from decoder.h, inside that huge
switch (opcode) thing. Everything you remove there is handled by the normal
core automatically.

Also add some LOG_MSGs into CPU_Core_Dyn_X86_Run() to narrow down
where it exactly crashes.

Reply 9 of 10, by A600

User metadata
Rank Newbie
Rank
Newbie

Is there any speed difference between the X86 and the dynamic cores? I ask this because two different builds compiled for Windows (one with C_DYNAMIC_X86 and the other with C_DYNREC) seem to have the same speed tested with the game Blood on my Athlon 1200.

Reply 10 of 10, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Hm same speed? I didn't compare them lately, but the dynamic core
should still be fastest, best testing is duke3d in 320x200.
They should definitely differ for fpu-heavy games, maybe try quake.