パスワード出力の仕組み(ポケ5以降編)

パワポケ5以降のパスワード出力方法の仕組みについて。
パワポケでちゃんと入るパスワードを出力するために、以下の流れでパスワードを生成していく。
パスワード出力の仕組み(ポケ1~4編)の応用となるので、まだよく分からない人はまずは基本のパワポケ1〜4の仕組みを理解しよう。

+ 壮大なネタバレを含むので折りたたみ


生成する能力の決定

とりあえず作りたい選手を決めないと何も始まらないので能力を考える。
今回は例としてパワポケ5のパスワードで以下の能力の選手を生成する。
名前 田西◎
ポジション 投手
投打 右投右打
背番号 53
チーム 日ハム
肌 普通
出身 パワポケ5
製造番号 1
顔 パワプロクン1
打撃フォーム ノーマル
ミート 7
パワー 120
走力 6
肩力 13
守備力 6
エラー率 6
投球フォーム はがね投法1
球速 153
コントロール 210
スタミナ 29
変化球 Hスライダー5 Sスライダー5 ナックル7
特殊能力 呪縛 ムラッ気 打たれ弱い 負け運 逃げ球 ポーカーフェイス 三振 バント◎


バイト構造表に当てはめる

選手のパスワードを作るための設計図であるバイト構造表にデータを当てはめていく。
パワポケ5の場合、バイト構造表は以下になる。
それに作りたい選手の能力に合わせて数値を設定していく。
パワポケ甲子園シリーズを除いたメインポジションが野手の場合は投手で設定出来る能力、特殊能力は全て0に設定する。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 48バイト圧縮フラグ 47バイト圧縮フラグ 46バイト圧縮フラグ 45バイト圧縮フラグ 44バイト圧縮フラグ 43バイト圧縮フラグ 42バイト圧縮フラグ 41バイト圧縮フラグ 0
2バイト 32バイト圧縮フラグ 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 0
3バイト 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 0
4バイト 40バイト圧縮フラグ 39バイト圧縮フラグ 38バイト圧縮フラグ 37バイト圧縮フラグ 36バイト圧縮フラグ 35バイト圧縮フラグ 34バイト圧縮フラグ 33バイト圧縮フラグ 0
5バイト 56バイト圧縮フラグ 55バイト圧縮フラグ 54バイト圧縮フラグ 53バイト圧縮フラグ 52バイト圧縮フラグ 51バイト圧縮フラグ 50バイト圧縮フラグ 49バイト圧縮フラグ 0
6バイト 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 0
7バイト チェックサム1 128 チェックサム1 64 チェックサム1 32 チェックサム1 16 チェックサム1 8 チェックサム1 4 チェックサム1 2 チェックサム1 1 0
8バイト チェックサム2 128 チェックサム2 64 チェックサム2 32 チェックサム2 16 チェックサム2 8 チェックサム2 4 チェックサム2 2 チェックサム2 1 0
9バイト 名前コード1 128 名前コード1 64 名前コード1 32 名前コード1 16 名前コード1 8 名前コード1 4 名前コード1 2 名前コード1 1 0
10バイト 名前コード2 128 名前コード2 64 名前コード2 32 名前コード2 16 名前コード2 8 名前コード2 4 名前コード2 2 名前コード2 1 0
11バイト 名前コード3 128 名前コード3 64 名前コード3 32 名前コード3 16 名前コード3 8 名前コード3 4 名前コード3 2 名前コード3 1 0
12バイト 名前コード4 128 名前コード4 64 名前コード4 32 名前コード4 16 名前コード4 8 名前コード4 4 名前コード4 2 名前コード4 1 0
13バイト 名前コード5 128 名前コード5 64 名前コード5 32 名前コード5 16 名前コード5 8 名前コード5 4 名前コード5 2 名前コード5 1 0
14バイト 名前コード6 128 名前コード6 64 名前コード6 32 名前コード6 16 名前コード6 8 名前コード6 4 名前コード6 2 名前コード6 1 0
15バイト 名前コード7 128 名前コード7 64 名前コード7 32 名前コード7 16 名前コード7 8 名前コード7 4 名前コード7 2 名前コード7 1 0
16バイト 名前コード8 128 名前コード8 64 名前コード8 32 名前コード8 16 名前コード8 8 名前コード8 4 名前コード8 2 名前コード8 1 0
17バイト 名前コード9 128 名前コード9 64 名前コード9 32 名前コード9 16 名前コード9 8 名前コード9 4 名前コード9 2 名前コード9 1 0
18バイト 名前コード10 128 名前コード10 64 名前コード10 32 名前コード10 16 名前コード10 8 名前コード10 4 名前コード10 2 名前コード10 1 0
19バイト 名前コード11 128 名前コード11 64 名前コード11 32 名前コード11 16 名前コード11 8 名前コード11 4 名前コード11 2 名前コード11 1 0
20バイト 名前コード12 128 名前コード12 64 名前コード12 32 名前コード12 16 名前コード12 8 名前コード12 4 名前コード12 2 名前コード12 1 0
21バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 0
22バイト サブポジション1 8 サブポジション1 4 サブポジション1 2 サブポジション1 1 サブポジション2 8 サブポジション2 4 サブポジション2 2 サブポジション2 1 0
23バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 0
24バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 0
25バイト 走力8 走力4 走力2 走力1 守力8 守力4 守力2 守力1 0
26バイト 打撃フォーム8 打撃フォーム4 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 0
27バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 0
28バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 0
29バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 0
30バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 0
31バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 0
32バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 0
33バイト シンカー8 シンカー4 シンカー2 シンカー1 シュート8 シュート4 シュート2 シュート1 0
34バイト Hシンカー Sスライダー Hスライダー スローカーブ フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 0
35バイト 広角打法 野手威圧感 途中交代 強振多用 代走要員 守備要員 代打要員 野手人気者 0
36バイト 内野安打○ サヨナラ男 流し打ち 逆境○ 対左投手× 対左投手○ チャンス× チャンス○ 0
37バイト 体当たり ヘッドスライディング バント◎ バント○ パワーヒッター アベレージヒッター キャッチャー◎ キャッチャー○ 0
38バイト 未使用 走塁× 走塁○ 守備職人 ブロック○ 送球○ 盗塁× 盗塁○ 0
39バイト ケガ× ケガ○ 三振 ムード× ムード○ 連打○ 粘り打ち 固め打ち 0
40バイト GBカラー 代打○ エラー ムードメーカー 満塁男 安定感 初球○ 野手ムラッ気 0
41バイト 未使用 未使用 未使用 未使用 チャンスメーカー 持続 対左投手◎ チャンス◎ 0
42バイト 未使用 未使用 四球 投手威圧感 中継ぎエース リリーフエース 完投タイプ 投手人気者 0
43バイト 勝ち運 一発 対左打者× 対左打者○ ランナー× 寸前× ピンチ× ピンチ○ 0
44バイト 短気 打球反応○ けん制○ スロースターター 尻上がり 投手ムラッ気 回復× 回復○ 0
45バイト 逃げ球 打たれ弱い 打たれ強い ノビ× ノビ○ キレ× キレ○ 負け運 0
46バイト 未使用 低め○ 闘志 ポーカーフェイス 重い球 クイック× クイック○ リリース○ 0
47バイト 未使用 未使用 未使用 未使用 未使用 未使用 未使用 未使用 0
48バイト 未使用 未使用 未使用 未使用 未使用 未使用 未使用 未使用 0
49バイト 超特殊能力128 超特殊能力64 超特殊能力32 超特殊能力16 超特殊能力8 超特殊能力4 超特殊能力2 超特殊能力1 0
50バイト 肌8 肌4 肌2 肌1 チーム8 チーム4 チーム2 チーム1 0
51バイト 出身32768 出身16384 出身8192 出身4096 出身2048 出身1024 出身512 出身256 0
52バイト 出身128 出身64 出身32 出身16 出身8 出身4 出身2 出身1 0
53バイト 製造番号32768 製造番号16384 製造番号8192 製造番号4096 製造番号2048 製造番号1024 製造番号512 製造番号256 0
54バイト 製造番号128 製造番号64 製造番号32 製造番号16 製造番号8 製造番号4 製造番号2 製造番号1 0
55バイト 顔32768 顔16384 顔8192 顔4096 顔2048 顔1024 顔512 顔256 0
56バイト 顔128 顔64 顔32 顔16 顔8 顔4 顔2 顔1 0

作ろうとする選手の設定を当てはめると、以下のように数値が設定される。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 48バイト圧縮フラグ 47バイト圧縮フラグ 46バイト圧縮フラグ 45バイト圧縮フラグ 44バイト圧縮フラグ 43バイト圧縮フラグ 42バイト圧縮フラグ 41バイト圧縮フラグ 0
2バイト 32バイト圧縮フラグ 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 0
3バイト 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 0
4バイト 40バイト圧縮フラグ 39バイト圧縮フラグ 38バイト圧縮フラグ 37バイト圧縮フラグ 36バイト圧縮フラグ 35バイト圧縮フラグ 34バイト圧縮フラグ 33バイト圧縮フラグ 0
5バイト 56バイト圧縮フラグ 55バイト圧縮フラグ 54バイト圧縮フラグ 53バイト圧縮フラグ 52バイト圧縮フラグ 51バイト圧縮フラグ 50バイト圧縮フラグ 49バイト圧縮フラグ 0
6バイト 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 0
7バイト チェックサム1 128 チェックサム1 64 チェックサム1 32 チェックサム1 16 チェックサム1 8 チェックサム1 4 チェックサム1 2 チェックサム1 1 0
8バイト チェックサム2 128 チェックサム2 64 チェックサム2 32 チェックサム2 16 チェックサム2 8 チェックサム2 4 チェックサム2 2 チェックサム2 1 0
9バイト 名前コード1 128 名前コード1 64 名前コード1 32 名前コード1 16 名前コード1 8 名前コード1 4 名前コード1 2 名前コード1 1 239
10バイト 名前コード2 128 名前コード2 64 名前コード2 32 名前コード2 16 名前コード2 8 名前コード2 4 名前コード2 2 名前コード2 1 217
11バイト 名前コード3 128 名前コード3 64 名前コード3 32 名前コード3 16 名前コード3 8 名前コード3 4 名前コード3 2 名前コード3 1 237
12バイト 名前コード4 128 名前コード4 64 名前コード4 32 名前コード4 16 名前コード4 8 名前コード4 4 名前コード4 2 名前コード4 1 253
13バイト 名前コード5 128 名前コード5 64 名前コード5 32 名前コード5 16 名前コード5 8 名前コード5 4 名前コード5 2 名前コード5 1 200
14バイト 名前コード6 128 名前コード6 64 名前コード6 32 名前コード6 16 名前コード6 8 名前コード6 4 名前コード6 2 名前コード6 1 0
15バイト 名前コード7 128 名前コード7 64 名前コード7 32 名前コード7 16 名前コード7 8 名前コード7 4 名前コード7 2 名前コード7 1 0
16バイト 名前コード8 128 名前コード8 64 名前コード8 32 名前コード8 16 名前コード8 8 名前コード8 4 名前コード8 2 名前コード8 1 0
17バイト 名前コード9 128 名前コード9 64 名前コード9 32 名前コード9 16 名前コード9 8 名前コード9 4 名前コード9 2 名前コード9 1 0
18バイト 名前コード10 128 名前コード10 64 名前コード10 32 名前コード10 16 名前コード10 8 名前コード10 4 名前コード10 2 名前コード10 1 0
19バイト 名前コード11 128 名前コード11 64 名前コード11 32 名前コード11 16 名前コード11 8 名前コード11 4 名前コード11 2 名前コード11 1 0
20バイト 名前コード12 128 名前コード12 64 名前コード12 32 名前コード12 16 名前コード12 8 名前コード12 4 名前コード12 2 名前コード12 1 0
21バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 1
22バイト サブポジション1 8 サブポジション1 4 サブポジション1 2 サブポジション1 1 サブポジション2 8 サブポジション2 4 サブポジション2 2 サブポジション2 1 0
23バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 120
24バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 125
25バイト 走力8 走力4 走力2 走力1 守力8 守力4 守力2 守力1 102
26バイト 打撃フォーム8 打撃フォーム4 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 6
27バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 53
28バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 153
29バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 210
30バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 29
31バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 133
32バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 87
33バイト シンカー8 シンカー4 シンカー2 シンカー1 シュート8 シュート4 シュート2 シュート1 0
34バイト Hシンカー Sスライダー Hスライダー スローカーブ フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 98
35バイト 広角打法 野手威圧感 途中交代 強振多用 代走要員 守備要員 代打要員 野手人気者 0
36バイト 内野安打○ サヨナラ男 流し打ち 逆境○ 対左投手× 対左投手○ チャンス× チャンス○ 0
37バイト 体当たり ヘッドスライディング バント◎ バント○ パワーヒッター アベレージヒッター キャッチャー◎ キャッチャー○ 32
38バイト 未使用 走塁× 走塁○ 守備職人 ブロック○ 送球○ 盗塁× 盗塁○ 0
39バイト ケガ× ケガ○ 三振 ムード× ムード○ 連打○ 粘り打ち 固め打ち 32
40バイト GBカラー 代打○ エラー ムードメーカー 満塁男 安定感 初球○ 野手ムラッ気 0
41バイト 未使用 未使用 未使用 未使用 チャンスメーカー 持続 対左投手◎ チャンス◎ 0
42バイト 未使用 未使用 四球 投手威圧感 中継ぎエース リリーフエース 完投タイプ 投手人気者 0
43バイト 勝ち運 一発 対左打者× 対左打者○ ランナー× 寸前× ピンチ× ピンチ○ 0
44バイト 短気 打球反応○ けん制○ スロースターター 尻上がり 投手ムラッ気 回復× 回復○ 4
45バイト 逃げ球 打たれ弱い 打たれ強い ノビ× ノビ○ キレ× キレ○ 負け運 193
46バイト 未使用 低め○ 闘志 ポーカーフェイス 重い球 クイック× クイック○ リリース○ 16
47バイト 未使用 未使用 未使用 未使用 未使用 未使用 未使用 未使用 0
48バイト 未使用 未使用 未使用 未使用 未使用 未使用 未使用 未使用 0
49バイト 超特殊能力128 超特殊能力64 超特殊能力32 超特殊能力16 超特殊能力8 超特殊能力4 超特殊能力2 超特殊能力1 9
50バイト 肌8 肌4 肌2 肌1 チーム8 チーム4 チーム2 チーム1 10
51バイト 出身32768 出身16384 出身8192 出身4096 出身2048 出身1024 出身512 出身256 2
52バイト 出身128 出身64 出身32 出身16 出身8 出身4 出身2 出身1 1
53バイト 製造番号32768 製造番号16384 製造番号8192 製造番号4096 製造番号2048 製造番号1024 製造番号512 製造番号256 0
54バイト 製造番号128 製造番号64 製造番号32 製造番号16 製造番号8 製造番号4 製造番号2 製造番号1 1
55バイト 顔32768 顔16384 顔8192 顔4096 顔2048 顔1024 顔512 顔256 0
56バイト 顔128 顔64 顔32 顔16 顔8 顔4 顔2 顔1 0

  • 設定内訳
    • 名前は文字コード表(ポケ3以降)から「田西◎」の各文字は「田」=上位239と下位217「西」=上位237と下位253「◎」=200を順番に入れる。
    • 右投右打の投手なので投打には何も設定せず0と投手のコード1を合算して1。
    • パワーは120なのでそのまま120。
    • ミート7は16倍して112、肩力13の13を合算して125。
    • 走力6は16倍して96、肩力6の6を合算して102。
    • ノーマル打法は打撃フォームのコードが0なので0、エラー率6の6の合算で6。
    • 背番号53なのでそのまま53。
    • 球速は153なのでそのまま153。
    • コントロールは210なのでそのまま210。
    • スタミナは29なのでそのまま29。
    • はがね投法は投球フォームのコードが8なので16倍して128、スライダー5の5の合算で133。
    • カーブ5は16倍して80、フォーク7の7の合算で87。
    • Sスライダーで64、Hスライダーで32、ナックル持ちはフォーク系特殊変化球コードが2なので合算で98。
    • 37バイトはバント◎の32のみなので32。
    • 39バイトは三振の32のみなので32。
    • 44バイトは投手ムラッ気の4のみなので4。
    • 45バイトは逃げ球の128と打たれ弱いの64と負け運の1のフラグを合算して193。
    • 46バイトはポーカーフェイスの16のみなので16。
    • 49バイトは超特殊能力が呪縛持ちなので9。
    • 肌は普通なので何も設定せず0とチームの日ハムのコード10を合算して10。
    • 出身はパワポケ5の表サクセスなので51バイトの上位は2、52バイトの下位は1で合算して513になるようにする。
    • 製造番号は1なので54バイトの下位に1を入れる。
    • 顔は普通のパワプロクンの顔なので0にする。


圧縮フラグの設定

圧縮フラグは対応するバイトの値が1以上の時にON(1)にしてバイトの数値として合算する。
分かりやすいように圧縮フラグがONになるところは水色にした。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 48バイト圧縮フラグ 47バイト圧縮フラグ 46バイト圧縮フラグ 45バイト圧縮フラグ 44バイト圧縮フラグ 43バイト圧縮フラグ 42バイト圧縮フラグ 41バイト圧縮フラグ 56
2バイト 32バイト圧縮フラグ 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 255
3バイト 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 31
4バイト 40バイト圧縮フラグ 39バイト圧縮フラグ 38バイト圧縮フラグ 37バイト圧縮フラグ 36バイト圧縮フラグ 35バイト圧縮フラグ 34バイト圧縮フラグ 33バイト圧縮フラグ 82
5バイト 56バイト圧縮フラグ 55バイト圧縮フラグ 54バイト圧縮フラグ 53バイト圧縮フラグ 52バイト圧縮フラグ 51バイト圧縮フラグ 50バイト圧縮フラグ 49バイト圧縮フラグ 47
6バイト 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 208
7バイト チェックサム1 128 チェックサム1 64 チェックサム1 32 チェックサム1 16 チェックサム1 8 チェックサム1 4 チェックサム1 2 チェックサム1 1 0
8バイト チェックサム2 128 チェックサム2 64 チェックサム2 32 チェックサム2 16 チェックサム2 8 チェックサム2 4 チェックサム2 2 チェックサム2 1 0
9バイト 名前コード1 128 名前コード1 64 名前コード1 32 名前コード1 16 名前コード1 8 名前コード1 4 名前コード1 2 名前コード1 1 239
10バイト 名前コード2 128 名前コード2 64 名前コード2 32 名前コード2 16 名前コード2 8 名前コード2 4 名前コード2 2 名前コード2 1 217
11バイト 名前コード3 128 名前コード3 64 名前コード3 32 名前コード3 16 名前コード3 8 名前コード3 4 名前コード3 2 名前コード3 1 237
12バイト 名前コード4 128 名前コード4 64 名前コード4 32 名前コード4 16 名前コード4 8 名前コード4 4 名前コード4 2 名前コード4 1 253
13バイト 名前コード5 128 名前コード5 64 名前コード5 32 名前コード5 16 名前コード5 8 名前コード5 4 名前コード5 2 名前コード5 1 200
14バイト 名前コード6 128 名前コード6 64 名前コード6 32 名前コード6 16 名前コード6 8 名前コード6 4 名前コード6 2 名前コード6 1 0
15バイト 名前コード7 128 名前コード7 64 名前コード7 32 名前コード7 16 名前コード7 8 名前コード7 4 名前コード7 2 名前コード7 1 0
16バイト 名前コード8 128 名前コード8 64 名前コード8 32 名前コード8 16 名前コード8 8 名前コード8 4 名前コード8 2 名前コード8 1 0
17バイト 名前コード9 128 名前コード9 64 名前コード9 32 名前コード9 16 名前コード9 8 名前コード9 4 名前コード9 2 名前コード9 1 0
18バイト 名前コード10 128 名前コード10 64 名前コード10 32 名前コード10 16 名前コード10 8 名前コード10 4 名前コード10 2 名前コード10 1 0
19バイト 名前コード11 128 名前コード11 64 名前コード11 32 名前コード11 16 名前コード11 8 名前コード11 4 名前コード11 2 名前コード11 1 0
20バイト 名前コード12 128 名前コード12 64 名前コード12 32 名前コード12 16 名前コード12 8 名前コード12 4 名前コード12 2 名前コード12 1 0
21バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 1
22バイト サブポジション1 8 サブポジション1 4 サブポジション1 2 サブポジション1 1 サブポジション2 8 サブポジション2 4 サブポジション2 2 サブポジション2 1 0
23バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 120
24バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 125
25バイト 走力8 走力4 走力2 走力1 守力8 守力4 守力2 守力1 102
26バイト 打撃フォーム8 打撃フォーム4 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 6
27バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 53
28バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 153
29バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 210
30バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 29
31バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 133
32バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 87
33バイト シンカー8 シンカー4 シンカー2 シンカー1 シュート8 シュート4 シュート2 シュート1 0
34バイト Hシンカー Sスライダー Hスライダー スローカーブ フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 98
35バイト 広角打法 野手威圧感 途中交代 強振多用 代走要員 守備要員 代打要員 野手人気者 0
36バイト 内野安打○ サヨナラ男 流し打ち 逆境○ 対左投手× 対左投手○ チャンス× チャンス○ 0
37バイト 体当たり ヘッドスライディング バント◎ バント○ パワーヒッター アベレージヒッター キャッチャー◎ キャッチャー○ 32
38バイト 未使用 走塁× 走塁○ 守備職人 ブロック○ 送球○ 盗塁× 盗塁○ 0
39バイト ケガ× ケガ○ 三振 ムード× ムード○ 連打○ 粘り打ち 固め打ち 32
40バイト GBカラー 代打○ エラー ムードメーカー 満塁男 安定感 初球○ 野手ムラッ気 0
41バイト 未使用 未使用 未使用 未使用 チャンスメーカー 持続 対左投手◎ チャンス◎ 0
42バイト 未使用 未使用 四球 投手威圧感 中継ぎエース リリーフエース 完投タイプ 投手人気者 0
43バイト 勝ち運 一発 対左打者× 対左打者○ ランナー× 寸前× ピンチ× ピンチ○ 0
44バイト 短気 打球反応○ けん制○ スロースターター 尻上がり 投手ムラッ気 回復× 回復○ 4
45バイト 逃げ球 打たれ弱い 打たれ強い ノビ× ノビ○ キレ× キレ○ 負け運 193
46バイト 未使用 低め○ 闘志 ポーカーフェイス 重い球 クイック× クイック○ リリース○ 16
47バイト 未使用 未使用 未使用 未使用 未使用 未使用 未使用 未使用 0
48バイト 未使用 未使用 未使用 未使用 未使用 未使用 未使用 未使用 0
49バイト 超特殊能力128 超特殊能力64 超特殊能力32 超特殊能力16 超特殊能力8 超特殊能力4 超特殊能力2 超特殊能力1 9
50バイト 肌8 肌4 肌2 肌1 チーム8 チーム4 チーム2 チーム1 10
51バイト 出身32768 出身16384 出身8192 出身4096 出身2048 出身1024 出身512 出身256 2
52バイト 出身128 出身64 出身32 出身16 出身8 出身4 出身2 出身1 1
53バイト 製造番号32768 製造番号16384 製造番号8192 製造番号4096 製造番号2048 製造番号1024 製造番号512 製造番号256 0
54バイト 製造番号128 製造番号64 製造番号32 製造番号16 製造番号8 製造番号4 製造番号2 製造番号1 1
55バイト 顔32768 顔16384 顔8192 顔4096 顔2048 顔1024 顔512 顔256 0
56バイト 顔128 顔64 顔32 顔16 顔8 顔4 顔2 顔1 0


チェックサムの計算

パワポケ5のチェックサムは次のように計算する。
sum=1~6バイトと9~56バイトの値の合計
sum1=(sum + 23) Mod 256
sum2=255 - (sum Mod 256)

これを計算していくと、
sum=56+255+31+82+47+208+239+217+237+253+200+1+120+125+102+6+53+153+210+29+133+87+98+32+32+4+193+16+9+10+2+1+1
sum=3242

sum1=(3242 + 23) Mod 256
sum2=255 - (3242 Mod 256)

sum1=193
sum2=85

よって、チェックサム1のバイトには193を、チェックサム2のバイトには85を入れる。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 48バイト圧縮フラグ 47バイト圧縮フラグ 46バイト圧縮フラグ 45バイト圧縮フラグ 44バイト圧縮フラグ 43バイト圧縮フラグ 42バイト圧縮フラグ 41バイト圧縮フラグ 56
2バイト 32バイト圧縮フラグ 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 255
3バイト 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 31
4バイト 40バイト圧縮フラグ 39バイト圧縮フラグ 38バイト圧縮フラグ 37バイト圧縮フラグ 36バイト圧縮フラグ 35バイト圧縮フラグ 34バイト圧縮フラグ 33バイト圧縮フラグ 82
5バイト 56バイト圧縮フラグ 55バイト圧縮フラグ 54バイト圧縮フラグ 53バイト圧縮フラグ 52バイト圧縮フラグ 51バイト圧縮フラグ 50バイト圧縮フラグ 49バイト圧縮フラグ 47
6バイト 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 208
7バイト チェックサム1 128 チェックサム1 64 チェックサム1 32 チェックサム1 16 チェックサム1 8 チェックサム1 4 チェックサム1 2 チェックサム1 1 193
8バイト チェックサム2 128 チェックサム2 64 チェックサム2 32 チェックサム2 16 チェックサム2 8 チェックサム2 4 チェックサム2 2 チェックサム2 1 85
9バイト 名前コード1 128 名前コード1 64 名前コード1 32 名前コード1 16 名前コード1 8 名前コード1 4 名前コード1 2 名前コード1 1 239
10バイト 名前コード2 128 名前コード2 64 名前コード2 32 名前コード2 16 名前コード2 8 名前コード2 4 名前コード2 2 名前コード2 1 217
11バイト 名前コード3 128 名前コード3 64 名前コード3 32 名前コード3 16 名前コード3 8 名前コード3 4 名前コード3 2 名前コード3 1 237
12バイト 名前コード4 128 名前コード4 64 名前コード4 32 名前コード4 16 名前コード4 8 名前コード4 4 名前コード4 2 名前コード4 1 253
13バイト 名前コード5 128 名前コード5 64 名前コード5 32 名前コード5 16 名前コード5 8 名前コード5 4 名前コード5 2 名前コード5 1 200
14バイト 名前コード6 128 名前コード6 64 名前コード6 32 名前コード6 16 名前コード6 8 名前コード6 4 名前コード6 2 名前コード6 1 0
15バイト 名前コード7 128 名前コード7 64 名前コード7 32 名前コード7 16 名前コード7 8 名前コード7 4 名前コード7 2 名前コード7 1 0
16バイト 名前コード8 128 名前コード8 64 名前コード8 32 名前コード8 16 名前コード8 8 名前コード8 4 名前コード8 2 名前コード8 1 0
17バイト 名前コード9 128 名前コード9 64 名前コード9 32 名前コード9 16 名前コード9 8 名前コード9 4 名前コード9 2 名前コード9 1 0
18バイト 名前コード10 128 名前コード10 64 名前コード10 32 名前コード10 16 名前コード10 8 名前コード10 4 名前コード10 2 名前コード10 1 0
19バイト 名前コード11 128 名前コード11 64 名前コード11 32 名前コード11 16 名前コード11 8 名前コード11 4 名前コード11 2 名前コード11 1 0
20バイト 名前コード12 128 名前コード12 64 名前コード12 32 名前コード12 16 名前コード12 8 名前コード12 4 名前コード12 2 名前コード12 1 0
21バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 1
22バイト サブポジション1 8 サブポジション1 4 サブポジション1 2 サブポジション1 1 サブポジション2 8 サブポジション2 4 サブポジション2 2 サブポジション2 1 0
23バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 120
24バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 125
25バイト 走力8 走力4 走力2 走力1 守力8 守力4 守力2 守力1 102
26バイト 打撃フォーム8 打撃フォーム4 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 6
27バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 53
28バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 153
29バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 210
30バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 29
31バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 133
32バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 87
33バイト シンカー8 シンカー4 シンカー2 シンカー1 シュート8 シュート4 シュート2 シュート1 0
34バイト Hシンカー Sスライダー Hスライダー スローカーブ フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 98
35バイト 広角打法 野手威圧感 途中交代 強振多用 代走要員 守備要員 代打要員 野手人気者 0
36バイト 内野安打○ サヨナラ男 流し打ち 逆境○ 対左投手× 対左投手○ チャンス× チャンス○ 0
37バイト 体当たり ヘッドスライディング バント◎ バント○ パワーヒッター アベレージヒッター キャッチャー◎ キャッチャー○ 32
38バイト 未使用 走塁× 走塁○ 守備職人 ブロック○ 送球○ 盗塁× 盗塁○ 0
39バイト ケガ× ケガ○ 三振 ムード× ムード○ 連打○ 粘り打ち 固め打ち 32
40バイト GBカラー 代打○ エラー ムードメーカー 満塁男 安定感 初球○ 野手ムラッ気 0
41バイト 未使用 未使用 未使用 未使用 チャンスメーカー 持続 対左投手◎ チャンス◎ 0
42バイト 未使用 未使用 四球 投手威圧感 中継ぎエース リリーフエース 完投タイプ 投手人気者 0
43バイト 勝ち運 一発 対左打者× 対左打者○ ランナー× 寸前× ピンチ× ピンチ○ 0
44バイト 短気 打球反応○ けん制○ スロースターター 尻上がり 投手ムラッ気 回復× 回復○ 4
45バイト 逃げ球 打たれ弱い 打たれ強い ノビ× ノビ○ キレ× キレ○ 負け運 193
46バイト 未使用 低め○ 闘志 ポーカーフェイス 重い球 クイック× クイック○ リリース○ 16
47バイト 未使用 未使用 未使用 未使用 未使用 未使用 未使用 未使用 0
48バイト 未使用 未使用 未使用 未使用 未使用 未使用 未使用 未使用 0
49バイト 超特殊能力128 超特殊能力64 超特殊能力32 超特殊能力16 超特殊能力8 超特殊能力4 超特殊能力2 超特殊能力1 9
50バイト 肌8 肌4 肌2 肌1 チーム8 チーム4 チーム2 チーム1 10
51バイト 出身32768 出身16384 出身8192 出身4096 出身2048 出身1024 出身512 出身256 2
52バイト 出身128 出身64 出身32 出身16 出身8 出身4 出身2 出身1 1
53バイト 製造番号32768 製造番号16384 製造番号8192 製造番号4096 製造番号2048 製造番号1024 製造番号512 製造番号256 0
54バイト 製造番号128 製造番号64 製造番号32 製造番号16 製造番号8 製造番号4 製造番号2 製造番号1 1
55バイト 顔32768 顔16384 顔8192 顔4096 顔2048 顔1024 顔512 顔256 0
56バイト 顔128 顔64 顔32 顔16 顔8 顔4 顔2 顔1 0


バイト圧縮1

チェックサムまでデータの入力が終わったら、各バイト圧縮フラグとチェックサムがあるバイト以外のバイトを圧縮する。
圧縮方法は各バイト圧縮フラグとチェックサムがあるバイト(表で言うと数値の背景が紫のバイト)以外の数値が0のバイトは省き、その分上に詰めていく。
バイト圧縮フラグの部分で、作品によっては1バイトの中で8ビット全てが未使用となっているバイトが存在している場合があり、どうやってもバイトの値が0になってしまうが、そのバイトも圧縮からは除外する。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 48バイト圧縮フラグ 47バイト圧縮フラグ 46バイト圧縮フラグ 45バイト圧縮フラグ 44バイト圧縮フラグ 43バイト圧縮フラグ 42バイト圧縮フラグ 41バイト圧縮フラグ 56
2バイト 32バイト圧縮フラグ 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 255
3バイト 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 31
4バイト 40バイト圧縮フラグ 39バイト圧縮フラグ 38バイト圧縮フラグ 37バイト圧縮フラグ 36バイト圧縮フラグ 35バイト圧縮フラグ 34バイト圧縮フラグ 33バイト圧縮フラグ 82
5バイト 56バイト圧縮フラグ 55バイト圧縮フラグ 54バイト圧縮フラグ 53バイト圧縮フラグ 52バイト圧縮フラグ 51バイト圧縮フラグ 50バイト圧縮フラグ 49バイト圧縮フラグ 47
6バイト 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 208
7バイト チェックサム1 128 チェックサム1 64 チェックサム1 32 チェックサム1 16 チェックサム1 8 チェックサム1 4 チェックサム1 2 チェックサム1 1 193
8バイト チェックサム2 128 チェックサム2 64 チェックサム2 32 チェックサム2 16 チェックサム2 8 チェックサム2 4 チェックサム2 2 チェックサム2 1 85
9バイト 名前コード1 128 名前コード1 64 名前コード1 32 名前コード1 16 名前コード1 8 名前コード1 4 名前コード1 2 名前コード1 1 239
10バイト 名前コード2 128 名前コード2 64 名前コード2 32 名前コード2 16 名前コード2 8 名前コード2 4 名前コード2 2 名前コード2 1 217
11バイト 名前コード3 128 名前コード3 64 名前コード3 32 名前コード3 16 名前コード3 8 名前コード3 4 名前コード3 2 名前コード3 1 237
12バイト 名前コード4 128 名前コード4 64 名前コード4 32 名前コード4 16 名前コード4 8 名前コード4 4 名前コード4 2 名前コード4 1 253
13バイト 名前コード5 128 名前コード5 64 名前コード5 32 名前コード5 16 名前コード5 8 名前コード5 4 名前コード5 2 名前コード5 1 200
14バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 1
15バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 120
16バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 125
17バイト 走力8 走力4 走力2 走力1 守力8 守力4 守力2 守力1 102
18バイト 打撃フォーム8 打撃フォーム4 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 6
19バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 53
20バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 153
21バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 210
22バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 29
23バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 133
24バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 87
25バイト Hシンカー Sスライダー Hスライダー スローカーブ フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 98
26バイト 体当たり ヘッドスライディング バント◎ バント○ パワーヒッター アベレージヒッター キャッチャー◎ キャッチャー○ 32
27バイト ケガ× ケガ○ 三振 ムード× ムード○ 連打○ 粘り打ち 固め打ち 32
28バイト 短気 打球反応○ けん制○ スロースターター 尻上がり 投手ムラッ気 回復× 回復○ 4
29バイト 逃げ球 打たれ弱い 打たれ強い ノビ× ノビ○ キレ× キレ○ 負け運 193
30バイト 未使用 低め○ 闘志 ポーカーフェイス 重い球 クイック× クイック○ リリース○ 16
31バイト 超特殊能力128 超特殊能力64 超特殊能力32 超特殊能力16 超特殊能力8 超特殊能力4 超特殊能力2 超特殊能力1 9
32バイト 肌8 肌4 肌2 肌1 チーム8 チーム4 チーム2 チーム1 10
33バイト 出身32768 出身16384 出身8192 出身4096 出身2048 出身1024 出身512 出身256 2
34バイト 出身128 出身64 出身32 出身16 出身8 出身4 出身2 出身1 1
35バイト 製造番号128 製造番号64 製造番号32 製造番号16 製造番号8 製造番号4 製造番号2 製造番号1 1
36バイト - - - - - - - - 0
37バイト - - - - - - - - 0
38バイト - - - - - - - - 0
39バイト - - - - - - - - 0
40バイト - - - - - - - - 0
41バイト - - - - - - - - 0
42バイト - - - - - - - - 0
43バイト - - - - - - - - 0
44バイト - - - - - - - - 0
45バイト - - - - - - - - 0
46バイト - - - - - - - - 0
47バイト - - - - - - - - 0
48バイト - - - - - - - - 0
49バイト - - - - - - - - 0
50バイト - - - - - - - - 0
51バイト - - - - - - - - 0
52バイト - - - - - - - - 0
53バイト - - - - - - - - 0
54バイト - - - - - - - - 0
55バイト - - - - - - - - 0
56バイト - - - - - - - - 0


4ビット圧縮

バイト圧縮1で圧縮したバイトを今度は4ビット単位で圧縮する。
先のバイト圧縮1の処理で圧縮されたバイトを上から4バイトずつ区切っていき、全ての区切りの上に4ビット圧縮用の圧縮フラグ群を1バイト設ける。
4ビット圧縮フラグの割り当ては、どの4バイト毎の区切りでも以下の構成で固定。
バイト 128 64 32 16 8 4 2 1 数値
nバイト 0
n+1バイト 0
n+2バイト 0
n+3バイト 0
n+4バイト 0
各4ビット圧縮フラグがON(1)になる条件は、対応する4ビットの数値が1以上あればONになる。
4ビット単位で圧縮する処理は、4ビット単位の数値が0の所を省き、⑧の方へ4ビット単位で後詰めする。
別解として、ONになった4ビット圧縮フラグが偶数の時は①の方へ前詰めだけ、奇数の時は①に0の値の4ビットを配置し、①の方に②から前詰めしても同じ圧縮結果が得られる。

■処理の一例
ここからは各データの方もONのところは分かりやすいように背景を水色に表示する。
以下のような並びで4バイトのデータが1組存在したとする。
バイト 128 64 32 16 8 4 2 1 数値
nバイト 0 0 0 1 0 0 0 1 17
n+1バイト 0 0 1 0 0 0 0 0 32
n+2バイト 0 0 0 0 0 0 0 1 1
n+3バイト 1 1 1 1 0 0 0 0 240

その1組の上に4ビット圧縮用の圧縮フラグ群を1バイト設ける。
バイト 128 64 32 16 8 4 2 1 数値
nバイト 0 0 0 0 0 0 0 0 0
n+1バイト 0 0 0 1 0 0 0 1 17
n+2バイト 0 0 1 0 0 0 0 0 32
n+3バイト 0 0 0 0 0 0 0 1 1
n+4バイト 1 1 1 1 0 0 0 0 240

4ビット圧縮フラグを立てるルールに従い、各4ビット単位に対応した4ビット圧縮フラグを立てる。
4ビット圧縮フラグを立てて、フラグの合計でバイトの数値を求める。
バイト 128 64 32 16 8 4 2 1 数値
nバイト 0 1 1 0 0 1 1 1 103
n+1バイト 0 0 0 1 0 0 0 1 17
n+2バイト 0 0 1 0 0 0 0 0 32
n+3バイト 0 0 0 0 0 0 0 1 1
n+4バイト 1 1 1 1 0 0 0 0 240

n+1バイト~n+4バイトのデータを4ビット単位で分割して並べる。
4ビットデータ 8 4 2 1 数値
0 0 0 1 1
0 0 0 1 1
0 0 1 0 2
0 0 0 0 0
0 0 0 0 0
0 0 0 1 1
1 1 1 1 15
0 0 0 0 0

⑧の方に後ろ詰めで4ビット単位の圧縮をする。
4ビットデータ 8 4 2 1 数値
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 1 1
0 0 0 1 1
0 0 1 0 2
0 0 0 1 1
1 1 1 1 15

4ビット単位で圧縮した①〜⑧のデータを元のバイト単位に並べ直す。
データの並びが変わるので、バイトの数値もそれに応じて再計算する。
バイト 128 64 32 16 8 4 2 1 数値
nバイト 0 1 1 0 0 1 1 1 103
n+1バイト 0 0 0 0 0 0 0 0 0
n+2バイト 0 0 0 0 0 0 0 1 1
n+3バイト 0 0 0 1 0 0 1 0 18
n+4バイト 0 0 0 1 1 1 1 1 31

本題に戻ってそれを踏まえた上で、この処理を適用すると以下のようになる。
まずは4バイト毎に上に4ビット圧縮フラグ群のバイトを挿入していく。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 0 0 0 0 0 0 0 0 0
2バイト 48バイト圧縮フラグ 47バイト圧縮フラグ 46バイト圧縮フラグ 45バイト圧縮フラグ 44バイト圧縮フラグ 43バイト圧縮フラグ 42バイト圧縮フラグ 41バイト圧縮フラグ 56
3バイト 32バイト圧縮フラグ 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 255
4バイト 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 31
5バイト 40バイト圧縮フラグ 39バイト圧縮フラグ 38バイト圧縮フラグ 37バイト圧縮フラグ 36バイト圧縮フラグ 35バイト圧縮フラグ 34バイト圧縮フラグ 33バイト圧縮フラグ 82
6バイト 0 0 0 0 0 0 0 0 0
7バイト 56バイト圧縮フラグ 55バイト圧縮フラグ 54バイト圧縮フラグ 53バイト圧縮フラグ 52バイト圧縮フラグ 51バイト圧縮フラグ 50バイト圧縮フラグ 49バイト圧縮フラグ 47
8バイト 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 208
9バイト チェックサム1 128 チェックサム1 64 チェックサム1 32 チェックサム1 16 チェックサム1 8 チェックサム1 4 チェックサム1 2 チェックサム1 1 193
10バイト チェックサム2 128 チェックサム2 64 チェックサム2 32 チェックサム2 16 チェックサム2 8 チェックサム2 4 チェックサム2 2 チェックサム2 1 85
11バイト 0 0 0 0 0 0 0 0 0
12バイト 名前コード1 128 名前コード1 64 名前コード1 32 名前コード1 16 名前コード1 8 名前コード1 4 名前コード1 2 名前コード1 1 239
13バイト 名前コード2 128 名前コード2 64 名前コード2 32 名前コード2 16 名前コード2 8 名前コード2 4 名前コード2 2 名前コード2 1 217
14バイト 名前コード3 128 名前コード3 64 名前コード3 32 名前コード3 16 名前コード3 8 名前コード3 4 名前コード3 2 名前コード3 1 237
15バイト 名前コード4 128 名前コード4 64 名前コード4 32 名前コード4 16 名前コード4 8 名前コード4 4 名前コード4 2 名前コード4 1 253
16バイト 0 0 0 0 0 0 0 0 0
17バイト 名前コード5 128 名前コード5 64 名前コード5 32 名前コード5 16 名前コード5 8 名前コード5 4 名前コード5 2 名前コード5 1 200
18バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 1
19バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 120
20バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 125
21バイト 0 0 0 0 0 0 0 0 0
22バイト 走力8 走力4 走力2 走力1 守力8 守力4 守力2 守力1 102
23バイト 打撃フォーム8 打撃フォーム4 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 6
24バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 53
25バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 153
26バイト 0 0 0 0 0 0 0 0 0
27バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 210
28バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 29
29バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 133
30バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 87
31バイト 0 0 0 0 0 0 0 0 0
32バイト Hシンカー Sスライダー Hスライダー スローカーブ フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 98
33バイト 体当たり ヘッドスライディング バント◎ バント○ パワーヒッター アベレージヒッター キャッチャー◎ キャッチャー○ 32
34バイト ケガ× ケガ○ 三振 ムード× ムード○ 連打○ 粘り打ち 固め打ち 32
35バイト 短気 打球反応○ けん制○ スロースターター 尻上がり 投手ムラッ気 回復× 回復○ 4
36バイト 0 0 0 0 0 0 0 0 0
37バイト 逃げ球 打たれ弱い 打たれ強い ノビ× ノビ○ キレ× キレ○ 負け運 193
38バイト 未使用 低め○ 闘志 ポーカーフェイス 重い球 クイック× クイック○ リリース○ 16
39バイト 超特殊能力128 超特殊能力64 超特殊能力32 超特殊能力16 超特殊能力8 超特殊能力4 超特殊能力2 超特殊能力1 9
40バイト 肌8 肌4 肌2 肌1 チーム8 チーム4 チーム2 チーム1 10
41バイト 0 0 0 0 0 0 0 0 0
42バイト 出身32768 出身16384 出身8192 出身4096 出身2048 出身1024 出身512 出身256 2
43バイト 出身128 出身64 出身32 出身16 出身8 出身4 出身2 出身1 1
44バイト 製造番号128 製造番号64 製造番号32 製造番号16 製造番号8 製造番号4 製造番号2 製造番号1 1
45バイト - - - - - - - - 0


4ビット圧縮フラグを立てるルールに従い、各4ビット単位に対応した4ビット圧縮フラグを立てる。
4ビット圧縮フラグを立てて、フラグの合計でバイトの数値を求める。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 1 1 1 1 1 1 1 1 255
2バイト 48バイト圧縮フラグ 47バイト圧縮フラグ 46バイト圧縮フラグ 45バイト圧縮フラグ 44バイト圧縮フラグ 43バイト圧縮フラグ 42バイト圧縮フラグ 41バイト圧縮フラグ 56
3バイト 32バイト圧縮フラグ 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 255
4バイト 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 31
5バイト 40バイト圧縮フラグ 39バイト圧縮フラグ 38バイト圧縮フラグ 37バイト圧縮フラグ 36バイト圧縮フラグ 35バイト圧縮フラグ 34バイト圧縮フラグ 33バイト圧縮フラグ 82
6バイト 1 1 1 1 0 1 1 1 247
7バイト 56バイト圧縮フラグ 55バイト圧縮フラグ 54バイト圧縮フラグ 53バイト圧縮フラグ 52バイト圧縮フラグ 51バイト圧縮フラグ 50バイト圧縮フラグ 49バイト圧縮フラグ 47
8バイト 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 208
9バイト チェックサム1 128 チェックサム1 64 チェックサム1 32 チェックサム1 16 チェックサム1 8 チェックサム1 4 チェックサム1 2 チェックサム1 1 193
10バイト チェックサム2 128 チェックサム2 64 チェックサム2 32 チェックサム2 16 チェックサム2 8 チェックサム2 4 チェックサム2 2 チェックサム2 1 85
11バイト 1 1 1 1 1 1 1 1 255
12バイト 名前コード1 128 名前コード1 64 名前コード1 32 名前コード1 16 名前コード1 8 名前コード1 4 名前コード1 2 名前コード1 1 239
13バイト 名前コード2 128 名前コード2 64 名前コード2 32 名前コード2 16 名前コード2 8 名前コード2 4 名前コード2 2 名前コード2 1 217
14バイト 名前コード3 128 名前コード3 64 名前コード3 32 名前コード3 16 名前コード3 8 名前コード3 4 名前コード3 2 名前コード3 1 237
15バイト 名前コード4 128 名前コード4 64 名前コード4 32 名前コード4 16 名前コード4 8 名前コード4 4 名前コード4 2 名前コード4 1 253
16バイト 1 1 1 1 1 0 1 1 251
17バイト 名前コード5 128 名前コード5 64 名前コード5 32 名前コード5 16 名前コード5 8 名前コード5 4 名前コード5 2 名前コード5 1 200
18バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 1
19バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 120
20バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 125
21バイト 1 1 1 1 1 0 1 1 251
22バイト 走力8 走力4 走力2 走力1 守力8 守力4 守力2 守力1 102
23バイト 打撃フォーム8 打撃フォーム4 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 6
24バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 53
25バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 153
26バイト 1 1 1 1 1 1 1 1 255
27バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 210
28バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 29
29バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 133
30バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 87
31バイト 1 0 0 1 0 1 1 1 151
32バイト Hシンカー Sスライダー Hスライダー スローカーブ フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 98
33バイト 体当たり ヘッドスライディング バント◎ バント○ パワーヒッター アベレージヒッター キャッチャー◎ キャッチャー○ 32
34バイト ケガ× ケガ○ 三振 ムード× ムード○ 連打○ 粘り打ち 固め打ち 32
35バイト 短気 打球反応○ けん制○ スロースターター 尻上がり 投手ムラッ気 回復× 回復○ 4
36バイト 1 0 1 0 0 1 1 1 167
37バイト 逃げ球 打たれ弱い 打たれ強い ノビ× ノビ○ キレ× キレ○ 負け運 193
38バイト 未使用 低め○ 闘志 ポーカーフェイス 重い球 クイック× クイック○ リリース○ 16
39バイト 超特殊能力128 超特殊能力64 超特殊能力32 超特殊能力16 超特殊能力8 超特殊能力4 超特殊能力2 超特殊能力1 9
40バイト 肌8 肌4 肌2 肌1 チーム8 チーム4 チーム2 チーム1 10
41バイト 0 0 1 0 1 0 1 0 42
42バイト 出身32768 出身16384 出身8192 出身4096 出身2048 出身1024 出身512 出身256 2
43バイト 出身128 出身64 出身32 出身16 出身8 出身4 出身2 出身1 1
44バイト 製造番号128 製造番号64 製造番号32 製造番号16 製造番号8 製造番号4 製造番号2 製造番号1 1
45バイト - - - - - - - - 0

4ビット単位で⑧の方に後ろ詰めして圧縮する。
データの並びが変わるので、バイトの数値もそれに応じて再計算する。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 1 1 1 1 1 1 1 1 255
2バイト 48バイト圧縮フラグ 47バイト圧縮フラグ 46バイト圧縮フラグ 45バイト圧縮フラグ 44バイト圧縮フラグ 43バイト圧縮フラグ 42バイト圧縮フラグ 41バイト圧縮フラグ 56
3バイト 32バイト圧縮フラグ 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 255
4バイト 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 31
5バイト 40バイト圧縮フラグ 39バイト圧縮フラグ 38バイト圧縮フラグ 37バイト圧縮フラグ 36バイト圧縮フラグ 35バイト圧縮フラグ 34バイト圧縮フラグ 33バイト圧縮フラグ 82
6バイト 1 1 1 1 0 1 1 1 247
7バイト 0 0 0 0 56バイト圧縮フラグ 55バイト圧縮フラグ 54バイト圧縮フラグ 53バイト圧縮フラグ 2
8バイト 52バイト圧縮フラグ 51バイト圧縮フラグ 50バイト圧縮フラグ 49バイト圧縮フラグ 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 253
9バイト チェックサム1 128 チェックサム1 64 チェックサム1 32 チェックサム1 16 チェックサム1 8 チェックサム1 4 チェックサム1 2 チェックサム1 1 193
10バイト チェックサム2 128 チェックサム2 64 チェックサム2 32 チェックサム2 16 チェックサム2 8 チェックサム2 4 チェックサム2 2 チェックサム2 1 85
11バイト 1 1 1 1 1 1 1 1 255
12バイト 名前コード1 128 名前コード1 64 名前コード1 32 名前コード1 16 名前コード1 8 名前コード1 4 名前コード1 2 名前コード1 1 239
13バイト 名前コード2 128 名前コード2 64 名前コード2 32 名前コード2 16 名前コード2 8 名前コード2 4 名前コード2 2 名前コード2 1 217
14バイト 名前コード3 128 名前コード3 64 名前コード3 32 名前コード3 16 名前コード3 8 名前コード3 4 名前コード3 2 名前コード3 1 237
15バイト 名前コード4 128 名前コード4 64 名前コード4 32 名前コード4 16 名前コード4 8 名前コード4 4 名前コード4 2 名前コード4 1 253
16バイト 1 1 1 1 1 0 1 1 251
17バイト 0 0 0 0 名前コード5 128 名前コード5 64 名前コード5 32 名前コード5 16 12
18バイト 名前コード5 8 名前コード5 4 名前コード5 2 名前コード5 1 メインポジション8 メインポジション4 メインポジション2 メインポジション1 129
19バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 120
20バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 125
21バイト 1 1 1 1 1 0 1 1 251
22バイト 0 0 0 0 走力8 走力4 走力2 走力1 6
23バイト 守力8 守力4 守力2 守力1 エラー率8 エラー率4 エラー率2 エラー率1 102
24バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 53
25バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 153
26バイト 1 1 1 1 1 1 1 1 255
27バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 210
28バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 29
29バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 133
30バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 87
31バイト 1 0 0 1 0 1 1 1 151
32バイト 0 0 0 0 0 0 0 0 0
33バイト 0 0 0 0 Hシンカー Sスライダー Hスライダー スローカーブ 6
34バイト フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 体当たり ヘッドスライディング バント◎ バント○ 34
35バイト ケガ× ケガ○ 三振 ムード× 尻上がり 投手ムラッ気 回復× 回復○ 36
36バイト 1 0 1 0 0 1 1 1 167
37バイト 0 0 0 0 0 0 0 0 0
38バイト 0 0 0 0 逃げ球 打たれ弱い 打たれ強い ノビ× 12
39バイト ノビ○ キレ× キレ○ 負け運 未使用 低め○ 闘志 ポーカーフェイス 17
40バイト 超特殊能力8 超特殊能力4 超特殊能力2 超特殊能力1 チーム8 チーム4 チーム2 チーム1 154
41バイト 0 0 1 0 1 0 1 0 42
42バイト 0 0 0 0 0 0 0 0 0
43バイト 0 0 0 0 0 0 0 0 0
44バイト 0 0 0 0 出身2048 出身1024 出身512 出身256 2
45バイト 出身8 出身4 出身2 出身1 製造番号8 製造番号4 製造番号2 製造番号1 17


バイト圧縮2

4ビット圧縮によりバイト単位で0の部分が発生するので、再度数値が0になったバイトは省き、その分上に詰めていく。
ここではバイト圧縮フラグとチェックサムがあるバイトが、4ビット圧縮処理により数値が0になったところも圧縮する。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 1 1 1 1 1 1 1 1 255
2バイト 48バイト圧縮フラグ 47バイト圧縮フラグ 46バイト圧縮フラグ 45バイト圧縮フラグ 44バイト圧縮フラグ 43バイト圧縮フラグ 42バイト圧縮フラグ 41バイト圧縮フラグ 56
3バイト 32バイト圧縮フラグ 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 255
4バイト 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 31
5バイト 40バイト圧縮フラグ 39バイト圧縮フラグ 38バイト圧縮フラグ 37バイト圧縮フラグ 36バイト圧縮フラグ 35バイト圧縮フラグ 34バイト圧縮フラグ 33バイト圧縮フラグ 82
6バイト 1 1 1 1 0 1 1 1 247
7バイト 0 0 0 0 56バイト圧縮フラグ 55バイト圧縮フラグ 54バイト圧縮フラグ 53バイト圧縮フラグ 2
8バイト 52バイト圧縮フラグ 51バイト圧縮フラグ 50バイト圧縮フラグ 49バイト圧縮フラグ 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 253
9バイト チェックサム1 128 チェックサム1 64 チェックサム1 32 チェックサム1 16 チェックサム1 8 チェックサム1 4 チェックサム1 2 チェックサム1 1 193
10バイト チェックサム2 128 チェックサム2 64 チェックサム2 32 チェックサム2 16 チェックサム2 8 チェックサム2 4 チェックサム2 2 チェックサム2 1 85
11バイト 1 1 1 1 1 1 1 1 255
12バイト 名前コード1 128 名前コード1 64 名前コード1 32 名前コード1 16 名前コード1 8 名前コード1 4 名前コード1 2 名前コード1 1 239
13バイト 名前コード2 128 名前コード2 64 名前コード2 32 名前コード2 16 名前コード2 8 名前コード2 4 名前コード2 2 名前コード2 1 217
14バイト 名前コード3 128 名前コード3 64 名前コード3 32 名前コード3 16 名前コード3 8 名前コード3 4 名前コード3 2 名前コード3 1 237
15バイト 名前コード4 128 名前コード4 64 名前コード4 32 名前コード4 16 名前コード4 8 名前コード4 4 名前コード4 2 名前コード4 1 253
16バイト 1 1 1 1 1 0 1 1 251
17バイト 0 0 0 0 名前コード5 128 名前コード5 64 名前コード5 32 名前コード5 16 12
18バイト 名前コード5 8 名前コード5 4 名前コード5 2 名前コード5 1 メインポジション8 メインポジション4 メインポジション2 メインポジション1 129
19バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 120
20バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 125
21バイト 1 1 1 1 1 0 1 1 251
22バイト 0 0 0 0 走力8 走力4 走力2 走力1 6
23バイト 守力8 守力4 守力2 守力1 エラー率8 エラー率4 エラー率2 エラー率1 102
24バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 53
25バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 153
26バイト 1 1 1 1 1 1 1 1 255
27バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 210
28バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 29
29バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 133
30バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 87
31バイト 1 0 0 1 0 1 1 1 151
32バイト 0 0 0 0 Hシンカー Sスライダー Hスライダー スローカーブ 6
33バイト フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 体当たり ヘッドスライディング バント◎ バント○ 34
34バイト ケガ× ケガ○ 三振 ムード× 尻上がり 投手ムラッ気 回復× 回復○ 36
36バイト 1 0 1 0 0 1 1 1 167
36バイト 0 0 0 0 逃げ球 打たれ弱い 打たれ強い ノビ× 12
37バイト ノビ○ キレ× キレ○ 負け運 未使用 低め○ 闘志 ポーカーフェイス 17
38バイト 超特殊能力8 超特殊能力4 超特殊能力2 超特殊能力1 チーム8 チーム4 チーム2 チーム1 154
41バイト 0 0 1 0 1 0 1 0 42
40バイト 0 0 0 0 出身2048 出身1024 出身512 出身256 2
41バイト 出身8 出身4 出身2 出身1 製造番号8 製造番号4 製造番号2 製造番号1 17
42バイト - - - - - - - - 0
43バイト - - - - - - - - 0
44バイト - - - - - - - - 0
45バイト - - - - - - - - 0

■4ビット圧縮フラグ群のバイトの値が0になる場合のバイト圧縮2処理
バイト圧縮フラグとチェックサムが含まれている所の4ビット圧縮フラグ群のバイトが0場合、ここで4ビット圧縮フラグ群のバイトも圧縮してしまうと復号時に判断出来なくなってしまうので、4ビット圧縮フラグ群のバイトだけは0であってもバイト圧縮からは除外される。
正規範囲の設定をしていればこの除外処理は発生することはないが、パスワードが弾かれずに入る最低限度の非正規な設定をした場合、作品によっては発生する場合がある。

4ビット圧縮後に以下のようにn+1〜n+4バイト全ての圧縮フラグが0になったとする。
バイト 128 64 32 16 8 4 2 1 数値
nバイト 0 0 0 0 0 0 0 0 0
n+1バイト 0 0 0 0 0 0 0 0 0
n+2バイト 0 0 0 0 0 0 0 0 0
n+3バイト 0 0 0 0 0 0 0 0 0
n+4バイト 0 0 0 0 0 0 0 0 0
n+5バイト 0 1 1 0 0 1 1 1 103
n+6バイト 0 0 0 0 0 0 0 0 0
n+7バイト 0 0 0 0 0 0 0 1 1
n+8バイト 0 0 0 1 0 0 1 0 18
n+9バイト 0 0 0 1 1 1 1 1 31

バイト圧縮2ではnバイトのように4ビット圧縮フラグ群のバイトが0でも残す。
バイト 128 64 32 16 8 4 2 1 数値
nバイト 0 0 0 0 0 0 0 0 0
n+1バイト 0 1 1 0 0 1 1 1 103
n+2バイト 0 0 0 0 0 0 0 1 1
n+3バイト 0 0 0 1 0 0 1 0 18
n+4バイト 0 0 0 1 1 1 1 1 31


モザイク化補正

バイト圧縮2で再度圧縮されたバイトに、各バイト毎に決まった数値を必要なバイトの所まで加算していく。
加算する値はモザイク化補正値表を参照。
今回はバイト圧縮2の処理後に有効なバイトが41バイトまであるので、41バイトまで数値を加算していけばよい。
この時加算して出た和が256を超えた場合、Mod256(もしくは-256)して255以内になるよう数値を収める。
補正値を加算してMod256した結果が0になってもここではそのままでよい。
バイト 補正前数値 モザイク化補正値 補正後数値
1バイト 255 60 59
2バイト 56 18 74
3バイト 255 33 32
4バイト 31 57 88
5バイト 82 37 119
6バイト 247 9 0
7バイト 2 43 45
8バイト 253 6 3
9バイト 193 44 237
10バイト 85 35 120
11バイト 255 65 64
12バイト 239 28 11
13バイト 217 15 232
14バイト 237 66 47
15バイト 253 58 55
16バイト 251 32 27
17バイト 12 31 43
18バイト 129 5 134
19バイト 120 71 191
20バイト 125 69 194
21バイト 251 1 252
22バイト 6 22 28
23バイト 102 67 169
24バイト 53 34 87
25バイト 153 16 169
26バイト 255 36 35
27バイト 210 42 252
28バイト 29 62 91
29バイト 133 75 208
30バイト 87 13 100
31バイト 151 10 161
32バイト 6 39 45
33バイト 34 64 98
34バイト 36 11 47
35バイト 167 40 207
36バイト 12 41 53
37バイト 17 59 76
38バイト 154 19 173
39バイト 42 61 103
40バイト 2 72 74
41バイト 17 46 63


文字データに変換

モザイク化補正をしたバイトを3バイト単位で6ビットのデータ4つに変換し、文字用のデータにする。
(8ビット×3=6ビット×4=24ビット)

変換式は
n文字目=mバイト目 Mod 64
n+1文字目=(mバイト目-(mバイト目 Mod 64))/64*16+(m+1バイト目 Mod 16)
n+2文字目=(m+2バイト目-(m+2バイト目 Mod 64))/64*16+(m+1バイト目-(m+1バイト目 Mod 16))/16
n+3文字目=m+2バイト目 Mod 64
nとmはそれぞれ1から始まってnは4ずつ進み、mは3ずつ進んで変換していく。

変換のイメージ図としては、以下のような感じになる。
例として、以下のようなデータが3バイトあったとする。
バイト 128 64 32 16 8 4 2 1 数値
nバイト 1 1 0 1 1 0 0 1 217
n+1バイト 0 0 0 0 1 1 1 1 15
n+2バイト 0 0 1 1 0 1 1 1 55

上記の変換式に従い、変換する。
文字目 32 16 8 4 2 1 数値
m文字目 0 1 1 0 0 1 25
m+1文字目 1 1 1 1 1 1 63
m+2文字目 0 0 0 0 0 0 0
m+3文字目 1 1 0 1 1 1 55

それを踏まえて、上記の変換式で各バイトを変換していくと以下の結果になる。
文字数 32 16 8 4 2 1 数値
1文字目 1 1 1 0 1 1 59
2文字目 0 0 1 0 1 0 10
3文字目 0 0 0 1 0 0 4
4文字目 1 0 0 0 0 0 32
5文字目 0 1 1 0 0 0 24
6文字目 0 1 0 1 1 1 23
7文字目 0 0 0 1 1 1 7
8文字目 0 0 0 0 0 0 0
9文字目 1 0 1 1 0 1 45
10文字目 0 0 0 0 1 1 3
11文字目 1 1 0 0 0 0 48
12文字目 1 0 1 1 0 1 45
13文字目 1 1 1 0 0 0 56
14文字目 0 1 0 0 0 0 16
15文字目 0 0 0 1 0 0 4
16文字目 0 0 1 0 1 1 11
17文字目 1 0 1 0 0 0 40
18文字目 1 1 1 1 1 1 63
19文字目 0 0 0 0 1 0 2
20文字目 1 1 0 1 1 1 55
21文字目 0 1 1 0 1 1 27
22文字目 0 0 1 0 1 1 11
23文字目 1 0 0 0 1 0 34
24文字目 0 0 0 1 1 0 6
25文字目 1 1 1 1 1 1 63
26文字目 1 0 0 0 1 0 34
27文字目 1 1 1 1 0 0 60
28文字目 1 1 1 1 0 0 60
29文字目 0 1 1 1 0 0 28
30文字目 0 0 1 0 0 1 9
31文字目 0 1 1 0 1 0 26
32文字目 0 1 0 1 1 1 23
33文字目 1 0 1 0 0 1 41
34文字目 1 0 0 0 1 1 35
35文字目 1 1 0 0 1 0 50
36文字目 1 1 1 1 0 0 60
37文字目 0 1 1 0 1 1 27
38文字目 0 1 0 0 0 0 16
39文字目 0 1 1 1 0 1 29
40文字目 1 0 0 1 0 0 36
41文字目 1 0 0 0 0 1 33
42文字目 1 0 1 1 0 1 45
43文字目 0 1 0 0 1 0 18
44文字目 1 0 0 0 1 0 34
45文字目 1 0 1 1 1 1 47
46文字目 0 0 1 1 1 1 15
47文字目 0 0 1 1 0 0 12
48文字目 1 1 1 0 1 1 59
49文字目 0 0 1 1 0 0 12
50文字目 0 1 1 1 0 1 29
51文字目 0 1 1 0 1 0 26
52文字目 1 0 0 1 1 1 39
53文字目 0 0 1 0 1 0 10
54文字目 0 1 1 1 1 1 31
55文字目 0 0 0 0 1 1 3


数値を文字に換算する

最後に変換して得られた6ビットの数値を文字換算表で文字に換算していく。
パワポケ5の文字換算は第二世代なので、第二世代文字換算を使用して換算していくと以下の結果になる。
文字数 数値 文字
1文字目 59
2文字目 10
3文字目 4
4文字目 32
5文字目 24
6文字目 23
7文字目 7
8文字目 0
9文字目 45
10文字目 3
11文字目 48
12文字目 45
13文字目 56
14文字目 16
15文字目 4
16文字目 11
17文字目 40
18文字目 63
19文字目 2
20文字目 55
21文字目 27
22文字目 11
23文字目 34
24文字目 6
25文字目 63
26文字目 34
27文字目 60
28文字目 60
29文字目 28
30文字目 9
31文字目 26
32文字目 23
33文字目 41
34文字目 35
35文字目 50
36文字目 60
37文字目 27
38文字目 16
39文字目 29
40文字目 36
41文字目 33
42文字目 45
43文字目 18
44文字目 34
45文字目 47
46文字目 15
47文字目 12
48文字目 59
49文字目 12
50文字目 29
51文字目 26
52文字目 39
53文字目 10
54文字目 31
55文字目 3


パスワードの完成

いつもの見やすいような配置に並べ替えると、

しぞゆ ぜため かごい ぎがい ひまゆ ふんべ むぶじ
ふりろ べりづ づぼも れめせ るえづ じます げさい
ばりの みそど そすれ びぞら ぎ

これで最初に設定した田西◎の選手パスワードの完成となる。


その他補足

  • 以上のような処理をポケ5以降は行って生成しているため、特殊能力たくさんで最強選手のような物を作ろうとすると、パスワードがポケ4以前よりも長くなる傾向にあり、パスワードを表示出来る文字数枠を超えてしまう可能性があるので注意しよう。
    はみ出た分が当然入力出来ないので、パスワードはどうやっても入らない。

最終更新:2024年01月02日 13:24