Drpocketsnes 6.5.0 Caanoo


RupeeClock

Member
Joined
Jun 7, 2009
Messages
394
Good news. :)
Does it still have some odd graphics, sort of like misplaced/leaked pixels?

It looks like "Weird dots in the sky" on All Stars SMB3.
 

Gab1975

Member
Joined
Jan 13, 2011
Messages
117
Location
Italy
I tried the new beta... now the emulator works properly on my Caanoo!!! :)
I tested some games and all work fine (except Super Mario Kart, the Mode7 layer isn't visible)...
In some cases the emulation seems a little bit slow, but it's still a beta and the "fast" mode isn't implemented yet!
Great work bitrider! ;)
 

bitrider

Still Fresh
Joined
May 20, 2004
Messages
13
Ok, Super Mario Kart already working OK !!

After several days checking Mode7 asm code, compiler outputs, I realized that transformation matrixes where always -1.

Maths error ? Yes, of course. Days of work for nothing, GCC form ARM seems to not work nicely with -ffast-math switch. Any ideas ?

That switch (-ffast-math) uses to give you an extra speed boost at not 100% acurate maths cost. On OABI (Wiz), it works nicely, on EABI (Caanoo) doesn't (as I said, I've tested several GCC versions from 4.1 up to 4.4).
 

Reesy

Certified Guru
Joined
Nov 26, 2006
Messages
301
Age
42
Location
Hampshire, UK
Website
reesy.gp32x.de
Yes the compiler is also causing me issues, I wanted to port the Dingoo pocketsnes to the Caanoo. The emulator runs but the sound emulation is broken, I know the sound driver on the Caanoo works fine as my DrSMS port has no issues. I know the pocketsnes sound code works fine as there are no issues on the Dingoo. The compiler must be doing something strange, I've already removed all of the compiler options but the sound is still broken. Its very frustrating...

Keep up the work though, I'm looking forward to the next release.
 

notaz

Certified Guru
Joined
Aug 23, 2005
Messages
4,913
Location
Lithuania
Website
notaz.gp2x.de
bitrider said:
That switch (-ffast-math) uses to give you an extra speed boost at not 100% acurate maths cost. On OABI (Wiz), it works nicely, on EABI (Caanoo) doesn't (as I said, I've tested several GCC versions from 4.1 up to 4.4).
The Caanoo can run OABI binaries, you just need to statically link them.

Reesy said:
Yes the compiler is also causing me issues, I wanted to port the Dingoo pocketsnes to the Caanoo. The emulator runs but the sound emulation is broken, I know the sound driver on the Caanoo works fine as my DrSMS port has no issues. I know the pocketsnes sound code works fine as there are no issues on the Dingoo. The compiler must be doing something strange, I've already removed all of the compiler options but the sound is still broken. Its very frustrating...
If you are talking about that threaded sound output code you did for DrMD/DrPocketSnes then it's incredibly racy and no good for portability. It only works where it works due to sound driver and scheduler specifics. It will never work on pandora, for example (I know people tried). There is no need to blame the compiler.
 
Last edited by a moderator:

javispedro

Still Fresh
Joined
Mar 6, 2010
Messages
16
Location
Barcelona
Reesy said:
There is a beta released on the 23/02/2010, I've not tried it but it may be better than our current version...just wish they would release the source code.
Hello Reesy, bitrider, all.

I also did some work on DrPocketSnes when I was trying to get it run under the Nokia Internet Tablets. Namely, snesadvance.dat support, some mode7 optimizations that allowed the n8x0 compiler to do a better job at some loops, partially implement opcode $42 as per snesadvance.dat docs in both asm and C cores, made some features like the opensnes9x's arm core build-time configurable, fixing a few minor issues than prevented it from running under amd64, abstracted it to be able to run using SDL (so that it could also be ported to WebOS, if you ignore the Maemo/Osso stuff), and also (unfortunately) cleaned a lot of stuff that either made no sense on the tablets (8bpp surface support, palette mode, ... which as you can guess reduced the final binary size somewhat) or that that had no reason to be cleaned but I did either way (like removing the bool* types and switching to either bool8 or C++'s bool as required).

Feel free to use any of the above code, if you find it in any way useful. It is a few months older than HeadOverHeels' work -- which I also would like to see, for curiosity's sake if anything :) -- so I'm not sure it will be.
 
Last edited by a moderator:

Reesy

Certified Guru
Joined
Nov 26, 2006
Messages
301
Age
42
Location
Hampshire, UK
Website
reesy.gp32x.de
notaz said:
If you are talking about that threaded sound output code you did for DrMD/DrPocketSnes then it's incredibly racy and no good for portability. It only works where it works due to sound driver and scheduler specifics. It will never work on pandora, for example (I know people tried). There is no need to blame the compiler.

Hey its worked on the GP32, Gizmondo, Dingoo, GP2X so it can't be that bad ;)

EDIT: As usual you were right, as a test I forced the emulator to skip all frames. The sound issues all went away. So the cause of my issues are with my "racy" code and not the compiler. Thanks for your help.
 
Last edited by a moderator:

bitrider

Still Fresh
Joined
May 20, 2004
Messages
13
Finally I'm going with Notaz' OABI solution. It does have some down sides, some frames lost. On the other hand it solves a lot of problems (frame lost in Super Mario Kart due to not being able to use --ffast-math, problems in ARM assembly core, ...). Thank you, Notaz.
 

MBison

Still Fresh
Joined
Jun 5, 2009
Messages
7
I posted this in the 7.2 thread, but any clue why Super Return of the Jedi runs so poorly / not at all but the other two games run fine?
 
Top