I hope this isn't not-wanted. If you want, split into another topic about NESDev, but I made up this chart for a data table if anyone besides me were planning on doing this.
Text file:
FILE
Code:
Pokemon ROM layout ideas list.
POKEMON data in ROM layout idea (128 Bytes. For 256 Pokemon, 32K Size for this table.)
Reason Size (Hex) Next Byte(Hex)
0x00 0x00
Name. (6 Bits/Letter. 12 Chars) 0x09 0x09
Starter Moves (1 Byte each. 255 Moves total/max) 0x04 0x0D
Pallete Colors. 0x03 0x10
32 Bytes, one bit for each move can learn from TM. 0x20 0x30
Stats start value (1 Byte each for value.) 0x04 0x34
Stats increase per level
(2 Bytes. High byte ones-value while low is decimal value) 0x08 0x3C
Type (4 bits each, same value in both 4 is one type) 0x01 0x3D
Hight 0x01 0x3E
Weight 0x01 0x3F
Unused :( 0x01 0x40
Move/LevelLearnedAt 0x02 0x42
Move/LevelLearnedAt 0x02 0x44
Move/LevelLearnedAt 0x02 0x46
Move/LevelLearnedAt 0x02 0x48
Move/LevelLearnedAt 0x02 0x4A
Move/LevelLearnedAt 0x02 0x4C
Move/LevelLearnedAt 0x02 0x4E
Move/LevelLearnedAt 0x02 0x50
Move/LevelLearnedAt 0x02 0x52
Move/LevelLearnedAt 0x02 0x54
Move/LevelLearnedAt 0x02 0x56
Move/LevelLearnedAt 0x02 0x58
Move/LevelLearnedAt 0x02 0x5A
Move/LevelLearnedAt 0x02 0x5C
Move/LevelLearnedAt 0x02 0x5E
Move/LevelLearnedAt 0x02 0x60
Move/LevelLearnedAt 0x02 0x62
Move/LevelLearnedAt 0x02 0x64
Move/LevelLearnedAt 0x02 0x66
Move/LevelLearnedAt 0x02 0x68
Move/LevelLearnedAt 0x02 0x6A
Move/LevelLearnedAt 0x02 0x6C
Move/LevelLearnedAt 0x02 0x6E
Move/LevelLearnedAt 0x02 0x70
Move/LevelLearnedAt 0x02 0x72
Move/LevelLearnedAt 0x02 0x74
Move/LevelLearnedAt 0x02 0x76
Move/LevelLearnedAt 0x02 0x78
Move/LevelLearnedAt 0x02 0x7A
Move/LevelLearnedAt 0x02 0x7C
Move/LevelLearnedAt 0x02 0x7E
Move/LevelLearnedAt 0x02 0x80
Effectivness table (64 Bytes, 16 types max.)
A table of 64 bytes, this will be used as a 16 by 16 two-bit array. Bit combinations would mean these:
00:Not effective (Attack*0)
01:Not very effective. (Attack*0.5)
10:Normal (Attack*1.0)
11:Very Effective (Attack*2.0)
Dual types would have attack effectiveness multiplied by each other except when attack is not effective, since 0 multiplied by other attack would make it 0. Also (Attack*1.5) at end of calculation if type is the same.
Attack Table (16 Bytes. For 256 attacks, 16K big for this table.)
0x00 0x00
Name (16 Chars, 6 bits each) 0x0B 0x0C
Attack type (4bits) & Status Problem Type (4 bits) 0x01 0x0D
Odds (1 in #+1, 4 bits) & Length (Or turn cunter up) 0x01 0x0E
Types it can affect (2 bytes, 1 bit per pokemon type) 0x02 0x10