vramを勉強しててとりあえず組み込んだだけなので学んだとは言えないですが
若干早くはなりましたがやっぱりpeekよりlpeek等4バイトずつの方が早いらしいのでやりたいと思いました
過去の投稿を見てましたが何をするかはわかりますが演算子が基本の使い方しか知らず混乱してしまいます
どういう意味か、もしくはここに書いてあるとかあれば教えてくださると嬉しいです
if sx1 & 3 : sx1 = (sx1 & 0x0ffffffc) + 4
正しければ ↑の意味、htmlとか色とかしかわからないです
後はstickとかでしか使ってなくて条件式以外で&とか何を示してるかよくわかりません
物凄く基本的なことだと思いますがよろしくお願いします
#define RGB 3
; ↓あえて 4 の倍数にしない
buffer 1,319,240 : picload dir_exe + "/docs/cg.gif",1
mref VRAM1,66
sx1 = ginfo_winx * RGB
sy1 = ginfo_winy
dsize = sx1
/*
if sx1 & 3 : sx1 = (sx1 & 0x0ffffffc) + 4
*/
dsize = sx1 - dsize ; ←ダミーのサイズ
VramSize = sx1 * sy1; ←VRAM のサイズ
gsel
mref VRAM0,66
sx0 = ginfo_winx : tmp = sx0 * RGB
sy0 = ginfo_winy
if tmp & 3 : tmp = (tmp & 0x0ffffffc) + 4
x = 0 : y = 0
gosub *Draw
x = 320 : y = 240
gosub *Draw
redraw 1
stop
*Draw
r = (sy0 - y - sy1) * tmp + x * RGB
repeat VramSize / 4
a = cnt * 4
b = a\sx1 + (a/sx1*tmp)
/*
c = (a\sx1>dsize)*dsize ; ← ダミーを描画しないための値
*/
lpoke VRAM0, r + b, lpeek( VRAM1,cnt*4 - c )
loop
return