PC-6001mkII/6601用互換BASIC変更履歴
2023.1.9
Ver.0.4.2公開。
- バグを修正。
- トラック0セクタ1にデータがあるフロッピーを入れてモード5で起動すると誤動作する
- FDDありでモード3か4で起動した時に誤動作する可能性がある (eikhussiineokさん、ありがとうございます)
2022.12.30
Ver.0.4.1公開。
- PLAY文の継ぎ目が少し目立ちにくくなりました。
- バグを修正。
- モード5のスクリーンモード2で文字や線の色に0を指定した時の動作が実機と異なる
- モード5のスクリーンモード1と2で背景色に範囲外の値を指定した時の動作が実機と異なる
- フロッピー読み込みエラー時に暴走する場合がある
- スクリーンモード2〜4でCLOADすると右上の*が正常に表示されない (eikhussiineokさん、ありがとうございます)
- CIRCLE命令で、半径=0、アスペクト比≧0の時にエラーになる (eikhussiineokさん、ありがとうございます)
- 42B9hコールでBCレジスタが破壊される
- モード1,2で拡張ROMが見えないバンク状態になっている (eikhussiineokさん、ありがとうございます)
- PUT@命令で、表示条件としてORを指定した時に誤動作する
- CLOAD*命令で読み込みエラー時に暴走する
- ディスク容量に余裕があっても、サイズの大きいファイルへの書き出しで失敗することがある (eikhussiineokさん、ありがとうございます)
- DSKO$の書式が間違っている
- 複数ドライブのファイルをopenしていると、LOC()とLOF()が正常に動作しない
- SAVE命令で、プログラムサイズが256バイトの整数倍、かつ奇数番目のクラスタが先頭になると、正常にセーブできない
- INPUT文で?が行末に来る位置だと正常に入力できない (eikhussiineokさん、ありがとうございます)
- 起動後のディスク入れ替えが考慮されていない (eikhussiineokさん、ありがとうございます)
2022.6.26
Ver.0.4公開。
- OPEN、CLOSE、GET、PUT、FIELD、RSET、LSET、DSKO$()、EOF()、LOC()、LOF()、PAD()及び、フロッピーディスクに対するPRINT#、INPUT#、GET@、PUT@を実装。
- 対応ROM内ルーチンが増えました。(0BEEh,1D52h,1E39h,272Dh,2905h)
- ディスクに対するRUN命令に,Rオプションを追加。
- LOAD、MERGE、ディスクに対するRUN命令に?OM Errorチェックを追加。
- 同梱のbdf2cgrom66/bdf2kanjirom/bdf2exkanji/bdf2extkanjiでの文字割り当てと変換アルゴリズムを一部変更。また、新しいオプションとして-ascentを追加。
- 1061h (ゲームキー入力ルーチン) でCフラグが変化しないように変更。
- バグを修正。
- bdf2exkanjiが動作しない (windyさん、eighttailsさん、ありがとうございます)
- bdf2exkanji/bdf2extkanjiで、元フォントのサイズが小さい場合8x16文字と8x8文字が異常に小さくなる
- LIST命令のESC状態が、N6X-BASICでは無効となるキー入力で解除されることがある (じゃんめろ。さん、ありがとうございます)
- PRINT#-1とPRINT#-2で,を使った時、初代機と同じく空白が出力されてしまう (じゃんめろ。さん、ありがとうございます)
- SCREEN2でCLSした時のアトリビュートの値がおかしい (eighttailsさん、ありがとうございます)
- NEWの後に不要な文字を加えてもエラーにならない (川俣さん、ありがとうございます)
- 0/0がエラーにならない
- ファンクションキーの文字列中にCHR$(0)があっても、続く文字が入力されてしまう
- CSAVEやPRINT#-1での無音時間が少し短くなっていた (Ver.0.2から)
- モード5でCOLOR第3パラメータをチェックしていない (Tsutsuiさん、ありがとうございます)
- 割り算の結果が小さい時に暴走する (川俣さん、ありがとうございます)
- MERGE命令使用時に、元々ある行番号と読み込むファイルにある行番号が重なると正常に動作しない (eikhussiineokさん、ありがとうございます)
- INPUT命令で文字列変数を使用する場合、何も入力しないと、変数が空文字列で上書きされてしまう
- RUN命令のファイル名指定に文字列変数を使用できない
- GET@、PUT@命令で@が省略できない
- 負数に対するEXP関数やべき乗で、正しくない結果を返す場合がある (EXP(-89)〜EXP(-177)あたり)
2020.11.21
Ver.0.3.1公開。
- バグを修正。
- ファイル名を指定してのRUN命令が動作しない
- MERGE命令の後ろに,Rをつけるとプログラムを実行してしまう
- スクリーンモード1と2のLINE BF命令が正常に動かない場合がある (eikhussiineokさん、ありがとうございます)
- SCREEN関数で各行左端の文字しか読めない (eikhussiineokさん、ありがとうございます)
2020.6.6
Ver.0.3公開。
- 「PC-6601用」だとmkIIで使えないような誤解を招きそうな気がしたので名称を変更。BASICROM.62/VOICEROM.62も同梱するように。(中身はBASICROM.66/VOICEROM.66と同じもの)
- LOAD、SAVE、BLOAD、BSAVE、FILES、LFILES、KILL、NAME、MERGE、DSKF()、DSKI$()、CVS()、MKS$()を実装。
- 外付けFDDに対応。
- FAT8標準フォーマットのブランク1Dファイル (D88形式、40トラック) を同梱。
- 対応ROM内ルーチンが増えました。(2701h,51F2h,5CFDh)
- プログラム入力時の中間言語変換が少し速くなったはず。
- PC6001VWのTALK字幕機能に仮対応。
- バグを修正。
- TALK命令で固定語を連続して喋らせると後の方しか発声しない (Ackieeeさん、ありがとうございます)
- DIM命令で配列でない通常変数を複数指定するとエラーになる
- プログラム入力時にオーバーメモリエラーチェックをしていない
- LPRINT後のINPUTでプロンプトが正常に表示されない
2019.10.3
Ver.0.2.2公開。
2019.9.19
Ver.0.2.1公開。
- 対応ROM内ルーチンが増えました。(1CD2h,1CF6h,1D73h,6B4Ah,6B9Bh,7161h)
- 拡張漢字ROMイメージ変換プログラムをbdf2extkanjiとbdf2exkanjiの2種類に変更。
- バグを修正。
- 同梱のbdf2cgrom66で出力されるCGROM60.66が縦10ドットフォントになっている (eighttailsさん、ありがとうございます)
- 同梱のbdf2cgrom66.exe、bdf2extkanji.exeで変換に失敗する可能性がある
- スクリーンエディタ使用中に行頭でDELを押しても字が消えない
- CLEARの第二パラメータで非常に小さいアドレスを指定すると誤動作を起こす
2019.9.9
Ver.0.2公開。
- LGPLv2.1以降での利用を可能としました。
- HEX$()、DELETE、CLOAD*、CSAVE*、GET@、PUT@、MON、CIRCLEを実装。
- 対応ROM内ルーチンが増えました。(0384h,038Bh,1179h,1181h,14AFh,1A1Ch,1B2Ah,3995h)
- CLOAD時のアスタリスク点滅タイミングをN60-BASICと同様に変更。(Tsutsuiさん、ありがとうございます)
- 等号不等号3種を1種ずつ3個並べた演算子 (>=<, <=>, ><=, <>=, =><, =<>) に対応。常に真となる比較演算を行います。
- EXEC命令で0以外のアドレスを指定した時にCフラグを立てるよう修正。
- 拡張漢字ROMイメージ変換プログラムbdf2extkanjiを同梱。
- 文字列演算時に?OS Errorや?ST Errorが出やすい問題を改善。
- mkII/6601用のカートリッジ起動に対応。
- バグを修正。
- PLAY文の音程データが不正確だった (bookwormさん、ありがとうございます)
- 同じFORループを途中で抜けるのを繰り返すとやがて?OM Errorになる
- ?OM Errorの際にプログラムが破壊されることがある
- 特定の条件下でNEXTやRETURNが誤動作する
- PLAY"M0"がエラーにならない
- 整数値を扱う命令で負数も有効になるもの (AND、PEEK、CLEARなど) の場合、小数点付きの負数を使った時の端数処理が正しくない
- RND()の値がおかしい場合がある
- 累乗計算で指数が大きい時の結果がおかしい
- VAL関数で指数部を含む文字列を指定すると、別の文字列まで読んでしまうことがある
- 多重ループのNEXT命令がコンマで終わった時にエラーにならない
- スクリーンモード1,2でセミグラフィック文字のある箇所にPSETやLINEでグラフィックを描いた時の挙動が異なる
- カーソルキーを3個以上同時に押した時のSTICK()の値が異なる
- DIM命令で配列変数でなく通常変数を指定した時に、続く命令が正常に実行されない
- LEFT$(),RIGHT$(),MID$()においてグラフィック文字の途中で分割した時の結果が異なる
- COS()の引数が減算を含む式だった場合エラーになることがある
- 等号の演算順序が不等号より先になっていた (N6X-BASICでは同順位)
- 実機で漢字ROM/音声合成ROMへのバンク切り替えに失敗する
- SCREEN()が正常に動作しない
- スクリーンモードが3か4の時、カーソルが行頭以外にある状態でプログラムが終わっても改行しない
- 同梱のbdf2cgrom66がFONT_DESCENT 0の時に動かない
- FDDオートスタートからの起動でBASICモードを自動入力できない
- モード1-4のスクリーンモード3でカラー5以上の色が異なる
- マイナス符号と小数点が両方ある数値に対してVAL()が正しく動作しない
- マイナス符号と小数点が両方ある数値に対してREAD-DATAが正しく動作しない
- INPUT命令での複数入力に失敗する
- INPUT命令での入力に対しDELキーを使うと入力が欠けることがある
- ページを変更した時にカラーセット(COLOR命令第3パラメータ)が変化してしまう
- 6B7Ah(COLOR命令第3パラメータ実行ルーチン)の入力値が間違っている
- 文字列演算の途中でガベージコレクションが発生すると結果が壊れることがある
2017.6.6
Ver.0.1公開。
- N60-BASICにある命令+KANJI+TALKのみ実装済み。
- FDDに関しては、最低限のアクセスルーチンとオートスタートを実装。内蔵ドライブのみ。