WebMSXの、Could not load fileエラーについて

このエラーが出る場合があるのですが、出たり出なかったりして再現性がないので苦しんでいます。
なぜ、ファイルが存在するのこのエラーが出る場合があるのかが分かりません。
XMLHttpRequestでMSXプログラムを読み込む時にこのエラーが出ることがあります。
ウェブブラウザのキャッシュも関係していてリロードではどうやってもプログラムの更新ができない場合があり、URLを変えてもウェブブラウザのキャッシュがあると新しいURLに切り替わらない場合があるような気がします。
ウェブブラウザのキャッシュを手動で消さないと更新できないというのは信じがたい欠陥です。
また、キャッシュを消しても、Could not load fileのエラーが出続けることもあり、回避方法が全く分からない場合もあります。
XMLHttpRequestで読み込まずに、Base64のテキストからMSXプログラムを読み込むようにWebMSXを改造すればいいと思っていろいろやっていたのですがJavascript独特の構文が多用されていてよく理解できずに諦めて長らく放置していました。
r.insert() や、r.inserted()に外部からアクセスする方法が分かりませんでした。
あるいは、それらの相当の機能の関数を外部からアクセスする方法が分かりませんでした。
Javascriptのクロージャとか即時関数というものを理解していなかったので一応勉強してみましたが、勉強後にソースを再び解析しようとする気は起きず放置中です。
見ても理解できる自信がありません。
XMLHttpRequestを使わずに、Javascriptコード内のBase64経由でMSXプログラムをロードできないことには先に進めません。
ということで停滞しています。

LAZADAの通販のトラブル

LAZADAは東南アジアの通販サイト。
前、郵便局経由で来たときに届いてないのに追跡で配達完了になっていて苦情入れたことがあったんだけど、それから郵便局経由の商品の追跡番号を教えてくれなくなった。
追跡番号を教えないことに対する苦情を入れたいが面倒などでまだやってない。

そして、今回違う商品が届くという不具合があった。
Bluetoothマウスを注文したのに普通のUSB無線マウスが届いた。
色まで注文したものと違う。
240バーツと安いが、Bluetoothマウスが入手しづらく泣き寝入りするわけにも行かない。
もう一度注文してちゃんとBluetoothマウスが来るならそれでもいいかも知れないが、苦情入れない限り何度でも違う商品を送ってくると思う。
同時に買った他の商品よりも届くのに時間がかかったが、おそらく商品がなくてどうごまかすか考えていたんだと思う。
色まで違うしわざと間違えたとしか思えない。
返品は7日以外だが、郵便局まで行って帰るのに交通費が320バーツかかる。
返品のルールとかも読まないといけないし、面倒くさすぎる。
まあタイ語で読むつもりだけど。
とりあえずLAZADAには苦情を入れた。
本当に返品するかどうかはまだ分からない。
絶対に正しい物を送ってくれるのなら、もう一度注文したほうが返品の交通費よりは安い。
他に売っているところがあれば他で買ってもいいんだが売ってるかなあ。

続き。4月27日
26日にLAZADAからメールで返事が来て返品して返金か、返品なしで同じ値段の1ヶ月有効のクーポンをもらうか聞いてきた。
返品なしのクーポンを選んだ。
返品は郵便局までの交通費がかかるしめんどくさいからだ。
選択肢には正しい商品を送り直すというものはなかった。
もしかしたら最初からBluetoothと偽って安いUSB無線マウスを送りつけるつもりでBluetoothマウスは売っていなかったのだろうか。
正しい商品を送り直すという選択肢がない以上、もう一度同じ物を注文する勇気はない。
再度USB無線マウスが送られてくる確率が非常に高い。
だから別の物を注文しなおした。
249バーツで、差額の9バーツを払った。
なせがLAZADAでBluetoothマウスとして売っているもののほとんどがBluetoothではなく普通のUSB無線マウスだ。
(写真や仕様をよく見るとBluetoothと謳っていながらBluetoothでないと分かるものが多い)
Bluetoothではなかったというレビューがある品もあった。
返金の代わりのクーポンは番号で来て、自動的に安くなるのではなく決済時に番号を入力しなければならない。
どこに入力するのかとか調べないといけなかった。
LAZADAとのやり取りは全てタイ語でしました。
英語でやり取りできるのかどうかは知りません。
個人的にはタイ語のほうが英語より楽です。

続き。4月28日
レビューを書いても掲載されいので、三日連続ほぼ同じ文面のレビューを書きました。
三回書いたところでレビューは掲載できないと連絡がありました。
なぜ掲載してくれないのかは分かりません。
売っているはずの商品と届く商品が違うので最低評価になるのですが、都合の悪いことは知られたくないということでしょうか。
一応クーポン(ポイント)での返金はしてくれましたが、せっかく手間ひまかけて書いたレビューを掲載しないといういい加減な対応にがっかりしています。
真実をレビューに書かせて欲しい。

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も第一号のソースが手に入りましたが、すでに最初から作り直していて機能も追加しているので用なしです。