Poster | Thread |
pavlor
| |
DosBox AGA Posted on 1-Jun-2013 8:48:51
| | [ #1 ] |
|
|
|
Elite Member |
Joined: 10-Jul-2005 Posts: 9650
From: Unknown | | |
|
| Just tried DosBox AGA (NovaCoder) on WinUAE box of my brother and must say it is not bad:
Plus side: It is fast on my hardware (i5-2500K) - 10000 CPU cycles (486DX 33 MHz performance). It is stable (in most cases). It is compatible with games I tried (Doom, SimCity2000, Populous2).
Minus side: CPU cycles=max setting is broken (sloooooow), fixed setting is fine. Default settings are not optimal in some cases (frameskip 10! Why?, only 2000 CPU cycles? - using frameskip 1 and 10000 CPU cycles right now). Dhrystone benchmark doesn´t work. I was not able to run DosBox with script (I would like to mount my drive D on startup). Combination of WinUAE and AGA requirement is simply strange...
Conclusion: Best DosBox version available for Amiga 68k. |
|
Status: Offline |
|
|
NovaCoder
| |
Re: DosBox AGA Posted on 1-Jun-2013 11:42:57
| | [ #2 ] |
|
|
|
Regular Member |
Joined: 16-Apr-2008 Posts: 490
From: Melbourne (Australia) | | |
|
| @pavlor
Hiya,
I was actually trying to get it fast enough to be used on a real Amiga, that is why it uses AGA and not RTG.
Unfortunately it is still much too slow for real hardware, even after I tried my best to optimize it.
I understand a few things don't work (like the CPU max settings) but as it's a dead project now I won't be fixing these bugs.
I only uploaded to AmiNet to show the progress we had made on this port, I included the full source code as well. |
|
Status: Offline |
|
|
AmiKit
| |
Re: DosBox AGA Posted on 1-Jun-2013 12:02:57
| | [ #3 ] |
|
|
|
Super Member |
Joined: 18-Jul-2004 Posts: 1139
From: Europe | | |
|
| @NovaCoder Many thanks for the port. I'll try it ASAP.
@pavlor Thanks for the review, it's helpful!
@all Are there any good old PC games that are *really* freeware now? _________________ Modern Retro Experience |
|
Status: Offline |
|
|
pavlor
| |
Re: DosBox AGA Posted on 1-Jun-2013 12:21:06
| | [ #4 ] |
|
|
|
Elite Member |
Joined: 10-Jul-2005 Posts: 9650
From: Unknown | | |
|
| @NovaCoder
Quote:
I was actually trying to get it fast enough to be used on a real Amiga, that is why it uses AGA and not RTG. |
Quote:
Unfortunately it is still much too slow for real hardware, even after I tried my best to optimize it. |
You did great work. Your CPU emulation is as fast (or even faster) as CPU emulation in DosBox for OS4 (which is really good).
Quote:
I only uploaded to AmiNet to show the progress we had made on this port, I included the full source code as well. |
If my estimates are right, 68060 100 MHz could reach 500 CPU cycles with your CPU emulation (80286 class performance). Dynamic CPU core is roughly 4 times faster than simple/normal CPU core (1500 CPU cycles would be enough for some early VGA games - eg. my beloved Populous 2). To date, nobody was able to port dynamic core to other CPU architecture than x86. |
|
Status: Offline |
|
|
pavlor
| |
Re: DosBox AGA Posted on 1-Jun-2013 12:24:05
| | [ #5 ] |
|
|
|
Elite Member |
Joined: 10-Jul-2005 Posts: 9650
From: Unknown | | |
|
| @AmiKit
Quote:
Are there any good old PC games that are *really* freeware now? |
Some games can be freely downloaded from author´s websites (eg. Arena and Daggerfall), but their licence probably is not "freeware". (Note: both Arena and Daggerfall need at least 20000 CPU cycles to be playable) |
|
Status: Offline |
|
|
NovaCoder
| |
Re: DosBox AGA Posted on 6-Jun-2013 9:15:48
| | [ #6 ] |
|
|
|
Regular Member |
Joined: 16-Apr-2008 Posts: 490
From: Melbourne (Australia) | | |
|
| @pavlor
Quote:
pavlor wrote:
You did great work. Your CPU emulation is as fast (or even faster) as CPU emulation in DosBox for OS4 (which is really good).
|
Thanx
I've just uploaded v1.2 to AmiNet, it's now built for an 040 and has a more WinUAE focused config file. It's very fast now on my WinUAE box with the cycles set to auto.
Hopefully some clever ASM wizard can do something with it one of these days and make it usable on real hardware.
If I ever get a decent 68k RTG SDL together, I may do an RTG version.Last edited by NovaCoder on 06-Jun-2013 at 11:52 AM. Last edited by NovaCoder on 06-Jun-2013 at 09:16 AM. Last edited by NovaCoder on 06-Jun-2013 at 09:16 AM.
|
|
Status: Offline |
|
|
lionstorm
| |
Re: DosBox AGA Posted on 6-Jun-2013 17:37:36
| | [ #7 ] |
|
|
|
Super Member |
Joined: 31-Jul-2003 Posts: 1591
From: the french side | | |
|
| @NovaCoder
you might ask Corto, the french dev who did the last AOS4 port of DOSBox. He spent quite some times on optimisation by checking where ressources are spent the most (using Hyeronimus profiler) but in the end, he could not find anything that would boost this beast significantly ! |
|
Status: Offline |
|
|
x303
| |
Re: DosBox AGA Posted on 6-Jun-2013 17:54:55
| | [ #8 ] |
|
|
|
Regular Member |
Joined: 19-Jan-2005 Posts: 179
From: Amsterdam | | |
|
| @NovaCoder
Quote:
If I ever get a decent 68k RTG SDL together, I may do an RTG version. |
Maybe you could enable GL, so when running under winuae, you can use Wazp3d. This might give a speedup.
|
|
Status: Offline |
|
|
pavlor
| |
Re: DosBox AGA Posted on 6-Jun-2013 19:14:04
| | [ #9 ] |
|
|
|
Elite Member |
Joined: 10-Jul-2005 Posts: 9650
From: Unknown | | |
|
| @x303
Quote:
Maybe you could enable GL, so when running under winuae, you can use Wazp3d. This might give a speedup. |
Not for CPU emulation. |
|
Status: Offline |
|
|
x303
| |
Re: DosBox AGA Posted on 6-Jun-2013 21:12:56
| | [ #10 ] |
|
|
|
Regular Member |
Joined: 19-Jan-2005 Posts: 179
From: Amsterdam | | |
|
| @pavlor
Quote:
Maybe not, but atleast the cpu doesn't have to handle the graphics anymore. Which *should* make the program a little faster (but I could be wrong here).
|
|
Status: Offline |
|
|
Britelite
| |
Re: DosBox AGA Posted on 7-Jun-2013 6:12:45
| | [ #11 ] |
|
|
|
Regular Member |
Joined: 23-Jun-2005 Posts: 295
From: Finland | | |
|
| @x303
Quote:
Maybe you could enable GL, so when running under winuae, you can use Wazp3d. This might give a speedup.
|
Why would it give a speedup, wazp3d is still running purely on the CPU. At worst, it might actually slow things down.
And even if you could run it with acceleration, the only thing that it might speed up is scaling of the window. The framebuffer still needs to be drawn by the CPU. |
|
Status: Offline |
|
|
NovaCoder
| |
Re: DosBox AGA Posted on 7-Jun-2013 6:43:02
| | [ #12 ] |
|
|
|
Regular Member |
Joined: 16-Apr-2008 Posts: 490
From: Melbourne (Australia) | | |
|
| @Britelite
Yep this is all done with CPU cycles, the actual hit for rendering with AGA is negligible. I estimate that if I skip the screen updates completely it wouldn't have much effect on the speed :)
The only thing that would make this port quicker is some targeted ASM 060 replacements of the C++ functions (eg for memory, interrupt code). Even that would probably not be enough to make it playable on real hardware, what it really needs is either a full dynamic 68k core (which is next to impossible) or at least a partial dynamic implementation of the existing C++ simple/normal cores (again written in ASM and targeted at 060).
Last edited by NovaCoder on 07-Jun-2013 at 06:45 AM. Last edited by NovaCoder on 07-Jun-2013 at 06:44 AM. Last edited by NovaCoder on 07-Jun-2013 at 06:44 AM. Last edited by NovaCoder on 07-Jun-2013 at 06:43 AM. Last edited by NovaCoder on 07-Jun-2013 at 06:43 AM.
|
|
Status: Offline |
|
|
Britelite
| |
Re: DosBox AGA Posted on 7-Jun-2013 6:57:29
| | [ #13 ] |
|
|
|
Regular Member |
Joined: 23-Jun-2005 Posts: 295
From: Finland | | |
|
| @NovaCoder
Quote:
Yep this is all done with CPU cycles, the actual hit for rendering with AGA is negligible. I estimate that if I skip the screen updates completely it wouldn't have much effect on the speed :)
|
Yeah, screen updates only really make a difference when you're aiming for full framerate :)
Quote:
The only thing that would make this port quicker is some targeted ASM 060 replacements of the C++ functions (eg for memory, interrupt code). Even that would probably not be enough to make it playable on real hardware, what it really needs is either a full dynamic 68k core (which is next to impossible) or at least a partial dynamic implementation of the existing C++ simple/normal cores (again written in ASM and targeted at 060).
|
Targetting the 060, even at the expense of compatibility with lower cpus, is probably the way to go. Rewriting some functions in asm could indeed bring some speedups, but probably not enough. As you said, the cpu core would probably need to be completely rewritten to suit the 060. |
|
Status: Offline |
|
|
pavlor
| |
Re: DosBox AGA Posted on 7-Jun-2013 16:30:57
| | [ #14 ] |
|
|
|
Elite Member |
Joined: 10-Jul-2005 Posts: 9650
From: Unknown | | |
|
| @NovaCoder
Tested version 1.2, my comments:
The Doom Benchmark cycles set to auto: 23252 realtics (similar to 2800 CPU cycles) cycles set to 10000: 6679 realtics (DosBox for Windows gives similar value with same settings)
It seems auto is not the best setting (at least for me), but there is probably no other way to choose "ideal" fixed CPU cycles for all configurations.
Booting from disk image files works. I successfully booted in to Windows 3.1 (installed on "unusual" filedisk created by WinUAE...), Windows95 starts booting, but then black screen (I think I used disk image with proper S3 drivers - works on Windows version of DosBox). Simple core probably is not compatible enough (note: only dynamic core is compatible enough for most Windows applications, but I was at least able to boot with normal CPU core - with DosBox for Windows).
Edit: Error was on my side! My screen mode was set to 1024x768-256 colours - too much for my AGA... Successfully booted in to Windows95 with 640x480-16 colours. Time to try some games (10000 CPU cycles is not much, but I´m patient ). Last edited by pavlor on 07-Jun-2013 at 04:45 PM.
|
|
Status: Offline |
|
|
NovaCoder
| |
Re: DosBox AGA Posted on 7-Jun-2013 22:42:25
| | [ #15 ] |
|
|
|
Regular Member |
Joined: 16-Apr-2008 Posts: 490
From: Melbourne (Australia) | | |
|
| @pavlor
Running Windows95 under AGA is crazy, well done :)
Don't forget that Windows95 runs like a dead dog with only 16MB.
Make resolution support by my SDL port is 640x512 with 256 colors Last edited by NovaCoder on 08-Jun-2013 at 01:11 AM. Last edited by NovaCoder on 08-Jun-2013 at 12:10 AM.
|
|
Status: Offline |
|
|
pavlor
| |
Re: DosBox AGA Posted on 8-Jun-2013 7:27:43
| | [ #16 ] |
|
|
|
Elite Member |
Joined: 10-Jul-2005 Posts: 9650
From: Unknown | | |
|
| @NovaCoder
Quote:
Don't forget that Windows95 runs like a dead dog with only 16MB. |
I didn´t found any bigger applications compatible with simple/normal CPU core, for bare OS 16 MB is fine.
Quote:
Make resolution support by my SDL port is 640x512 with 256 colors |
And I can confirm, it works OK (SimCity 2000). For Windows I tried first minimal resolution to be on the safe side. However, only Windows games/applications would need higher resolution than 640x480-256 colours (impossible to run them without more compatible CPU core), for most DOS games, this is not limitation.
Quote:
Running Windows95 under AGA is crazy, well done :) |
It was muuuuuuch faster than on my 68030 with PC-Task/PCX. With 486DX CPU performance and VGA like GFX (with JIT, AGA is useable even in 640x480-8bit) I have more powerfull "PC" than my 486SX notebook. Now, I will try to fullfill my child dream and run Dungeon Keeper under emulation on Amiga (albeit only WinUAE in this case)... |
|
Status: Offline |
|
|
pavlor
| |
Re: DosBox AGA Posted on 8-Jun-2013 8:22:06
| | [ #17 ] |
|
|
|
Elite Member |
Joined: 10-Jul-2005 Posts: 9650
From: Unknown | | |
|
| @NovaCoder
Rather unusual game for WinUAE.
|
|
Status: Offline |
|
|
pavlor
| |
Re: DosBox AGA Posted on 10-Jun-2013 16:03:46
| | [ #18 ] |
|
|
|
Elite Member |
Joined: 10-Jul-2005 Posts: 9650
From: Unknown | | |
|
| @NovaCoder
Comparison with other PC emulators for Amiga (all on AGA) with The Doom Benchmark: DosBox 0.74 (NovaCoder) - 6679 realtics (11.1 FPS) PCTask 4.40 Dynamic - 2302 realtics (32.4 FPS)
PCX gives strange values (78 realtics..., perhaps timing issuses), seems to be slower than PCTask and as fast as DosBox.
All on same hardware (Core i5-2500K 3.3 GHz, WinUAE 2.4.1).
Conclusion: PCTask is the fastest among them, but DosBox is most stable, user friendly and compatible. |
|
Status: Offline |
|
|
pavlor
| |
Re: DosBox AGA Posted on 9-Mar-2014 11:37:56
| | [ #19 ] |
|
|
|
Elite Member |
Joined: 10-Jul-2005 Posts: 9650
From: Unknown | | |
|
| @NovaCoder
Quote:
Make resolution support by my SDL port is 640x512 with 256 colors |
I can confirm S3 drivers work (up to 640x480 256 colours) in Windows95. RTG version would be nice, but there aren´t many Windows applications supported by current CPU core (I was able to run MS Works 4.0 - sole MS Word compatible Office suite on "Amiga" ). |
|
Status: Offline |
|
|
matthey
| |
Re: DosBox AGA Posted on 10-Mar-2014 8:13:21
| | [ #20 ] |
|
|
|
Elite Member |
Joined: 14-Mar-2007 Posts: 2393
From: Kansas | | |
|
| Quote:
pavlor wrote: If my estimates are right, 68060 100 MHz could reach 500 CPU cycles with your CPU emulation (80286 class performance). Dynamic CPU core is roughly 4 times faster than simple/normal CPU core (1500 CPU cycles would be enough for some early VGA games - eg. my beloved Populous 2). To date, nobody was able to port dynamic core to other CPU architecture than x86. |
The 68k dynrec core is mostly complete and executing a lot of code. I have no clue where it goes wrong though as there is nothing to compare to. I don't know the internals of DOS or x86 assembler either. Is there any chance you have developer knowledge of DOSBox and the dynrec core or expertise in DOS and x86 assembler?
|
|
Status: Online! |
|
|