アドレス | 内容 | 種類 | ラベル |
---|---|---|---|
100H〜102H | 未使用(ご自由にお使いください) | ‐ | SPA |
103H〜1A0H | 仮想VRAM1段目(非表示部分含む) | データ | V0 |
1A1H〜23EH | 仮想VRAM2段目( 〃 ) | データ | V2 |
23FH〜2DCH | 仮想VRAM3段目( 〃 ) | データ | V3 |
2DDH〜37AH | 仮想VRAM4段目( 〃 ) | データ | V4 |
37BH | 仮想VRAM1段目の表示ドット数 | データ | H1 |
37CH | 仮想VRAM2段目の 〃 | データ | H2 |
37DH | 仮想VRAM3段目の 〃 | データ | H3 |
37EH | 仮想VRAM4段目の 〃 | データ | H4 |
37FH | フルドットの機種か否か | フラグ | FUL |
380H〜44BH | 仮想VRAMにキャラクタを配置する | サブルーチン | MAI |
44CH〜459H | 仮想VRAMの内容をクリアする | サブルーチン | CLE |
45AH〜4C7H | 仮想VRAMを表示する | サブルーチン | DIS |
4C8H〜4CFH | 未使用(ご自由にお使いください) | ‐ | SP2 |
キャラクタを仮想VRAMに配置する |
Bレジスタ 配置するキャラクタの横の長さ(1〜8) Eレジスタ 配置するキャラクタのX座標(0〜255) Dレジスタ 配置するキャラクタのY座標(0〜255) HLレジスタ 配置するキャラクタのデータの開始アドレス 実行アドレス CALL 380H |
もとの座標 | システムが認識する座標 |
---|---|
249(0F9H) | −7 |
250(0FAH) | −6 |
251(0FBH) | −5 |
252(0FCH) | −4 |
253(0FDH) | −3 |
254(0FEH) | −2 |
255(0FFH) | −1 |
仮想VRAMを表示する |
実行アドレス CALL 45AH |
<例1> 37BH(1段目)=144 37CH(2段目)=144 37DH(3段目)=144 37EH(4段目)=144 仮想VRAMの内容を全て表示します。(デフォルトの設定) |
<例2> 37BH(1段目)=100 37CH(2段目)=100 37DH(3段目)=100 37EH(4段目)=100 1段目〜4段目まで左から100ドット表示します。 |
<例3> 37BH(1段目)=144 37CH(2段目)=0 37DH(3段目)=0 37EH(4段目)=144 1段目と4段目のみ表示します。 |
<例4> 37BH(1段目)=100 37CH(2段目)=110 37DH(3段目)=120 37EH(4段目)=130 それぞれの段で違うドット数を表示する事もできます。 |
仮想VRAMの内容をクリアする |
実行アドレス CALL 44CH |
10 ORG 100H 20SPA: DS 3 30V0: DS 7 40V1: DS 151 50V2: DS 158 60V3: DS 158 70V4: DS 158 80H1: DB 144 90H2: DB 144 100H3: DB 144 110H4: DB 144 120FUL: DB 0 130PUT: LD A,B 140 LD (BOX),A 150 LD A,D 160 ADD A,10 170 LD D,A 180 LD A,E 190 ADD A,10 200 LD E,A 210 LD (XZA),DE 220 LD DE,UP 230 LD BC,8 240 LDIR 250 LD HL,UP 260 LD C,8 270 LDIR 280 LD A,(XZA) 290 CP 154 300 RET NC 310 LD B,A 320 LD A,(BOX) 330 ADD A,B 340 CP 11 350 RET C 360 LD A,(YZA) 370 CP 42 380 RET NC 390 CP 3 400 RET C 410 LD DE,0 420 CP 10 430 JR NC,NE3 440 SUB 2 450 DEC D 460 JR NE4 470NE3: SUB 10 480L1: CP 8 490 JR C,NE4 500 SUB 8 510 INC D 520 JR L1 530NE4: LD E,A 540 OR A 550 JR Z,NE5 560 LD B,E 570L2: PUSH BC 580 LD B,8 590 LD HL,UP 600L3: SLA (HL) 610 INC HL 620 DJNZ L3 630 POP BC 640 DJNZ L2 650NE5: LD A,8 660 SUB E 670 LD B,A 680L4: PUSH BC 690 LD B,8 700 LD HL,DWN 710L5: SRL (HL) 720 INC HL 730 DJNZ L5 740 POP BC 750 DJNZ L4 760 LD HL,V0 770 LD A,D 780 CP 255 790 JR NZ,NE6 800 LD A,(XZA) 810 SUB 3 820 LD E,A 830 LD D,0 840 ADD HL,DE 850 JR KK 860NE6: OR A 870 JR Z,NE7 880 LD B,D 890 LD DE,158 900L6: ADD HL,DE 910 DJNZ L6 920NE7: LD A,(XZA) 930 SUB 3 940 LD E,A 950 LD D,0 960 ADD HL,DE 970 LD DE,UP 980 PUSH HL 990 CALL WOW 1000 POP HL 1010 LD A,(YZA) 1020 CP 34 1030 RET NC 1040 LD DE,158 1050 ADD HL,DE 1060KK: LD DE,DWN 1070WOW:LD A,(BOX) 1080 LD B,A 1090L7: LD A,(DE) 1100 OR (HL) 1110 LD (HL),A 1120 INC DE 1130 INC HL 1140 DJNZ L7 1150 RET 1160BOX:DB 0 1170XZA:DB 0 1180YZA:DB 0 1190UP: DS 8 1200DWN:DS 8 1210CLE:LD HL,V0 1220 LD DE,V0+1 1230 LD (HL),0 1240 LD BC,631 1250 LDIR 1260 RET 1270DIS:LD IX,37BH 1280 LD DE,0 1290 LD HL,V1 1300 LD A,(FUL) 1310 OR A 1320 JR Z,E2 1330E1: LD B,(IX) 1340 INC B 1350 DEC B 1360 JR Z,NE8 1370 PUSH DE 1380 PUSH HL 1390 PUSH IX 1400 CALL 0BFD0H 1410 POP IX 1420 POP HL 1430 POP DE 1440NE8:INC IX 1450 INC D 1460 LD BC,158 1470 ADD HL,BC 1480 LD A,D 1490 CP 4 1500 JR NZ,E1 1510 RET 1520E2: LD B,(IX) 1530 INC B 1540 DEC B 1550 JR Z,NE9 1560 LD A,B 1570 LD (YOK),A 1580 PUSH IX 1590 PUSH DE 1600 PUSH HL 1610E3: LD B,5 1620 LD A,(YOK) 1630 CP 5 1640 JR NC,E4 1650 LD B,A 1660E4: PUSH DE 1670 CALL 0BFD0H 1680 POP DE 1690 INC E 1700 INC HL 1710 INC HL 1720 LD A,(YOK) 1730 SUB 6 1740 LD (YOK),A 1750 JR C,E5 1760 JR NZ,E3 1770E5: POP HL 1780 POP DE 1790 POP IX 1800NE9:INC IX 1810 INC D 1820 LD BC,158 1830 ADD HL,BC 1840 LD A,D 1850 CP 4 1860 JR NZ,E2 1870 RET 1880YOK:DB 0 1890SP2:DS 8========================
FOR E200/G801/G802/G803/G805 G811/G813/G815/G820/G830 G850/G850S/G850V/G850VS |
lzh形式 | zip形式 |