コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

OsoScript

遅スクリプトにサウンドコマンドを追加しました

昨日の夜、動画を作ってみたのですが、結局、もう一度、取り直してしまいました。ニコニコ動画にアップしてここに貼り付けようと思います。 soundset( チャネル, ファイル名, rate, vol, pan, format, loop ); soundset()は、生波形のサウンドデータファイル…

遅スクリプトにサウンドコマンド

遅スクリプトにサウンドコマンドを付けたので、使っている様子を動画にしていたら、こんな時間になってしまいました。結局、今、まだ編集中です。 今日は寝ます。 明日、アップしたいと思います。

PCからwifi経由でファイルを取得する

昨日の続きですが、nds本体でスクリプトを書き換えるのが面倒なので、全てPCでできるように考えました。それは、OsoScriptから別のOsoScriptを実行できるコマンドexec()を使います。autorun.osoでも指定されたOsoScriptを呼び出すのに使っています。 OsoScri…

OsoScriptでweb接続

先日のブログに書いたhttpgetコマンド追加OsoScript Ver0.03をNDS Program Roomにアップしました。Ver0.03には、もう1つコマンドが追加されており、DSの電源を切ることができるようになりました。 コマンドを説明します。 poweroff() パワーオフコマンド pow…

HttpGetFileをOsoScriptに組み込んでみました

wifiを使ってhttpプロトコルでサーバからファイルを取得するプログラムを作ったのですが、これを用いて自作のndsファイルをPCから取得するために、OsoScriptを使えば簡単にできるのではないかと、ひらめきました。 そこで、早速、OsoScriptにHttpGetFileを組…

数値計算

OsoScriptは数値関数を自前で書いています。余り効率良くないのですが、趣味ということでお許しください。 使っているのは、pow()とexp()です。OsoScriptでは変数の数値をすべてテキストで持っているので、計算時に浮動小数値に変換しています。この変換にpo…

文字の連結

NDS版のOsoScriptですが、printコマンドの文字のフォーマットについて書いていませんでした。OsoScriptでは変数には文字は12バイトしか入りません。ただし、printコマンドでは、引数に最大255文字までかけます。 直接文字出力 "" や''によって囲まれた文字は…

OsoScript Ver0.02の仕様

OsoScript Ver0.02の仕様をまとめてみたいと思います。 処理の流れ 処理はmain()関数から始まります。必ず、function main(){ }を書いてください。 コメント コメント文は、 一行コメント #....... 複数行コメント #[.....改行有り.....#]となります。 型 型…

遅ればせながら、謹賀新年

元旦は何もせず、家族と過ごしていました。 現在は、inputコマンドを実装しています。とりあえず、12文字でも何かキー入力できるものを作っています。拙作のエディタプログラムからキーボード入力部分を持ってきて実装しています。ソースは実装できたのです…

OsoScriptアップしました

昨夜のバグは取れていませんが、DS版のOsoScriptをアップしました。場所はhttp://www.geocities.jp/momoonga/です。後、ニコニコ動画にも如何に遅いかという動作確認動画をアップしました。 わかっているバグ DS版の確認しているバグは下記のものです。たぶ…

DS版OsoScriptを作った

あれもこれもと一通りの機能を付けていたら、こんな時間になってしまいました。でも低機能です。ColdFireに持って行くためのテスト版というところでしょうか。今までブログに書いてきた機能は実装されています。とりあえず、NDS版用に新規実装した命令を説明…

ビット演算子追加

ちょっと、横道にそれていまして、ColdFire移植予定ですが、OsoScriptを任天堂DS(NDS)に移植していました。キー取得命令などを作ったところ、ビット演算子が欲しくなりまして、追加しました。 //********************************************** //ビット演…

スクリプトの解釈

毎日、少しずつOsoScriptを作っています。今日はバグを1つ見つけまして取っていました。後、ColdFireの回路も少しずつ作製中です。 電源回りを実装しました。今日はスクリプトの解釈のところを簡単に書きます。 スクリプトの解釈 OsoScriptは関数型の言語な…

関数の処理

OsoScriptはmain()関数から始まって、関数を呼びつつ処理が進むので、プログラム的には関数しかありません。そこで、関数内の処理について簡単に説明します。 昨日書いたように、関数内で使用する変数の確保が行われた後、開きカッコ'{'から閉じカッコ'}'ま…

スクリプトの実行処理

OsoScriptでは、下記の変数で変数のスタックと実行箇所のスタックを行っています。 //変数の初期化 Henpos = 0; LocalHenStacPtr = 0; ScriptStacPtr = 0; TokenPos = 0; Henpos :次に格納すべき変数の配列番号 Henposは、変数名や変数の値を保存する配列の…

自作言語でFizzBuzz問題

折角OsoScriptが動いたので、FizzBuzzプログラムを組んでみようと思います。題して「自作言語でFizzBuzz問題」です。 現在、OsoScriptがサポートしている演算子は下記です。 四則演算子 + , - , * , / 命令 命令はprint命令を付けました。 print(文字); , pr…

動いた

月曜日に更新できなかったけれど、VS2008C++版のOsoScriptが、グダグダですが動きました。 ブログを読んでいる人はほとんどいないと思いますが、とりあえず、どこかに公開したいと思います。完成となる条件は設定していないので、順次作りかけ版を公開してい…

関数について

ページビューが気になったので、ブログのトップページにNinja Toolsを貼ってみました。結果を見たところ、ほとんどが自分の足跡だと判明しました。ということは、この文章を今日読んでいる人は、ほとんどいないということですね。ちょっと開くだけでどんどん…

式の評価

まだ、ブログを書き始めて6日しか経っていないのに、700ビュー以上の閲覧数があるのは何故だろう。いろいろなボットがさ迷ってビューカウンタを押し上げていっているのだろうか。ブログってこういうものなのか。私が1999年から公開しているサイトなんて…

コメント記号

注釈も付けられるようにしないと、スクリプトが読みにくいので、注釈用の記号を考えました。 コメント記号は一行コメントと複数行にわたるコメントが付けられる記号があります。各言語、いろいろなコメント記号があるので、ちょっとまとめてみました。 C++ …

文字変数復活

変数の仕様として、文字変数は無しで進めようとしていたのですが、スクリプト仕様の中に、 スクリプトから他のスクリプトを起動できる。 というのがあって、よく考えると、これって呼び出すスクリプトが書かれたファイル名を引数とする関数を用意することに…

変数の仕様

ブログ3日目です。三日坊主という言葉がありますが、もう既に挫けそうです。 とりあえず、一週間頑張ろう。 前回、文法等の言語仕様を思いつくままに書きましたが、変数の仕様を考えたいと思います。 変数はグローバル変数とローカル変数が使えるようにした…

とりあえず、名前と拡張子とアイコンが決まりました。 スクリプト名 OsoScript 拡張子 .oso アイコン カタツムリ oSoって、カタツムリに見えないか? 見えないか。 改めて、言語仕様について、取り入れたい仕様をランダムに上げていきます。 基本書式はC言語…