最終更新:ID:sjbOxhY1Iw 2015年06月18日(木) 21:46:10履歴
メモリ空間 | 2 |
---|---|
ルーチン番号 | 1 |
グラフィック・アクセス用インターフェイス・バッファ内に格納されているグラフィック座標2点を結ぶ直線、その2点を対角線とする四角形を描きます。
その他の処理に必要なパラメータもすべて、グラフィック・アクセス用インターフェイス・バッファに格納します。
グラフィック・アクセス用インターフェイス・バッファの先頭アドレスはシステム・ワークのPIFBUF($F010)に格納されています。
その他の処理に必要なパラメータもすべて、グラフィック・アクセス用インターフェイス・バッファに格納します。
グラフィック・アクセス用インターフェイス・バッファの先頭アドレスはシステム・ワークのPIFBUF($F010)に格納されています。
LINEMAのグラフィック・アクセス用インターフェイス・バッファの構成
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ERR | CMD | CL | PO | LS | X1 | Y1 | X2 | Y2 | BF | |||||||||||
コード・フィールド | パラメータ・フィールド |
- ERR:エラーコード(出力)*1
- CMD:コマンド・コード*2
- CL:グラフィックのパレット・コード(0〜7)
- PO:プロット・オプションおよびライン・スタイル・フラグ(↓下記参照)
- LS:ライン・スタイル $0000〜$FFFF
- X1:始点の水平方向座標値 スクリーン座標値
- Y1:始点の垂直方向座標値 スクリーン座標値
- X2:終点の水平方向座標値 スクリーン座標値
- Y2:終点の垂直方向座標値 スクリーン座標値
- BF:ボックス・フラグ
- 0:直線を描く
- 1:四角形を描く(,B)
- 2:四角形を塗りつぶす(,BF)
LS | - | - | - | OP |
LS | ライン・スタイル・フラグ |
---|---|
0 | ライン・スタイル指定なし |
1 | ライン・スタイル指定あり |
OP | プロット・オプション |
---|---|
0 | 無指定 |
1 | NOT |
2 | PSET |
3 | PRESET |
4 | AND |
5 | OR |
6 | XOR |
座標上の(0,0)と(639,199)を対角線とする四角形を描きます。
0 C000 LINEMA EQU * --SAMPLE OF "LINEMA" ROUTINE-- 1 C000 20 0F BRA EXEC 2 F010 PIFBUF EQU $F010 POINT ADDR. OF 3 * GRAPHIC I/F BUFFER 4 C002 00 PARM FCB $00 ERROR CODE 5 C003 00 FCB $00 COMMAND CODE 6 C004 02 FCB $02 PALETTE CODE 7 C005 02 FCB $02 PLOT OPTION 8 C006 0000 FDB $0000 LINE STYLE 9 C008 0000 FDB $0000 HORIZONTAL POSITION 1 10 C00A 0000 FDB $0000 VERTICAL POSITION 1 11 C00C 027F FDB $027F HORIZONTAL POSITION 2 12 C00E 00C7 FDB $00C7 VERTICAL POSITION 2 13 C010 01 FCB $01 BOX FLAG 14 C011 EXEC EQU * ----- PROGRAM START ----- 15 C011 BE F010 LDX PIFBUF X:GRAPHIC I/F BUFFER ADDR SET. 16 C014 31 8CEB LEAY PARM,PCR Y:PARM. START ADDR SET 17 C017 C6 0F LDB #$0F B:PARM. START COUNT SET 18 C019 A6 A0 LOOP LDA ,Y+ 19 C01B A7 80 STA ,X+ 20 C01D 5A DECB PARM. SET END ? 21 C01E 26 F9 BNE LOOP 22 C020 103F SWI2 CALL "LINEMA" ROUTINE 23 C022 42 FCB $42 24 C023 01 FCB $01 25 C024 39 RTS
コメントをかく