Drpocketsnes 6.5.0 Caanoo


CKeichel said:
Bold statement. Mame tries to be as accurate as possible, e.g. it has a discrete sound system included to enhance accurracy in analogue sound emulation, so that for this machines no smples are required any more, it tries to emulate the copy protection instead of bypassing it with a hack.
Mame always uses low level emulation approaches. I really don't see, why you say this is a hype. Mame is the most accurate emulator of all acrade emulators, why exactly do you think, this is "mostly hype"?

Just because something is "low level" and doesn't use GPUs to accelerate 3D rendering and things such as this doesn't mean that it has the same accuracy goals as other emulators. Many are more accurate than MAME ie in areas such as timing. The problem is that "accuracy" is used to mean things at several different levels, but end users such as yourself merge it into one notion. And most of their understanding of how accurate something is comes purely from hearsay.
 
Last edited by a moderator:
Exophase said:
CKeichel said:
Bold statement. Mame tries to be as accurate as possible, e.g. it has a discrete sound system included to enhance accurracy in analogue sound emulation, so that for this machines no smples are required any more, it tries to emulate the copy protection instead of bypassing it with a hack.
Mame always uses low level emulation approaches. I really don't see, why you say this is a hype. Mame is the most accurate emulator of all acrade emulators, why exactly do you think, this is "mostly hype"?

Just because something is "low level" and doesn't use GPUs to accelerate 3D rendering and things such as this doesn't mean that it has the same accuracy goals as other emulators. Many are more accurate than MAME ie in areas such as timing. The problem is that "accuracy" is used to mean things at several different levels, but end users such as yourself merge it into one notion. And most of their understanding of how accurate something is comes purely from hearsay.

Can you tell me which emulator is more acurate in areas such as timing then Mame? I am not aware of one arcade emulator, that has a more accurate timing, but I am sure, you will give me some examples.

Accuracy is used to mean things at several different levels? Sorry, this is much to vague. Accuracy means the goal to achieve an emulation, that is as close as possible to the original on any level.

And of course, a low level emulation is more accurate (closer to the way the software ran on the original hardware) then a high level emulation. No doubt about that.

I don't merge things into one notion, if you want to see, what accuracy means and what advantages the Mame approach can achieve, take a look at the history of the emulation of Bubble Bobble, for a long time in every emulator the emulation of the behavior of the monsters was inaccurate, it took the low level approach of Mame (and a complete reverse engineering of one chip) to get things right.

You have the tendency to say everybody except you is an idiot, this is rather annoying.
 
Last edited by a moderator:
SiENcE said:
Bsnes would be the best, this snes is the most accurate at this time. But its a hell too slow for handhelds, but a good comparsion for speed and sound.
Thanks for the recommendation. I have to say BSNES is better than SNES9X and ZSNES.
 
Last edited by a moderator:
Final Fantasy IV (II in US)- graphical gltiches in fights
Soul Blazer - freeze at title screen

is there anyway I can just run this via command line or possibly can roms be fed to it by picklelauncher?

The freezing in the main menu & rom selector is making this extremely irritating app to test, hope a fix is coming soon.

The speed for the games that do work are amazing and are truly enjoyable. It's just extremely irritating the least functional part is the frontend =/
 
Emulator works fine much faster then snes9x port but its not compatible as the snes9x port is.

Note! Sound Error in Menu everytime i use the menu i hear white noise what is that?
Ingame no Sound Errors just works fine.
 
Hey all,

Just got gifted a Caanoo for Christmas. Fired up the DrPocketSNES (6.5.0), but I'm having a similar problem as others.

In the menu, there's a lot of white noise, and then the thing locks up fairly reliably after a few moments. Never have it operating long enough to even get into a game, much less the menu selecting games. I've got a 4GB SanDisk SD card. I just updated to the 1.5.0 firmware.

Thanks for any help.
 
CKeichel said:
Can you tell me which emulator is more acurate in areas such as timing then Mame? I am not aware of one arcade emulator, that has a more accurate timing, but I am sure, you will give me some examples.

Accuracy is used to mean things at several different levels? Sorry, this is much to vague. Accuracy means the goal to achieve an emulation, that is as close as possible to the original on any level.

Please see this post for instance: http://board.byuu.or....php?f=7&t=1271

If you're qualifying and comparing MAME as an arcade emulator then yes, I'm sure it's the most popular, most accurate, generally regarded as best emulator of arcade platforms. If you qualify and compare MAME as a collection of emulators and modular cores then a great number of these cores aren't as accurate as equivalent or similar emulations in other projects. The thread I linked illustrates an example. And I don't really see a problem with this, because it's not going to be everyone's goal to make an emulator perfect. Despite that many people say that all "good" emulators put accuracy above all, the fact is that most emulator authors aren't going for the extreme levels of accuracy that emulators such as bsnes go for.

Here's another example: MESS and N64 emulation. If you followed the development of that a large distinction was made in proclaiming that MESS's was more accurate because it doesn't use HLE for RSP (or RDP) emulation and it uses software rendering for 3D. So compared to other N64 emulators it's certainly more accurate. But does that mean that it's their goal to make it as accurate as possible? They don't emulate CPU cache or memory stalls, meaning that the timing model is grossly inaccurate. And this would be simple compared to making any attempt at properly emulating timing for the other major processors on the console.

Does this mean I'm criticizing them for this? Quite the contrary, I'm actually making a point that for many emulator authors it makes no sense to dedicate the kind of enormous time and effort necessary to make an emulator as accurate as possible. But many users don't really understand what the ramifications of these decisions are, and conflate many different goals into a mere statement of whether or not the emulator is "accurate", and expect nothing less than perfection as a goal. It's not really fair to judge emulators by this perceived level of accuracy when it's not very well understood by those who don't have a thorough technical understanding of the platform (and really there's no reason why they should need one). What's judged instead is what other people say about the emulator, and terms like "accuracy" end up being used as buzzwords. That's what I meant by the shroud of hype. And for what it's worth, I'm not the only person who has done emulators and feels this way.

CKeichel said:
And of course, a low level emulation is more accurate (closer to the way the software ran on the original hardware) then a high level emulation. No doubt about that.

But not a lot of emulators use "high level emulation" to begin with. Or maybe there's a problem because the term is not well understood or even well defined. The technique originated with UltraHLE, and it has generally meant emulation of software with software, usually library routines, instead of hardware. The ramifications of this are very different from using for instance 3D acceleration to emulate a platform's 3D - that's (roughly speaking) emulating hardware with hardware. Usual the approach of an emulator is to emulate hardware with software (the final combination, emulating software with hardware, would be really unusual). LLE only means the hardware with software approach, which naturally follows into emulating hardware running software, as opposed to emulating software "directly."

HLE is usually used for emulating firmware like BIOSes, because they're unchanging. And where strict timing accuracy isn't important (and it often isn't) and where the bugs are worked out this is seen as perfectly suitable. Most GBA emulators use HLE for BIOS emulation and no one complains about it. N64 is one of the few platforms that has emulators employing HLE of user-programmable software. It was a good way to get a lot of games working quickly on old hardware, and it worked because Nintendo so rigorously abstracted the system's support hardware in software. In this case it's actual virtual machine implementations that are abstracted instead of library routines, so it's especially well suited to it, but it obviously fails when games don't use those VMs.

CKeichel said:
I don't merge things into one notion, if you want to see, what accuracy means and what advantages the Mame approach can achieve, take a look at the history of the emulation of Bubble Bobble, for a long time in every emulator the emulation of the behavior of the monsters was inaccurate, it took the low level approach of Mame (and a complete reverse engineering of one chip) to get things right.

But when you get down to it there isn't really a "MAME approach." MAME has many contributors and many cores that were made with many different goals (which may be implicit and not obvious even to the developer, but they're there). Some cores will never get the kind of attention others do. Of course if work is necessary to make a game work right there's a good chance someone will do it, but in fact the notion of accuracy extends well beyond just making games work correctly. This is what I mean when I say you merge things into one notion and I'm sorry if this offends you but I really don't think you really see my point.

Certainly MAME didn't succeed here by taking a "low level" approach, they succeeded in the way many other emulators and hardware researches have, by studying the hardware to gain a more correct understanding of how it works.

In some cases there have been chips with fixed firmware that have been HLE'd, like the DSP on SNES carts, which bsnes has only recently added LLE emulation for. But Bubble Bobble isn't an example of this, you can see its hardware doesn't have anything dedicated like that:

http://www.system16....ware.php?id=646

CKeichel said:
You have the tendency to say everybody except you is an idiot, this is rather annoying.

No I don't. Just because I argue with people doesn't mean I insult them. I'm sorry if you feel insulted. In this case I do think most emulator users are ignorant of the tradeoffs involved in emulator design, but that doesn't mean I think they're stupid or ignorant in general. I'd hardly expect them to have specialist knowledge about something like this.
 
Last edited by a moderator:
In some cases there have been chips with fixed firmware that have been HLE'd, like the DSP on SNES carts, which bsnes has only recently added LLE emulation for. But Bubble Bobble isn't an example of this, you can see its hardware doesn't have anything dedicated like that:

Mame Info:

5th August 2006: Nicola Salmoria - As you'd probably noticed, the pics in the previous post are of the Bubble Bobble custom MCU. Despite being one of the most popular games of all times, and having been in MAME for many years, the emulation of this game has never been perfect due to the lack of the original ROM for the MCU.
For some time, we had been using a 68705 program found in a bootleg board, believing it had been extracted from the original. However, monster behaviour was wrong and there were other problems, like the wrong behaviour of the clock item. After some study of the program and of the game schematics, it became clear that the original MCU is not a 68705 at all (the pinout doesn't match) but looked more like a 68701.
The 68705 program had been written from scratch by the bootleggers using black box reverse engineering techniques, by running the original MCU and logging all its reads and writes from memory. Indeed, the 68705 program does a lot of reads from memory without doing anything with them--simply because the original MCU would read that memory and do some unknown action with it. Eventually, the useless 68705 program was replaced by simulation code inside the emulator, which greatly improved the emulation accuracy. Monster behaviour was improved, the clock item behaviour fixed.
However, there were still some unknown things, like how the randomisation of the EXTEND bubbles really worked. At last, thanks to excellent work by Trinity, the original MCU ROM has been extracted. This required removing the cover from the chip, taking photographs of it under a microscope, and manually decoding the contents of the ROM bit by bit.
The photo shown in the previous post confirms that it's in the 6801 class, not a 68701 however as it was conjectured, but a 6801U4. With this ROM, we finally have the final piece of the puzzle for a 100% guaranteed perfect emulation. Checking the original MCU program was very interesting. It was designed to provide many protection features that were eventually not used by the game, like: * Process coin inputs and update the credit counter * Handle the number of remaining lives for both players * Handle the current round number * Handle variable speed incrementing for four variables and * Return values from a 1280 bytes table of seemingly random data. The reasons why those features were not used are probably various. Some of them were probably awkward to use because they require to one one frame for the MCU to process the data, others weren't flexible enough like the coin input processing that wouldn't allow for coinage settings different from the ones hardcoded in the MCU (though versions of Bubble Bobble with different coinage settings don't seem to have been made anyway).
So, how close was the simulation to the real thing? Very close; "too good", actually. Let's see why. The clock item behaviour was spot on, but off by one frame (the simulation made the counter expire one frame too late). The EXTEND randomisation simply doesn't exist in the original MCU. While the simulation code used a RNG to provide truly random letters, the original MCU simply increases the counter every frame. This seriously affects the game, making the EXTEND letters predictable. Since a new bubble enters the screen exactly 128 frames after the previous one, and the remainder of 128 / 6 is 2, this means that if you get consecutive letters each one will be 2 places after the previous one. So if you get 3 letters you can get either E, T, N or X, E, D. After that they will repeat. There are exceptions, though: if you create a new bubble in exactly the same frame when a new bubble should enter the screen, the bubble is delayed by one frame. So by timing the fire button exactly right you can change the bubble order. In theory you could get all 6 letters in a single level--let me know if you manage to do that! Also, new bubbles will not appear if there are already 16 bubbles on the screen, so that will change the order as well. The last, and most important, thing that the MCU does is compare the player coordinates with the monsters. The results are returned as flags indicating whether each coordinate is >, =, or

You are right, Mame is the result of many different people contributing to one project, but to say, there is no Mame approach is wrong, of course these people are working on an emulator, that follows a certain philosophy, accuracy is more important then performance.
I don't think the N64 driver in Mess is a particular good example, cause it is still in a very early stage and if you take a look at the existing N64 emulators, you will see, that they are pretty good in what they are emulating now, but with the current approach, it is impossible to get certain games running (like the Factor 5 games), here it would be necessary to emulate the RSP in a low level emulation, otherwise, you won't be able to have a working microcode emulation.

With the SNES driver you are right, this driver is still not very advanced, but on the other side, it is a driver, that emulates six bootleg games von 1996 and 1997, that were released in china only, I find it not very astonishing, that the main effort of Mame contributors isn't going into emulating this specific hardware.
 
MAME's code is not just for MAME, it's also for MESS. So the SNES driver is not "just for" those games. I don't think you really got my point with N64 emulation, it's that despite there being LLE it's still not making an attempt at much timing accuracy and I think probably won't ever because there's no need for it.
 
Guys,

Can we take the Mame talk to a separate thread? I think it's doing a disservice to the OP and the work he put in to this release.
 
I'm having the same problem than Yoshi Dragon and Goldenegg. When I run the drpocketsnes, it crashes in the menu screen and I have to turn off the caanoo. I just received 2 caanoos today, one for me and other one for my brother, and started to try emulators and games. It is strange that in one caanoo (my brother's) the drpocketsnes works nicely, but in the other one (mine :( )it crashes in the startup. Both caanoos are new, and I have tried the same SD card in them. Has anybody a clue?
 
Oops... I didn't :p I have done it right now and:

- not working caanoo: firmware 1.0.7
- working one: firmware 1.5

How should I upgrade the 1.0.7 firmware to 1.5?

this way?

1.07 --> 1.0.6 --> 1.5

or can i jump to the 1.5 version directly?

Thanks!!
 
Firmward updates don't solve the crash/hang problem. I've tried numerous things and can't get the emulator to work on my Caanoo.
 
I will try to upgrade it to the 1.5 firmware today, and if it doesn't work... well, then I suppose I'd have to wait for another snes emulator version :(
 
superUNICORN said:
Oops... I didn't :p I have done it right now and:

- not working caanoo: firmware 1.0.7
- working one: firmware 1.5

How should I upgrade the 1.0.7 firmware to 1.5?

this way?

1.07 --> 1.0.6 --> 1.5

or can i jump to the 1.5 version directly?

Thanks!!

I never heard of a Firmware 1.0.7, I am pretty sure, this version was never for download on fungp.
 
Last edited by a moderator:
I am not sure, but this is what can be read in the device information.
010926.jpg


I thought it'd be 1.0.7 version. Am I wrong?
 
I also had 1.0.7 on my Caanoo, which isn't working with this emulator. Upgrading to 1.5 and downgrading to 1.0.6 didn't help.
 
Back
Top