No$gba v2.8a Released - With DSI Emulation

Discussion in 'NDS - Emulation and Homebrew' started by drwhojan, May 4, 2015.

  1. drwhojan
    OP

    drwhojan GBAtemp Psycho!

    Member
    3,745
    806
    Jul 14, 2009
    United Kingdom
    Where I Am!
    Martin Korth and his new version of No$gba v2.8a released - with DSi emulation

    Download Free by his site: http://problemkaputt.de/gba.htm

    No$gba 2.8a Changelog: 03 May 2015

    If you can please make a donation to his page!.

    Just released no$gba v2.8a. I've been planning to release updates more frequently, but as usually, it took three months to get everything polished, so here comes another new hardcore update - http://problemkaputt.de/gba.htm

    There are some general GBA/NDS emulation fixes, and some GUI fixes. But the main focus is on DSi, especially on the eMMC filesystem. As with the previous DSi updates, the whole thing will probably appear to be totally useless to most people; most of the DSi hardware is documented & emulated, but the DSi memory initialization is still unknown, so the emulation won't work with commercial games. At it's best, it may be useful for stuff like debugging/developing homebrew DSi code.

    Anyways, it's now possible to decrypt the DSi bootcode, so it should be possible to figure out the DSi memory initialization, and there's a quite good chance that the NEXT no$gba version will be actually able to run official DSi software.

    Code:
    03 May 2015 - version 2.8a
    - dsi/help: added little-endian AES pseudo code with double-checked test values
    - dsi/files/help: added camera pit.bin and jpec/exif specs (unknown signature)
    - dsi/files/help: added TWLFontTable.dat specs (with unknown compression)
    - dsi/files/help: added specs/compression for "wifi firmware" (unknown purpose)
    - dsi/files/help: added specs for TWLCFGn.dat (user settings) (as far as known)
    - dsi/files/help: added specs for misc files and log files
    - dsi/files/help: more details for "tad" files (sd card .bin) and for HNB_.lst
    - dsi/files/help: added partial specs on certificate and whitelist stuff
    - dsi/help: notes on emmc decryption being possible for boot code and partitions
    - dsi/mem/help: added info on various main ram regions (2FFxxxxh and 2000400h)
    - debug: filesystem viewer: allows to view eMMC partition trees (like NDS carts)
    - debug: filesystem viewer: double click saves selected file (to fixed filename)
    - dsi/help: specs for eMMC images ("DSi-#.mmc" with "DSi eMMC CID/CPU" footer)
    - gaming version: fixed crash when starting emu without cartridge in nds mode
    - debug version: fixed messed intro screen when booting without cart in nds mode
    - nds/3d/help: added note on invalid gx commands being ignored by hardware
    - nds/3d: made 'invalid gx command' warning optional (as part of bad io warning)
    - gba/help: updated gba/thumb open-bus specs in unpredictable things chapter
    - gba/emu: better prefetch for reads from unused memory by code in WRAM/OAM/BIOS
    - dsi/help: added summary (and complete list) of files/folders on SD/MMC storage
    - layer setup: allows to disable video layers, 3d effects, and 3d hide tests
    - layer setup: allows to disable nds sound channels, and separate sound formats
    - gba/bios-clone: swi cpufastset length rounded-up to n*8 words (thanks ricardo)
    - nds/auxspi: forces spi-busy bit (and unused bits) to zero (thanks Frederic)
    - setup: added "setup_nds_system" in gaming version, too (thanks Kokoji)
    - setup: fixed some crashes on gba/nds/dsi mode changes (mainly tty-related)
    - dsi/help: added MBR, VBR, FAT, and LFN specs to SD/MMC filesystem chapters
    - dsi/help: added console id chapter (cid, 4004d00h, barcode, mac, wfc id)
    - dsi/help: added AES ndma notes (block size, start-ndma before starting aes)
    - dsi/aes: emulates aes-io-ports, and aes-irq (no aes-dma yet though)
    - dsi/aes: ported AES functions to native DSi-style little-endian format
    - dsi/help: updated AES i/o port chapter (many details, additions, corrections)
    - dsi/help: discovered eMMC 120bit CID value (at 2FFD7BCh in main ram)
    - dsi/cartbooter: allows dsiware/system code to exceed 4MB (unlike ROM carts)
    - gui: help-engine on win95/winNT4: forces IDC_ARROW (instead of IDC_HAND)
    - gui: uses GetScrollInfo/SetScrollInfo in help-engine (except for win31...?)
    - dsi/help: identified AIC3000D as TSC2117, added lots of specs from datasheet
    - debug: added SPI logging option (in TTY window) (cart, powerman, flash, tsc)
    - dsibrew: updated the NUS Downloader/database page (some additions/corrections)
    - dsi/help: added note on teak being actually used (by two system utilities)
    - dsi/cartloader: added ".app" to standard extensions (for nus downloader files)
    - dsi/help: added more cart header details (region flags, system/dsiware flags)
    - dsi: emulates dsipstat.bit6=1 (lcd init ready) (needed for dsi system menu)
    - nds/dsi: allows writing dispstat.bit7 (MSB of 9bit LYC) (unlike 8bit gba LYC)
     

    Attached Files:

  2. drwhojan
    OP

    drwhojan GBAtemp Psycho!

    Member
    3,745
    806
    Jul 14, 2009
    United Kingdom
    Where I Am!
    NO$GBA 2.8a Modified - NO$GBA v2.8a Modified version

    Open emulator with any hex editor, at offset 0x00026760 find

    66 81 FD 00 80 73 05 C1 E8 01 EB 03 C1 E8 01 89 85 18 09 00 00 E9 A3 CA F2 FF <- this is the EX5!

    You can change arm7/arm9 speeds , 80 73 05 can be edited - 01 EB 03 C1 E8 01 <- the two 01 changes speed higher the slower like 02 - also 03 can be changed only to 00 - E8 not sure but can be changed value , 80 73 slight speed, if any changes and emulator crashed, just edit value back and save , and run emulator again .

    (Note) each to it's own games .
     

    Attached Files:

    AtlasFontaine and Margen67 like this.
  3. drwhojan
    OP

    drwhojan GBAtemp Psycho!

    Member
    3,745
    806
    Jul 14, 2009
    United Kingdom
    Where I Am!
    Sine most no$gba are missing in action, I decided to do a lot of diging around for a collection of older releases after find on chines / japanese site's managed to find a lot .

    So I have checked them and uploaded to MEGA, Download them here .

    DL here: No$gba Archive Collection | MEGA

    PS: Please if they are any missing on the list ?, Are you know off are may Have! , please PM the missing emulator to me and I'll add the too the Archive Collection with you're name as credit :) .

    EDIT: looking for 2.2a anyone have ?, not sure if they was a 2.1 ? - missing 2.1a

    Cheers.
     
    Hiccup and Margen67 like this.
  4. Arkansaw

    Arkansaw GBAtemp Advanced Fan

    Member
    993
    194
    Jul 23, 2005
    Trinidad and Tobago
    imagine he writes one for 3ds too..
     
    HaloEffect17 and Margen67 like this.
  5. drwhojan
    OP

    drwhojan GBAtemp Psycho!

    Member
    3,745
    806
    Jul 14, 2009
    United Kingdom
    Where I Am!

    I suppose that's why he maybe working on DSI at the moment, They tend to share with 3DS some encryption/decryption parts as a "Key" , who knows .

    Many then he may move onto 3DS stuff .

    "can't make an omelet without breaking some eggs" xd.
     
    Margen67 likes this.
  6. drwhojan
    OP

    drwhojan GBAtemp Psycho!

    Member
    3,745
    806
    Jul 14, 2009
    United Kingdom
    Where I Am!
    I have redone a final.

    NO$GBA v2.8a Modified Version 2-Final

    Also fix text addresses of fixes in, NO$GBA v2.8a Hex-ed

    added upx, and original no$gba to do you're own stuff.

    Fix some Games

    Rune factory a harvest moon white screens fix
    Pokemon black/white 2 Summery screen's freeze fix

    Bigger Screens on startup
    Frame skips
    Slight speedup
    Built in EX5 from no$zoomer
    software sound
    poppy lite.

    Attached enjoy .
     

    Attached Files:

    AtlasFontaine and Margen67 like this.
  7. AsPika2219

    AsPika2219 Pikachu going beach!

    Member
    1,214
    224
    Jun 17, 2010
    Malaysia
    Cats City
    Last edited by AsPika2219, Jun 2, 2015
  8. zoogie

    zoogie simple pimp tool

    Member
    6,576
    8,472
    Nov 30, 2014
    United States
    Margen67 likes this.
  9. loco365

    loco365 GBAtemp Guru

    Member
    5,458
    2,675
    Sep 1, 2010
    How... How do you set up a NAND image?

    Also it seems Shantae: Risky's Revenge is hella broken...

    [​IMG]

    It's like that's the only set of words she knows.
     
    drwhojan, Margen67 and zoogie like this.
  10. loco365

    loco365 GBAtemp Guru

    Member
    5,458
    2,675
    Sep 1, 2010
    So I was looking around online today now that I have a NAND image from my DSi, and I'm curious about attempting to boot it in No$GBA 2.8b. I found this post on Reddit but it doesn't explicitly give instructions on what to do with your NAND image. Has anyone been able to get it working? Also, @the_randomizer did nocash on ngemu ever mention how it was to be set up? I found yours and his posts there, but I don't know if I missed anything.

    Additionally, has anyone been able to get the touchscreen to work with No$GBA 2.8b, or is that intentional that it's not working?
     
    the_randomizer and VinsCool like this.
  11. VinsCool

    VinsCool Scrambled Mind

    Member
    GBAtemp Patron
    VinsCool is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    12,100
    29,496
    Jan 7, 2014
    Canada
    Another World
    I also got a nand image of my dsi, I am looking forward for this :)
     
    HaloEffect17 likes this.
  12. loco365

    loco365 GBAtemp Guru

    Member
    5,458
    2,675
    Sep 1, 2010
    So it seems that the reddit post has some missing information, as looking in the No$GBA help shows that you need the two DSi BIOS files, which I don't think exist on the internet quite yet and need to be manually dumped. I'm not sure how to dump these as of yet though.
     
  13. Coto

    Coto GBAtemp Addict

    Member
    2,385
    426
    Jun 4, 2010
    Chile
    having written an armv4 core, i can assure you (once all opcodes are properly implemented) a bios ensures you will get the correct behavior while handling a CPU exception.
     
  14. loco365

    loco365 GBAtemp Guru

    Member
    5,458
    2,675
    Sep 1, 2010
    Yeah. I want to fiddle around with a copy of my NAND and see if I can do a few things without having to flash a NAND to my DSi constantly.

    So after digging around (And rediscovering my ngemu account), I found a tool by WinterMute that dumps the BIOS files that @zoogie has compiled. I'll have to wait for my DSi to come back before I can dump my BIOS files as it's a DSi homebrew application, but that should be one essential part of running DSi NAND images on No$GBA.
     
    HaloEffect17 and VinsCool like this.
  15. VinsCool

    VinsCool Scrambled Mind

    Member
    GBAtemp Patron
    VinsCool is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    12,100
    29,496
    Jan 7, 2014
    Canada
    Another World
    Same as me I guess xD

    The tool won't run with a ds mode flashcard right?
     
  16. loco365

    loco365 GBAtemp Guru

    Member
    5,458
    2,675
    Sep 1, 2010
    Nope, not as far as I'm aware.
     
    VinsCool likes this.
  17. the_randomizer

    the_randomizer The Temp's official fox whisperer

    Member
    22,711
    10,989
    Apr 29, 2011
    United States
    Dr. Wahwee's castle
    I don't know @Team Fail and that's weird touchscreen emulation isn't working, I'd suggest getting in contact with nocash on Ngemu about that...sorry I can't be of more help...
     
  18. loco365

    loco365 GBAtemp Guru

    Member
    5,458
    2,675
    Sep 1, 2010
    Yeah, I made a post there but it's awaiting moderator approval. Also, I did mention you in said post, but I'll mention it here for now as well, but it seems that Trajectile is experiencing similar sound corruption to what SM64DS has. I wonder if the same fix could get audio for both games working properly...?

    Edit: Said post is no longer under moderator approval.
     
    Last edited by loco365, Aug 5, 2015
  19. tivu100

    tivu100 GBAtemp Addict

    Member
    2,045
    440
    Jun 6, 2015
    United States
    This emulator give me a nostalgic feeling. As I recalled (maybe wrong!), was the best NDS emulator before the developers stopped updated it.
     
  20. the_randomizer

    the_randomizer The Temp's official fox whisperer

    Member
    22,711
    10,989
    Apr 29, 2011
    United States
    Dr. Wahwee's castle
    That's weird, I think after X amount of posts, posts no longer are moderated as I don't have that. The SM64 issue is emulator-related and very hard to neutralize, Martin/nocash is aware of it as I even ran debug tests in the debug build and posted results, but who knows when it will be fixed.