- バージョン:その1
ポート9,10のチェックは後回し、挙動が少し変わるかも...
0x10A1 FE 48 CP A, 0x48
0x10A3 30 0C JR NC, 0x10B1 +12 // ポート8まで -> 元のテーブル参照
0x10A5 47 LD B, A
0x10A6 21 18 18 LD HL, 0x1818 // 0x1860 - 0x48
0x10A9 85 ADD A, L // 桁上りなし
0x10AA 6F LD L, A
0x10AB 7E LD A, (HL)
0x10AC A7 AND A // CY = 0
0x10AD 28 02 JR Z, 0x10B1 +2 // 00 -> 元のテーブル参照 (F1-5)
0x10AF 78 LD A, B
0x10B0 C9 RET
0x10B1-0x10D6 (21...E9) // 変更なし
0x10D7 00 00 00 00 00 00 00 00 00 // 消さなくても良い
0x10E0-0x10E4 (E1...C9) // 変更なし
タイトルメッセージを縮めて、テーブルを詰め込む
0x1830 4E 2D 42 41 53 49 43 20
0x1840 56 65 72 20 31 2E 31 2B 20 28 63 29 31 39 37 39
0x1850 20 4D 69 63 72 6F 73 6F 66 74 0D 0A 00 00 00 00
0x1860 03 00 00 00 00 00 20 1B 09 1F 1D 00 00 00 00 00
0x1870 00 00 00 00 00
- バージョン:その2
まずポート9,10をチェックするので無駄が多いが、オリジナルに近い
0x10A1 21 60 18 LD HL, 0x1860
0x10A4 01 06 00 LD BC, 6 // データ数
0x10A7 ED B1 CPIR
0x10A9 20 06 JR NZ, 0x10B1 +6 // 見つからなかった -> 元のテーブル参照
0x10AB 0E 05 LD C, 5 // データ数 - 1
0x10AD 09 ADD HL, BC
0x10AE 7E LD A, (HL)
0x10AF C9 RET
0x10B0 00 NOP
0x10B1-0x10D6 (21...E9) // 変更なし
0x10D7 00 00 00 00 00 00 00 00 00 // 消さなくても良い
0x10E0-0x10E4 (E1...C9) // 変更なし
タイトルメッセージを縮めて、テーブルを詰め込む
0x1830 4E 2D 42 41 53 49 43 20
0x1840 56 65 72 20 31 2E 31 2B 20 28 63 29 31 39 37 39
0x1850 20 4D 69 63 72 6F 73 6F 66 74 0D 0A 00 00 00 00
0x1860 52 51 50 4F 4E 48 1D 1F 09 1B 20 03 00 00 00 00
0x1870 00 00 00 00 00
- バージョン:その2改
[Tab]を除いてコンパクトにまとめた
0x10A1 21 D6 10 LD HL, 0x10D6
0x10A4 01 05 00 LD BC, 5 // データ数
0x10A7 ED B1 CPIR
0x10A9 20 05 JR NZ, 0x10B0 +5 // 見つからなかった -> 元のテーブル参照
0x10AB 0E 04 LD C, 4 // データ数 - 1
0x10AD 09 ADD HL, BC
0x10AE 7E LD A, (HL)
0x10AF C9 RET
0x10B0-0x10D5 (21...E9) // 0x10B1-0x10D6 を1バイトずらす
0x10D6 52 51 4F 4E 48 1D 1F 1B 20 03
0x10E0-0x10E4 (E1...C9) // 変更なし
0x184D 31 2E 31 2B // " 1.1" -> "1.1+"