2014年10月4日土曜日

V2.96審査待ち中→発売開始

V2.96を審査に出しました。→発売開始されました。

iOS8のiPadでAirPrintの印刷できないバグを修正しました。
それだけです。iPhone/iPod touchでは発生しません。

手習い君 V2.2の開発途中で見つかった問題です。
iOS8はiOS7に似てますが、細かい動作ではやはり違いがあります。
このAirPrintの問題は、AirPrintの隠れ仕様が変更によって表面化したものです。
詳しくは「うたくら情報編」で。

・・・ところで・・・

サンプルとして公開して欲しいプログラムをお持ちの方、お寄せください。
HPでお名前(リンク先)を公開する以上のお礼は出来ませんが、
良ければ次のバージョンで内蔵させていただきます。


2014年9月16日火曜日

X-BASIC for iOS v2.95 発売開始



X-BASIC for iOS v2.95が発売開始されました。
主な変更点は以下のとおりです。


・iOS7.1/iOS8正式対応(32bit動作のみ)
 iOS7.0以前はサポートしなくなりました。デバッグ時間を短縮するためです。
 特にiOS7.0はバグが多すぎて、サポートするには苦労が多すぎますので。
 iPhone6/Plusでも動作しますが、画面サイズはiPhone5と同じになります。
 これはiOS8の制約です(現状では回避策不明)。

・iOS7.1.2でプログラムリストが正常表示されないのを修正
 iOS7のバグ回避コードがiOS7.1でかえってバグの元になってました。

・実行画面表示ができなくなっていたのを修正
 何故かソースが消えてました。

・プログラム選択画面の変更
 ピッカーからテーブルに作りなおしました。
 これに伴い、削除の仕方が変更になってます。

・細かいバグの修正


この他、内部的には画面のつながり部分を大幅に手を入れています。
今回はBASICそのものには一切手を入れてませんので、言語としての追加変更はありません。そのバージョンも変わっていません。

サンプルを長らく放置していたので、外部から入れ込む方法も含め整備したいと思ってますが、先に他のアプリのiOS7&8をしますので、暫く掛かるかもしれません。


・・・追記・・・
V2.95でもiOS7でリストが表示されないという報告が上がっていますが、当方では全く再現しません。
「自分のところでも起こっている」という方は、iOSのバージョン、機種、表示されないソースをお知らせください。

2014年8月28日木曜日

公開を延長します。

X-BASIC for iOSを始めとするAIG-Softとしてのアプリ公開ですが、とりあえずもう1年は継続することにしました。

幾人かの方からご意見を頂いたこと、少数ではありますが月々継続して売れていて、お陰でとりあえず年間登録料はなんとか捻出できそうだからです。

加えて、最近になってぷろぐらま~ず電卓にバグが報告されるなど、改良すべき点も残されているうちに撤退するのもよろしくないとも思いました。X-BASICで外部からプログラムをダウンロードする方法もまだ未公開でしたし。

公開中止を決めた時に比べ、自分の置かれている環境が改善されたわけではなく、相変わらず時間も気力も極めて少ない状況ですが、なんとか続ける所存ですので、温かいご支援などいただけたら幸いです。





2014年4月19日土曜日

公開停止のお知らせ->とりあえずもう1年継続します。

X-BASIC for iOSを初め、AIG-SoftのすべてのiOSアプリケーションは、
8月頃をもってすべて公開を終了する予定です。
(Apple developer programの次年度更新をしないと言うことです。)

理由は「サポートしている時間がない」というが大きいですが、それ以上に「何のご意見も来ないので使っている人も居ないと考える」と言うことです。
お金の問題ではありません。

 ということで、興味のある方は今のうちにご購入いただけると幸いです。
 もしくは「継続して欲しい」という奇特な方がいらっしゃればお知らせください。

 なお、 ここのサポートページは当面残す予定。

・・・

仕事が忙しくても、やる気さえ維持出来ればやるんだけど、
いろいろありすぎて、今はそれなりに生きていくだけで精一杯で。
やっぱり、やる気を鼓舞してくれる誰かが一緒にいないとだめやね。


2014年3月6日木曜日

サンプルのごめんなさい→ダウンロード可能になりました。progloaderを実行してください。

V2.9からはZipでのインポートができなくなったのに、公開しているサンプルの最近のもののほとんどが(ソースが大きいので)Zipのみ公開のままになってました。

BASICソースだけならzipを開いてソーステキストをカットアンドペーストで貼り付けていただければ入りますが、付随データファイルもあるので、それだけではうまく動きません。

あまりの忙しさにすっかり忘れてました。
すみません。

近日中に「代替案」を公開しますので、しばらくお待ちください。


2014/03/12追記:
またもや仕事忙しい、と言うか、通勤時間がそれまでの倍近くになってしまって全然時間が取れません。一応プログラムは書いたのですが、全然検証出来ない状態です。
すみません。

→ダウンロード可能になりました。progloaderを実行してください。

2014年3月3日月曜日

WIndows版と言うよりDOS版って要ります?

X-BASIC for iOSのWindows+Cygwin版、要するにコマンドライン版を作るとしたら、どれくらい要望あるでしょうか?

コアはv2.9相当ですが、関数はiOS依存分は移植出来ないのでファイルと数値関数だけです。

いや、当面iOS版をいじる時間が取れそうにないので、小手先でこれを作ろうかとふと思った物で。

実はX-BASIC for iOSの開発当初はCygwin上でコアの開発をしていました。

iOSに移植して順調に動くようになってからはそちらは更新しなかったのですが、
ソース上はいまだ両方が作れるように、いや、現在は作りやすいようになっているのです。

まあ要望がなければやりませんが、ちょいとお聞きしようかと。

なお、ソースの公開はしません。あしからず。

→V3.20でソースの管理の都合上、DOS用機能を削除したのでもう作れません。あしからず、ご了承を。

2014年1月24日金曜日

ぺけ-BASICの外部関数のバグについて&ぺけ-BASIC v0.02.002

X-BASIC for iOSの元になったぺけ-BASICは、外部関数にもバグがいるようです(教えていただきました)。

X-BASIC for iOSは、本体こそぺけ-BASICのソースを解析した結果を元に作っていますが、外部関数はX-BASIC/68の仕様を元に完全に一から書き上げたので、気がつきませんでした。

関数名 dskf()
バグ 大容量メディアに対して使った場合、リターン値が正しくないことがある。
詳細 この関数はDOSコールの_DSKFREの返す値を
使用可能なクラスタ数.w * クラスタ当りのセクタ数.w * セクタ当りのバイト数.w
と乗算してリターン値を作っていますが、ここで使っている68000の命令がすべてmulu.w =.w*.w->.l演算であるため、3つ目の乗算で.lで得られた値の.w部分のみ使ってしまい、 このバグが発生します。
要するに、使用可能なクラスタ数.w * クラスタ当りのセクタ数.w が16ビットで収まらない ような大容量デバイスに対して使用すると、バグります。
iOS版での状況 iOS版には存在しない関数です。

関数名 fread()/fwrite()
バグ リターン値が、X-BASIC/68は読み書き出来た「要素数」であるのに対し、 ぺけ-BASICではバイト数が返ってきています。
詳細 これはDOS _READ/_WRITEのリターン値をそのまま返しているためで、 リターン値を要素サイズで割る処理が抜けています。
iOS版での状況 iOS版は/68と同じく要素数を返します。 ちなみに、Cの関数であるfread()/fwrite()も要素数を返します。

これら3つの外部関数とfloat変数の初期化バグ、および一部エラーが発生した時に OSがトラップを発生させるバグを修正したぺけ-BASICを一応作りましたので、ご入用の方は、「こちら」からどうぞ。

2014/01/26追記:
このバージョンで、68000機上で「未宣言変数があると落ちる」と言う報告をいただいています。
(68030では発生しないらしい。)
この問題は、オリジナル版をうちの環境でアセンブルした物でも発生するので、開発環境の差異による問題かもしれません。現在調査中です。しばらくお待ちください。
(直せない可能性も有り。)

2014/01/27追記:
どうやらこの問題はオリジナルからあるようです(と言うか、オリジナルでも発生しました)。
ワークエリアが足りない時も落ちます。
なので、私の追加した部分以外にも調査の手を広げる必要があるので、さらに時間がかかりそうです。(今余り時間が取れないので。というか、食が足りてなくてやる気が出ない方が強いかも。
差し入れ絶賛募集中。酒類も可^_^;)

2014/01/27追記2:
とか書きながら、ビール飲みつつ解析してたらバグを突き止められて修正。
ご褒美、絶賛受付中(^_^;)

2014/01/31追記:
まだトラップが発生するという報告があります。
68030では発生せず68000だけということですが、当方では68000でも発生せず原因不明です。

2014/02/05追記:
問題はBASIC本体側ではなく、FM音源ドライバを組み込んでいないのにMUSIC.FNCを組み込んでいたためわかりました。と言うことで、ここの公開版は問題なしです。
でも、起動時や正常終了時にはエラーが発生せず、エラー時のみ引っかかるのかは、さらなる解析が必要そう。