N88-BASICでゲーム (3回目)

2022/8/12(金)
N88-BASICでゲーム (3回目)
N88-BASIC de game (3)
 
Textのscrollを利用してprintした壁を
よけるゲームです
 
PC-98シリーズとNL-BASIC以下98
PC-88(V2mode)とXL-BASIC以下88
VL-BASIC以下VLとします
 
 
FNPK(X, Y)
x,y座標のText-VRAMを読みキャラクターコードを
得ることが出来、&H20(空白)以下なら障害物なしと
判断しています
 
98
Text-VRAMはA0000(h)番地から1行に80文字
(各2バイト)あり、それが25行分あります
DEF FNPK(X, Y) = PEEK((X + Y * 80) * 2)
DEF SEG = &HA000
 
88
Text-VRAMはF3C8(h)番地から1行に80文字+
アトリビュート40バイトの120バイトあり、
それが25行分あります
DEF FNPK(X, Y) = PEEK(&HF3C8 + X + Y * 120)
 
VL
Text-VRAMは00000(h)番地から1行に80文字
(各1バイト)あり、それが25行分あります
DEF FNPK(X, Y) = PEEK(X + Y * 80)
 
 
キー入力
98 … IN = &HE0
88 … IN = &HE0
VL … IN = &HE0 or &HE00
 
INP(IN+&H8)のbit2が0なら→(右)キーが押されており
INP(IN+&HA)のbit2が0なら←(左)キーが押されているので
IF NOT INP(IN+&H8) AND &H04 THEN →キー処理
IF NOT INP(IN+&HA) AND &H04 THEN ←キー処理
としています
 
キーマトリクスは付属のマニュアルなどを参照して下さい

 
v-sync待ち
98 … VS = &HA0
88 … VS = &H40
VL … VS = &HA0 or &H40
WAIT VS, &H20, &H20: WAIT VS, &H20 '--- v-sync

 
150行目のN88の値で機種選択しています
98 … game003.bas  (N88 = 0)
88 … game003x.bas (N88 = 1)
VL … game003v.bas (N88 = 2)

 
VL,NL,XL-BASICとblg~.zip(game003?.bas)は
以下のリンクからダウンロードできます

https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい





このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)