ラベル サポート の投稿を表示しています。 すべての投稿を表示
ラベル サポート の投稿を表示しています。 すべての投稿を表示

2013年8月11日日曜日

X-BASICのプログラム末尾にEOF(&h1a)を付けるプログラム

X-BASICのプログラム末尾にEOF(&h1a)を付けるプログラムです。

X-BASIC/68はEOFコードでファイルの終端を認識するため、それが必須です
(ないと読み込み異常を起こします)。

現在のWindows上の各種テキストエディタやXcodeはEOFを付加しないので、
それを付けるのがこのプログラムです。

一応ここでもソースコードを公開しますが、 X-BASIC/68用なので、X-BASIC/68またはぺけ-BASIC上で動かさないと無意味です(保存時はSHIFT-JISで)。

それと、高速化を何も考慮してないので、かなり遅いです。 必要なら、BC.Xでコンパイルしてくださいまし。


/* X-BASICのプログラム末尾にEOF(&h1a)を付けるプログラム
/* X-BASIC/68はEOFコードでファイルの終端を認識するため、それが必須である。
/* (ないと異常動作を起こす。)
/* ぺけ-BASICはサイズでも認識するのでなくても問題ない。X-BASIC for iOSも同様。
/* 現在のWindows上のエディタやXcodeはEOFを付加しないので、それを付けるのがこのプログラム。
/* これはX-BASIC/68またはぺけ-BASIC上で動かさないと無意味。
/*
print "X-BASIC/68でサンプルプログラムを正常読み込みさせるため、"
print "BASICプログラムファイルの終端に&h1aのコードを付加します。"
int fp,ofp
int c,cc
str fname,ofname
input "ファイル名(拡張子.bas不要)";fname
ofname=fname+"_1a.bas"
 fname= fname+".bas"
print "出力ファイル名:";ofname
print "開始するには何かキーを押してください"
while inkey$(0)="":endwhile
print "しばらくお待ちください"
/*
fp=fopen(fname,"r")
if fp<0 then {
 print "ファイルが見つかりません:";fname
 end
}
ofp=fopen(ofname,"c")
if ofp<0 then {
 fclose(fp)
 print "ファイルが作成できません:";ofname
 end
}
cc=-1
while 1
 c=fgetc(fp)
 if c<0 then break
 fputc(c,ofp)
 cc=c:/*1つ前の出力文字
endwhile
if cc<>&h1a then fputc(&h1a,ofp)
fclose(ofp)
fclose(fp)
print "終了しました"
end

X68用なので、LZHで圧縮しています。
LZHファイル : add1a.lzh

ちなみに、ぺけ-BASICはサイズでも認識するのでなくても問題ありません。
X-BASIC for iOSも同様です。

2013年7月18日木曜日

「グラフィックが表示できん」とお嘆きの貴兄に

外人で、「グラフィックが表示されんから金返せ」などと言う奴が居たのですよ。

取説にはグラフィックの表示手順についてちゃんとく書いたし、サンプルも多数出している。
その上ここでも何も聞かずにこんな馬鹿なこという奴は、きっと何を触っても何も出来ないのだろうと、あきれかえってしまうわけです。

ってなわけで、そんな奴は無視して、日本語だけで、グラフィック表示の仕方を簡単に説明します。

・・・まずは、取説からの抜粋・・・

グラフィック画面は4画面あります。それをページと呼びます。
どのページに描画するかはapage()、どのページを表示するかはvpage()、
テキスト画面、グラフィック画面およびスプライト&BG画面の表示順位はvpriority()で
設定します。

従って、グラフィックの描画プログラムは基本的に、
vpage() 表示ページ指定 vpriority() 表示優先順位指定 apage() 描画対象ページ指定 wipe() クリア gColor() 描画色指定 描画命令群
という順で記述することになります。
 ・・・
ということです。この手順を守れば、確実にグラフィックは表示できます。
これはX-BASIC/68でもほとんど同じです(優先順位指定と色指定が違うけど)。 
 
・・・例・・・
vpage(B_TPAGE+B_GPAGE0,YES) vpriority(GPAGE0,TPAGE,GPAGE1,GPAGE2,GPAGE3) apage(GPAGE0) wipe() // gColor(255,255,255,255) line(0,0,100,100) // end
これで、(0,0)~(100,100)の間に白の直線を引きます。
描画しているのは、4ページあるグラフィック画面の内、GPAGE0のページです。

・・・

グラフィックを描画するプログラムを書く場合、グラフィックを1画面しか使わないのであれば、変更すべきはgColor()とline()の部分だけであって、他は定型として使い回せば良いのです。
何も難しいことはありません。

ある程度の手順を覚えなければならないことは、どの言語を使っても同じです。
いや、言語じゃなくてもアプリでも、それどころか世の中にある物全て、全く何も覚えずに使える物なんてないのです。

くれぐれも、何も努力をしないで「出来ないのは相手が悪い」などという愚かな発想に至らないように。


2013年2月14日木曜日

各説明書へのリンク

X-BASIC for iOSの各説明書や資料へのリンクを、 ここにまとめておきます。

ここにある取説は最新版で、随時更新されています。
内蔵取説におかしな部分があった場合も、まずはこちらをご覧ください。
多分にわかりにくい部分はあろうかと思いますが、ご了承ください。
改善案、追記要望などありましたらコメントでお寄せください。

2013年2月7日木曜日

X-BASIC for iOSサポートページ開設

ここは、X-BASIC for iOSのサポートページ用ブログです。

X-BASIC for iOSのサポートに関する情報を掲載します。
  • サンプルプログラム
  • 使い方
  • バグ情報
  • アップデート情報
同時に、コメントを付けていただくことにより、ご質問にもお答えします。

なお、開発もサポートも1個人がやっておりますので、返答が遅れることも多分にあると思いますが、あしからず、ご了承ください。

・・・

最初のうちは記事の内容がころころ変化することがあると思います。
都合の良いやり方を見つけるまでの過渡的状態ですので、
ご了承ください。