First post, by Lope
Hello! Firstly I want to say that Dosbox is great! I felt the urge to play some ultima 8. After struggling for hours with virtual PC, VMware, and even some windowx9x patch for ultima. I tried Dosbox and it worked really well and effortlessly. Well done, great idea etc etc.
The main reason I'm posting is because Dosbox is slow.
I understand and respect your goals for focusing on compatability, and not wanting to get tied down with platform specific code with regards to virtualisation, platform specific and configuration specific optimisations.
I gave it all some thought and there are two things I want to say.
I read another thread where someone said DosBox emulated CPU speed = 1/40th of host CPU speed, therefore to have the equiv of a P200 you need 8ghz. Others responded by saying "yeah, that'll be here quick quick"
I dont believe 8ghz processors will be available before at least 2011 (not electronic CPUs anyway) and if they do become available, they probably wont be affordable for another year after that at least.
The area which CPUs are currently improving in mainly is paralell processing, and from my 'laymans' perspective in this area, paralell processing would be pretty hard to take advantage of with a project like this. So basically waiting for CPU technology to improve to the point where Dosbox runs fast is going to take many years IMHO.
***
I had an idea which could solve the speed problem and not interfere with this project's goals and aspirations. I dont know how feasable it is and I'm not an expert in this field.
Here were my thoughts.
* Dos game executables are pretty small
* Platform independant, high level, unoptimised code, filled with debugging information etc (slow code) could be used to translate old dos games into new, platform dependant (or possibly independant) optimised code. The software would just translate a game once and then speed wouldnt be of the slightest concern at that point.
Essentially, Dosbox would become a code generator.
Why translate each instruction in real time, over and over again, when you could just translate them all once, and run the output at high speed?
PS: I'm sure I've heard of some language(s) being developed for game developers where they can develop a game once, and the compiler would compile the (one) source into optimised, platform specific code.
If this imaginery new Dosbox could generate code for a language such as this, it would be first prize.