最終更新:ID:1JNz0lgnfQ 2015年03月17日(火) 06:37:06履歴
メモリ空間 | 2 |
---|---|
ルーチン番号 | 8 |
グラフィック・アクセス用インターフェイス・バッファの構成
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | ... | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ERR | CMD | - | - | MSN | - | SX1 | SY1 | SX2 | SY2 | VARPNT | PGVLEN | - | - | - | - | GETCLN | CL1 | ... | CLn |
- MSN:転送先のメモリ空間番号
- SX1:転送元の第1座標の水平方向値(スクリーン座標値)
- SY1:転送元の第1座標の垂直方向値(スクリーン座標値)
- SX2:転送元の第2座標の水平方向値(スクリーン座標値)
- SY2:転送元の第2座標の垂直方向値(スクリーン座標値)
- VARPNT:転送先のメモリ空間上での先頭アドレス
- PGVLEN:転送するパターン・データの長さ
- GETCLN:転送色フラグ
$FF…画面上のカラーグラフィック・パターンをメモリに転送
01〜08…指定した色のドット・パターンをメモリに転送
00…現在のデフォルト色のドット・パターンをメモリに転送 - CL1〜CLn:グラフィックのパレット番号 0〜7
項 | 書式1 | 書式2 |
---|---|---|
1.機能概要 | 画面上のカラーグラフィック・パターンをメモリに読み込む | 指定した色のドット・パターンをメモリに読み込む |
2.座標系 | スクリーン座標 | スクリーン座標 |
3.メモリ内のデータ形式 | 横のドット数(=X):2バイト 縦のドット数(=Y):2バイト Blue:((X+7)\8)*Yバイト Red:((X+7)\8)*Yバイト Green:((X+7)\8)*Yバイト | 横のドット数:2バイト 縦のドット数:2バイト ドット・パターン:((X+7)\8)*Yバイト 指定色で塗られたドットを1、その他を0として読み込む |
画面上のグラフィック座標(0,0)、(200,64)の2点を対角線としたグラフィック・パターンを、メモリ空間上$Eのアドレス$B000へ転送します。
100 DEF MAP=0 110 CLEAR ,$A000 120 LOADM"GET" 130 LINE(50,5)-(170,5),PSET,3:LINE-(170,55),PSET,3 140 LINE-(50,55),PSET,3:LINE-(50,5),PSET,3 150 LINE(120,20)-(250,20),PSET,3:LINE-(250,100),PSET,3 160 LINE-(120,100),PSET,3:LINE-(120,20),PSET,3 170 PAINT(140,40),2,3 180 LINE(0,0)-(200,64),PSET,6,B 190 EXEC &HC000 200 END
0 C000 GET EQU * --SAMPLE OF "GET" ROUTINE-- 1 C000 20 19 BRA STEP1 2 F010 PIFBUF EQU $F010 POINT ADDR 3 * OF GRAPHIC I/F BUF. 4 C002 00 PARM FCB $00 ERROR CODE 5 C003 00 FCB $00 COMMAND CODE 6 C004 0000 FCD $0000 NOT USE(2Bytes) 7 C006 0F FCB $0F TRANSFER MAP NO 8 C007 00 FCB $00 NOT USE(1Byte) 9 C008 0000 FDB 0 HORIZONTAL POSITION1 10 C00A 0000 FDB 0 VERTICAL POSITION1 11 C00C 00C8 FDB 200 HORIZONTAL POSITION2 12 C00E 0040 FDB 64 VERTICAL POSITION2 13 C010 A000 FDB $A000 VARIABLE POINT ADDR 14 C012 5074 FDB $5074 DATA LENGTH 15 C014 0004 RMB $04 NOT USE(4Bytes) 16 C018 FF FCB $FF COLOR COUNT $FF:ALL COLOR 17 C019 00 FCB $00 COLOR CODE 1 18 C01A 00 FCB $00 COLOR CODE 2 19 C01B PARME EQU * 20 C01B STEP1 EQU * --- SET PARM. TO BUF. --- 21 C01B 103F SWI2 GRAPHIC I/F BUF. INIT. 22 C01D 41 FCB $41 23 C01E 69 FCB $69 24 C01F BE F010 LDX PIFBUF X:GRAPHIC I/F BUF. ADDR 25 C022 31 8CDD LEAY PARM,PCR Y:TOP ADDR. OF PARM. 26 C025 C6 19 LDB #PARME-PARM B:PARM. COUNTER 27 C027 A6 A0 LOOP LDA ,Y+ A:PARM. DATA 28 C029 A7 80 STA ,X+ GRAPHIC I/F BUF. <-- A 29 C02B 5A DECB PARM. DATA END ? 30 C02C 26 F9 BNE LOOP 31 C02E 103F SWI2 CALL "GET" ROUTINE 32 C030 42 FCB $42 MAP NO=2 33 C031 08 FCB $08 ROUTINE NO=8 34 C032 39 RTS
コメントをかく