Nulldce On The Beagleboard


'Laurent' said:
Didn't you mean 30% of instructions? At least that's my experience...
Oops, yes, I meant instructions.
 
Last edited by a moderator:
well, i did imply i was missing something ; )

frankly, when i said TLB lookup i was thinking more of a full address space array translator. yes, it would be big, but i'd be surprised if any DC os provided a full address range to applications. so, whether it would take 16MB to cover the practical DC space is arguable, depending on what part you want to emulate (user space vs kernel space, etc). or at least that was my reasoning at the back of my head when i was posting.

QUOTE
And actually, loads and stores happen all the time - on GBA (ARM + Thumb, with ARM execution being about 40% of the instructions on average) loads/stores can represent over 30% of execution time. From what I've heard about Dreamcast games the situation is even worse which makes sense if you look at the SH4 ISA. Small immediates means that you have to do loads all the time to get constants, even for branch targets. And this leads to another conundrum, because nullDC relies on an easy mapping to determine that constants in RAM remain constants by using invalidate on write (with protection via the MMU) so it can perform constant propagation to eliminate these loads. When you put an MMU abstraction between the virtual and physical address where said mapping can change suddenly and all at once then you lose the ability to do this (at least without clearing the translation cache every time the TLB is invalidated, which is a lot on a multitasking OS).

indeed, i did not think of the narrow-ness ('thumb-ness'?) of the SH4 ISA at all. that would sway SH4's ldr/str occurance statistics to the bad side (and the statistical numbers you're quoting are much worse than what i expected, to boot).

QUOTE
You're also forgetting ITLB. With 1KB pages it means that you have to fragment translated blocks into 1KB regions then do indirect branches inbetween them in order to handle changes in mapping that vary at runtime, and you have to tag blocks based on their virtual to physical mapping. This adds complication to the design of the recompiler.

i did forget about code, i admit.

QUOTE

All in all, if the memory map is simple enough and most reads/writes are going to one region of RAM then it'd be fastest just to check if things fall in there, faster than emulating TLB which can be completely arbitrary. Remember, this is about emulating a 200MHz SH4 (mildly superscalar CPU) on a 500MHz (as far as the nullDCe devs will consider) Cortex-A8. At least some compromises are going to have to be made for this to be even remotely feasible.


well, yeah, i guess at the end that is what actually matters. a notably-worse-than-expected (by me) statistical case for the occurance of ldr/str and an insufficient host speed advantage are really invalidating any prospects for mmu emulation on the pandora.

i still had to ask, though : )
 
Last edited by a moderator:
WinCE uses 1kb pages and does non linear remapping with em.In fact, it maps em the 'other' way (0x1000 -> 0xF000, 0x2000 -> 0xE000, etc).

A 2d lookup will have wayy too much overhead for Pandora ( mem. bw is limited, cache is small, ...).Keep in mind the same code also runs on the psp .. and ram there is much less :p
 
Last edited by a moderator:
'drkIIRaziel' said:
WinCE uses 1kb pages and does non linear remapping with em.In fact, it maps em the 'other' way (0x1000 -> 0xF000, 0x2000 -> 0xE000, etc).

A 2d lookup will have wayy too much overhead for Pandora ( mem. bw is limited, cache is small, ...).Keep in mind the same code also runs on the psp .. and ram there is much less :p
Although, the actual amount of cache consumed by this approach would be low since you'd only be able to hit the 64 values corresponding to the current TLB...
 
Last edited by a moderator:
Whoa, why is this back on page 5? One of the most interesting projects for the Pandora, hate to see it forgotten. Any news or updates?
 
fischju2000 posted on Apr 25 2009 at 09:47 PM said:
Whoa, why is this back on page 5? One of the most interesting projects for the Pandora, hate to see it forgotten. Any news or updates?
Things have been slow on my end, having some trouble with work (or lack of).
The emulator is a long term project, and is definitely still very much alive.
I just shipped my beagleboard out to drk||Raziel, so that ought to speed things nicely. :)
 
Last edited by a moderator:
Sorry to here about the job situation ZeZu, but great news to hear that drk||Raziel is continuing development!
 
x68000 said:
Sorry to here about the job situation ZeZu, but great news to hear that drk||Raziel is continuing development!

Hope you get more work ZeZu.
Nice to see progress on the NullDCe project drkRaziel(even at the expense of NullDC 1.04/Naomi).
I wonder if this could help with the effort: http://www.lxdream.org/news/
 
Last edited by a moderator:
I would kill to see Tokyo extreme racer and sonic adventure 2 on the dreamcast. Bless you devs, for you are the saints of pandora.

And if unreal tournament cant be ported, we can always play it on dreamcast XD
 
drkIIRaziel and zezu, i want to know if the dreamcast emulator becomes a reality on the pandora, will it have online play?
i just want to know if it will work.
 
Dead1nside said:
Is this probably the most advanced console the Pandora can emulate? So excited about this, I hope it's possible to emulate the Dreamcast.
So I think this thread now has the record for most pointless bumps.
To answer your question: probably yes. It really depends on what you mean by "advanced". The Sega Saturn is not as powerful as a system, but from an emulation standpoint it's quite complicated. etc, etc.
 
Last edited by a moderator:
And it's highly doubtful the Pandora will be able to emulate the Saturn anyway :p

edit (not wanting to open up a debate on weather or not the Pandora is capable of Saturn emulation or not, it's just unlikely that anybody will want to attempt it, unfortunately).
 
they will post when they have something...
If you really want information about it you will have to go after it yourself. Do a search for zezu on beagleboard's site or maybe you could spend time in the beagleboard irc channel. Several pandora devs are in irc. Zezu has a pandora dev board and drk||raziel has a beagleboard.
 
Back
Top