IchigoJam web by WebAssembly

IchigoJam web by WebAssembly
IchigoJamのBASICがウェブに対応しているのを知りました。
Javascriptでなくて、WebAssemblyです。
小文字で書かないとBASICは動きませんでした。
試してみたところパソコンのfirefoxでしか動作しませんでした。
他に試したのはパソコンではChrome、Seamonkey、Opera、IE11と、スマホではAndorid 5.0のデフォルトブラウザですがどれも動作せず全滅でした。
WebAssemblyはC/C++で開発でき現在のJavascriptでの開発から置き換わっていくのではないかと(個人的に)思います。
現段階では動作するウェブブラウザが限定的なため、それでもよしと割り切らない限りはJavascriptから置き換えることはできません。
しかし、将来を考えるとウェブ開発はJavascriptに深入りしないでC/C++にシフトしていくことを考えたほうがよさそうです。
WebAssemblyの時代が何年後に来るのかはまだ見えませんが。

WebMSXの改造

WebMSXは私が借りているレンタルサーバーで動かすと、Could not found xxxというエラーがよく出て問題を感じています。
自作プログラムのファイルを読み込んでくれない時があるのです。
こうなるのなら外部ファイルではなくソースに埋め込みたいです。
それでWebMSXを解析中ですが、見事によく分からないです。
CR3は一部マウスに対応しました。
ソースはまだ公開していません。

ROMカートリッジのプログラム終了後は

MSXのROMカートリッジのプログラムは(ゲームなどは)MSX-DOSもBASICも起動しないままプログラムが立ち上がります。
OSが起動する前にプログラムが起動しているのでMSX-DOSまたはBASICに戻るという概念はありません。
CR3はROMカートリッジの場合はプログラム終了後はCPUを停止するようにしました。
プログラム終了後にMSX-DOSまたはBASICを呼び出すプログラムを作ることはできるのかも知れませんが普通はそういう処理を入れずにROMカートリッジを抜いて電源再投入なんじゃないかと思います。
プログラムの終了処理時代を入れずに無限ループにするのが普通かな。

BDS C版のCR3のMSX ROMカートリッジ移植できました。

C言語部分のソースは全く同じなのですが、ライブラリとスタートアップルーチンを、MSX-DOS、MSX-BASIC、MSX ROMカートリッジの三対応しました。
それに伴いツールもいくつか更新しました。
ソース公開はドキュメント書いたりしないといけないので今すぐはできません。
とりあえずはバイナリをMSX-BASICのOS版からROMカートリッジ版に差し替えます。
HI-TECH Cも方法は分かっているので同様に三タイプ対応はできると思います。
HI-TECH CではMSX-DOS版CR3の他、MSX-BASICのBLOADファイルのテストプログラムは動かせています。

AAPP ソース出てきました。

誤って削除していたAAPPのソースですが
なんかWindowsが勝手にバックアップを取っていてほぼ最新のソースが手に入りました。
恥ずかしながら、何の指定も設定もしていないのにフォルダをエクスプローラーで右クリック出てくる設定ウィンドウの中に過去のバックアップの復活メニューがあるとは知りませんでした。
bloadmakeも第一号のソースが手に入りましたが、すでに最初から作り直していて機能も追加しているので用なしです。

BDS CでMSX-BASIC(BLOAD)に対応したが

正直、作成したプログラムをMSX-BASICで実行させる機能は要らないと今になって思った。
もしROMカートリッジのプログラムに対応していたらの場合だけど。
BLOADファイルは実行にMSX-DOSが必要なくなるけど、BASICインタプリタを内蔵したROMが必要になって結局ライセンス問題は解決しない。
そして、プログラムの最大サイズが使用メモリも含めて20000バイトぐらいと小さくプログラムサイズが大きくなりがちなC言語を使うのは実用性に乏しい。
使えるメモリとプログラムサイズが最も大きいのはMSX-DOSだがROMカートリッジは最大32752バイトのプログラムが作れ(メガROM除く)実用の範囲内にあると思う。