BASIC
99 BasicとN88互換BASICへの手引き書
|
|
|
|
当HP主催者 土方あきら ( 2002/11/30 )
当HP主催者 土方あきら ( 2004/ 6/05 )
ちなみに、
|
99BasicとN88互換BASICの比較 |
||
---|---|---|
99Basic | N88互換BASIC | |
配布方式 | フリーウエア | フリーウエア |
最新版 | ver 1.19 2002-03-09 | ver 1.10 2001.01.09 |
対応OS | Windows95、98、ME、2000、XP、Vist、Windows7、WINDOWS8、WINDOWS8.1、Windows10 | Windows95、98、ME、2000、XP (Vistは不明) |
互換性 | DOS-N88BASICとの互換性も高い。また99BasicとN88互換BASICの間での互換性も高い。 とは言っても、もちろん使えない関数/コマンドや変数などはある。 | |
OPEN #数 | 同時に開けるファイルの最大数は4。 しかし、最大20まで拡張出来るそうです。 | 最大数は9のようです。 |
ちなみにDOS-N88BASICは11かそれ以上のハズ。 | ||
プログラム のサイズ | 組めるプログラムの最大サイズは、DOS-N88BASICでは60kb弱のハズだったが、両方とも67kbを超えてもまだOK(99Basicでは70kb超OKを確認)。これは大変に助かる。 ある人が、「114KBで、「39 Program text accident プログラムが破壊されている」エラーが発生。110KBまで削減したら動作」とのことなので、サイズの上限と思われる。 但しプログラム領域を、300kbまで拡張することは可能なようである。 | |
変数の記憶サイズ | DOS-N88BASICでは254b?という制限。これが99Basicでは1,240bていどまで拡大。 | N88互換BASICについては不明。 |
フリーズ | 皆無か、それに近い。 | プログラム直しでは、起きやすい。 |
スピード.1 | N88互換BASICと比べて4〜20倍の速さ | 単純な文字表示が主体の場合は、99Basicとほぼ同速に近いこともある。 |
スピード.2 | DOS-N88BASICの36%?(→ 5%?)の速さ。 | DOS-N88BASICの 7%?(→ 1%?)の速さ。 |
上記は、3,500枚ほどの伝票表示で計測。但しテストで使用CPU は、DOS-N88BASICではPentium 199.6MHz、一方99BasicとN88互換BASICではCeleron 2.30 GHzと10倍速い。 従ってCPU差10倍を考えると、上記の更に1/5〜1/10ていど遅く、DOS-N88BASICと比べて99Basicは1/20= 5%?、N88互換BASICは1/100= 1%?程度の速さか? | ||
エラーでの表示 | メッセージを日本語にも出来るが、単純に行番号だけを表示。 | その行のエラー発生カ所にカーソルが移動するので、原因を理解しやすい。 |
デバッグ | 実行画面でデバッグが出来るので便利。 | 実行画面とは別にデバッグ画面がある。 私は未使用だが、変数ウォッチ機能は便利そう。 |
その他 | STR$と DAT$の違い。それに関連した MID$と LEFT$。GET #? ,?-1と PUT #? ,?-1には悩まされる可能性大。 |
|
軽く、速いので、遅いCPUとWindows95のような古いOSの場合も、救われるのでは? |
|
99BasicとN88互換BASICの比較.2スピード |
|||
---|---|---|---|
速度比 | 99Basic | N88互換BASIC | |
◇顧客管理のKCRT.bas |
500名のカードを順番に画面表示。条件検索は無し。 | ||
99とN88の2つを同時に走らせたときは、 | 1.2倍 | 151秒 | 183秒 |
相手をEND状態にして走らせたときは、 | 3.7倍 | 44秒 | 165秒 |
相手を待機させて別々に走らせたときは、 | 3.3倍 | 50秒 | 167秒 |
◇上記と同じだが、一覧リスト 相手を待機させて別々に走らせたときは、 | 3.1倍 | 57秒 | 179秒 |
◇経理の伝票チェック、ケイリ3.bas | 主にディスクアクセスと、伝票の画面表示 | ||
1,328枚の伝票の単純表示では、 | 5.5倍 | 12秒 | 66秒 |
1,328枚の伝票の条件検索表示では、 | 7.6倍 | 8秒 | 61秒 |
◇経理の科目別チェック、ケイリ28.bas | 主にディスクアクセス(3,000枚の伝票)と、指定科目の伝票を画面表示 | ||
5倍 | 28秒 | 136秒 | |
◇経理の残高・損益試算表、ケイリ45.bas | 画面表示は少ない | ||
19倍 | 2秒 | 37秒 | |
◇経理の税金計算と申告書作り、 TAX決算.bas | 画面表示は結果だけで、計算が主体。 | ||
26倍 | 2秒 | 53秒 | |
◇経理 台帳.bas | 特定科目を人別などに分類・表示・集計。画面表示は結果だけで、計算が主体。 | ||
19倍 | 5秒 | 96秒 |
ここでは、99Basicそのもののスピードアップを図っている訳ではありません。 プログラムの組み方を少し工夫することで、かなりの効果が得られることもあります。 といっても私の場合と類似で、画面表示回数の多のケースに限ります。 以上を、予めお断りしておきます。 |
1000 FOR I=1 TO I_MAX 1100 ' 通常の計算処理をする ------- 高速処理される部分です 1200 ' 念のためディスク出力 ------- それほど時間を食いません 1300 IF I< I_MAX -150 THEN GOTO *EXIT 1400 PRINT "必要な画面表示を行う" ' ------- 大半の時間を食う部分です 1500 *EXIT 1600 NEXT5.以上の結果、
お蔭さまで99Basicというものに取り組み、ほぼ使えるようになってきました。 詳しくは以下のとおりです。 |