読者です 読者をやめる 読者になる 読者になる

こんにちはマイコン制御

May FORTH be with you.

メモ/QB64続き

QB64に対してモチベーションが上がってきたら、色々やりたいことがはっきりしたり思いついたりして、またそのコードもなんとなく思いついたりして、良いスパイラルっぽいので、勢いを維持するためにちょっとメモしておく。

  • 公式wikiによると"BASIC compatible Editor and C++ compiler"なので基本C++へのトランスレータなのですね。
    • 言語構造が単純だから実行速度が早くなるってことなんだろうか
    • まじんさんのブログの1億までの素数を求めるプログラムではGCCより速くなってる。どういうこと?

http://cdn-ak.f.st-hatena.com/images/fotolife/f/fxrobot/20141204/20141204205323.jpg

  • 同じ今どきBasicだったらFreeBasicとかPureBasicとかの方が簡単に実現できると思うんだけど、なんでかQB64の方がモチベーションが上がっているんだよなあ。
    • 多分それは自分が難しい事を実現したいのではなくて、自分が把握している範囲できちんと理解したうえで実現したくて、そしてそれはそんなに複雑ではないからなんだと思う。
  • これまでいじってみたところQuickBasic4.5のプログラムはほとんどそのまま動く感じ
    • TIMERの扱いだけ違うらしい
    • 外部データ扱う場合はディレクトリに気を付けないといけなかった。
    • 名称がぶつかりそうな命令語については命令にアンダーバーを付けることで衝突を避けている
  • どうやってQB64を習得するか
    • Basicは多少は判ってるので入りやすいよね
      • でも前世紀の活字世代なんで試しにアマゾンの中古でQuickBasic4.5の本を買ったりした
    • 既にあるプログラムをいじってあそぶ
      • 音を出すサンプルも色々公式Wikiにあるのでこれを元にマイコンで途中まで作ったサウンドエンジンを完成させる
      • 疑似3Dのウォークスループログラムがあるのでこれをいじってあそぶ。
        • 最近、プログラムやるときに何かフルスクラッチで書かなきゃいけないような義務感にかられてたけど、別に勉強の途中だったらそんなに気負わなくてもいいんじゃないかな。
        • ウォークスルーいじって俺版プチLSD作りたい
          • ゲーム系の話でいうと訳わからん系雰囲気ゲーム作りたい
          • イタチョコの魔ゲームとかSTRAWBERRY CUBESとか


LSD - Dream Emulator (PS1 - Gameplay Video) [720p]

ニセミジンコのうそひみつ イタチョコシステム

STRAWBERRY CUBES: Till the game brakes

  • QB64で音楽アプリを作る。
    • 何か今朝通勤途中に降りてきて仕様があっというまに固まった
    • 作るものは
      • シーケンサーとしても楽器としても使える」
      • 「音程と時間軸の2軸の平面で音楽を把握するスタイルではない」
        • だから画面見ても音はイメージしにくいはず。シーケンスを走らせると判る(はず)
        • 視覚によって時間の外から音楽を俯瞰するのではなく、自分が音楽の構成要素の一部になり音楽を聴いて判断するシーケンサー
    • 最終的にはサウンドエンジンを搭載し、それ自体で音が作りこめるようにしたいけど、最初は複数WAVの再生からで良い
    • とにかく動作が速いから力技でなんとかなりそう
  • QB64で小さなForth系を書いてみたい
    • まだ諦めてはいませんのよ
    • 多分RetroレベルのシンプルなVMを書く位のことは今でもできそうな気がする
      • PEEK、POKE使えば更にベアメタルっぽく書けるが、それはちょっとまだ厳しいだろう
      • 話はそれるけれどPureBasicで書かれたGameBoyエミュレータはあるようだ
      • なのでQB64でも十分実用的なエミュレータは書けるはず
    • サウンドエンジンを作る過程でIBNIZっぽくなるはずなのでシーケンサーとは別の流れでスタックマシン>Forthって別の流れはあるかも
      • むしろシンセ記述言語としてForthサブセットがシーケンサーの中で走れば良いのかもしれない
    • うーむ、夢が広がりんぐ
  • いつもみたいに盛り上がるだけで終わらないためにも、プログラム改造だけでも良いから一杯プログラムを書こう。