View Single Post
Old 17 October 2015, 16:33   #2
Registered User
Join Date: Jan 2010
Location: Kansas
Posts: 873
Originally Posted by eXeler0 View Post
@NovaCoder, (or MattHey)
In your opinion, would it have been possible to optimize it enough purely software-wise using asm to make it useful on a 060?
Yes, I believe so. A working dynrec should give 386 performance. Wolfenstein and Tomb Raider would probably go from a slide show on my 68060@75MHz to playable. There are many older games that don't need much processing power. I believe NovaCoder was wanting DOSBox to replace ScummVM on high end Amigas. I could optimize common C functions in assembler especially the functions emulating x86 instructions. Some of the DOSBox functions expect function arguments to be passed in registers (fastest way) but GCC doesn't have a global way of specifying what is necessary. I could fix this with enough time and it would be cleaner and faster than the modifications to the code which I made to get it to work. NovaCoder could probably have done some more optimizing at the high level too. A different version of GCC may generate better code. We were using 3.4.x for convenience. The code is in C++ and quite large so there aren't many other Amiga compilers which would work. We really needed an x86 DOS expert or one of the DOSBox programmers to help us get the dynrec going before it would have been worthwhile to optimize more.

Originally Posted by eXeler0 View Post
Or is the only viable solution a faster CPU.. Does the prospect of 060+ performance of the Vampire revive its usefulness somehow?
Anyone tried it? (I know there are some beta testers of the Vampire 2b board around here ;-)
Although the new Vampire's Apollo core in FPGA is not much faster than a fast 68060, it does have less bottlenecks. The caches are much bigger which should help with the large DOSBox executable. The Apollo core has the 64 bit integer MUL and DIV instructions in hardware making them faster than the 68060. DOSBox would be a good test of performance but the Apollo core needs to be mostly bug free to execute such a large program.
matthey is offline  
Page generated in 0.05185 seconds with 9 queries