Welcome Guest [Log In] [Register]
Battle Network 4 Chip Data Format
Topic Started: Jul 10 2011, 07:01 PM (1,678 Views)
Dramz
No Avatar
Spastic Colon

Chip Data
 

080197EC - Start of the first chip (Blue Moon and Red Sun)

0x00 - Chip Code 1
0x01 - Chip Code 2
0x02 - Chip Code 3
0x03 - Chip Code 4
0x04 - Element (for some attack types)
0x05 - Chip Rarity
0x06 - MB
0x07 - Displayed Element (Controls usage with souls)
0x08 - Standard/Mega/Giga/Dark
0x09 - Chip Properties (bitfield, see below)
0x0A - Enable/Disable Counter Hit
0x0B - Attack Type
0x0C - Sublevel
0x0D - Sublevel
0x0E - Sublevel
0x0F - Sublevel
0x10 - Sublevel
0x11 - Sublevel
0x12 - Sublevel
0x13 - Sublevel
0x14 - Delay between chips
0x15 - Evil Chip
0x16 - Secret Library Trigger
0x17 - Padding???
0x18-19 - ABC Pack ID
0x1A-1B - Attack power
01C-1D- Library/Pack ID
0x1E - Padding???
0x1F - Padding???
0x20-23 - Pointer to Chip Icon Graphic
0x24-27 - Pointer to Chip Image Graphic
0x28-2B - Pointer to Chip Image Palette

Chip Codes:
FF = None
00 = A
19 = Z
1A = *


Displayed Elements:
00 - Fire
01 - Aqua
02 - Elec
03 - Wood
04 - Recovery
05 - Plus/Minus
06 - Sword
07 - Invis
08 - Earth
09 - Object
0A - Wind
0B - Break
0C-FF - Normal

Attack Types:
08 - Buster Shot
09 - Bomb
0A - Sword
0B - Cannon
0C - time freeze (panelgrab)
0D - DoubleSoul
0E - GutPunch?
0F - Bustershot
10 - GutsSoul Machine Gun
11 - End Double Soul
12 - Gut Punch? (0E)
13 - Metal gear
14 - Crash on panel in front
15 - Numberman Dice Bomb
16 - Spice Attack
17 - Wood Tower
18 - Bomb?
19 - Fire Arm
1A - Barrier
1B - Roll Arrow
1C - Roll's Whip Attack
1D - Recovery
1E - Shotgun
1F - Vulcan
20 - ?
21 - CrackOut
22 - FlameLine
23 - AirShot
24 - Buster
25 - Shield
26 - Thunderball
27 - Airhockey (virus)
28 - tornado
29 - WaterGun?
2A - FlowerArm
2B - CopyDamage
2C - Roll's Chip
2D - Roll Arrow (again)
2E - Move to a different panel
2F - Roll's Movement
30 - Crash
31 - Wideshot
32 - WindRack
33 - Weather Virus Attack
34 - TwinFang
35 - Nothing
36 - VarSword
37 - SonicWave
38 - Shuriken (AntiDamage)
39 - Triple Sonic Wave
40 - Windman's Wind
41 - Windman's Bombs
42 - Windman's triple tornado
43 - Crash
44 - Gutsman's Rocks
45 - Flying Guts Punch
46 - Gutsman's Buster
47 - Zapring
48 - Crash
49 - Fireman's Bombs
4A - Fireman's Fire Tower
4B - Fireman's FireArm
4C - Fireman's FireSquare
4D - Nothing
4E - Numberman's NumberBalls
4F - Numberman's Protractor
50 - Numberman's Dice Bomb
51 - Crash
52 - Aquaman's Bubbler
53 - Aquaman's Bubble Bomb
54 - ?
55 - Move Animation
56 - Thunderman's triple lightning strike
57 - Thunderman's Horizontal Lightning
58 - GunSol
59 - Magnet Pull
5A - Neo Var Sword
5B - Move Animation
5C - Protoman's Double Hero Sword
5D - Protoman's Wide Sword
5E - ?
5F - Delta Ray Ding
60 - FireBurner
61 - BugCharge
62 - Windman's Bomb
63 - Meteor Rain
64 - Lightning Strike + Explosion
65 - Move Animation
66 - Metalman's Metal gear
67 - Metalman's Rockets
68 - Metalman's Punch
69 - Gear Change
6A - Crash
6B - Crash
6C - Woodman's Seeds
6D - Movement Anmadiman
6E - Junkman's Screws
6F - Junkman's Press Attack
70 - ZSaber
71 - H-Burst
72 - Anti Chip ?s
73 - Rock Cube
74 - Crash
75 - Crash
76 - Crash

Chip Properties:
01 = Time Freeze Counter Enable
02 = Show damage
04 = Is a navi chip
08 = ?
10 = ??? as displayed damage
20 = Is Dark Chip
40 = Appears in Library
80 = Dynamic Attack Power (Muramusa, CustSword Numberball and DS navi chips)

*Actual element is decided in the attack data.
Edited by Greiga Master, Jul 13 2011, 11:35 PM.
Profile
Quote
 
IngusRogeth
No Avatar
TREZian
oh ho. So we are finally moving on from bn6 and actually modding other bn games. Finally.
Siggy by me:3
Posted Image
OoT Run is done! 1:39:45 Non-TAS console
Currently planning and practicing for Zelda MM
Profile
Quote
 
Kirak
Member Avatar
Annoying Dog
Sounds like fun! Now, even though most people don't need it, we should still turn this into a guide. (Thought I was gonna say program? Hah, gotcha.) ;)
Might help people like me.
Edited by Kirak, Jul 10 2011, 08:57 PM.
Profile
Quote
 
Dramz
No Avatar
Spastic Colon

Kirak
Jul 10 2011, 08:40 PM
Sounds like fun! Now, even though most people don't need it, we should still turn this into a guide. (Thought I was gonna say program? Hah, gotcha. ;)
Might help people like me.
Hopefully we will have a program for this soon.

If anyone wants to learn how to mod chips in BN4 manually, it'd be worth learning simple addition so you can easily learn the notation that I posted the format in.
Profile
Quote
 
Prof. 9
Member Avatar
Moderaptor

Xrogi The MettaurKing
Jul 10 2011, 07:02 PM
oh ho. So we are finally moving on from bn6 and actually modding other bn games. Finally.
How long have you been living under that rock?

Did you use ASM to figure this out, Ablon? I see some very obvious mistakes. Like 0x09 is obviously the chip flags byte. 0x16 is probably the Library flags byte; yes, there are multiple flags.

Also, don't say "unused". You cannot know if something is unused, you can only know it's used.

It's still missing things, but it's a nice start.
:ninja: Follow me on Twitter! :trap: Fork me on GitHub!
Posted Image
Profile
Quote
 
Dramz
No Avatar
Spastic Colon

Prof. 9
Jul 11 2011, 02:44 AM
Did you use ASM to figure this out, Ablon? I see some very obvious mistakes. Like 0x09 is obviously the chip flags byte. 0x16 is probably the Library flags byte; yes, there are multiple flags.

Also, don't say "unused". You cannot know if something is unused, you can only know it's used.

It's still missing things, but it's a nice start.
GM and I worked on this together.
For the ones marked as unused, GM had a look, and said that they were put into the RAM, and never accessed again.
For the ones with a question mark, those are unknown.

GM
 
0x09 - Display Attack? (4A - Yes, 48 - No)
most likley a bit field this is how it was in bn6 and seeing as how it still looks true based on you 4A and 48 you used it still might be very much true in bn4.


Feel free to post any fully explained additions or corrections, and I will add them in. 0x09 is very likely a bitfield, as GM describes it, but I have no idea what chip properties it controls, and therefore have nothing to add into the post.
Edited by Dramz, Jul 11 2011, 03:18 AM.
Profile
Quote
 
Prof. 9
Member Avatar
Moderaptor

ablon08
Jul 11 2011, 03:09 AM
0x09 is very likely a bitfield, as GM describes it, but I have no idea what chip properties it controls, and therefore have nothing to add into the post.
Yeah, but the way you have it in the first post now implies that 48 and 4A are single values and not the collection of 1-bit values they actually are :P

By the way, if they are being loaded into RAM then not used, it doesn't necessarily mean they are completely unused. The fact they are being loaded into RAM at all means the game acknowledges that the values exist :P
:ninja: Follow me on Twitter! :trap: Fork me on GitHub!
Posted Image
Profile
Quote
 
Dramz
No Avatar
Spastic Colon

Prof. 9
Jul 11 2011, 05:56 AM
ablon08
Jul 11 2011, 03:09 AM
0x09 is very likely a bitfield, as GM describes it, but I have no idea what chip properties it controls, and therefore have nothing to add into the post.
Yeah, but the way you have it in the first post now implies that 48 and 4A are single values and not the collection of 1-bit values they actually are :P

By the way, if they are being loaded into RAM then not used, it doesn't necessarily mean they are completely unused. The fact they are being loaded into RAM at all means the game acknowledges that the values exist :P
Regarding 0x09, if other values that do things are found, I'll add them in.
If you want to be picky, how should I label it right now?

The game acknowledges they exist, but doesn't actually use them. I'd say unused is a fitting label.
Profile
Quote
 
Prof. 9
Member Avatar
Moderaptor

ablon08
Jul 11 2011, 06:12 AM
how should I label it right now?
Heh, the way I'd do it:

01h = ?
02h = show damage
04h = ?
08h = ?
10h = ?
20h = ?
40h = ?
80h = ?
:ninja: Follow me on Twitter! :trap: Fork me on GitHub!
Posted Image
Profile
Quote
 
Greiga Master
Member Avatar
Admin of the stars, owner of your soul...

As i said before 0x10 is read as a 32 bit value so it should probably be documented that way. Also 1E and 1F don't seem to be read and based on their positions seem to only serve to 32 bit align the pointers so they MAY just be padding.
Profile
Quote
 
Prof. 9
Member Avatar
Moderaptor

Greiga Master
Jul 11 2011, 11:41 AM
As i said before 0x10 is read as a 32 bit value so it should probably be documented that way. Also 1E and 1F don't seem to be read and based on their positions seem to only serve to 32 bit align the pointers so they MAY just be padding.
It's possible that it's being loaded into RAM as a 32-bit value, but that it's being treated as separate values afterwards. A full 32-bit value in the chip data seems really out of place to me...
:ninja: Follow me on Twitter! :trap: Fork me on GitHub!
Posted Image
Profile
Quote
 
Greiga Master
Member Avatar
Admin of the stars, owner of your soul...

Prof. 9
Jul 11 2011, 01:38 PM
Greiga Master
Jul 11 2011, 11:41 AM
As i said before 0x10 is read as a 32 bit value so it should probably be documented that way. Also 1E and 1F don't seem to be read and based on their positions seem to only serve to 32 bit align the pointers so they MAY just be padding.
It's possible that it's being loaded into RAM as a 32-bit value, but that it's being treated as separate values afterwards. A full 32-bit value in the chip data seems really out of place to me...
Its possible, but alas I never got any reads on it, if only there were some sort of ... viewer... so that i could view every chip's data...
Profile
Quote
 
Prof. 9
Member Avatar
Moderaptor

Greiga Master
Jul 11 2011, 02:33 PM
Prof. 9
Jul 11 2011, 01:38 PM
Greiga Master
Jul 11 2011, 11:41 AM
As i said before 0x10 is read as a 32 bit value so it should probably be documented that way. Also 1E and 1F don't seem to be read and based on their positions seem to only serve to 32 bit align the pointers so they MAY just be padding.
It's possible that it's being loaded into RAM as a 32-bit value, but that it's being treated as separate values afterwards. A full 32-bit value in the chip data seems really out of place to me...
Its possible, but alas I never got any reads on it, if only there were some sort of ... viewer... so that i could view every chip's data...
Don't forget about BN5DS :0 or that SF3 card editor you promised

Seeing as the chip formats for BN4-BN6 are quite similar there could be a single editor for all three, like the BN5/BN6 editor before it changed into just BN6.
:ninja: Follow me on Twitter! :trap: Fork me on GitHub!
Posted Image
Profile
Quote
 
Dramz
No Avatar
Spastic Colon

The formats for BN1-6 are quite similar Prof. 4
Regarding 0x09, if we get just 1 more value that does something, I'll add that notation.
Profile
Quote
 
Greiga Master
Member Avatar
Admin of the stars, owner of your soul...

0x09 Value
Code:
 

0x02 = Display Attack
0x10 = ??? Attack
0x40 = Appears in library

These have proven to work.


and it now looks like 0xA is unchanged , its still counter enable, which determines if a chip can counter the enemy.
Edited by Greiga Master, Jul 11 2011, 05:04 PM.
Profile
Quote
 
Dramz
No Avatar
Spastic Colon

Updated 0x09 and 0x0A.
Also put the whole thing in Quote tags, because Code tags are stupid.
Profile
Quote
 
IngusRogeth
No Avatar
TREZian
Prof. 9
Jul 11 2011, 02:44 AM
Xrogi The MettaurKing
Jul 10 2011, 07:02 PM
oh ho. So we are finally moving on from bn6 and actually modding other bn games. Finally.
How long have you been living under that rock?

quite some tiem actually :D
Siggy by me:3
Posted Image
OoT Run is done! 1:39:45 Non-TAS console
Currently planning and practicing for Zelda MM
Profile
Quote
 
1 user reading this topic (1 Guest and 0 Anonymous)
« Previous Topic · Guides & Research · Next Topic »