Page 1 of 7 12345 ... LastLast
Results 1 to 10 of 64

Thread: Daedalus WIP News (N64 Emu) From StrmnNrmn

                  
   
  1. #1
    Won Hung Lo wraggster's Avatar
    Join Date
    Apr 2003
    Location
    Nottingham, England
    Age
    52
    Posts
    139,818
    Blog Entries
    3209
    Rep Power
    50

    psp Daedalus WIP News (N64 Emu) From StrmnNrmn

    StrmnNrmn posted this news:

    I've been really busy working on the new dynarec engine, so I've not been posting as frequently as I'd like. I've made a lot of progress in the following areas:

    Most integer arithmetic and logical instructions now implemented (i.e I'm now generating optimised assembly for these instructions rather than calling a generic function to handle them

    Regsiter caching implemented (although I'm only using a greedy allocation algorithm at the moment, as I've not yet fully implemented the fast linear scan algorithm I talked about in the previous post)

    I'm directly linking all direct branches to compiled fragments

    I'm linking to all indirect branch targets

    So far I'd say I'm around 40-50% through the work on the dynarec engine.

    Now for some stats The following table compares the framerates at various points (previous framerate is for the R4 release of Daedalus, current framerate is for my most recent development build):

    Previous Framerate (Hz) Current Framerate (Hz)

    Mario Head 3 6
    Mario Main Menu 14 25
    Mario Peach Letter 6-7 11
    Mario Flyby (under bridge) 6 10
    Mario In Game 5-6 9
    Mario Kart Nintendo logo 10 23
    Mario Kart Flag 6 11
    Mario Kart Menu 7 11
    Zelda Nintendo Logo 20 23
    Zelda Start Menu 2-3 4
    Zelda Main Menu 10 13

    Overall I'd say the dynarec is currently achieving up to a 100% speedup in the roms I've tested, which I'm very excited about. Mario is certainly starting to feel a lot more playable, and the Mario Kart menus are a lot more responsive now.

    I specifically included Zelda in the results because I'm not seeing the same kind of results there, so I need to take a closer look at what's going on there (it's quite possible it's just using a few of the arithmetic and logical ops I've not spent time optimising yet).

    A twofold improvement in framerate is pretty good, but I now think I can do a lot better. Here's the list of things I currently have on my 'TODO' list:

    Fully implement all the remaining integer ops (including all the 64 bit instructions)
    Finalise implementation of the fast linear scan register allocation algorithm

    Keep track of 'known' values for specific registers and use this to optimise the generated code (e.g. most of the time the top half of the N64's 64 bit registers is just sign extended from the lower half)

    Cache the memory location pointer to by the N64 stack pointer (SP) and optimise load/stores using this register as a base pointer

    Optimise all memory access instructions (currently all the cached registers get flushed for all memory accesses other than LW/SW/LWC1 and SWC1)

    Detect and optimise 'busy wait' loops (e.g. many roms sit in a tight loop waiting for the next vertical blank interrupt to fire which is just wasting cycles on the PSP)

    Implement all the branching instructions (I've currently only implemented BNE, BEQ, BLEZ and BGTZ)

    Implement instructions and register caching for all the cop1 (floating point coprocessor) instructions. (I think this will give a huge speedup.)

    Although the list is quite short, there's quite a lot of work there. What I'm quite excited about is that I think these changes will start to provide significant speedups as they're implemented. I don't want to get too far ahead of myself, but I'm starting to feel that certain roms are going to be very playable in the not too distant future.

    I'm going to try and release a new version of the emulator soon. Unfortunately it's probably not going to be this weekend (due to various social commitments); towards the end of the following week is more likely. I'd certainly like to get a version released before the World Cup starts and all my free time is taken up watching football

    -StrmnNrmn

  2. #2
    DCEmu Regular luis_05's Avatar
    Join Date
    Mar 2006
    Location
    LA
    Age
    39
    Posts
    292
    Rep Power
    69

    Default

    sweet dude!! keep up the good work!! I will be waiting here patiently until u release it!!

  3. #3

    Default

    Exellent news strmmnrmm. Keep it up!

  4. #4
    DCEmu Old Pro V3N0M's Avatar
    Join Date
    Mar 2006
    Location
    SoCal
    Age
    33
    Posts
    1,340
    Rep Power
    83

    Default

    Very good i'm glad to here from you and your progress is astounding.

  5. #5
    DCEmu Pro sroon's Avatar
    Join Date
    Nov 2005
    Location
    Hyrule
    Age
    34
    Posts
    726
    Rep Power
    74

    Default

    Alire.. im looking forward to the new release....
    ZELDA!!!

  6. #6
    DCEmu Old Pro Wally's Avatar
    Join Date
    Oct 2005
    Posts
    1,170
    Rep Power
    76

    Default

    this should feed cake into some of the other devs mouths!

    After all this works we need sound! :P

  7. #7
    DCEmu Regular Jonesyxxiv's Avatar
    Join Date
    Mar 2006
    Posts
    276
    Rep Power
    68

    Default

    Awesome I can wait for the next release!

  8. #8

    Default

    good to hear!

  9. #9
    Wii User shiftybill's Avatar
    Join Date
    Nov 2005
    Location
    The dark side of the moon
    Posts
    221
    Rep Power
    68

    Default

    keep it up dude, and go australia in the world cup!!

  10. #10

    Default

    great man keep up the great work and i cant wait lol

Page 1 of 7 12345 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •