--------------------------------------------------------
Disgaea 4 A Promise Unforgotten
--------------------------------------------------------

--------------------------------------------------------
INSTRUCTIONS | Codes by bungholio from CMP
--------------------------------------------------------

Faster Intro Loading Screen
0003474C 2B840000
0003476C 2B800000
ORIGINAL PATTERN: 5484043E 2B84270F
PATTERN: 5484043E 2B840000
ORIGINAL PATTERN: 38600000 2B80270F
PATTERN: 38600000 2B800000
I don't know how or why it works, it's just another accidental finding and it doesn't seem to have any side effects. Waiting 10 seconds beats waiting 2 minutes when you turn the game on. It seems the same if you only use 1 of those 2 lines.


Sell An Evility For Max Mana
0035D288 60000000
ORIGINAL PATTERN: 409D0008 91230C48 7BC90020
PATTERN: 60000000 91230C48 7BC90020
Mana is offset 0C48.


Kill Anything With A Magichanged Unit For Max Mana
0000E0D8 60000000
ORIGINAL PATTERN: 7F804840 409D015C
PATTERN: 7F804840 60000000


Multiplier For Killing Anything With A Magichanged Unit
000E0C4 1D29????
000E0C8 7C004A14
000E0CC 901D0C48
000E0D0 3D200099
ORIGINAL PATTERN: 7C004A14 901D0C48 3D200098 6129967F 7F804840 409D015C
PATTERN: 1D29???? 7C004A14 901D0C48 3D200098 7F804840 409D015C
I had to change the mana limit to 10,027,008 to do this since there wasn't some spare worthless line of code to use in the area.


Kill Anything With A Fused Monster Unit For Max Mana
0000E208 60000000
ORIGINAL PATTERN: 7F804840 409D002C
PATTERN: 7F804840 60000000


Multiplier For Killing Anything With A Fused Monster Unit
0000E1F4 1D29????
0000E1F8 7C004A14
0000E1FC 901D0C48
0000E200 3D200099
ORIGINAL PATTERN: 7C004A14 901D0C48 3D200098 6129967F 7F804840 409D002C
PATTERN: 1D29???? 7C004A14 901D0C48 3D200098 7F804840 409D002C
I had to change the mana limit to 10,027,008 to do this since there wasn't some spare worthless line of code to use in the area.


Kill Anything With A Non-Magichanged Nor Non-Fused Monster Ally Unit For Max Mana
0000E22C 60000000
ORIGINAL PATTERN: 409D0008 917D0C48 E80100C0
PATTERN: 60000000 917D0C48 E80100C0


Multiplier For Killing Anything With A Non-Magichanged Nor Non-Fused Monster Ally Unit
0000E218 1FFF????
0000E21C 7C00FA14
0000E220 901D0C48
0000E224 3D600099
ORIGINAL PATTERN: 7C00FA14 901D0C48 3D600098 616B967F 7F805840 409D0008
PATTERN: 1FFF???? 7C00FA14 901D0C48 3D600098 7F805840 409D0008
I had to change the mana limit to 10,027,008 to do this since there wasn't some spare worthless line of code to use in the area.


Enter The "Create A New Character" Or "Reincarnate" Menu, Or Try Passing Anything For Max Mana
001DC818 3C000099
ORIGINAL PATTERN: 80090C48 7C030050
PATTERN: 80090C48 3C000099
It's actually 10,027,008. There were no spare lines nearby.


Create A New Character Or Reincarnate For Max Mana
003343A8 3C000099
ORIGINAL PATTERN: 80090C48 7C1E0050
PATTERN: 80090C48 3C000099
It's actually 10,027,008. There were no spare lines nearby.


Boost A Non-Character Specific Skill For Max Mana
00361414 3C000099
ORIGINAL PATTERN: 7C180050 901C0C48 7F23CB78
PATTERN: 3C000099 901C0C48 7F23CB78
It's actually 10,027,008. There were no spare lines nearby.


Boost A Character Specific Skill For Max Mana
0036149C 3C000099
ORIGINAL PATTERN: 7C180050 901C0C48 7F43D378
PATTERN: 3C000099 901C0C48 7F43D378
It's actually 10,027,008. There were no spare lines nearby.


Learn A Skill Or Evility For Max Mana
00362C50 3C000099
ORIGINAL PATTERN: 801E0C48 7C1F0050
PATTERN: 801E0C48 3C000099
It's actually 10,027,008. There were no spare lines nearby.

HP Never Decreases
0012411C 60000000
ORIGINAL PATTERN: E9290008 7C090050 F80B0B98
PATTERN: E9290008 7C090050 60000000
This is currently not useful because nobody can be harmed, unless they happen to be on the correct geopanel. This will allow me to find the byte that determines whether a unit is ally, enemy, or neutral though, along with the 2 bytes of data that determine whether I have already went or not. When I find those 2 I should have unlimited moves and control of all units.


SP Never Decreases
002B86CC 60000000
ORIGINAL PATTERN: 813B0D88 7D2907B4 E80A0BA0 7C090050 F80A0BA0
PATTERN: 813B0D88 7D2907B4 E80A0BA0 7C090050 60000000
This also affects enemies, but it's still useful at the moment.


Infinite HP For You, Enemies Die From 1 Hit
00124108 8816055B
0012410C 2F800000 
00124110 E80B0BA8
00124114 419E0008
00124118 3C000000
ORIGINAL PATTERN: 7C0007B4 7D290214 E80B0B98 E9290008 7C090050
PATTERN: 8816055B 2F800000 E80B0BA8 419E0008 3C000000
Even works on enemies on "Reverse Damage" panels. It doesn't matter if you miss either. If enemies accidentally hit each other, they kill each other in 1 hit. If you use stat increasing specials or healing, that kills enemies too, even if they do it to each other.


Infinite SP For You, 0 SP For Enemies After 1 Use
002B86B0 7A6B0020
002B86B4 814B01AC
002B86B8 880B055B
002B86BC 2F800000
002B86C0 E80A0BB0
002B86C4 419E0008
002B86C8 3C000000
ORIGINAL PATTERN: 60000000 7A6B0020 814B01AC 813B0D88 7D2907B4 E80A0BA0 7C090050
PATTERN: 7A6B0020 814B01AC 880B055B 2F800000 E80A0BB0 419E0008 3C000000
If it weren't for that 1 extra unused line at address 002B86B0, I wouldn't have been able to make this work. I lucked out.

Win The Instant A Stage Starts
002BBA0C 3C000000
ORIGINAL PATTERN: 408201A8 881F055B
PATTERN: 408201A8 3C000000
This is perfect for people thinking "I'd like to see the story, but I don't want to waste time playing to see it." Start a stage, you win, see story, move on.


Can Control Anything
002F6234 60000000
002F6250 48000014
ORIGINAL PATTERN: 40820718 38600D6E 4BD47529 60000000 881D055B 7C000774 2C000000 41820014
PATTERN: 60000000 38600D6E 4BD47529 60000000 881D055B 7C000774 2C000000 48000014
You'll no longer need a thief to steal items when you can freely have enemies put them in your inventory.


Unlimited Moves
002F6228 3D800000
002F6240 B19D055C
ORIGINAL PATTERN: 60000000 5460063E 2C000000 40820718 38600D6E 4BD47529 60000000
PATTERN: 3D800000 5460063E 2C000000 40820718 38600D6E 4BD47529 B19D055C
Doesn't seem to work on tower attacks just so you know, so avoid those if you want to keep moving around and doing things.

Partially Maxed Out Items
00068A90 38007F7F
00068A94 B01C00F4 MV & JMP
00068A98 B01C00F7 attack range and critical rate
00068A9C 981C00EB counters
00068AA0 386000?? rarity amount
00068AA4 60000000 <---Special note for this line.
00068AA8 987C00F0 rarity
00068AAC 38007FFF
00068AB0 B01C00D2 item level
00068AB4 60000000
00068AB8 60000000
00068ABC 60000000
ORIGINAL PATTERN: 881C00F6 7C000774 2F800027 409D0018 38600008 4816D1E9 60000000 987C00F0 48000010 7FA307B4 4BFF3EF5 987C00F0
PATTERN: 38007F7F B01C00F4 B01C00F7 981C00EB 386000?? 60000000 987C00F0 38007FFF B01C00D2 60000000 60000000 60000000
This will change some stats for all items in stores and whatever your enemies have. Max MV, JMP, counters, attack range, and critical rate. The item's level will be maxed out. You can also set the item rarity or make it a limit if you don't use line 00068AA4.

New Items Have 8 Innocents Capacity
00059CDC 38600004
ORIGINAL PATTERN: 38000000 7C0307B4 4E800020 FBC1FFF0
PATTERN: 38000000 38600004 4E800020 FBC1FFF0

All New Items Have 8 Innocents
00068CC8 2F9A0008
ORIGINAL PATTERN: 7F98D000 409EFF2C
PATTERN: 2F9A0008 409EFF2C

New Items' Innocents' Levels Modifier
0006891C 60000000
00068920 3800????
ORIGINAL PATTERN: 2F800072 409E000C 38000001
PATTERN: 2F800072 60000000 3800????

New Item's Innocents' Properties Modifier
00068904 3800000? Whether it is transferable or not.
00068908 981F0006 The place in memory where it determines whether it is transferable or not.
0006890C 3800???? The value of the innocent.
00068910 901F0000 The place in memory where its value is.
00068914 3800???? The innocent type.
00068918 B01F0004 The place in memory where the innocent type is.
0006891C 60000000 Nothing.
00068920 60000000 Nothing.
00068924 60000000 Nothing.
ORIGINAL PATTERN: 2F800071 409E000C 38000001 981F0007 A01F0004 2F800072 409E000C 38000001 901F0000
PATTERN: 3800000? 981F0006 3800???? 901F0000 3800???? B01F0004 60000000 60000000 60000000
SPECIAL PATTERN TO DETERMINE INNOCENT TYPES' VALUES: A01F0004 901F0000 60000000 60000000 60000000 60000000 60000000 60000000 60000000
For the first line, 0 makes innocents normal and not transferable, and 1 gives them the yellow smiley face so they can be transferred.
For a value, "4E1E" will put them at 19998.
You can omit the 2 lines for the innocent type with "60000000" to let the game do what it normally does for determining innocent types.

These are the few innocents I found the value for so far:
Innocent Digits:
0001=Dietician
0002=Master
0003=Gladiator
0004=Sentry
0005=Tutor
0006=Coach
0007=Marksman
0008=Physician

0015=Alchemist
0016=Hypnotist

0018=Amnesiac
0019=Gangster
001A=Professional

0029=Pharmacist
002A=Coffee Maker
002B=Medicine Man
002C=Psychologist
002D=Social Worker

002F=Aeronaut
0030=Cryophile

003D=Broker

003F=Manager

0041=Mentor

0064 or higher=Mediator, Teacher, Mystery Innocent

For these, choose either to multiply the EXP or max it out, because they affect the same exact address. The unknowns are there because I'm not sure what uses them. At the current moment I can't do dual wielding magichange, magichange with a fused unit, dual wielding magichange with 2 fused units, and the big fusion of 2 already fused enemies.

EXP Multiplier For Things Killed With A Special Tower Attack
0000CAA8 1C09????
Kill Anything With A Special Tower Attack To Get Max EXP
0000CAA8 60000000
ORIGINAL PATTERN: 409D0008 F80B0008 787D0020
PATTERN ???????? F80B0008 787D0020


Unknown EXP Multiplier 1
0000E38C 1C09????
EXP Maximizer 1
0000E38C 60000000
ORIGINAL PATTERN: 409D0008 F80B0008 38E70002 4200FF6C 788A0020
PATTERN: ???????? F80B0008 38E70002 4200FF6C 788A0020


Unknown EXP Multiplier 2
0000E400 1C09????
EXP Maximizer 2
0000E400 60000000
ORIGINAL PATTERN: 409D0078 F80B0008 48000070
PATTERN: ???????? F80B0008 48000070


Unknown EXP Multiplier 3
0000E470 1C09????
EXP Maximizer 3
0000E470 60000000
ORIGINAL PATTERN: 409D0008 F80B0008 2F830002
PATTERN: ???????? F80B0008 2F830002


EXP Multiplier For Things Killed With A Single Small Magichanged Unit
0000E4E0 1C09????
Kill Anything With A Single Small Magichanged Unit For Max EXP
0000E4E0 60000000
ORIGINAL PATTERN: 409D015C F81D0008
PATTERN: ???????? F81D0008

Unknown EXP Multiplier 4
0000E5A4 1C09????
EXP Maximizer Max 4
0000E5A4 60000000
ORIGINAL PATTERN: 409D0008 F80B0008 38E70002 4200FF6C 7FE9AE76
PATTERN: ???????? F80B0008 38E70002 4200FF6C 7FE9AE76


EXP Multiplier For Things Killed With A Small Fused Unit
0000E610 1C09????
Kill Anything With A Small Fused Unit For Max EXP
0000E610 60000000
ORIGINAL PATTERN: 409D002C F81D0008 48000024
PATTERN: ???????? F81D0008 48000024


EXP Multiplier For Things Killed By A Normal Unit
0000E634 1D60????
Kill Anything With A Normal Unit For Max EXP
0000E634 60000000
ORIGINAL PATTERN: 409D0008 F97D0008
PATTERN: ???????? F97D0008

General Advisor can now be suggested!
000601C4 48000008
ORIGINAL PATTERN: A00902E4 2B800009 419D0008
PATTERN: A00902E4 2B800009 48000008

All Evil Symbols Can Now Be Suggested
0006119C 60000000
ORIGINAL PATTERN: 2F830000 419E000C A07F0004
PATTERN: 2F830000 60000000 A07F0004
One of them is even a website address.

Class A & B Created Or Reincarnated Characters Don't Require Senate Approval
0033447C 60000000
ORIGINAL PATTERN: 4BFFAE2D
PATTERN: 60000000
When you do select rank A or B characters, it will skip past the naming part. Just press circle to go back to it and rename it.

=====I have ported them all to NTSC 1.13.=====

Sell An Evility For Max Mana
00376F00 60000000
OGP=409D0008 91230C48 807F0858
CGP=60000000 91230C48 807F0858

Kill Anything With A Magichanged Unit For Max Mana
0000D070 60000000
OGP=7F804840 409D0220
CGP=7F804840 60000000

Mana Multiplier For Killing Anything With A Magichanged Unit
000D058 1D29????
000D05C 7C004A14
000D060 901B0C48
000D064 3D200099
OGP=7C004A14 901B0C48 3D200098 6129967F 7F804840 409D0220
CGP=1D29???? 7C004A14 901B0C48 3D200099 7F804840 409D0220

Kill Anything With A Fused Monster Unit For Max Mana
0000D264 60000000
OGP=7F804840 409D002C
CGP=7F804840 60000000

Mana Multiplier For Killing Anything With A Fused Monster Unit
0000D250 1D29????
0000D254 7C004A14
0000D258 901B0C48
0000D25C 3D200099
OGP=7C004A14 901B0C48 3D200098 6129967F 7F804840 409D002C
CGP=1D29???? 7C004A14 901B0C48 3D200099 7F804840 409D002C


Kill Anything With A Non-Magichanged Nor Non-Fused Monster Ally Unit For Max Mana
0000D288 60000000
OGP=409D0008 917B0C48 E80100D0
CGP=60000000 917B0C48 E80100D0

Mana Multiplier For Killing Anything With A Non-Magichanged Nor Non-Fused Monster Ally Unit
0000D274 1FDE????
0000D278 7C00FA14
0000D27C 901D0C48
0000D280 3D600099
OGP=7C00F214 901B0C48 3D600098 616B967F
CGP=1FDE???? 7C00F214 901B0C48 3D600099

Enter The "Create A New Character" Or "Reincarnate" Menu, Or Try Passing Anything For Max Mana
001DEB48 3C000099
OGP=80090C48 7C030050
CGP=80090C48 3C000099

Create A New Character Or Reincarnate For Max Mana
0034F998 3C000099
OGP=80090C48 7C1C0050
CGP=80090C48 3C000099

Boost A Non-Character Specific Skill For Max Mana
0037B054 3C000099
OGP=801C0C48 7C190050 901C0C48
CGP=3C000099 7C190050 901C0C48


Boost A Character Specific Skill For Max Mana
0037B0E0 3C000099
OGP=7C180050 901C0C48 7F43D378
CGP=3C000099 901C0C48 7F43D378

Learn A Skill Or Evility For Max Mana
0037B578 3C000099
OGP=801E0C48 7C1F0050
CGP=801E0C48 3C000099

Infinite HP For You, Enemies Die From 1 Hit
001219F0 8816052B
001219F4 2F800000
001219F8 E80B0BA8
001219FC 419E0008
00121A00 3C000000
OGP=7C0007B4 7D290214 E80B0B98 E9290008 7C090050
CGP=8816052B 2F800000 E80B0BA8 419E0008 3C000000

Infinite SP For You, 0 SP For Enemies After 1 Use
002CEE48 7A6B0020
002CEE4C 814B01AC
002CEE50 880B052B
002CEE54 2F800000
002CEE58 E80A0BB0
002CEE5C 419E0008
002CEE60 3C000000
OGP=60000000 7A6B0020 814B01AC 813B0D88 7D2907B4 E80A0BA0 7C090050
CGP=7A6B0020 814B01AC 880B052B 2F800000 E80A0BB0 419E0008 3C000000

Win The Instant A Stage Starts
002D3558 38000000
OGP=408201A8 881F052B
CGP=408201A8 38000000

Can Control Anything
0031008C 60000000
00310098 4BFFF8FC
OGP=4BFFF9DC 5780063E 2C000000 4082F8FC
CGP=60000000 5780063E 2C000000 4BFFF8FC
This is slightly a guess, things changed a bit from 1.00 to 1.13. This should work, it deletes the branch that tells the game you are selecting something like a box or geoblock, and just tells the game things are an ally. I'm not sure if that works though, needs to be tested to make sure.

Unlimited Moves
0030F958 3D800000
0030F97C B19D055C
OGP=60000000 5460063E 2C000000 40820718 7FA3EB78 4BFFF885 7C7C1B78 38600D6E 4BD314ED 60000000
CGP=3D800000 5460063E 2C000000 40820718 7FA3EB78 4BFFF885 7C7C1B78 38600D6E 4BD314ED B19D055C

Anything Except You Is Very Weak
0013F234 3C000000
OGP=E8090BA8 F8090BE8 396B0008
CGP=3C000000 F8090BE8 396B0008

Innocents' Max Amount Modifier
0003873C 1C00????
OGP=80090000 7FE3FB78 7F9F0000 409D0008
CGP=80090000 7FE3FB78 7F9F0000 1C00????

Enemies Don't Move Or Attack
000C88A8 60000000
OGP=40810008 39400001
CGP=60000000 39400001

All Senators Love You
003381E0 3C007F7F
003381E4 60007F7F
OGP=A00B051E 7C004A14
CGP=3C007F7F 60007F7F

Partially Maxed Out Items
0006DBE4 38007F7F
0006DBE8 B01C00F4 MV & JMP
0006DBEC B01C00F7 attack range and critical rate
0006DBF0 981C00EB counters
0006DBF4 386000?? rarity amount
0006DBF8 60000000 <---Special note for this line.
0006DBFC 987C00F0 rarity
0006DA00 380000FF
0006DA04 B01C00D2 item level
0006DA08 60000000
0006DA0C 60000000
0006DA10 60000000
OGP=881C00F6 7C000774 2F800027 409D0018 38600008 48169B01 60000000 987C00F0 48000010 7FA307B4 4BFF3E99 987C00F0
CGP=38007F7F B01C00F4 B01C00F7 981C00EB 386000?? 60000000 987C00F0 38007FFF B01C00D2 60000000 60000000 60000000

New Items Have 8 Innocents Capacity
0005F38C 38600004
OGP=38000000 7C0307B4 4E800020 FBC1FFF0
CGP=38000000 38600004 4E800020 FBC1FFF0

All New Items Have 8 Innocents
0006DE1C 2F9A0008
OGP=7F98D000 409EFF2C
CGP=2F9A0008 409EFF2C

New Item's Innocents' Properties Modifier
0006D368 3800000? Whether it is transferable or not.
0006D36C 981F0007 The place in memory where it determines whether it is transferable or not.
0006D370 3800???? The value of the innocent.
0006D374 901F0000 The place in memory where its value is.
0006D378 3800???? The innocent type.
0006D37C B01F0004 The place in memory where the innocent type is.
0006D380 60000000 Nothing.
0006D384 60000000 Nothing.
0006D388 60000000 Nothing.
OGP=2F800071 409E000C 38000001 981F0007 A01F0004 2F800072 409E000C 38000001 901F0000
CGP=3800000? 981F0006 3800???? 901F0000 3800???? B01F0004 60000000 60000000 60000000
SPECIAL PATTERN TO DETERMINE INNOCENT TYPES' VALUES: A01F0004 901F0000 60000000 60000000 60000000 60000000 60000000 60000000 60000000

EXP Multiplier For Things Killed With A Special Tower Attack
0000E210 1C09????
Kill Anything With A Special Tower Attack To Get Max EXP
0000E210 60000000
OGP=409D0008 F80B0008 787D0020
CGP=???????? F80B0008 787D0020

Unknown EXP Multiplier 1
0000D400 1C09????
EXP Maximizer 1
0000D400 60000000
OGP=409D0008 F80B0008 38E70002 4200FF6C 788A0020
CGP=???????? F80B0008 38E70002 4200FF6C 788A0020

Unknown EXP Multiplier 2
0000D474 1C09????
EXP Maximizer 2
0000D474 60000000
OGP=409D0078 F80B0008 48000070
CGP=???????? F80B0008 48000070

Unknown EXP Multiplier 3
0000D4E4 1C09????
EXP Maximizer 3
0000D4E4 60000000
OGP=409D0008 F80B0008 2F830002
CGP=???????? F80B0008 2F830002

EXP Multiplier For Things Killed With A Single Small Magichanged Unit
0000D748 1C09????
Kill Anything With A Single Small Magichanged Unit For Max EXP
0000D748 60000000
OGP=409D015C F81D0008
CGP=???????? F81D0008

Unknown EXP Multiplier 4
0000D80C 1C09????
EXP Maximizer Max 4
0000D80C 60000000
OGP=409D0008 F80B0008 38E70002 4200FF6C 4825063D
CGP=???????? F80B0008 38E70002 4200FF6C 4825063D

EXP Multiplier For Things Killed With A Small Fused Unit
0000D93C 1C09????
Kill Anything With A Small Fused Unit For Max EXP
0000D93C 60000000
OGP=409D002C F81B0008 48000024
CGP=???????? F81B0008 48000024


EXP Multiplier For Things Killed By A Normal Unit
0000D960 1D60????
Kill Anything With A Normal Unit For Max EXP
0000D960 60000000
OGP=409D0008 F97B0008
CGP=???????? F97B0008 

All Evil Symbols Can Now Be Suggested
000657A8 60000000
OGP=2F830000 419E000C A07F0004
CGP=2F830000 60000000 A07F0004

Class A & B Created Or Reincarnated Characters Don't Require Senate Approval
0034FA5C 60000000
OGP=4BFFAB19
CGP=60000000

Sell Anything For Max HL
0001B2B4 60000000

--- Feb 23 2013 ---

Can Control Anything version 01.00
002F6250 48000014
002F695C 4BFFF908


Can Control Anything update 01.13
0031008C 60000000
00310098 4BFFF8FC