パスワード出力の仕組み(ポケ1~4編)

パワポケ1~4までのパスワード出力方法の仕組みについて。
パワポケでちゃんと入るパスワードを出力するために以下の流れでパスワードを生成していく。
+ 壮大なネタバレを含むので折りたたみ

生成する能力の決定

とりあえず作りたい選手を決めないと何も始まらないので能力を考える。
今回は例として一番基本となるパワポケ1のパスワードで以下の能力の選手を生成する。
名前 パワポケ
ポジション 一塁手
投打 右投両打
背番号 09
チーム 横浜
打撃フォーム 振り子打法
ミート 6
パワー 200
走力 6
肩力 5
守備力 7
エラー率 8
特殊能力 パワーヒッター 威圧感 チャンス○ 安定感


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

バイト構造表とは、要するに各作品で選手のパスワードを作るための設計図である。
パワポケでは、パスワードを生成するための選手データはバイト単位で、それを複数用いて構成される。
バイトという単語が分からない人は詳しく調べるか、バイトは0〜255の数字のデータが入る入れ物と思ってくれれば良い。
パワポケ1の場合バイト構造表は以下になる。
それに作りたい選手の能力に合わせて数値を設定していく。
メインポジションが野手の場合は投手で設定出来る能力、特殊能力は全て0に設定する。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 8バイト圧縮フラグ 7バイト圧縮フラグ 6バイト圧縮フラグ 5バイト圧縮フラグ 0
2バイト 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 0
3バイト 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 0
4バイト 未使用 未使用 未使用 未使用 未使用 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 0
5バイト 名前1文字目128 名前1文字目64 名前1文字目32 名前1文字目16 名前1文字目8 名前1文字目4 名前1文字目2 名前1文字目1 0
6バイト 名前2文字目128 名前2文字目64 名前2文字目32 名前2文字目16 名前2文字目8 名前2文字目4 名前2文字目2 名前2文字目1 0
7バイト 名前3文字目128 名前3文字目64 名前3文字目32 名前3文字目16 名前3文字目8 名前3文字目4 名前3文字目2 名前3文字目1 0
8バイト 名前4文字目128 名前4文字目64 名前4文字目32 名前4文字目16 名前4文字目8 名前4文字目4 名前4文字目2 名前4文字目1 0
9バイト 名前5文字目128 名前5文字目64 名前5文字目32 名前5文字目16 名前5文字目8 名前5文字目4 名前5文字目2 名前5文字目1 0
10バイト 名前6文字目128 名前6文字目64 名前6文字目32 名前6文字目16 名前6文字目8 名前6文字目4 名前6文字目2 名前6文字目1 0
11バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 0
12バイト 未使用 サプポジション外 サプポジション遊 サプポジション三 サプポジション二 サプポジション一 サプポジション捕 未使用 0
13バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 0
14バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 0
15バイト 走力8 走力4 走力2 走力1 守備力8 守備力4 守備力2 守備力1 0
16バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 0
17バイト チャンス× チャンス○ 対左投手× 対左投手○ 流し打ち 広角打法 パワーヒッター アベレージヒッター 0
18バイト キャッチャー○ 送球○ 盗塁× 盗塁○ ヘッドスライディング 内野安打○ サヨナラ男 逆境○ 0
19バイト ムード○ ムラッ気 バント× バント○ 威圧感 ブロック○ 体当たり キャッチャー◎ 0
20バイト 寸前× 回復× 回復○ ケガ× ケガ○ センス× センス○ ムード× 0
21バイト 負け運 勝ち運 尻上がり 一発 ピンチ× ピンチ○ リリース○ ランナー× 0
22バイト 安定感 三振 初球○ 対左打者× 対左打者○ けん制○ 短気 打球反応○ 0
23バイト 未使用 人気者 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 0
24バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 0
25バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 0
26バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 0
27バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 0
28バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 0
29バイト シンカー8 シンカー4 シンカー2 シンカー1 シュート8 シュート4 シュート2 シュート1 0
30バイト 未使用 未使用 Hスライダー スローカーブ フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 0
31バイト 未使用 未使用 未使用 未使用 チーム8 チーム4 チーム2 チーム1 0
32バイト チェックサム128 チェックサム64 チェックサム32 チェックサム16 チェックサム8 チェックサム4 チェックサム2 チェックサム1 0

作ろうとする選手の設定を当てはめると、以下のように数値が設定される。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 8バイト圧縮フラグ 7バイト圧縮フラグ 6バイト圧縮フラグ 5バイト圧縮フラグ 0
2バイト 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 0
3バイト 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 0
4バイト 未使用 未使用 未使用 未使用 未使用 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 0
5バイト 名前1文字目128 名前1文字目64 名前1文字目32 名前1文字目16 名前1文字目8 名前1文字目4 名前1文字目2 名前1文字目1 156
6バイト 名前2文字目128 名前2文字目64 名前2文字目32 名前2文字目16 名前2文字目8 名前2文字目4 名前2文字目2 名前2文字目1 124
7バイト 名前3文字目128 名前3文字目64 名前3文字目32 名前3文字目16 名前3文字目8 名前3文字目4 名前3文字目2 名前3文字目1 160
8バイト 名前4文字目128 名前4文字目64 名前4文字目32 名前4文字目16 名前4文字目8 名前4文字目4 名前4文字目2 名前4文字目1 89
9バイト 名前5文字目128 名前5文字目64 名前5文字目32 名前5文字目16 名前5文字目8 名前5文字目4 名前5文字目2 名前5文字目1 0
10バイト 名前6文字目128 名前6文字目64 名前6文字目32 名前6文字目16 名前6文字目8 名前6文字目4 名前6文字目2 名前6文字目1 0
11バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 66
12バイト 未使用 サプポジション外 サプポジション遊 サプポジション三 サプポジション二 サプポジション一 サプポジション捕 未使用 0
13バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 200
14バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 101
15バイト 走力8 走力4 走力2 走力1 守備力8 守備力4 守備力2 守備力1 103
16バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 109
17バイト チャンス× チャンス○ 対左投手× 対左投手○ 流し打ち 広角打法 パワーヒッター アベレージヒッター 66
18バイト キャッチャー○ 送球○ 盗塁× 盗塁○ ヘッドスライディング 内野安打○ サヨナラ男 逆境○ 0
19バイト ムード○ ムラッ気 バント× バント○ 威圧感 ブロック○ 体当たり キャッチャー◎ 8
20バイト 寸前× 回復× 回復○ ケガ× ケガ○ センス× センス○ ムード× 0
21バイト 負け運 勝ち運 尻上がり 一発 ピンチ× ピンチ○ リリース○ ランナー× 0
22バイト 安定感 三振 初球○ 対左打者× 対左打者○ けん制○ 短気 打球反応○ 128
23バイト 未使用 人気者 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 56
24バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 0
25バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 0
26バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 0
27バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 0
28バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 0
29バイト シンカー8 シンカー4 シンカー2 シンカー1 シュート8 シュート4 シュート2 シュート1 0
30バイト 未使用 未使用 Hスライダー スローカーブ フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 0
31バイト 未使用 未使用 未使用 未使用 チーム8 チーム4 チーム2 チーム1 2
32バイト チェックサム128 チェックサム64 チェックサム32 チェックサム16 チェックサム8 チェックサム4 チェックサム2 チェックサム1 0

  • 設定内訳
    • 名前は文字コード表(ポケ1~2)から「パワポケ」の各文字は「パ」=156「ワ」=124「ポ」=160「ケ」=89で順番に入れる。
    • 右投両打の一塁手なので両打の64のフラグと一塁手のコード2を合算して66。
    • パワーは200なのでそのまま200。
    • ミート6は16倍して96、肩力5の5を合算して101。
    • 走力6は16倍して96、肩力7の7を合算して103。
    • 00〜09は数値100番以上で表現しているので、背番号09は109。
    • 17バイトはチャンス○の64とパワーヒッターの2のフラグを合算して66。
    • 19バイトは威圧感の8のみなので8。
    • 22バイトは安定感の128のみなので128。
    • 振り子打法は打撃フォームのコードが3なので16倍して48、エラー率8の8の合算で56。
    • 投手能力はメインポジションが投手ではない時は全て0。
    • 横浜はチームのコードが2なので2。


圧縮フラグの設定

圧縮フラグは対応するバイトの値が1以上の時にON(1)にして、バイトの数値として合算する。
例にすると、今回は5バイト目が156でバイトの値が1以上の条件を満たすので、5バイト圧縮フラグはONということになる。
別解として逆に予め圧縮フラグを全てONにしておいて、対応するバイトの値が0だったらOFFにするやり方でも同じ結果が出る。
分かりやすいように圧縮フラグがONになるところは水色にした。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 8バイト圧縮フラグ 7バイト圧縮フラグ 6バイト圧縮フラグ 5バイト圧縮フラグ 79
2バイト 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 95
3バイト 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 6
4バイト 未使用 未使用 未使用 未使用 未使用 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 4
5バイト 名前1文字目128 名前1文字目64 名前1文字目32 名前1文字目16 名前1文字目8 名前1文字目4 名前1文字目2 名前1文字目1 156
6バイト 名前2文字目128 名前2文字目64 名前2文字目32 名前2文字目16 名前2文字目8 名前2文字目4 名前2文字目2 名前2文字目1 124
7バイト 名前3文字目128 名前3文字目64 名前3文字目32 名前3文字目16 名前3文字目8 名前3文字目4 名前3文字目2 名前3文字目1 160
8バイト 名前4文字目128 名前4文字目64 名前4文字目32 名前4文字目16 名前4文字目8 名前4文字目4 名前4文字目2 名前4文字目1 89
9バイト 名前5文字目128 名前5文字目64 名前5文字目32 名前5文字目16 名前5文字目8 名前5文字目4 名前5文字目2 名前5文字目1 0
10バイト 名前6文字目128 名前6文字目64 名前6文字目32 名前6文字目16 名前6文字目8 名前6文字目4 名前6文字目2 名前6文字目1 0
11バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 66
12バイト 未使用 サプポジション外 サプポジション遊 サプポジション三 サプポジション二 サプポジション一 サプポジション捕 未使用 0
13バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 200
14バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 101
15バイト 走力8 走力4 走力2 走力1 守備力8 守備力4 守備力2 守備力1 103
16バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 109
17バイト チャンス× チャンス○ 対左投手× 対左投手○ 流し打ち 広角打法 パワーヒッター アベレージヒッター 66
18バイト キャッチャー○ 送球○ 盗塁× 盗塁○ ヘッドスライディング 内野安打○ サヨナラ男 逆境○ 0
19バイト ムード○ ムラッ気 バント× バント○ 威圧感 ブロック○ 体当たり キャッチャー◎ 8
20バイト 寸前× 回復× 回復○ ケガ× ケガ○ センス× センス○ ムード× 0
21バイト 負け運 勝ち運 尻上がり 一発 ピンチ× ピンチ○ リリース○ ランナー× 0
22バイト 安定感 三振 初球○ 対左打者× 対左打者○ けん制○ 短気 打球反応○ 128
23バイト 未使用 人気者 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 56
24バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 0
25バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 0
26バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 0
27バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 0
28バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 0
29バイト シンカー8 シンカー4 シンカー2 シンカー1 シュート8 シュート4 シュート2 シュート1 0
30バイト 未使用 未使用 Hスライダー スローカーブ フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 0
31バイト 未使用 未使用 未使用 未使用 チーム8 チーム4 チーム2 チーム1 2
32バイト チェックサム128 チェックサム64 チェックサム32 チェックサム16 チェックサム8 チェックサム4 チェックサム2 チェックサム1 0


チェックサムの計算

チェックサムとは、データの送受信時にデータの値の総和を利用した誤り検出方法の一種である。
パワポケ1のチェックサムは次のように計算する。
sum=(1~31バイトの値の合計) mod 256

これを計算していくと、
sum=(79+95+6+4+156+124+160+89+66+200+101+103+109+66+8+128+56+2) mod 256
sum=1552 mod 256
sum=16

よって、チェックサムのバイトには16を入れる。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 8バイト圧縮フラグ 7バイト圧縮フラグ 6バイト圧縮フラグ 5バイト圧縮フラグ 79
2バイト 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 95
3バイト 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 6
4バイト 未使用 未使用 未使用 未使用 未使用 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 4
5バイト 名前1文字目128 名前1文字目64 名前1文字目32 名前1文字目16 名前1文字目8 名前1文字目4 名前1文字目2 名前1文字目1 156
6バイト 名前2文字目128 名前2文字目64 名前2文字目32 名前2文字目16 名前2文字目8 名前2文字目4 名前2文字目2 名前2文字目1 124
7バイト 名前3文字目128 名前3文字目64 名前3文字目32 名前3文字目16 名前3文字目8 名前3文字目4 名前3文字目2 名前3文字目1 160
8バイト 名前4文字目128 名前4文字目64 名前4文字目32 名前4文字目16 名前4文字目8 名前4文字目4 名前4文字目2 名前4文字目1 89
9バイト 名前5文字目128 名前5文字目64 名前5文字目32 名前5文字目16 名前5文字目8 名前5文字目4 名前5文字目2 名前5文字目1 0
10バイト 名前6文字目128 名前6文字目64 名前6文字目32 名前6文字目16 名前6文字目8 名前6文字目4 名前6文字目2 名前6文字目1 0
11バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 66
12バイト 未使用 サプポジション外 サプポジション遊 サプポジション三 サプポジション二 サプポジション一 サプポジション捕 未使用 0
13バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 200
14バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 101
15バイト 走力8 走力4 走力2 走力1 守備力8 守備力4 守備力2 守備力1 103
16バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 109
17バイト チャンス× チャンス○ 対左投手× 対左投手○ 流し打ち 広角打法 パワーヒッター アベレージヒッター 66
18バイト キャッチャー○ 送球○ 盗塁× 盗塁○ ヘッドスライディング 内野安打○ サヨナラ男 逆境○ 0
19バイト ムード○ ムラッ気 バント× バント○ 威圧感 ブロック○ 体当たり キャッチャー◎ 8
20バイト 寸前× 回復× 回復○ ケガ× ケガ○ センス× センス○ ムード× 0
21バイト 負け運 勝ち運 尻上がり 一発 ピンチ× ピンチ○ リリース○ ランナー× 0
22バイト 安定感 三振 初球○ 対左打者× 対左打者○ けん制○ 短気 打球反応○ 128
23バイト 未使用 人気者 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 56
24バイト 球速128 球速64 球速32 球速16 球速8 球速4 球速2 球速1 0
25バイト コントロール128 コントロール64 コントロール32 コントロール16 コントロール8 コントロール4 コントロール2 コントロール1 0
26バイト スタミナ128 スタミナ64 スタミナ32 スタミナ16 スタミナ8 スタミナ4 スタミナ2 スタミナ1 0
27バイト 投球フォーム8 投球フォーム4 投球フォーム2 投球フォーム1 スライダー8 スライダー4 スライダー2 スライダー1 0
28バイト カーブ8 カーブ4 カーブ2 カーブ1 フォーク8 フォーク4 フォーク2 フォーク1 0
29バイト シンカー8 シンカー4 シンカー2 シンカー1 シュート8 シュート4 シュート2 シュート1 0
30バイト 未使用 未使用 Hスライダー スローカーブ フォーク系特殊変化球8 フォーク系特殊変化球4 フォーク系特殊変化球2 フォーク系特殊変化球1 0
31バイト 未使用 未使用 未使用 未使用 チーム8 チーム4 チーム2 チーム1 2
32バイト チェックサム128 チェックサム64 チェックサム32 チェックサム16 チェックサム8 チェックサム4 チェックサム2 チェックサム1 16


バイト圧縮

チェックサムまでデータの入力が終わったら、各バイト圧縮フラグとチェックサムがあるバイト以外のバイトを圧縮する。
圧縮方法は各バイト圧縮フラグとチェックサムがあるバイト(表で言うと数値の背景が紫のバイト)以外の数値が0のバイトは省き、その分上に詰めていく。
バイト 128 64 32 16 8 4 2 1 数値
1バイト 12バイト圧縮フラグ 11バイト圧縮フラグ 10バイト圧縮フラグ 9バイト圧縮フラグ 8バイト圧縮フラグ 7バイト圧縮フラグ 6バイト圧縮フラグ 5バイト圧縮フラグ 79
2バイト 20バイト圧縮フラグ 19バイト圧縮フラグ 18バイト圧縮フラグ 17バイト圧縮フラグ 16バイト圧縮フラグ 15バイト圧縮フラグ 14バイト圧縮フラグ 13バイト圧縮フラグ 95
3バイト 28バイト圧縮フラグ 27バイト圧縮フラグ 26バイト圧縮フラグ 25バイト圧縮フラグ 24バイト圧縮フラグ 23バイト圧縮フラグ 22バイト圧縮フラグ 21バイト圧縮フラグ 6
4バイト 未使用 未使用 未使用 未使用 未使用 31バイト圧縮フラグ 30バイト圧縮フラグ 29バイト圧縮フラグ 4
5バイト 名前1文字目128 名前1文字目64 名前1文字目32 名前1文字目16 名前1文字目8 名前1文字目4 名前1文字目2 名前1文字目1 156
6バイト 名前2文字目128 名前2文字目64 名前2文字目32 名前2文字目16 名前2文字目8 名前2文字目4 名前2文字目2 名前2文字目1 124
7バイト 名前3文字目128 名前3文字目64 名前3文字目32 名前3文字目16 名前3文字目8 名前3文字目4 名前3文字目2 名前3文字目1 160
8バイト 名前4文字目128 名前4文字目64 名前4文字目32 名前4文字目16 名前4文字目8 名前4文字目4 名前4文字目2 名前4文字目1 89
9バイト 未使用 両打 左打 左投 メインポジション8 メインポジション4 メインポジション2 メインポジション1 66
10バイト パワー128 パワー64 パワー32 パワー16 パワー8 パワー4 パワー2 パワー1 200
11バイト ミートカーソル8 ミートカーソル4 ミートカーソル2 ミートカーソル1 肩力8 肩力4 肩力2 肩力1 101
12バイト 走力8 走力4 走力2 走力1 守備力8 守備力4 守備力2 守備力1 103
13バイト 背番号128 背番号64 背番号32 背番号16 背番号8 背番号4 背番号2 背番号1 109
14バイト チャンス× チャンス○ 対左投手× 対左投手○ 流し打ち 広角打法 パワーヒッター アベレージヒッター 66
15バイト ムード○ ムラッ気 バント× バント○ 威圧感 ブロック○ 体当たり キャッチャー◎ 8
16バイト 安定感 三振 初球○ 対左打者× 対左打者○ けん制○ 短気 打球反応○ 128
17バイト 未使用 人気者 打撃フォーム2 打撃フォーム1 エラー率8 エラー率4 エラー率2 エラー率1 56
18バイト 未使用 未使用 未使用 未使用 チーム8 チーム4 チーム2 チーム1 2
19バイト チェックサム128 チェックサム64 チェックサム32 チェックサム16 チェックサム8 チェックサム4 チェックサム2 チェックサム1 16
20バイト - - - - - - - - 0
21バイト - - - - - - - - 0
22バイト - - - - - - - - 0
23バイト - - - - - - - - 0
24バイト - - - - - - - - 0
25バイト - - - - - - - - 0
26バイト - - - - - - - - 0
27バイト - - - - - - - - 0
28バイト - - - - - - - - 0
29バイト - - - - - - - - 0
30バイト - - - - - - - - 0
31バイト - - - - - - - - 0
32バイト - - - - - - - - 0


文字データに変換

圧縮したバイトを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文字目 0 0 1 1 1 1 15
2文字目 0 1 1 1 1 1 31
3文字目 0 0 0 1 0 1 5
4文字目 0 0 0 1 1 0 6
5文字目 0 0 0 1 0 0 4
6文字目 0 0 1 1 0 0 12
7文字目 0 1 1 0 0 1 25
8文字目 1 1 1 1 0 0 60
9文字目 1 0 0 0 0 0 32
10文字目 1 0 1 0 0 1 41
11文字目 0 1 0 1 0 1 21
12文字目 0 0 0 0 1 0 2
13文字目 0 0 1 0 0 0 8
14文字目 1 1 0 1 0 1 53
15文字目 0 1 0 1 1 0 22
16文字目 1 0 0 1 1 1 39
17文字目 1 0 1 1 0 1 45
18文字目 0 1 0 0 1 0 18
19文字目 0 0 0 1 0 0 4
20文字目 0 0 1 0 0 0 8
21文字目 0 0 0 0 0 0 0
22文字目 1 0 1 0 0 0 40
23文字目 0 0 0 0 1 1 3
24文字目 0 0 0 0 1 0 2
25文字目 0 1 0 0 0 0 16
26文字目 0 0 0 0 0 0 0


数値を文字に換算する

最後に変換して得られた6ビットの数値を文字換算表で文字に換算していく。
パワポケ1の文字換算は第一世代なので、第一世代文字換算を使用して換算していくと以下の結果になる。
文字数 数値 文字
1文字目 15
2文字目 31
3文字目 5
4文字目 6
5文字目 4
6文字目 12
7文字目 25
8文字目 60
9文字目 32
10文字目 41
11文字目 21
12文字目 2
13文字目 8
14文字目 53
15文字目 22
16文字目 39
17文字目 45
18文字目 18
19文字目 4
20文字目 8
21文字目 0
22文字目 40
23文字目 3
24文字目 2
25文字目 16
26文字目 0


パスワードの完成

いつもの見やすいような配置に並べ替えると、
ぞきお けぎも ろちず みぐよ
じらま つやど ぎじあ べかよ
そあ

これで最初に設定した名前パワポケの選手パスワードの完成となる。
最終更新:2024年01月02日 13:06