アドレス | 内容 | 種類 | ラベル |
---|---|---|---|
100H〜102H | 未使用(ご自由にお使いください) | ‐ | YОB |
103H〜192H | 仮想VRAM1段目 | データ | V0 |
193H〜222H | 仮想VRAM2段目 | データ | V2 |
223H〜2B2H | 仮想VRAM3段目 | データ | V3 |
2B3H〜342H | 仮想VRAM4段目 | データ | V4 |
343H〜3D2H | 仮想VRAM5段目 | データ | V5 |
3D3H〜462H | 仮想VRAM6段目 | データ | V6 |
463H〜468H | 仮想VRAM1〜6段目の表示範囲のドット数(0〜144) | データ | H1〜H6 |
469H | オフセットX座標(0〜31) | データ | ОFX |
46AH | オフセットY座標(0〜31) | データ | ОFY |
46BH〜63CH | 仮想VRAMにキャラクタを配置する | サブルーチン | PUT |
63DH〜64CH | 仮想VRAMにマスクパターンとキャラクタを配置する | サブルーチン | MUS |
64DH〜674H | 仮想VRAMにマスクパターンのみを配置する | サブルーチン | MU2 |
675H〜694H | 仮想VRAMの内容をクリアする(全体) | サブルーチン | CLE |
695H〜6D1H | 仮想VRAMの内容をクリアする(表示範囲連動) | サブルーチン | CL2 |
6D2H〜72EH | 仮想VRAMを表示する | サブルーチン | HYО |
72FH〜7DAH | 各種データ(内部で使用) | データ | BОX〜D1 |
7DBH〜7DFH | 未使用(ご自由にお使いください) | ‐ | YО2 |
仮想VRAMにキャラクタを配置する |
Bレジスタ 配置するキャラクタの横のドット数(1〜32) Cレジスタ 配置するキャラクタの縦のマス数(1〜4) Eレジスタ 配置するキャラクタのX座標(0〜255) Dレジスタ 配置するキャラクタのY座標(0〜255) HLレジスタ 配置するキャラクタのデータの開始アドレス 実行アドレス CALL 46BH |
LD B,5 ;モンスターの横の長さは『5』 LD C,1 ;モンスターの縦のマス数は『1』 LD E,10 ;モンスターのX座標は『10』 LD D,25 ;モンスターのY座標は『25』 LD HL,MON;モンスターのビットパターンの先頭アドレス CALL 46BH ; RET ; MON:DB 7EH ;┓ DB 3BH ;┃ DB 7FH ;┃モンスターのビットパターン DB 3BH ;┃ DB 7EH ;┛上のリストを実行すれば仮想VRAM上の(10,25)の位置にモンスターのデータが書き込まれます。
もとの座標 | システムが認識する座標 |
---|---|
225(0E1H) | −31 |
226(0E2H) | −30 |
227(0E3H) | −29 |
228(0E4H) | −28 |
229(0E5H) | −27 |
: : | : : |
251(0FBH) | −5 |
252(0FCH) | −4 |
253(0FDH) | −3 |
254(0FEH) | −2 |
255(0FFH) | −1 |
仮想VRAMに大きなキャラクタを配置する |
LD B,9 ;タワーの横の長さは『9』 LD C,2 ;タワーの縦のマス数は『2』 LD E,70 ;タワーのX座標は『70』 LD D,30 ;タワーのY座標は『30』 LD HL,TОW;タワーのビットパターンの先頭アドレス CALL 46BH ; RET ; TОW:DB 0 ;┓ DB 0 ;┃ DB 0C0H ;┃ DB 78H ;┃ DB 57H ;┃タワーのビットパターン(上段) DB 78H ;┃ DB 0C0H ;┃ DB 0 ;┃ DB 0 ;┛ DB 0C0H ;┓ DB 0A0H ;┃ DB 99H ;┃ DB 57H ;┃ DB 2BH ;┃タワーのビットパターン(下段) DB 57H ;┃ DB 99H ;┃ DB 0A0H ;┃ DB 0C0H ;┛上のリストを実行すれば仮想VRAM上の(70,30)の位置にタワーのデータが書き込まれます。
仮想VRAMにキャラクタとマスクパターンを配置する |
Bレジスタ 配置するキャラクタの横のドット数(1〜32) Cレジスタ 配置するキャラクタの縦のマス数(1〜4) Eレジスタ 配置するキャラクタのX座標(0〜255) Dレジスタ 配置するキャラクタのY座標(0〜255) HLレジスタ 配置するキャラクタのデータの開始アドレス IXレジスタ 配置するマスクパターンのデータの開始アドレス 実行アドレス CALL 63DH |
LD B,15 ;バナナ(マスクパターン)の横の長さは『15』 LD C,1 ;バナナ(マスクパターン)の縦のマス数は『1』 LD E,71 ;バナナ(マスクパターン)のX座標は『71』 LD D,35 ;バナナ(マスクパターン)のY座標は『35』 LD HL,BAN;バナナのビットパターンの先頭アドレス LD IX,MUS;バナナのマスクパターンの先頭アドレス CALL 63DH ; RET ; BAN:DB 38H ;┓ DB 48H ;┃ DB 48H ;┃ DB 90H ;┃ DB 90H ;┃ DB 90H ;┃ DB 90H ;┃ DB 90H ;┃バナナのビットパターン DB 90H ;┃ DB 48H ;┃ DB 48H ;┃ DB 25H ;┃ DB 13H ;┃ DB 0FH ;┃ DB 02H ;┛ MUS:DB 0C7H ;┓ DB 87H ;┃ DB 87H ;┃ DB 0FH ;┃ DB 0FH ;┃ DB 0FH ;┃ DB 0FH ;┃ DB 0FH ;┃バナナのマスクパターン DB 0FH ;┃ DB 87H ;┃ DB 87H ;┃ DB 0C2H ;┃ DB 0E0H ;┃ DB 0F0H ;┃ DB 0FDH ;┛少し分かりにくいですが、タワーの手前にバナナが来てますね。
仮想VRAMにマスクパターンのみを配置する |
Bレジスタ 配置するキャラクタの横のドット数(1〜32) Cレジスタ 配置するキャラクタの縦のマス数(1〜4) Eレジスタ 配置するキャラクタのX座標(0〜255) Dレジスタ 配置するキャラクタのY座標(0〜255) IXレジスタ 配置するマスクパターンのデータの開始アドレス 実行アドレス CALL 64DH |
LD B,15 ;マスクパターンの横の長さは『15』 LD C,1 ;マスクパターンの縦のマス数は『1』 LD E,71 ;マスクパターンのX座標は『10』 LD D,35 ;マスクパターンのY座標は『10』 LD IX,MUS;バナナのマスクパターンの先頭アドレス CALL 64DH ; RET ; MUS:DB 0C7H ;┓ DB 87H ;┃ DB 87H ;┃ DB 0FH ;┃ DB 0FH ;┃ DB 0FH ;┃ DB 0FH ;┃ DB 0FH ;┃バナナのマスクパターン DB 0FH ;┃ DB 87H ;┃ DB 87H ;┃ DB 0C2H ;┃ DB 0E0H ;┃ DB 0F0H ;┃ DB 0FDH ;┛結果はこうなりました。
仮想VRAMを表示する |
実行アドレス CALL 6D2H |
<例1> 463H(1段目)=144 464H(2段目)=144 465H(3段目)=144 466H(4段目)=144 467H(5段目)=144 468H(6段目)=144 仮想VRAMの内容を全て表示します。(デフォルトの設定) |
<例2> 463H(1段目)=100 464H(2段目)=100 465H(3段目)=100 466H(4段目)=100 467H(5段目)=100 468H(6段目)=100 1段目〜6段目までを左から100ドット表示します。 |
<例3> 463H(1段目)=121 464H(2段目)=121 465H(3段目)=121 466H(4段目)=121 467H(5段目)=0 468H(6段目)=0 1段目〜4段目を左から121ドット表示します。 5段目と6段目は表示していません。 |
<例4> 463H(1段目)=95 464H(2段目)=128 465H(3段目)=100 466H(4段目)=73 467H(5段目)=125 468H(6段目)=117 1段目〜6段目までのドット表示数をばらばらにする事も出来ます。 |
仮想VRAMの内容をクリアする |
全体消去 実行アドレス CALL 72FH |
表示範囲連動型消去 実行アドレス CALL 7DBH |
10 ORG 100H;ワクワクシステム3 ソ−スリスト 20YOB: DS 3;ヨビ 30;==================== 40; カソウVRAM 50;==================== 60V1: DS 144;1ダンメ;103H 70V2: DS 144;2ダンメ;193H 80V3: DS 144;3ダンメ;223H 90V4: DS 144;4ダンメ;2B3H 100V5: DS 144;5ダンメ;343H 110V6: DS 144;6ダンメ;3D3H 120;=================== 130; カソウVRAMヒョウジハンイ 140;=================== 150H1: DB 144;1ダンメ;463H 160H2: DB 144;2ダンメ;464H 170H3: DB 144;3ダンメ;465H 180H4: DB 144;4ダンメ;466H 190H5: DB 144;5ダンメ;467H 200H6: DB 144;6ダンメ;468H 210;=================== 220; ザヒョウオフセット 230;=================== 240OFX: DB 0;Xオフセット(0−31);469H 250OFY: DB 0;Yオフセット(0−31);46AH 260;=================== 270; カソウVRAMニキャラPUT 280;=================== 290PUT: XOR A;46BH 300 LD (BOX),A 310OC: LD A,(OFX);オフセットチェック(0−31ノハンイカ?) 320 CP 32 330 JR NC,RE 340 NEG 350 ADD A,E 360 LD (BO2),A 370 LD A,(OFY) 380 CP 32 390 JR NC,RE 400 NEG 410 ADD A,D 420 LD (BO2+1),A 430BC1: LD A,B;Bレジスタチェック(1−32ノハンイカ?) 440 DEC A 450 CP 32 460 JR NC,RE 470BC2: LD A,C;Cレジスタチェック(1−4ノハンイカ?) 480 DEC A 490 CP 4 500 JR NC,RE 510DE1: LD A,(BO2);Xザヒョウチェック(オフセットコミ) 520 CP 144 530 JR C,DE2 540 DEC A 550 SCF 560 CCF 570 ADD A,B 580 JR NC,RE 590DE2: LD A,(BO2+1);Yザヒョウチェック(オフセットコミ) 600 CP 48 610 JR C,HO 620 DEC A 630 PUSH BC 640 LD B,C 650L1: ADD A,8 660 DJNZ L1 670 POP BC 680 CP 48 690 JR C,HO 700RE: LD A,1;スウチハンイガイダッタ! 710 LD (BOX),A 720 RET 730HO: PUSH BC;レジスタヲメモリニホゾン 740 PUSH DE 750 PUSH HL 760 LD DE,(BO2) 770 LD (REC),BC 780 LD (REE),DE 790 LD (REH),HL 800 XOR A 810 LD (SA),A 820HE1: LD A,E;キャラハミダシチェック(ヒダリ) 830 CP −31 840 JR C,HE2 850 ADD A,B 860 LD (REB),A 870 LD C,A 880 LD A,B 890 SUB C 900 LD (SA),A 910 LD B,0 920 LD C,A 930 ADD HL,BC 940 LD (REH),HL 950 XOR A 960 LD (REE),A 970 JR HD1 980HE2: LD A,E;キャラハミダシチェック(ミギ) 990 ADD A,B 1000 CP 145 1010 JR C,HD1 1020 SUB 144 1030 LD (SA),A 1040 LD C,A 1050 LD A,B 1060 SUB C 1070 LD (REB),A 1080HD1:LD A,D;キャラハミダシチェック(シタ) 1090 CP 48 1100 JR NC,HD2 1110 LD A,(REC) 1120 LD B,A 1130 LD A,D 1140L2: ADD A,8 1150 DJNZ L2 1160MD: CP 56 1170 JR C,NEX 1180 LD HL,REC 1190 DEC (HL) 1200 SUB 8 1210 JR MD 1220HD2:DEC A;キャラハミダシチェック(ウエ) 1230MD2:ADD A,8 1240 CP 48 1250 JR C,NEX 1260 LD HL,REC 1270 DEC (HL) 1280 PUSH AF 1290 LD A,(RED) 1300 ADD A,8 1310 LD (RED),A 1320 LD A,(REB) 1330 LD B,A 1340 LD A,(SA) 1350 ADD A,B 1360 LD C,A 1370 LD B,0 1380 LD HL,(REH) 1390 ADD HL,BC 1400 LD (REH),HL 1410 POP AF 1420 JR MD2 1430NEX:LD BC,(REC);ビットパタ−ンカクノウ 1440 LD IX,D1 1450 LD HL,(REH) 1460L3: PUSH IX 1470 POP DE 1480 PUSH BC 1490 LD C,B 1500 LD B,0 1510 LDIR 1520 LD A,(SA) 1530 LD C,A 1540 LD B,0 1550 ADD HL,BC 1560 LD C,32 1570 ADD IX,BC 1580 POP BC 1590 DEC C 1600 DEC C 1610 INC C 1620 JR NZ,L3 1630UME:PUSH IX;ゲダンヲ0マタハ255デウメル 1640 POP HL 1650JU: LD (HL),0;0マタハ255 1660 INC HL 1670 DJNZ JU 1680ZA: LD A,(RED);ハイチザヒョウキメル(Y) 1690 LD B,1 1700 ADD A,8 1710L4: CP 8 1720 JR C,NE2 1730 INC B 1740 SUB 8 1750 JR L4 1760NE2:LD C,A;ビットパタ−ンスライド 1770 LD (ZU),BC 1780 OR A 1790 JR Z,PU2 1800 LD B,A 1810L5: PUSH BC 1820 LD A,(REB) 1830 LD B,A 1840 LD IX,D1 1850L6: LD A,(REC) 1860 LD C,A 1870 SCF 1880JU2:DB 3FH;CCF=3FH/NOP=00H 1890 RL (IX) 1900 RL (IX+32) 1910 DEC C 1920 JR Z,SAI 1930 RL (IX+64) 1940 DEC C 1950 JR Z,SAI 1960 RL (IX+96) 1970 DEC C 1980 JR Z,SAI 1990 INC IX 2000 RL (IX+127) 2010 JR TB 2020SAI:INC IX 2030TB: DJNZ L6 2040 POP BC 2050 DJNZ L5 2060PU2:LD A,(YZA);キャラPUTアドレスケッテイ(Y) 2070 LD B,A 2080 LD HL,V1−288 2090 LD DE,144 2100L7: ADD HL,DE 2110 DJNZ L7 2120 LD A,(RED) 2130 CP −7 2140 JR C,PU3 2150 ADD HL,DE 2160 JR PU5 2170PU3:OR A 2180 JR Z,PU5 2190 CP 8 2200 JR Z,PU5 2210 CP 16 2220 JR Z,PU5 2230 CP 24 2240 JR Z,PU5 2250 CP 32 2260 JR Z,PU5 2270 CP 40 2280 JR Z,PU5 2290 LD A,(REC) 2300 LD B,A 2310 LD A,(RED) 2320 CP 17 2330 JR C,PU4 2340L8: ADD A,8 2350 DJNZ L8 2360 CP 48 2370 JR NC,PU5 2380PU4:LD A,(REC) 2390 INC A 2400 LD (REC),A 2410PU5:LD A,(REE);キャラPUTアドレスケッテイ(X) 2420 LD C,A 2430 LD B,0 2440 ADD HL,BC 2450 LD DE,D1 2460 LD A,(RED) 2470 CP −7 2480 JR C,PU6 2490 LD DE,D1+32 2500PU6:LD A,(REC) 2510 LD B,A 2520L9: PUSH BC 2530 LD A,(REB) 2540 LD B,A 2550 PUSH HL 2560 PUSH DE 2570L10:LD A,(DE) 2580JU3:OR (HL);OR=0B6H/AND=0A6H 2590 LD (HL),A 2600 INC HL 2610 INC DE 2620 DJNZ L10 2630 LD C,32 2640 POP HL 2650 ADD HL,BC 2660 PUSH HL 2670 POP DE 2680 LD C,144 2690 POP HL 2700 ADD HL,BC 2710 POP BC 2720 DJNZ L9 2730 POP HL 2740 POP DE 2750 POP BC 2760 RET 2770;========================= 2780; カソウVRAMニマスクパタ−ン&キャラPUT 2790;========================= 2800MUS:CALL MU2;63DH 2810 LD A,(BOX) 2820 OR A 2830 RET NZ 2840 PUSH IX 2850 CALL HO 2860 POP IX 2870 RET 2880;======================= 2890; カソウVRAMニマスクパタ−ンノミPUT 2900;======================= 2910MU2:PUSH HL;64DH 2920 PUSH IX 2930 POP HL 2940KA: LD A,255;プログラムカキカエ 2950 LD (JU+1),A 2960 XOR A 2970 LD (JU2),A 2980 LD A,0A6H 2990 LD (JU3),A 3000 CALL PUT 3010KA2:XOR A;プログラムモドス 3020 LD (JU+1),A 3030 LD A,3FH 3040 LD (JU2),A 3050 LD A,0B6H 3060 LD (JU3),A 3070 PUSH HL 3080 POP IX 3090 POP HL 3100 RET 3110;==================== 3120; カソウVRAM0クリア(ゼンタイ) 3130;==================== 3140CLE:DI;675H 3150 LD (SP1+1),SP 3160 LD SP,V1+864 3170 LD HL,0;”0000”デウメル 3180 LD B,36 3190L11:PUSH HL;24バイトズツテンソウ 3200 PUSH HL 3210 PUSH HL 3220 PUSH HL 3230 PUSH HL 3240 PUSH HL 3250 PUSH HL 3260 PUSH HL 3270 PUSH HL 3280 PUSH HL 3290 PUSH HL 3300 PUSH HL 3310 DJNZ L11 3320SP1:LD SP,0 3330 EI 3340 RET 3350;============================ 3360; カソウVRAM0クリア(ヒョウジハンイレンドウ) 3370;============================ 3380CL2:CALL WA;695H 3390 LD B,6 3400 LD HL,V1 3410 LD DE,H1 3420L12:PUSH BC 3430 PUSH DE 3440 PUSH HL 3450 LD A,(DE) 3460 OR A 3470 JR Z,CL4 3480 SRL A 3490 JR NC,CL3 3500 LD (HL),0;”00”デウメル 3510 OR A 3520 JR Z,CL4 3530 INC HL 3540CL3:LD C,A 3550 LD B,0 3560 ADD HL,BC 3570 ADD HL,BC 3580 LD B,A 3590 DI 3600 LD (SP2+1),SP 3610 LD SP,HL 3620 LD HL,0;”0000”デウメル 3630L13:PUSH HL 3640 DJNZ L13 3650SP2:LD SP,0 3660 EI 3670CL4:POP HL 3680 LD DE,144 3690 ADD HL,DE 3700 POP DE 3710 INC DE 3720 POP BC 3730 DJNZ L12 3740 RET 3750;========================= 3760; VRAMヒョウジ(カソウVARMヲテンソウ) 3770;========================= 3780HYO:CALL WA;6D2H 3790HY1:LD A,(790DH) 3800 OR A 3810 JR Z,HY2 3820 CALL 0BFEBH;スクロ−ルUP 3830 JR HY1 3840HY2:LD IX,H1 3850 LD D,A 3860 LD E,6 3870 LD C,41H 3880 LD HL,V1 3890L14:PUSH HL 3900 LD A,(IX) 3910 OR A 3920 JR Z,SA2 3930ADR:LD A,0B0H 3940 ADD A,D 3950 AND 0B7H 3960 OUT (40H),A 3970 LD A,10H 3980 OUT (40H),A 3990 XOR A 4000 OUT (40H),A 4010 LD B,(IX) 4020 OTIR 4030SA2:LD A,(ADR+1) 4040 INC A 4050 LD (ADR+1),A 4060 POP HL 4070 PUSH DE 4080 LD DE,144 4090 ADD HL,DE 4100 POP DE 4110 INC IX 4120 DEC E 4130 JR NZ,L14 4140 LD A,0B0H 4150 LD (ADR+1),A 4160 RET 4170WA: LD A,144;ヒョウジハンイハミダシチェック 4180 LD HL,H1 4190 LD B,6 4200L15:CP (HL) 4210 JR NC,WA2 4220 POP AF;ハミダシテイタラSPズラシテモドル 4230 RET 4240WA2:INC HL 4250 DJNZ L15 4260 RET 4270;================== 4280; カクシュ デ−タ 4290;================== 4300BOX:DB 0;ハンイナイカ?;72FH 4310BO2:DB 0,0;オフセットゴノザヒョウ;730H 4320REC:DB 0;Cレジスタホゾン;732H 4330REB:DB 0;Bレジスタホゾン;733H 4340REE:DB 0;Eレジスタホゾン;734H 4350RED:DB 0;Dレジスタホゾン;735H 4360REH:DW 0;HLレジスタホゾン;736H 4370SA: DB 0;ヨコハバノサ;738H 4380ZU: DB 0;ズラスザヒョウ;739H 4390YZA:DB 0;PUTザヒョウキテン(Y);73AH 4400D1: DS 32*5;ビットパタ−ンテンソウバショ;73BH 4410YO2:DS 5;ヨビ;7DBH 4420;================== 4430; OBJECT:100H−7DFH 4440; ラベル:87コ 4450; 2023/11/18 Ver. 4460;==========================================
FOR G850/G850S/G850V/G850VS | lzh形式 | zip形式 |
FOR E200/G801/G802/G803/G805 G811/G813/G815/G820/G830 |
非対応 |