スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/-- | スポンサー広告  TOP

G4CBASIC コード展示室に「ルナーランダー」を追加。

コード展示室に新作「ルナーランダー」をアップしました。
http://softyasu.net/micon/g4ccode.html
↑リンクが間違っていたので修正しました。まりすさんありがとうございます。

アタリ社の古典ゲーム「ルナーランダー」を移植したものですが超劣化しています。
http://www.youtube.com/watch?v=Xkva6CYzd-M

スポンサーサイト

2009/08/18 | プログラミングCOMMENT(0)TRACKBACK(0)  TOP

G4CBASIC コード展示室に新作2本を追加。

コード展示室に新作をアップしました。
http://softyasu.net/micon/g4ccode.html

「フラッシュ16進暗算」と「ルーレット」です。
あわせて動画もアップ。見ていってくださいね。

かんいブロック崩し(改)

フラッシュ16進暗算

ルーレット

2009/08/18 | プログラミングCOMMENT(0)TRACKBACK(0)  TOP

G4CBASIC コード展示室を開設。

今まで私が作ってブログで公開したG4CBASICのプログラムを展示室にて公開しています。
新作として、ブログ未掲載のゲーム「かんいブロック崩し」を公開中。
今までのソースコードの中では最長サイズのプログラムでして、書き方次第でこんな長いプログラムも書けるんだって見本です。

コード展示室。
http://softyasu.net/micon/g4ccode.html

2009/08/18 | プログラミングCOMMENT(2)TRACKBACK(0)  TOP

大人の科学4ビットマイコン(GMC4) BASICコンパイラ 新バージョンVer0.404

「GMC-4(FXマイコン)専用ちびBASICクロス・コンパイラ(G4CBASIC)」を更新しました。

Ver0.404です。
http://softyasu.net/g4cbasic.html
機能アップ終了したと書きましたが、またまた機能をたくさん追加しました。

更新内容
・FORLOOP文を追加しました。ループはしたいがループ変数はいらない場合に使います。
・COUTINUE文を追加しました。
・GOTO文とラベルを追加しました。
・RND2A()を追加しました。ARRAY配列に乱数を格納します。
・WAIT_KEYOFF()関数を追加しました。
・MEM()関数を追加。任意のアドレスを参照できます。
・ADDR()関数を追加。変数のアドレスを得ます。まともに使えるのはFOR文だけ?
・メモリの割り当てについて更に情報を詳細化しました。
・メモリオーバー時のエラーメッセージを分かりやすく修正しました。
・ADDO関係で代入文を最適化しました。
・STEPLIST時にCTRL-Cでキャンセル可能にしました。
・さらに最適化を少々。

やめたはずのGOTO文まで追加しちゃいました。
今度こそ、しばらくバグが出ない限りコンパイラ自体は更新しない予定。
G4CBASICを使った作品は作りますけどね。

2009/08/10 | プログラミングCOMMENT(0)TRACKBACK(0)  TOP

大人の科学4ビットマイコン(GMC4) BASICコンパイラ その13。新バージョン。

「GMC-4(FXマイコン)専用ちびBASICクロス・コンパイラ(G4CBASIC)」を更新しました。

Ver0.304です。
http://softyasu.net/g4cbasic.html
基本的に機能追加と最適化効率アップです。

更新内容
・FOR~NEXT に STEPを追加しました。STEPで刻み幅を変えれます。
・FOR文の最適化を強化。
・マイナスの数値を追加。
・条件式の最適化を強化。
・WHILE~WEND文を追加。
・SELCET CASE文を追加。
・-SL2や-L2でリストタイプ2で表示。
・変数名は小文字でもOK!
  ただし、Test test t T はすべて同じ変数となります。
・$Arの使える場面を強化。特定の加算減算で使えるようにしました。
以上です。

新しく追加したSELECT文と$Arでかなり卑怯な書き方が出来ます。

REM 入力した数値との差でダメージを決める。
 INPUT $Ar
 SELECT POINT - $Ar
 CASE 0
  $Ar = 4
 CASE -1
  $Ar = 1
 CASE 1
  $Ar = 1
 DEFAULT
  $Ar = 0
 SEND
 Damage = $Ar 

ほとんどアセンブラマクロみたいですね(^^ゞ
でもアセンブラより可読性は高いのでお試しください。

今後の予定ですが、しばらくはG4CBASICのプログラムだけを書く予定です。
それと何時になるか分からないですが、G4CBASIC用のアセンブラで書くユーザー組み込み関数を検討しています。
バグがありましたらすぐ修正しますので、お気軽に連絡をください。

2009/08/04 | プログラミングCOMMENT(0)TRACKBACK(0)  TOP

G4CBASIC ねたプログラム。とりあえずねぎ振り。

G4CBASICのVer0.206以降対応のプログラムです。
http://softyasu.net/g4cbasic.html
ねたプログラムその2。
 


Ver0.300となってますが、Ver0.206でも動くはず。

REM タイトル「ねぎ振り」
REM G4CBASIC Ver0.300

REM LEDの固定部分。
L2 = #b0000
DO
 REM ねぎ上げ
 L1 = #b111
 LED_DISP()
 PRINT_OFF
 TIMER(4)
 REM ねぎ下げ
 L1 = #b001
 LED_DISP()
 PRINT 1
 TIMER(4)
UNTIL FALSE



2009/08/04 | プログラミングCOMMENT(0)TRACKBACK(0)  TOP

大人の科学4ビットマイコン(GMC4) BASICコンパイラ 予告。

Ver0.300系のお知らせです。

追加・変更機能。
・FOR~NEXT に STEPを追加。FOR文の最適化を強化。
・マイナスの数値を追加。
・条件式の最適化を強化。
・WHILE~WEND文を追加。
・SELCET CASE文を追加。

GOTO文は最適化と絡んであきらめました。
あと数日でUPできると思います。

2009/08/02 | プログラミングCOMMENT(0)TRACKBACK(0)  TOP

大人の科学4ビットマイコン(GMC4) BASICコンパイラ その12。バグ修正。

「GMC-4(FXマイコン)専用ちびBASICクロス・コンパイラ(G4CBASIC)」を更新しました。

Ver0.206です。申し訳ありません。FOR文のダウンカウントのバグを修正しました。
http://softyasu.net/g4cbasic.html
まだバグがあるかも。

ついでに新しいサンプルプログラム「LEDイルミネーション」です。Ver0.206以降。


REM タイトル「LEDイルミネーション」
REM LEDの左に光を溜め込み、一杯になると逆にLEDの右に光を溜め込みます。
REM これを繰り返すプログラムです。
REM プログラムサイズを減らすために強引なコードになってますので真似しない様に。

DATA MODE = 0 REM 右左を示すモードの初期値
DATA J = 0    REM 内側のループカウンタの初期値
DO
 REM 外側はダウンカウントします
 FOR I=7 TO 1
  L = 7 REM とりあえず番号外
  DO
   REM LEDを消す。
   LED_OFF(L)
   REM 点灯する番号を決める。MODEで右か左か決めます。
   L = J
   IF MODE = #F THEN
    L = 6 - J
   ENDIF
   REM LEDを点灯します。
   LED_ON(L)
   REM 内側のカウント
   J = J + 1
   TIMER(0)
  UNTIL I=J
  J = 0 REM ここでJを初期化するのはマシン語がコンパクトになるからです。
 NEXT
 REM モードを反転します。
 MODE=NEG(MODE)
UNTIL FALSE



2009/08/01 | プログラミングCOMMENT(0)TRACKBACK(0)  TOP

G4CBASIC Ver0.205公開記念。 変なプログラムサンプル。

G4CBASICのVer0.205以降対応のプログラムです。
http://softyasu.net/g4cbasic.html
かなり、ねたプログラム。

REM タイトル「宇宙人との交信」
REM 某有名なあのサウンドを繰り返します。
REM LEDも、それっぽく点滅。

REM サウンドデータ配列。
DIM  ARRAY[5]
DATA #B,#C,#A,#3,#7

DO
 REM あの5音を繰り返します。
 FOR O=0 TO 4
  REM LEDを流します。
  L1 = L1 + L1 REM 右に流す。
  L2 = (SFT L2) REM 左に流す。
  REM 乱数で点滅兼、ウェイト時間を生成します。
  RND(Time)
  IF Time <= 8 THEN
   L1 = L1 + 1 REM 右に追加
  ELSE
   L2 = L2 + 8 REM 左に追加
  ENDIF
  REM LEDを表示
  LED_DISP()
  REM 7セグ表示とサウンド
  $Ar = ARRAY[O]
  PRINT $Ar
  SOUND($Ar)
 NEXT
 REM ウェイト
 TIMER(Time)
UNTIL FALSE

2009/08/01 | プログラミングCOMMENT(0)TRACKBACK(0)  TOP

 | BLOG TOP | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。