VOGONS

Common searches


Search results

Display options

Re: -conf fails with linux launcher

in DOSBox General
I think the problem is ~. ~ is expanded into your home directory by the shell. The launcher doesn't expand ~, so dosbox can't find the conf file. Try putting the full path of the conf file in the launcher - /home/.../.dosbox/specificconffile.conf .

Re: DOSbox fails to run DukeNukem on ARM

in DOSBox General
Compiled DOSbox SVN. Same performance as 0.7.4 (using "auto" core). The arm dynamic core is not autodetected in compilation - it has to be enabled manually. After running ./configure (before running make), edit config.h and change following definitions: #define C_DYNREC 1 #define C_TARGETCPU …

Re: dynrec bugs

Apparently I didn't explain the idea sufficiently enough. I'll try it with examples (with x86 instructions, because I'm not familiar with 68k). Currently you are calling functions like this: push par4 push par3 push par2 push par1 call function add esp, 4*4 You can achieve the same with this code: …

Re: dynrec bugs

Just an idea based on how some x86 compilers optimize function calls: Instead of pushing parameters on stack and then reclaiming the stack after function call, the idea is to allocate the space for 4 parameters on stack (when entering dynarec) and when you call a function you move the parameters …

Dynrec - ARM backend update

in DOSBox Patches
Hi, I updated the arm backend in the dynrec. The most important change is the option to use armv7 instructions. A version using armv7 instructions is 50% faster than a version without this update - using doom2 timedemo (75% faster in a benchmark without graphics output). Diff file of trunk against …

Minor bug in paging.h

Hi, I found a minor bug in the file include/paging.h. In the function get_tlb_entry the line: if (TLB_BANKS && (index > TLB_SIZE)) { should be: if (TLB_BANKS && (index >= TLB_SIZE)) { because when index == TLB_SIZE, then paging.tlbh[index] is out of bounds of tlbh (the definition is: tlb_entry tlbh[ …

FPU bug on mixed-endian CPUs

Some ARM CPUs use little-endian byte ordering for integers, but use big-endian word ordering for double floating-point numbers. This causes a bug in some FPU instructions, because dosbox assumes that byte ordering for integers and word ordering for doubles is the same. Proposed fix is in the …

Re: Ideas about speeding up the dynrec

Looks like the last idea was a bust. I tested 15 various games and all crashed with my test implementation. The only thing that didn't crash was my test benchmarking program and the measured speedup was quite small. So I'm not going to work on this idea anymore. On the bright side, since I learned …

Re: Ideas about speeding up the dynrec

maybe reset the handler stuff if the paging handler change ? I don't think this would help. In the growing stack example, the handler is set and doesn't change. While the stack is enough, the code is rewritten for direct access. When the stack grows beyond limit, the handler for the page should be …

Re: Ideas about speeding up the dynrec

In pmode with paging enabled, memory access is controlled by flags that specify how a 4k page can be accessed. If an access is denied, a page fault happens (telling that a page doesn't exist, is read-only etc.) and the pmode extender/OS software part handles the information accordingly (like …

Re: Ideas about speeding up the dynrec

I save call to the original function, exception check exception checks may be worth having an eye on (InitPageHandler tests for pagefaults for example) as they may occur at page sweeps, raising the counter check to 4096 would be better then. I haven't studied dosbox that much to know how it works. …

Re: Ideas about speeding up the dynrec

You're talking about mem_readb_checked_drc et al? I think that would break if something does a sweep read of the memory say from address 0x1000:0 to 0xb000:0 (so includes regular memory and graphics memory), which exceeds your limit. Yes, I'm talking those functions. I know it breaks in similar …

Page 3 of 4