アドレス | 内容 | 種類 | ラベル |
---|---|---|---|
100H〜102H | 未使用(ご自由にお使いください) | ‐ | SPA |
103H〜1A0H | 仮想VRAM1段目(非表示部分含む) | データ | V0 |
1A1H〜23EH | 仮想VRAM2段目( 〃 ) | データ | V2 |
23FH〜2DCH | 仮想VRAM3段目( 〃 ) | データ | V3 |
2DDH〜37AH | 仮想VRAM4段目( 〃 ) | データ | V4 |
37BH〜418H | 仮想VRAM5段目( 〃 ) | データ | V5 |
419H〜4B6H | 仮想VRAM6段目( 〃 ) | データ | V6 |
4B7H | 仮想VRAM1段目の表示ドット数 | データ | H1 |
4B8H | 仮想VRAM2段目の 〃 | データ | H2 |
4B9H | 仮想VRAM3段目の 〃 | データ | H3 |
4BAH | 仮想VRAM4段目の 〃 | データ | H4 |
4BBH | 仮想VRAM5段目の 〃 | データ | H5 |
4BCH | 仮想VRAM6段目の 〃 | データ | H6 |
4BDH〜59AH | 仮想VRAMにキャラクタを配置する | サブルーチン | MAI |
59BH〜5A8H | 仮想VRAMの内容をクリアする | サブルーチン | CLE |
5A9H〜5D1H | 仮想VRAMを表示する | サブルーチン | DIS |
5D2H〜5DFH | 未使用(ご自由にお使いください) | ‐ | SP2 |
キャラクタを仮想VRAMに配置する |
Bレジスタ 配置するキャラクタの横の長さ(1〜8) Eレジスタ 配置するキャラクタのX座標(0〜255) Dレジスタ 配置するキャラクタのY座標(0〜255) HLレジスタ 配置するキャラクタのデータの開始アドレス 実行アドレス CALL 4BDH |
もとの座標 | システムが認識する座標 |
---|---|
249(0F9H) | −7 |
250(0FAH) | −6 |
251(0FBH) | −5 |
252(0FCH) | −4 |
253(0FDH) | −3 |
254(0FEH) | −2 |
255(0FFH) | −1 |
仮想VRAMを表示する |
実行アドレス CALL 5A9H |
<例1> 4B7H(1段目)=144 4B8H(2段目)=144 4B9H(3段目)=144 4BAH(4段目)=144 4BBH(5段目)=144 4BCH(6段目)=144 仮想VRAMの内容を全て表示します。(デフォルトの設定) |
<例2> 4B7H(1段目)=100 4B8H(2段目)=100 4B9H(3段目)=100 4BAH(4段目)=100 4BBH(5段目)=100 4BCH(6段目)=100 1段目〜6段目までを左から100ドット表示します。 |
<例3> 4B7H(1段目)=121 4B8H(2段目)=121 4B9H(3段目)=121 4BAH(4段目)=121 4BBH(5段目)=0 4BCH(6段目)=0 1段目〜4段目を左から121ドット表示します。 5段目と6段目は表示していません。 |
<例4> 4B7H(1段目)=95 4B8H(2段目)=128 4B9H(3段目)=100 4BAH(4段目)=73 4BBH(5段目)=125 4BCH(6段目)=117 1段目〜6段目までのドット表示数をばらばらにする事も出来ます。 |
仮想VRAMの内容をクリアする |
実行アドレス CALL 59BH |
10 ORG 100H 20SPA: DS 3 30V0: DS 7 40V1: DS 151 50V2: DS 158 60V3: DS 158 70V4: DS 158 80V5: DS 158 90V6: DS 158 100H1: DB 144 110H2: DB 144 120H3: DB 144 130H4: DB 144 140H5: DB 144 150H6: DB 144 160MAI: PUSH BC 170 PUSH DE 180 PUSH HL 190 LD A,B 200 LD (BOX),A 210 LD A,D 220 ADD A,10 230 LD D,A 240 LD A,E 250 ADD A,10 260 LD E,A 270 LD (XZA),DE 280 LD DE,UP 290 LD BC,8 300 LDIR 310 LD HL,UP 320 LD C,8 330 LDIR 340 LD A,(XZA) 350 CP 154 360 JP NC,SA 370 LD B,A 380 LD A,(BOX) 390 ADD A,B 400 CP 11 410 JP C,SA 420 LD A,(YZA) 430 CP 58 440 JP NC,SA 450 CP 3 460 JR C,SA 470 LD DE,0 480 CP 10 490 JR NC,NE3 500 SUB 2 510 DEC D 520 JR NE4 530NE3: SUB 10 540L1: CP 8 550 JR C,NE4 560 SUB 8 570 INC D 580 JR L1 590NE4: LD E,A 600 OR A 610 JR Z,NE5 620 LD B,E 630L2: PUSH BC 640 LD B,8 650 LD HL,UP 660L3: SLA (HL) 670 INC HL 680 DJNZ L3 690 POP BC 700 DJNZ L2 710NE5: LD A,8 720 SUB E 730 LD B,A 740L4: PUSH BC 750 LD B,8 760 LD HL,DWN 770L5: SRL (HL) 780 INC HL 790 DJNZ L5 800 POP BC 810 DJNZ L4 820 LD HL,V0 830 LD A,D 840 CP 255 850 JR NZ,NE6 860 LD A,(XZA) 870 SUB 3 880 LD E,A 890 LD D,0 900 ADD HL,DE 910 JR KK 920NE6: OR A 930 JR Z,NE7 940 LD B,D 950 LD DE,158 960L6: ADD HL,DE 970 DJNZ L6 980NE7: LD A,(XZA) 990 SUB 3 1000 LD E,A 1010 LD D,0 1020 ADD HL,DE 1030 LD DE,UP 1040 PUSH HL 1050 CALL WOW 1060 POP HL 1070 LD A,(YZA) 1080 CP 50 1090 JR NC,SA 1100 LD DE,158 1110 ADD HL,DE 1120KK: LD DE,DWN 1130 CALL WOW 1140SA: POP HL 1150 POP DE 1160 POP BC 1170 RET 1180WOW:LD A,(BOX) 1190 LD B,A 1200L7: LD A,(DE) 1210 OR (HL) 1220 LD (HL),A 1230 INC DE 1240 INC HL 1250 DJNZ L7 1260 RET 1270BOX:DB 0 1280XZA:DB 0 1290YZA:DB 0 1300UP: DS 8 1310DWN:DS 8 1320CLE:LD HL,V0 1330 LD DE,V0+1 1340 LD (HL),0 1350 LD BC,947 1360 LDIR 1370 RET 1380DIS:LD HL,V1 1390 LD DE,0 1400 LD BC,H1 1410L8: PUSH BC 1420 PUSH DE 1430 PUSH HL 1440 LD A,(BC) 1450 OR A 1460 JR Z,D3 1470 CP 144 1480 JR C,D2 1490 LD A,144 1500D2: LD B,A 1510 CALL 0BFD0H 1520D3: POP HL 1530 LD DE,158 1540 ADD HL,DE 1550 POP DE 1560 INC D 1570 POP BC 1580 INC BC 1590 LD A,D 1600 CP 6 1610 JR NZ,L8 1620 RET 1630SP2:DS 14========================
FOR G850/G850S/G850V/G850VS | lzh形式 | zip形式 |
FOR E200/G801/G802/G803/G805 G811/G813/G815/G820/G830 |
非対応 |