VOGONS


ARM (Thumb) Dynamic Core Code

Topic actions

Reply 40 of 48, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Jagged Alliance throwed 8bit irq pending error once

This is intentional, it'll be removed by times but don't worry about this type of exiting.

Most probably it's just my old device behaves bad.

Hm maybe we can get some feedback by other people by times, Pickle said
he's updating to cvs regularly.

Reply 43 of 48, by Tramboi

User metadata
Rank Newbie
Rank
Newbie

Hi guys,
ARM platforms will porbably always be slow with DosBox so I was wondering if this approach would be viable for popular specific games that wouldn't cut it on a GP2X or Pandora:
IIRC the dynamic recompiler has a cache of generated native code blocks.
1) we would need to instrument it to identity with pages of this cache are hit the most by CS:IP, i.e. find some bottlenecks
2) dump these n most executed cache pages
3) hand optimize these routines for the target platform
4) reinject the result in the binary to populate the cache up-front

Is it practical or is it too naive? (Total lack of elegance set aside, of course 😀 )

Cheers,
Tramb

Reply 45 of 48, by Tramboi

User metadata
Rank Newbie
Rank
Newbie

Are you talking of relocated code or dynamically generated code? Or both?

Do you think a IDA FLIRT-like approach would be more appropriate instead to recognize functions then bind them to native code when appropriate?
http://www.hex-rays.com/idapro/flirt.htm

Reply 46 of 48, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

well games don't spend much time actually in functions that come from known libraries.
The mainloop of each game is rather unique. and it makes little sense to speed up file loading if the rest of the game is slow

Water flows down the stream
How to ask questions the smart way!

Reply 47 of 48, by Tramboi

User metadata
Rank Newbie
Rank
Newbie

I was more thinking of shipping specialized dosbox versions with optimized native sprite blitting, triangle rasterizing, sound mixing or whatever for each popular enough game.
Or, even neater but probably not worth the trouble, DosBox could contain specialized routines for a bunch of games as external files (think about disk protection patches in Amiga/ST emulators for instance).
Just wishful thinking of course 😀

Reply 48 of 48, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Are you talking of relocated code or dynamically generated code? Or both?

Structures have to know about the paged-in code blocks location, which would
mean a lot of book-keeping if you really got an idea how to handle that.

In general it would be far more efficient to move on to a full recompiler
(arm specific then, where the current general recompiler can serve as
nice start).