Official hakchi2 - NES Mini very simple pimp tool

Asure

Active Member
Newcomer
Joined
Oct 1, 2017
Messages
32
Trophies
0
Age
49
XP
72
Country
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
 
  • Like
Reactions: asper and Bin4ry

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
The WII VC header is documented very well here. I can understand that @ClusterM and others probably want to release a nice one click tool which works 100%.

abload.de/img/datebin-headerinfo70u58.jpg

It should be trivial to replace a game in the on-board emulator by ftp at this point, but i'm curious to see what we can learn from the ones installed. I'll dig into the 30 games now :)
I love the buttery smoothness of the device btw. Much better than anything i saw before.

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,

flinto

Well-Known Member
Member
Joined
Oct 16, 2014
Messages
183
Trophies
0
XP
203
Country
To be sure to understand, for you EUR > 2 US ?!?

Why do you say that ?

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
 

Rapidkiller

Active Member
Newcomer
Joined
May 18, 2009
Messages
26
Trophies
1
XP
341
Country
France
Can we stay on subject guys?
Sent from my iPhone using Tapatalk Pro
Which subject ? Ask every 5 posts if HakChi2 is SNES compliant ?!?

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
I already have an european one and I hope it will be cool to exchange my second one by an US or JAP model ;)
 

iDon

Member
Newcomer
Joined
Sep 30, 2017
Messages
12
Trophies
0
Age
39
XP
83
Country
United States
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 ;)

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
 

Rapidkiller

Active Member
Newcomer
Joined
May 18, 2009
Messages
26
Trophies
1
XP
341
Country
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
 
  • Like
Reactions: TxFxL and flinto

iDon

Member
Newcomer
Joined
Sep 30, 2017
Messages
12
Trophies
0
Age
39
XP
83
Country
United States
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

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
 

flinto

Well-Known Member
Member
Joined
Oct 16, 2014
Messages
183
Trophies
0
XP
203
Country
Could be no news for hours, days or weeks for all we know.

What was the topic that we drifted off from anyway?
 

Rapidkiller

Active Member
Newcomer
Joined
May 18, 2009
Messages
26
Trophies
1
XP
341
Country
France
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

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
 

Baggins

Well-Known Member
Member
Joined
Jan 27, 2017
Messages
280
Trophies
0
Age
44
XP
314
Country
United States
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

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.
 
  • Like
Reactions: flinto

iDon

Member
Newcomer
Joined
Sep 30, 2017
Messages
12
Trophies
0
Age
39
XP
83
Country
United States
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

Didn’t understand one word but ok, I’ll change the subject.


Sent from my iPhone using Tapatalk Pro
 

spotanjo3

Well-Known Member
Member
Joined
Nov 6, 2002
Messages
11,145
Trophies
3
XP
6,215
Country
United States
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!
 

nl255

Well-Known Member
Member
Joined
Apr 9, 2004
Messages
3,000
Trophies
2
XP
2,801
Country
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

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).
 

Boognish

Well-Known Member
Member
Joined
Feb 14, 2017
Messages
128
Trophies
0
Age
51
XP
110
Country
United States
The US one is a bit blocky but the EUR one is sleek, more pleasing to the eye.

1118rao.jpg
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Xdqwerty @ Xdqwerty:
    Penisapiens
  • cearp @ cearp:
    Tempus Bannus
    +2
  • Xdqwerty @ Xdqwerty:
    @cearp, okie dokie i'm sorry
  • cearp @ cearp:
    lol I meant nothing by it - and for the record I have no powers, so no worries :D
    +1
  • cearp @ cearp:
    still, you're forgiven
    +2
  • AncientBoi @ AncientBoi:
    Well I don't forgive him. He's been eating ALL the Tempus Bannus's :angry:
  • Xdqwerty @ Xdqwerty:
    @AncientBoi, it was only once :angry:
    +1
  • AncientBoi @ AncientBoi:
    ROFL :rofl2::rofl2::rofl2::rofl2::rofl2:
  • cearp @ cearp:
    There's not even one left for me? :(
    +1
  • AncientBoi @ AncientBoi:
    nope
  • AncientBoi @ AncientBoi:
    I was able to get 1 atleast :D
  • cearp @ cearp:
    That's why I only had carrots and cheese for breakfast
    +1
  • AncientBoi @ AncientBoi:
    Oh, that was you that answered my Thread
  • Xdqwerty @ Xdqwerty:
    @cearp, just swear a lot and you will get one
    +1
  • Xdqwerty @ Xdqwerty:
    Or share piracy sites
    +1
  • K3Nv2 @ K3Nv2:
    @AncientBoi, just wants to eat temps burrito
    +1
  • cearp @ cearp:
    Yep, very jealous of your frosted wheat things plus fruit
    +1
  • K3Nv2 @ K3Nv2:
    She's sweeter when she eats pineapple
    +1
  • cearp @ cearp:
    I guess your mother's ran out of pipeapple since 2020
    +1
  • AncientBoi @ AncientBoi:
    Stop telling MY secrets 😡
    +1
  • K3Nv2 @ K3Nv2:
    That's what you get for putting your mouth at places it shouldn't be
    +1
  • cearp @ cearp:
    no no, I can just read my dog's mind
  • K3Nv2 @ K3Nv2:
    A female dog knows a female dog
    +1
    K3Nv2 @ K3Nv2: A female dog knows a female dog +1