[quote author=Clessy link=board=dcemu;num=1083323639;start=15#18 date=05/03/04 at 14:42:10]Not to be negitive but I dont see this going anywhere because hardly any coders actually know Sh4 ASM. Now even if you use the S4h book and look up string by string conversions you SH4 may be less optimized than the C core because it will most likly be sloppy if you're not use the the language.
[/quote]
I'm not a master of SH-4 assembly but i believe that it is quite simple to do a faster M68K core in SH-4 ASM than in C.
- First because a CPU emulator is really something where ASM will always keep a big advantage compared to C. For instance, emulating a ROR instruction with the correct flags need many C instructions where a few of ASM ones does the job...
Generally, just because of flags calculation stuff, ASM performs a lot better than C in CPU emulation.
- Second : the only SH-X C compiler we can use here is GCC, and unfortunatly it isn't the best C compiler for this CPU :-/ Generated code is somewhat a mess ... some values written in registers are never used later ...
IMO, a good knowledge of fast CPU emulation methods is more important than a good knowledge of SH-4 assembly :)
That's true, almost time video code is the bottle-neck.Quote:
Also even once you have this core in asm we all know this isnt the end all solve all problem for coding. DreamSnes is the best example of this. Writing the core in ASM gave extremly lack luster speed ups compared to what they thought it would. Most of the processing power is killed in sound and video. This is a huge problem because you cant use the same video code for every emu without having to change some of the code correct? And if you have to change SH4 code wouldnt that make it so only about 3 of you would be able to use these cores as only 3 of you know a hand full od Sh4....
But i don't think ASM can bring a big speed boost here compared to CPU emulation. Just have to optimise code and maybe use hardware acceleration where it's possible :)
I agree ;)Quote:
BTW 600MB sound's exstordanily big for a simple core.....
I upgraded memory on my laptop just for that Â*:P