• DCEmu Homebrew Emulation & Theme Park News

    The DCEmu the Homebrew Gaming and Theme Park Network is your best site to find Hacking, Emulation, Homebrew and Theme Park News and also Beers Wines and Spirit Reviews and Finally Marvel Cinematic Universe News. If you would like us to do reviews or wish to advertise/write/post articles in any way at DCEmu then use our Contact Page for more information. DCEMU Gaming is mainly about video games -

    If you are searching for a no deposit bonus, then casino-bonus.com/uk has an excellent list of UK casino sites with sorting functionality. For new online casinos. Visit New Casino and learn how to find the best options for UK players. Good luck! - Explore the possibilities with non UK casinos not on Gamstop at BestUK.Casino or read more about the best non UK sites at NewsBTC.
  • wraggster

    by Published on December 9th, 2008 22:31

    Tehpola posted this at the new wii64 website:

    Since this is my first post on the blog discussing the dynarec, I’d like to first explain what a dynarec is and why we’re going to need one to accomplish full speed emulation on the Wii. Then I’d like to describe the history of the dynarec in our emulator, where its at now, and what needs to be done to get it working.

    First of all, dynarec stands for dynamic recompiler, which is actually a bit of misnomer in the console emulation world: usually its not accomplished by creating an abstract syntax tree or control flow graph from the emulated machine code and running a target machine code compiler over it, which is what recompilation would really entail. The proper term would be binary translation: for each emulated instruction, I convert it to an equivalent target instruction. Since the N64 is a MIPS architecture machine, I take a MIPS instruction, decode it (determine what kind of instruction it is and what operands it operates on), and then generate equivalent PowerPC (GC/Wii use PPC) instructions to perform the operation that the MIPS instruction intends to. What we try to do is take a block of code that needs to be run, and fill out a new block with PowerPC code that was created by converting each of the MIPS instructions in the block. The emulator then runs the block of code as a function: it will return when a different section of code needs to run and the process repeats for the next block of code.

    What we’re doing now is running an interpreter: instead of translating the MIPS code we want to run, we just decode each instruction and run a function written in C which performs what the MIPS instruction would do. Though this may seem like less work: we don’t have to translate all the code and then run it; we just run it, but because the code is ran so many times and running the translated code is much faster than running each instruction through the interpreter, the extra time translating is made up for my the faster time running through long loops.

    The dynarec was the first thing I started working on with the emulator: it seemed like the most interesting aspect and the most crucial for such a port (besides the graphics which I didn’t understand well enough at the time to do much useful work besides porting a software renderer). It’s gone through a few different stages different stages: 1-to-1 register mapping binary translator, quickly dropped attempt at reworking the translator to be object oriented, slightly further progressed attempt at a MIPS to Scheme translator, and where I’m currently at: the first binary translator without 1-1 register mapping, confirming to the EABI (Embedded Application-Binary Interface).

    I was concerned about performance initially, and I got a little greedy: I decided that since both MIPS and PowerPC had 32 general purpose registers, and MIPS has one hardwired to 0, and PowerPC has an extra register (ctr) I could move values into for temporary storage, I could do a simple translation of most of the instructions by using all the same registers as the MIPS would use on the PPC. The idea was that I wouldn’t have to shuffle things in and out of registers; I would load the whole MIPS register set values into the PPC registers, run the recompiled code which would operate on those values, and then when its done with a block, store those values back and restore the emulator’s registers. This was a bad idea for several reasons: small blocks that only fiddled with one or two registers still had every single register stored, loaded, and then stored and loaded again for each block, I had to disable interrupts because I destroyed the stack and environment pointers that were expected if any interrupts were taken, and because I couldn’t take interrupts, it was very difficult to debug because I couldn’t run gdb in the recompiled code. I had developed a pretty large code base and a somewhat working recompiler before I truly came to realize all the drawbacks of the method: it ran some simple hand-crafted demos I had written in MIPS which computed factorial and a few other simple things, but overall it was too unweildy and inefficient to continue to debug.

    My attempt at refactoring the code I had written in a OOP way was soon abandoned, but it did inspire some improvement to the way I generated instructions. Instead of piecing together the machine code from all the different parts, I wrote new macros which would do that for me for specific instructions thus reducing some major code clutter in the translator functions.

    I was unimpressed by the improvements I predicted I would see by refactoring the code in C++, and inspired by Daeken’s work on IronBabel to start the dynarec from scratch using a high-level language. The idea and the code was much simpler: decode the instructions using high-level magic and instead of generating low-level machine code, generate high-level code to execute each instruction, collect all
    ...
    by Published on December 9th, 2008 22:27

    emu_kidid messaged me earlier today with this news:

    Hey wraggster, since you're a reliable source and don't drop off the face of the earth as often as other people, I thought I'd let you in on a bit of info.

    I'm just dropping by to let you know that Wii64 / WiiSX now has an official home at www.emulatemii.com, it currently doesn't have much but there is a progress video and a few lengthy posts about progress

    It's a website run entirely by the Wii64Team (myself included), plus it will have in-depth updates on the status of the emulator and it's progress.

    Enjoy and feel free to post it as news.
    ...
    by Published on December 9th, 2008 22:19

    News/release from sepulep

    OpenTTD CargoDest port for gp2x

    - port of CargoDest branch
    - GUI changes for 320x240
    most big windows are resized to fit, window placement improved
    - SDL_mixer music
    - compiled with network play support (tested with usb, works
    both as client or server, needs corresponding version compiled
    on other machine)
    - source diff included

    Controls:
    (No touchscreen, as I don't have a F-200,
    get ZodTTD & Senor Quack's excellent port for this!!)

    stick: mouse pointer
    x,y,a,b: scroll
    L: leftmouse button
    R: right mouse button
    vol-: hide/unhide windows (but don't close)
    vol+: switch toolbar
    R + vol-: close windows
    R + vol+: increase game speed
    R + x: send top window to bottom
    R + y: send bottom window to top
    R + a: clear pointer
    R + b: transparency
    select: ctrl
    start: shift
    L + start + stick: move window

    Note that you need to put original data files in data/:
    sample.cat
    trg1r.grf
    trgcr.grf
    trghr.grf
    trgir.grf
    trgtr.grf
    and music files in gm/

    anyway, hope some will enjoy this,cheers!!

    http://www.gp2x.de/cgi-bin/cfiles.cgi?0,0,0,0,29,2713 ...
    by Published on December 9th, 2008 22:17

    Cpasjuste has released an Atari 520 Emulator for the Pandora Console:

    Here is a great Atari 520 emulator compiled for the pandora, ready to play with when you'll get a pandora board

    Download and Give Feedback and Compatability reports Via Comments ...
    by Published on December 9th, 2008 22:17

    Cpasjuste has released an Atari 520 Emulator for the Pandora Console:

    Here is a great Atari 520 emulator compiled for the pandora, ready to play with when you'll get a pandora board

    Download and Give Feedback and Compatability reports Via Comments ...
    by Published on December 9th, 2008 22:14

    Cpasjuste has released a Sega Master System Emulator for the Pandora Console:


    PSMS - Pandora Sega Master System
    =================================

    Ported by Cpasjuste from SMS 0.9.4a.

    Controls : tested on a sidewinder usb joypad, use select button to go back to the menu.

    Download and Give Feedback and Compatability reports Via Comments ...
    by Published on December 9th, 2008 22:14

    Cpasjuste has released a Sega Master System Emulator for the Pandora Console:


    PSMS - Pandora Sega Master System
    =================================

    Ported by Cpasjuste from SMS 0.9.4a.

    Controls : tested on a sidewinder usb joypad, use select button to go back to the menu.

    Download and Give Feedback and Compatability reports Via Comments ...
    by Published on December 9th, 2008 22:08

    Craigix posted this news:

    Hello everyone,

    Sorry about this slow credit card reorder process, please don't get angry at us as we can only move at the pace of the bank who started all this mess (and probably wish they had not done it now).

    We want the make sure ALL card orders are refunded before we put up the reorder pages, and the reorder pages will probably go in batches, ie UK first, then euro then the rest of the world to avoid any server issues.

    Please try to be patient and not give us a hard time (believe me the bank situation is a nightmare enough).

    Also please don't request charge backs - this only leads the bank to believe they were 'right' to do this and weakens our argument that there were wrong - they have also told us they plan to charge us $38 for every charge back they receive just to kick us while we are down due to their actions.

    They are refunding the orders but they are doing it very slowly, almost in an awkward manner.

    Please try to work with us though this, it is the last step in a long project and we have worked past so many other major issues put in our place in the last two years - we just need your help to knock this one down too - and don't worry I'm keeping a diary of all the interesting attempts to try to derail the Pandora project and will post them soon.

    Also remember that you won't lose your place in the queue and work continues full time while all this is happening - there are some very nice announcements coming up in regards to the drivers for the Pandora 3d, dsp, video in the next few weeks too which will again make the Pandora even faster and more complete.

    If you liked Skeezixs Pandora benchmarks vs. other handhelds and thought they were impressive, well, prepare to turn it up to 11.
    ...
    by Published on December 9th, 2008 22:08

    Craigix posted this news:

    Hello everyone,

    Sorry about this slow credit card reorder process, please don't get angry at us as we can only move at the pace of the bank who started all this mess (and probably wish they had not done it now).

    We want the make sure ALL card orders are refunded before we put up the reorder pages, and the reorder pages will probably go in batches, ie UK first, then euro then the rest of the world to avoid any server issues.

    Please try to be patient and not give us a hard time (believe me the bank situation is a nightmare enough).

    Also please don't request charge backs - this only leads the bank to believe they were 'right' to do this and weakens our argument that there were wrong - they have also told us they plan to charge us $38 for every charge back they receive just to kick us while we are down due to their actions.

    They are refunding the orders but they are doing it very slowly, almost in an awkward manner.

    Please try to work with us though this, it is the last step in a long project and we have worked past so many other major issues put in our place in the last two years - we just need your help to knock this one down too - and don't worry I'm keeping a diary of all the interesting attempts to try to derail the Pandora project and will post them soon.

    Also remember that you won't lose your place in the queue and work continues full time while all this is happening - there are some very nice announcements coming up in regards to the drivers for the Pandora 3d, dsp, video in the next few weeks too which will again make the Pandora even faster and more complete.

    If you liked Skeezixs Pandora benchmarks vs. other handhelds and thought they were impressive, well, prepare to turn it up to 11.
    ...
    by Published on December 9th, 2008 22:05

    SteveM has posted some beta releases for the Pandora Console, as of writing the only folks who will be able to test are some lucky devs

    This is a straight compile of SIMH for Linux on the ARMv7 Cortex-A8. The
    executables are dynamically linked but require no special libraries.

    The "mkpxml.pl" script can be used to generate similar PXML files for the
    available binaries.

    Pandora-specific issues may be addressed to Steve Maddison

    Download and Give Feedback Via Comments ...
  • Search DCEmu

  • Advert 3