日立MB-S1に関する情報

メモリ空間9
ルーチン番号7

機能

画面上の図形を塗りつぶします(PAINT)。

解説

グラフィック・アクセス用インターフェイス・バッファ内に格納されているパラメータに従って、画面に表示されている図形を塗りつぶします。

入力情報

バイト位置

0123456789ABCD...
ERRCMDCL/TL-XYNCLCL1NTLT1T2T3...T36
  • CL/TL:
カラータイルフラグ
0パレット番号指定0〜7
80省略
$FFタイルペイント指定
  • X:指定点の水平座標値 スクリーン座標値
  • Y:指定点の垂直座標値 スクリーン座標値
  • NCL:境界色数(0〜1)
  • CL1:境界色0〜7(カラー番号)
  • NTL:タイル・バイト数(タイル・ペイント指定時のみ設定)
    1〜$24(最大36パターン)
    1タイル番号を指定した場合は、その番号に応じたタイル・パターンで塗ります。
    その時、インターフェイス・バッファにはそのタイル・パターンが格納されます。
  • Bn:青プレーンのパターンn
  • Rn:赤プレーンのパターンn
  • Gn:緑プレーンのパターンn
    たとえば3バイトでタイル・パターンを設定すると、シアンと黄のタイル・パターンになります。

サンプル・プログラム

内容

指定点(100,100)から、パターン・データ$CC、$33のタイル・パターンで塗りつぶします。
 0           0000   PAI400  EQU  *          --SAMPLE OF "PAI400" ROUTINE--
 1 0000   20 0D             BRA  EXEC
 2           F010   PIFBUF  EQU  $F010      POINT ADDR. OF GRAPHIC I/F BUFFER
 2           000D   LEN     EQU  EXEC-PARM  LENGTH OF PARM.
 5 0002      00     PARM    FCB  $00        ERROR CODE
 6 0003      00             FCB  $00        COMMAND CODE
 7 0004      FF             FCB  $FF        0-7:PALETTE CODE $FF:TILING
 8 0005      00             FCB  $00        DUMMY
 9 0006      0064           FDB  100        HORIZONTAL POSITION
10 0008      0064           FDB  100        VERTICAL   POSITION
11 000A      01             FCB  $01        BOUNDARY COLOR COUNT
12 000B      07             FCB  $07        BOUNDARY COLOR
13 000C      02             FCB  $02        TILE BYTE COUNT
14 000D      CC             FCB  $CC        TITLE PATTERN No.1
15 000E      33             FCB  $33        TITLE PATTERN No.2
18           000F   EXEC    EQU  *          --- PROGRAM START ---
19 000F   BE F010           LDX  PIFBUF     X:GRAPHIC I/F BUFFER ADDR. SET
20 0012   31 8CED           LEAY PARM,PCR   Y:PARM. START ADDR. SET
21 0015   C6 0D             LDB  #LEN       B:PARM. COUNT SET
18           0017   LOOP    EQU  *          --- GRAPHIC I/F BUFFER SET ---
22 0017   A6 A0             LDA  ,Y+
23 0019   A7 80             STA  ,X+
24 001B   5A                DECB
25 001C   26 F9             BNE  LOOP
26           001E   EXECM   EQU  *          --- EXECUTION ---
27 001E 103F                SWI2            CALL "PAI400" ROUTINE
28 0020      49             FCB  $49
29 0021      07             FCB  $07
30 0022   39                RTS

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

どなたでも編集できます