Official hakchi2 - NES Mini very simple pimp tool

Cluster Jan 7, 2017.

  1. Rapidkiller

    Rapidkiller Member

    Newcomer
    3
    May 18, 2009
    France
    Just be patient !

    And you have 21 games to finish LOL
     
    LuCraftStudios and flinto like this.
  2. Asure

    Asure Member

    Newcomer
    1
    Oct 1, 2017
    Netherlands
    This header info is probably even more complete, including the 0x3D offset for DSP enabling, looking into it now.

    github com/ihaveamac/snes-vc-stuff/blob/master/data-bin-header.md
     
    asper and Bin4ry like this.
  3. daxtsu

    daxtsu GBAtemp Guru

    Member
    14
    Jun 9, 2007
    Antarctica
    That's actually for N3DS SNES VC as far as I can tell, which has a different header than the SNES classic games. The SNES classic games use the Wii U VC header, which is much more compact. Most of the details remain the same, but a few change:

    As far as I can tell, the Wii U header (and footer, which is always included, at least on SNES classic) is like this (the footer is largely incomplete):

    Code:
    // All little-endian values
    typedef struct WUP_SNES_VC_Header
    {
      uint32_t magic; // Seems to always be 0x00000100
      uint32_t entire_file_size; // This is repeated once in the header
      uint32_t unk1; // padding, additional magic, or maybe a null entry of some kind, it's always 0x00000030
      uint32_t footer_begin_addr; // pointer to a footer at the end of the file
      uint32_t unk_addr_begin; // can be a repeat of footer_begin_addr, or a pointer into the file, maybe for the beginning of a patch? Some of the snes classic roms have a *lot of extra data* appended to the end of the file before the footer
      uint32_t unk_addr_end; // can be a repeat of footer_begin_addr, or a pointer into the file, seems to be the corresponding patch end address
      uint32_t entire_file_size_repeat; // repeat of entire_file_size
      uint32_t padding; // always zeroes
      uint32_t footer_end_addr; // file offset to the end of the footer (more specifically, it points to the first 0x01 at the end of the fotter)
      char product_code[12]; // 11 character product code goes here, with null terminator
    }
    
    typedef struct WUP_SNES_VC_Footer
    {
      uint32_t magic_and_rom_size; // ROM size is in the upper byte: XX00003C, where XX is the size (see get_base_rom_size)
      uint32_t unk1; // Possibly flags, some games have it set to zero, others have it set to an absurd value that can't be a pointer in the file
      uint32_t unk2; // Seems to be either 0 or sometimes an absurd number
      uint32_t unk3; // flags?
      uint32_t unk4; // flags?
      uint32_t padding; // always zeroes
      uint32_t magic2; // Always 0x01000000
      uint32_t magic3; // Always 0x01000000
      uint8_t padding[16]; // 16 bytes of 0 padding
    }
    
    size_t get_base_rom_size(uint8_t size)
    {
      switch (size)
      {
        case 0x40: return 4 * 1024 * 1024; // 4MB
        case 0x30: return 3 * 1024 * 1024; // 3MB
        case 0x20: return 2 * 1024 * 1024; // 2MB
        case 0x10: return 1 * 1024 * 1024; // 1MB
        case 0x08: return 512 * 1024; // 512KB
        case 0x06: return 384 * 1024; // 384KB
        case 0x04: return 256 * 1024; // 256KB
        case 0x02: return 128 * 1024; // 128KB
        case 0x01: return 64 * 1024; // 64KB
        case 0x00: return 32 * 1024; // 32KB
      }
    }
    
    Disclaimer: I'm terrible at reverse engineering, so it's very possible that I could be wrong about some fields, but I hope this might come in handy for someone.
     
    Last edited by daxtsu, Oct 1, 2017
  4. flinto

    flinto GBAtemp Regular

    Member
    2
    Oct 16, 2014
    The US one is a bit blocky but the EUR one is sleek, more pleasing to the eye.

    These games have been well emulated for a long time so why buy a SNES mini at all? Because it's cool to play the game on an official replica of the original so it should look as sleek as possible otherwise may as use emu
     
  5. iDon

    iDon Member

    Newcomer
    1
    Sep 30, 2017
    United States
    Can we stay on subject guys?


    Sent from my iPhone using Tapatalk Pro
     
  6. Rapidkiller

    Rapidkiller Member

    Newcomer
    3
    May 18, 2009
    France
    Which subject ? Ask every 5 posts if HakChi2 is SNES compliant ?!?

    I already have an european one and I hope it will be cool to exchange my second one by an US or JAP model ;)
     
    TerryG, Akira and flinto like this.
  7. iDon

    iDon Member

    Newcomer
    1
    Sep 30, 2017
    United States
    You feeling salty huh skid? I only asked twice, please show me where I asked if SNES is compliant every 5 posts. I’ll wait..... can’t huh? Pipe down, stay on subject


    Sent from my iPhone using Tapatalk Pro
     
  8. Rapidkiller

    Rapidkiller Member

    Newcomer
    3
    May 18, 2009
    France
    iDon

    Just joke, I probably don't use the right words or tone ...
    And I don't tell that YOU are asking every 5 posts ;)

    Be sure that even if we're out of subject, when "hakChi3" will be released, you'll know it, the world will shake :P
     
    TxFxL and flinto like this.
  9. iDon

    iDon Member

    Newcomer
    1
    Sep 30, 2017
    United States
    No, you were just trying to be a smart ass and it backfired on you, that’s what it was. And you did imply that I was asking every 5 posts. Better read what you wrote brother


    Sent from my iPhone using Tapatalk Pro
     
  10. flinto

    flinto GBAtemp Regular

    Member
    2
    Oct 16, 2014
    Could be no news for hours, days or weeks for all we know.

    What was the topic that we drifted off from anyway?
     
  11. iDon

    iDon Member

    Newcomer
    1
    Sep 30, 2017
    United States
    Pimps and hoes


    Sent from my iPhone using Tapatalk Pro
     
    flinto likes this.
  12. Rapidkiller

    Rapidkiller Member

    Newcomer
    3
    May 18, 2009
    France
    Write "Ask every 5 posts if HakChi2 is SNES compliant ?!?" ... does mean that YOU are asking every 5 posts ?!?

    Sorry, I haven't Shakespear's style.

    And begin with "insult" (smart ass) don't make you more intelligent in the debate !!! Be aware to exchange with some people that are not fluant in English
     
  13. Baggins

    Baggins GBAtemp Regular

    Member
    2
    Jan 27, 2017
    United States
    I have both a European and a American one... I prefer the American one for nostalgia reasons, and I like the concave set of buttons. Also I plan to hack both use one for extra memory space in case I can't fit all the games I want onto one (still have space for save states, etc), as well as possibly using one for Sega Genesis emulation with the Wireless Fighting Commander controller.
     
    flinto likes this.
  14. iDon

    iDon Member

    Newcomer
    1
    Sep 30, 2017
    United States
    Didn’t understand one word but ok, I’ll change the subject.


    Sent from my iPhone using Tapatalk Pro
     
  15. Baggins

    Baggins GBAtemp Regular

    Member
    2
    Jan 27, 2017
    United States


    A video showing off Super Gameboy borders, and border animations that some of them had.
     
    SirBeethoven and flinto like this.
  16. Kumoashi

    Kumoashi GBAtemp Regular

    Member
    2
    Mar 8, 2016
    United States
    Which emulator is that? I've never had the SNES sounds work on any that I've tried.
     
  17. Eggman85

    Eggman85 Advanced Member

    Newcomer
    1
    May 6, 2016
    did the link work before the store? now maintains ... some place to buy the cheap genesis box? Thank you
     
  18. azoreseuropa

    azoreseuropa GBAtemp Guru

    Member
    11
    Nov 6, 2002
    United States
    Azores/Portugal
    Already have NES Classic Mini (EUROPE as well). Soon we are going to buy Super NES Classic Mini (EUROPE version preferably) and have them ship it to our hometown in America. :) Can't wait!
     
  19. nl255

    nl255 GBAtemp Addict

    Member
    8
    Apr 9, 2004
    Not to mention no need to lug around a USB keyboard with you like you do with RetroPie (which still doesn't have an OSK).
     
  20. Boognish

    Boognish GBAtemp Regular

    Member
    1
    Feb 14, 2017
    United States
    [​IMG]
     
Quick Reply
Draft saved Draft deleted
Loading...