アクセスフラグ : 書ワ強VH-
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| DF | DE | DD | DC | DB | Dx | D9 | D8 |
| x | x | x | x | x | x | x | x |
| x | x | x | x | x | x | x | x |
アクセスフラグ : 書ワ強VH-
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| DF | DE | DD | DC | DB | Dx | D9 | D8 |
| x | x | x | x | x | x | x | x |
| x | x | x | x | x | x | x | x |
これらは、 M7A ~ M7D と同じように 2 度書きレジスタで、 値は 2 の補数表現になる。
行列変換の式 :
[ X ] [ A B ] [ SX + M7HOFS - CX ] [ CX ] [ ] = [ ] * [ ] + [ ] [ Y ] [ C D ] [ SY + M7VOFS - CY ] [ CY ]
SX/SY はスクリーンの座標。 X/Y はプレイ中の画面から得られるピクセルの座標。 0x211a のビット 7 がクリアされている場合、 結果は 0<=X<=1023 と 0<=Y<=1023 の範囲に制限される。 0x211a のビット 6 と 7 が両方セットされていて、 X か Y が 0 より小さいか、 1023 より大きい場合、 それぞれの下位 3 ビットはキャラクタ 0 からピクセルが選択される。
ビット精度を考慮した式 :
#define CLIP(a) (((a)&0x2000)?((a)|~0x3ff):((a)&0x3ff))
X[0,y] = ((A*CLIP(HOFS-CX))&~63)
+ ((B*y)&~63) + ((B*CLIP(VOFS-CY))&~63)
+ (CX<<8)
Y[0,y] = ((C*CLIP(HOFS-CX))&~63)
+ ((D*y)&~63) + ((D*CLIP(VOFS-CY))&~63)
+ (CY<<8)
X[x,y] = X[x-1,y] + A
Y[x,y] = Y[x-1,y] + C
(全ての場合で、X[], Y[] は 8 ビットの固定小数点表現)