c80 近況報告 | 2024.10.23
PC-8001:c80 に戻る |
* お願い * |
|
* ライセンス変更のおしらせ * |
|
2024.07.27 |
プライベート版の配布について |
------------------------------------------------------------------------------ [Release ----] Ver. 1.0.53 2024.10.23 ------------------------------------------------------------------------------ [ライブラリ] ・CmtUtil (Version 6.5.36 → 6.5.37) ・DataFile の解析時に落ちることがあった為対策した ・I:CANVAS.Data も同様の対策を施した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・ビデオ廻りをリファクタリングした (TVD-02) フォントデータのアクセス方法を最適化しました ORANGEは変更ありません ・今回はサンプル版の配布はありません
[c80] ・前回のサンプル版から変更はありません ・デバッガは試用版です 2024.12.31 を過ぎて使用する場合はライセンスキーが必要になります 詳細は「プライベート版の配布について」に準じた形でお問い合わせください http://upd780c1.g1.xrea.com/pc-8001/private.html
------------------------------------------------------------------------------ [Release ----] Ver. 1.0.51 2024.09.04 ------------------------------------------------------------------------------ [c80] ・メニューまわり整理 (Java2版) ・エイジング期間をひと月延長し、今月末の正式リリースを目指すことにした ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.09.30 を過ぎると使用できません
------------------------------------------------------------------------------ [Release ----] Ver. 1.0.50 2024.08.17 ------------------------------------------------------------------------------ [ライブラリ] ・EmuratorGUI (Java2版) ・自動タイプ時のパッチに関するメニュー (Typer.#mod コマンド) ファイルのロードが不要な機種でパッチを有効化するとメニューが壊れる j68 の「FullChar Patch」対応時に壊していました +Typer.#mod コマンドが使えない場合の保護も弱かったので対策しました ・Keyboard メニューの表記を調整した 「Type Speed」とその影響を受ける機能に「⌨」マークを付けてみました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.08.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.49 2024.07.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・hal8999.lib 以下のクラスパスを整理した ・オブジェクト配列の自動拡張ミス 影響範囲 : 2024.06.01 の版以降 ・hal8999.util.java2.JClickableMap (Java2版の仮想キーボード) ・hal8999.emu.util.Asm2Obj (Version 1.3.2 → 1.3.3) ・Printerメニューまわりのドキュメント性が低かったのでクラス構成から見直した ファイル出力はプリンタポートのログ(出力データのみ)です Loggerはサウンドボードやプリンタが接続されていない場合のみ機能します ・EmulatorGUI (Java2版, Android版) テープイメージの出力フォルダが掘られないバグFIX コード整理した際のコピペミスだと思います ・Configure dmpDir の存在チェックに失敗するバグFIX コード整理した際のコピペミスだと思います ・uPD8255 (2023.12.30 → 2024.01.27 あたりでエンバグ) 通常の使用では問題なかったと思いたい ・SN76489 ビットの入れ替えを掃き出した 最初に書いたサウンドボードに合わせていましたが止めました ・システムメニューのデフォルトラベルを変更した (Java2版) 従来よりエミュレータ名に商号や商標,商品名を使用しない様にしてきましたが、 メニューやタイトルバーなどの普段から目立つ場所への露出も控える事にしました ・賞味期限の扱い等を変更した (Java2版) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・相互参照していて初期化にクセがあるクラスを整理した どうしようもないものは詳しいコメントを書いた ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.08.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.48 2024.06.29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・VirtualMachine ・バッファモード(自動タイプ等)のパッチ適用時に自動実行するフックを用意した (現在 j68 のみで使用) ・CmtUtil (Version 6.5.35 → 6.5.36) ・BMUG1200:L2BASIC ・BMUG1200:DataFile 正常なイメージをエラー判定してしまうバグFIX ・BMUG1200:MONITOR ・BMUG1200:L2BASIC ・BMUG1200:DataFile 出力用のテンプレートを調整した ・Hudson:NONTAMA/88C の解析に対応した ・XTAL:Fantas.8801 の解析に対応した 下記フォーマットの表現等を調整した XTAL:Fantas.Prog1 ⇒ XTAL:Fantas.80SR XTAL:Fantas.Prog2 ⇒ XTAL:Fantas.80SR XTAL:Fantas.Data BAUD_600 ⇒ BAUS_USER ・TapeUtils (簡易解析) ・BASIC:Body の判定方法を調整した ・Cassette ・*BLANK タグの時間計算がオーバーフローしやすかったので調整した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.08.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.47 2024.06.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (Version 6.5.34 → 6.5.35) ・CMU-800のシーケンスデータに似たフォーマットで I/O:CAP-X と誤認するものを 注意喚起のために落とすことにした ヘッダブロック/データブロック間のgap(MARKx960)をデータとして拾ってしまう 変換プログラムがあるのでしょうか? ・Config (Java2版のみ) ・ブート時の「ギミック抑制期間」の仕様を変更した cfgが更新されていたら「最後に電源OFFした時刻」を無視します cfg更新後初めての起動では「抑制期間」には入らなくなります cfg編集後に iniファイルの削除なしで「新規」と同じ扱いで動作確認できます ・EmulatorGUI (Java2版のみ) ・フルスクリーン化時に固まる対策 ディスプレイポートのサウンドを使用していると特定の条件で固まった様です 16年ぶりにディスプレイを更新して発覚しました 一応の対策はしましたが、環境によっては効果が無いかもしれません 環境依存の不具合は報告が無い限り(知り得ないので)何もしません ・Util:4 (ウィンドウサイズ等確認) 余白部分の計算方法を変更した ・EmulatorGUI, CrtDisplay (Java2版のみ) ・ディスプレイの回転に対応した フルスクリーンには対応していません cmd追加 : CRT.pivot=0,1,2 cfg追加 : OPTION:-pivot=0,1,2 -pivot=1,2 の場合は -full を無視します ・縦方向の表示サイズ(走査線のピッチをイメージ)を調整できるようにしてみた テスト実装です 詳細についてはテストしていただける方にのみ公開します ・CrtDisplay (Java2版) ・新機能の調査を兼ねてコードを整理した ※各機種毎のサブクラスにも調整が入っています ・CrtDisplay (Android版) ・新機能の調査を兼ねてコードを整理した (ビルド確認なし) ※各機種毎のサブクラスにも調整が入っています - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・変更なし
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.46 2024.04.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (Version 6.5.33 → 6.5.34) ・TK-80:MONITOR のボーレートを変更した BAUD_110固定 → BAUD_USER 変更した理由: ・Bit-INN で 300baud に対応した ROMを使用していた形跡がある ・WAITをカットしてズレたボーレートに対応するかもしれない ・BOTHTEC88:IPL の解析に対応した ・BOTHTEC:Chima.Loader の解析に対応した ・BOTHTEC:Chima.MAIN の解析に対応した ・TapeUtils ・BOTHTEC88:IPL の解析に対応した ・Cassette, DataRecorder ・PCM読み出しモードの頭出しが意図した動作をしていなかった (何回目?) 今まで見直してきたコード以外に原因がありました 最初に構築するインデックスマップが狂っていました 今度こそ大丈夫 (だといいなぁ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・変更なし
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.45 2024.03.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (Version 6.5.32 → 6.5.33) ・TK-80:MONITOR の判定基準を厳しくした TK-80/BS の BASICファイル名部分で誤爆することがあったので対策しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・変更なし
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.44 2024.02.24 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・TapeUtils (簡易解析) ・"MONITOR(9801)" の解析に対応した (モニタフォーマット本体) ・表記変更 : "PC-8801:MONITOR" → "PC-88/98:MONITOR" (モニタのヘッダ) ※Cmt2Dir の cas出力では "PC-8801:MONITOR","PC-9801:MONITOR" に区別します ・PC-88/98:MONITOR ・末尾の空白文字を無視することにした (先頭が空白文字だったら加工しない) ・CmtUtil (Version 6.5.31 → 6.5.32) ・表記変更 : "MONITOR(86)" → "MONITOR(9801)" ・PC-8801:MONITOR, PC-9801:MONITOR ・末尾の空白文字を無視することにした (先頭が空白文字だったら加工しない) ・CasUtil (Version 6.6.1 → 6.6.2) ・*BIN の address= オプションに短縮形(addr=) も受け付けるようにした ・Cas2Cmt (Version 6.5.3 → 6.5.4) ・*BIN の address= オプションに短縮形(addr=) も受け付けるようにした ・hal8999.emu.device.cpu.ICE#loadHEX() ・不正な文字で落ちないようにした (キャンセル扱い) ・hal8999.emu.device.cpu.ICE#loadMOT() ・不正な文字で落ちないようにした (キャンセル扱い) ・MemoryEditor ・コピーコマンドを機種(構成)毎に拡張できるようにした ※c80では未使用 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・変更なし
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.43 2024.01.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Cassette ・PWM(2400Hz/1200Hz) 対応 (暫定仕様) ・CmtUtil (Version 6.5.30 → 6.5.31) ・PASOPIA:BASIC の解析に対応した (暫定仕様) ・PASOPIA:MONITOR の解析に対応した (暫定仕様) ・TK-BS:MON/BAS の長いファイル名の省略表記がうまく機能していなかった ・TapeUtils ・PASOPIA:MONHEAD の簡易解析に対応した (誤爆対策) ・PASOPIA:BASHEAD の簡易解析に対応した (Cmt2Dir対策) ・簡易解析をチューニングした : テンプレ確認時に予選実施 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・変更なし
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.42 2023.12.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (6.5.29 → 6.5.30) ・LOGiN:DreiL.MSX を MSX:BIN に変更し、ボーレートを「可変」とした ・MSX:ASM(ASCII:1984.6 ASSEMBLER plus) の解析に対応した ・MSX:DOWNLD.R(ASCII:1984.6 ASSEMBLER「ダウンローダー」) の解析に対応した 他機種用のプログラムが含まれたCMTイメージを無加工で使用するための対応です - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) サンプル版では一部の機能が使用できません テスト期限:2024.01.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.41 2023.11.25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CasUtil (Version 6.6.0 → 6.6.1) ・最近追加した特殊なボーレートの対応を忘れていた ※cmt8001 で出力した cas に情報漏れがあります MY BASIC 4000 : Cassette.BAUD_450, BAUD_900, BAUD_1800 ORANGE : Cassette.BAUD_125, BAUD_250, BAUD_500, BAUD_1000 ・CmtUtil (6.5.28 → 6.5.29) ・LOGiN:DreiL.MSX の解析に対応した 他機種用のプログラムが含まれたCMTイメージを無加工で使用するための対応です ・Cassette ・PCMモードでの頭出しが意図した動作をしていなかった どこかで壊した? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・CrtDriver01, CrtDriver04, CrtDriver82 ・DMAコストの算出方法(端数処理)をCPUクロックベースでの切り上げに変更した ※CrtDriver01, CrtDriver04 は端数が出ないので影響なし ・CrtDriver01 ・TVD-03 のパレットが判ったので変更した ・CrtDriver ・パレットの初期化まわりを整理した ・Keyboard ・未使用キー使うと落ちる Java2版の仮想キーボードのみ確認 / おそらくAndroid版でも再現するはず いつ壊したか不明 (Release 1.4 は OK) ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて動作報告をお願いします テスト期限:2023.12.31 が設定されています 期限後は使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.40 2023.10.28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (6.5.27 → 6.5.28) ・FMT_ORANGE ・テンプレを調整した ・チェックを厳しくした ・バイナリサイズに終端マーク2byteを含めることにした ⇒ SAVEコマンド(バイナリセーブ)で指定した範囲とズレますが仕様とします ・Config のエラーハンドリングを変更した 外部ファイルに問題があった場合そこで全ての処理を中止する事にしました 従来はそのファイルの処理は中止しますが、親に戻って処理を続けていました 一貫性に欠けエラーの場所が判りにくくなるなどの問題があったため変更しました 外部ファイルで落ちた場合、エラーの発生したファイル名も表示されます - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・INIファイル実験 (Java2版のみ) ・cfg -INI 仕様変更 ※詳細は c80.cfg を参照してください ・メインウィンドウの場所を覚えるようにしてみた - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・CrtDriver82 ・モノクロ出力が仮実装のままだったのでFIXした ディスプレイの定義に輝度変調の情報を追加する必要があります ※NTSCの信号レベルのシミュレーションは行っていません (雰囲気再現) ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて動作報告をお願いします テスト期限:2023.11.30 が設定されています 期限後は使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.39 2023.09.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・TapeUtils ・簡易解析でBASICファイル名などにゴミが混ざることがあった ・CmtUtil (6.5.25 → 6.5.26) ・I/O:MONITOR60 の解析に対応した 佐々木哲哉「PC-6001マシン語モニタ」I/O:1982.2 PiOモニタ(PiO:3) も同じフォーマットです ・PiO:E.MONITOR の解析に対応した (実テープ未確認) 山脇利夫「Eモニタ」PiO:2 ・LOGiN:ML.MON60 (LOGiN:1984.9) の解析に対応した ・Cassette ・周波数(変調方式)の違いに柔軟に対応できるようにした ・DataRecorder ・Cassette の拡張に伴う調整 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・DataRecorder* ・フレームワーク改修に伴う変更 ORANGE も完全にフレームワークに載りました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.38 2023.08.26 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・文字列処理の実行速度を改善した ・CmtUtil (6.5.24 → 6.5.25) ・PC-9801:MONITOR, MONITOR(86) の解析に対応した ・LOGiN:MicroMON60「ARIBUNTA MONITOR (LOGiN:1984.4)」の解析に対応した 他機種用のプログラムが含まれたCMTイメージを無加工で使用するための対応です が、TL8404 のA面にはゴミ(首なしBASIC)があるので除外しておかないとダメです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.37 2023.07.29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Dmp2Obj (6.2.4 → 6.2.5) LOGiN(ASCII) の 256byteブロックSUM に対応した ・ICE.MemoryEditor (DMPフォーマットの出力) LOGiN(ASCII)形式の DMP出力に 256byteブロックSUM を追加した ・TracerGUI (Java2版) エンコード指定を除去している場合でも行番号の表示が 1 からになっていた
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.36 2023.06.11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Cassette ・PCM読み出しモードの実装を見直した ・CmtUtil (6.5.24 → 6.5.25) ・MITEC:4KBASIC の解析に対応した ・TapeUtils (簡易解析) ・AMDEK:COMPU-MUSIC フォーマット判定ロジックに「サイズ」の条件を追加した ・CarryLab:JE6#Loader ファイル名をうまく取得できないことがあったので対策した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.35 2023.04.29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・VirtualKeyboard (Java2版) 変形キー対応
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.34 2023.04.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・リファクタリング中 ・精査, 実体が伴わなくなっている変数/関数名変更, コメントバグ潰し ・Java2版 ・D&D 操作で固まることがある件 (安定した?)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.33 2023.03.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・ICE.MemoryEditor (DMPフォーマットの出力) ・I/O誌形式で、16byte境界から始まらないときに 縦SUMがズレるバグFIX ・将来の拡張に備えDMP形式での出力コードを整理した ・テクポリ誌の横SUM3桁の出力に対応した (16x16) ・テクポリ誌の 8x8 フォーマットに対応した ・ICE.Debugger 及び ICE.DebugIF に関係するクラス(CPU, MEMORY) ・逆アセンブラの取り回しを調整した ・MemoryEditor (Java2版) ・ベタイメージの D&D に対応した ROMイメージなどをロードできなかったので対応しました アドレスの情報がないので、表示中のメモリ(マップ)の先頭からロードします ファイル名などからメモリ種別やアドレスを補完したりすることはありません ・Dmp2Obj (6.2.3 → 6.2.4) DmpUtil (6.2.2 → 6.2.3) ・行頭に「*EOF」が記述された行以降を無視する仕様を追加した ・ログの出力を調整した ・明示的に追加したコメント等をログに含めることにした ・整形する際に元のフォーマットを可能な限り生かす様にした ・"##" によるコメントを追加した (ログに出力しないコメント) Dmp2Obj が追加するメッセージを想定しています ・ログにコメントを含めることにしたので *encoding指定, BOM付きUTFに対応した ログのエンコーディングと指定方法はソースの設定が引き継がれます ・TracerGUI (Java2版) ・dbgファイル冒頭にある *encoding指定を編集できないようにした ・Java2版 ・D&D 操作で固まることがある(16.0.1@Win10) ので調査した コンソール(種類,使い方)との相性かも... とりあえず皆さんからの動作報告を待って対応を決めます
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.32 2023.02.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Dmp2Obj (6.2.2 → 6.2.3) ・データ行なしで 縦SUM行に遭遇したら落とすことにした ・CmtUtil (6.5.23 → 6.5.24) ・TECHNOPOLiS:GRACE の解析に対応した ・ICE.MemoryEditor ・I/O誌形式のダンプ出力に縦SUMを追加した ※不要の場合は、貼り付け後に「Sum :」を「/// :」に置換してください
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.31 2022.12.24 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (6.5.22 → 6.5.23) ・尻切れのイメージを完品と判定してしまう可能性があった (エンバグ) ・XTAL:Fantas.Data の解析に対応した ※80SR版のみ / 8801版は未確認です ・XTAL:Fantas.Prog#1, Prog#2 ローダーと一体でないイメージでも解析できるようにした ※80SR版のみ / 8801版は未確認です ・MicroCabin:MON88 の解析に対応した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・賞味期限:2023.01.15 が設定されています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.30 2022.11.26 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Config, VirtualMachine リファクタリング ・機種判定を VirtualMachine から Configクラスに移した ・EmulatorGUI (Java2版) ・仮想キーボードまわりの混乱を整理した ・CmtUtil (6.5.21 → 6.5.22) ・判定速度を改善した ・I:CANVAS.Prog コメント(プログラムサイズ)の間違いを修正した ・ASCII:PASCAL-PC ロジックを調整して、後方に配置された BASIC の影響を受けにくくした ※全般的に手が入っていますので動作確認をお願いします ・ロジック変更に伴い、意図しないチェック順の変更があります ・時間的な余裕ができたので、チェックを厳しめにした部分があります ・チェック順に依存する回避が難しい誤爆の可能性を確認しています 利用実態に合わせた対応をしたいと考えていますので報告をお願いします - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・賞味期限:2022.12.31 が設定されています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.29 2022.11.06 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ライセンスを変更しました : : 必ず readme.txt を確認し、同意の上で使用してください : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [全般] ・コンソール表示を見直した ・ロードしたファイル等を全てフルパスで表示することにした ・設定ファイル中のユーザーによるコメント等の表示方法を変更した [ライブラリ] ・リリース管理方法を変更した ・Asm2Obj (1.3.1 → 1.3.2) ・DS で予約した領域にオブジェクトを吐けるようにした (警告なし) BINCLUDE 以外も許容することにしました 結果的に「未使用」と同じ扱いになりました 予約済みのアドレスを(別の名前で)再予約することも許します 直交性の観点から、使用済みのアドレスを「予約」することも可能としました 起動時に一度しか使わないコードをワークエリアに置きたいなぁと思ったので... ・BINCLUDE の切り出し範囲指定方法を追加した 1. 先頭からのオフセット, サイズ 2. 先頭からのオフセット, EOFから前方へのオフセット 3. EOFから前方へのオフセット, サイズ (追加) 4. EOFから前方へのオフセット, EOFから前方へのオフセット (追加) ・VirtualMachine ・起動プロセスを調整した 電源ON で起動する際に「信号なし」の画面を端折るのを止めました 画面のバタつきが気になる場合は、色設定ファイルで調整してください ・Keyboard ・ローマ字カナ変換で三打目に "Y" を入力すると落ちるバグFIX c80 : Ver. 1.b.21 → Ver. 1.b.22 でエンバグ ・cfg (Java2版) ・LookAndFeel → Swing.LookAndFeel に変更し、外部ファイル(Swing)に対応 ・Menu.MOUNT_FG → Swing.MOUNT_FG に変更 ・Menu.MOUNT_BG → Swing.MOUNT_BG に変更 ・Menu filename.cfg → Swing filename.cfg に変更 ・WINDOW → Display.WINDOW に変更 ・Window filename.cfg → Display filename.cfg で SCREEN と統合 ・SCREEN → Display.SCREEN に変更 ・Screen filename.cfg → Display filename.cfg で WINDOW と統合 ・Display.WINDOW, Display.SCREEN 「*」指定で、それ以降の項目を引き継ぐことができるようにした 例:Display filename.cfg // 倍率, ボーダーを設定 Display.WINDOW 100 * // 倍率のみ変更 ・ini (Java2版) ・初期化ファイルを使う準備を始めた cfg:-INI でファイルを指定しない場合は使用しません (デフォルト) 現状では iniファイルの中身はありませんが、j80, j68 の OPTION:-boot で iniファイルのタイムスタンプを見ています 複数のcfgでiniファイルを共有する場合は「個体」として区別されないことに 注意してください iniを使用しない場合は、実質的に「抑制期間 = 0sec」と同じ扱いになります ・EmulatorGUI (Java2版) ・強制終了時に ShutdownHook が機能していないようだ (Win10 で確認) 別の対策を検討してみましたが、あまり安全ではないので採用を見送りました [暫定仕様] ・異常終了時: ・セーブ用 CMTファイル ・COMKIT : 出力後すぐに落ちた場合、ファイルが壊れる可能性があります ・ORANGE : MOTOR OFF前に落ちた場合、ファイルが壊れる可能性があります ・試験実装中のiniファイルは更新されません ・強制終了時:コンソールの[X]で終了した時など ・異常終了時と同じ ・HexDumpPanel (Java2版) ・ASCIIダンプ領域にASCII文字を入力できなくなっていた 2022.06.12版で文字の扱いを整理した時の修正漏れ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・Memoryクラスの混乱した初期化プロセスを改善するため継承関係を見直した ※コードが荒れていますので、致命的なバグがあるかもしれません ・CrtDriverクラスの初期化プロセスを改善するためコンストラクタを見直した ※コードが荒れていますので、致命的なバグがあるかもしれません ・賞味期限:2022.11.30 が設定されています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.28 2022.08.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CrtDisplay (Java2版のみ) ・チラつき具合の改善(均一化)について: サンドバッファのサイズを減らしたり、スムースパッチのレベルを上げるのも 有効な様です 「更新の有無に拠らず毎フレーム全画面転送するモード」も残しておきますので、 それらの組み合わせで最適な設定を探してみてください キースキャンのムラも改善されるのでゲームの操作性も向上する気がします ・CrtDisplay, CrtDriver, その他関連クラス ・「PAGE FLIP」を廃止した (予告済 / j80 以外では未使用) ・フレームスキップを廃止した (予告済 / j80 以外では未使用) ・cfg FLIP 廃止 OPTION:-mix 廃止 OPTION:-skip 廃止 ・cmd Mixer 廃止 Mixer.type 廃止 FrameSkip 廃止 ・Keyboard ・ローマ字カナ変換のマップに「LTU:ッ」を追加した 3打目が「AIUEO」以外のケースを想定していなかったため「XTSU」,「LTSU」は 使えません ・設定ファイル等に BOM付きUTFファイルを使用できるようにした (UTF-8 のみ確認) *encoding指定が可能なファイルすべてが対象になります BOMは *encoding指定に優先します [参考] CasUtil : Version 6.5.2 → 6.5.3 Cas2Cmt : Version 6.5.2 → 6.5.3 Asm2Obj : Version 1.3.0 → 1.3.1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・「PAGE FLIP」廃止に伴う調整 ・フレームスキップ廃止に伴う調整
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.27 2022.08.07 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CrtDisplay (Java2版のみ) ・部分更新や更新無しの場合でも全画面転送するモードを設けた 画面切り替えを繰り返す場合のチラつき具合が改善するかもしれません 動作レポートをお願いします 描画にアンチエイリアスが(勝手に)掛かってしまう環境では、 部分更新した境界がブロックノイズの様に目立ってしまう様です 今回のパッチを適用すれば改善する可能性があります こちらも改善の有無にかかわらず動作レポートをお願いします
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.26 2022.06.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ソースのコメントやドキュメントを読み直して、放置個所や実装との不整合部分を 整理をしています (主にコード側で対応) 当初の意図とは違う方向に膨らんでしまった機能などもあるので仕方ないね しばらくはこういった落穂拾いを続ける予定 全体が整ったら停滞中の少し大きなプロジェクト(何だろう?)を片付けたい それが終わったら次のステップへ進むつもり ・「文字, 文字列」(文字データ) の仕様を整理した ・「文字」はソースの文字コードに依存しない「キャラクタコード」とする ・ソース中の文字はUTF-16に変換してから処理する(変換ロジックはJavaAPI依存) ・U+0000~U+00FF のコードは「キャラクタコード」そのものとして扱う U+0100~ のコードは、別途与えるマップで「キャラクタコード」に変換する ・「使用できない文字」と「表示できない文字」に混乱があったので調整した 使用できない文字 : キャラクタコードに変換できない「UTF文字」 表示できない文字 : コントロールコード,グリフが割り当てられていない文字 ・キャラクタコードへの変換処理をライブラリに移した Java2版「メモリエディタ」の ASCIIダンプ領域へのコピペで、自動タイプと同じ ファイルから同じ文字を切り貼りできるようになりました 従来はLatin-1の一部の文字(N-Fontのグラフィック文字など)が扱えませんでした ・Asm2Obj (1.2.2 → 1.3.0) ・Windows-31J 以外の文字コードのソースも受け付けるようにした 自動判別はしません INCLUDE するファイル毎に独立して指定可能です 指定方法は assembler.txt を参照してください ・文字定数, 文字列に「非ASCII文字」を使えるようにした エミュレータの自動タイプで使うファイルと同じ文字データが使えます ※現在搭載している変換マップでは機種毎の特殊な文字には非対応です 変換マップの外部指定については具体的な要望があったら検討します [ 現在対応している非ASCII文字 ] 半角形 : カタカナ,カナ記号 全角形 : 数字,英記号,英大文字,英小文字,カタカナ,カナ記号 ・キャラクタコードに変換できない文字を評価する際にエラーを出すようにした 使用できない文字が含まれた文字列に出会ってもそこではエラーになりません 例 : DB "ABC"&"禁" ⇒ & の右側を評価するタイミングでエラー DB "A"&"BC禁" ⇒ DB で "ABC禁" を文字に分解する際にエラー ・logファイルの文字コードを明示した (UTF-8) 指定を忘れてプラットフォーム依存になっていたので化ける環境があったかも ・仮引数, 関数, シンボル(ラベル) の名前に「'」,「"」を使用できなくした ・マクロ, 関数の仕様を整理した ・REPT,IRP,IRPC (ループマクロ) ・定義エラーの発生タイミングを整理した ・エラーに関するログを見やすくした ・MACRO ・定義で落ちたマクロもテーブルに登録するようにした ・エラーに関するログを見やすくした ・マクロ中のマクロ定義を許すことにした (あまり意味が無いので非推奨) ・マクロ名も '#'(マクロID) によって修飾可能とした ・FUNCTION ・定義で落ちた関数もテーブルに登録するようにした ・エラーに関するログを見やすくした ・SoundUtils ・RCフィルタをクラスライブラリ化し、HPF対応を含め整備した ・対数テーブル関連の utils もライブラリ化検討中 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.25 2022.05.08 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Asm2Obj (1.2.1 → 1.2.2) ・演算器の内部コードを整理しロジックを簡素化した 短絡評価対応時(1.2.0)の場当たり的な実装が気になっていたので直しました これを先にやっておけば... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.24 2022.05.07 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Asm2Obj (1.2.0 → 1.2.1) ・モトローラ二進数フォーマットの '%' とmod演算子の判定ミス修正 短絡評価対応時(1.2.0)の修正漏れです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.23 2022.04.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (6.5.20 → 6.5.21) ・CarryLab:HEAD, CarryLab:DATA に対応した ・Asm2Obj (1.1.1 → 1.2.0) ・32bit以上のシフトで意図しない値が返っていたので修正した(実用上の意味なし) ・関数の引数中の関数の評価時に親関数の引数を壊してしまうことがあるバグ FIX ・END の仕様を「そのファイルの末尾までをスキップする」に変更した ⇒ INCLUDE, CHAIN 先から戻ったときの動作が変わりました パッチ当ての際に「END」のコメントアウトが不要になりました マクロ中の END は、呼び出したソースファイルの末尾までスキップします マクロを定義したファイルのスコープではありません ・マクロ外でも「END 式」による ABENDを受け付ける様にした 昔の仕様に戻しました 参考 : Version 0.9.2 → 0.9.3 でマクロ内に限定 (2019.12.28) 式が 0 を返す場合は、式があっても ABENDとしません (変更なし) ・「END 式」の式にエラーがあった場合も即ABEND するようにした 他の場所と同じようにエラーを報告して処理を続けると、通常の END と似た 振る舞いをしてしまうことになり、違和感があったので変更しました ・END の仕様変更に合わせてログの出力を変更(調整)した ・「END 式」による ABEND時は該当行でログの出力を打ち切る ・「END 式」による ABEND時はそれ以降の [EOF:filename] を出力をしない ・「END」,「END 0」後は、ファイル末尾までのスキップした行も出力する ・二項演算「&&」「||」で短絡評価するようにした ・評価対象外の式も構文解析は行います ・三項演算で短絡評価するようにした ・評価対象外の式も構文解析は行います ・1PASS目に解決できなくても ABEND しなくなりました ・DB, DW での振る舞いが変わりました 1PASS目に式(条件式を含む)が解決できなかった場合は「数値(1件のデータ)」 として処理を進めます したがって、2PASS目で解決された結果が文字列だった場合はエラーになります これはバイナリサイズが変わってしまうのが理由です 「undef?"ABC":"DEF"」の様に件数が自明のケースもありますが同様とします ・今回の変更で、従来と異なる値を返すケースがあります 詳細は下記サンプルを参照してください /asm.test/eval/expr3.asz /asm.test/eval/expr3-2.asz /asm.test/eval/expr3-3.asz ・短絡評価対応と文字列のハンドリングの変更により ・関数の再帰呼出しが可能になりました(実用上の意味なし) ・関数を「文字列シンボル」として利用できるようになりました ・「テンポラリ・ラベル」のユニークIDの名称を「マクロID」に変更した ・通常のマクロでも「テンポラリ・ラベル」の「マクロID」を補完することにした マクロ毎にスコープを設定しなくてもローカルラベルが使えるようになりました 【旧仕様】 MAIN: SUB1: macroname ... ;; .local# ⇒ SUB1.local# (個別の親ラベルが必要) SUB2: macroname ... ;; .local# ⇒ SUB2.local# (個別の親ラベルが必要) MAIN.: ;; (必要に応じて)スコープを戻す 【新仕様】 MAIN: macroname ... ;; .local# ⇒ MAIN.local#0000 macroname ... ;; .local# ⇒ MAIN.local#0001 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・TVD-04 ・スケジューリング調整 (暫定) 埒が明かないのでタイミング等を仮定して若干の作りこみをしました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.22 2022.04.03 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (6.5.19 → 6.5.20) ・Addcom:GPEN.Data が壊れていた 心あたりが無かったので遡って調べたら、最初から壊れてました リリース直前に何かやらかした様です ・Asm2Obj (1.1.0 → 1.1.1) ・一部の内部コードが被っていた 幸運にもバイナリへの悪影響はない様でした ・ザイログ表記の「LD r,n」の無駄括弧を許容する (不採用) 紅茶羊羹さん(http://www.maroon.dti.ne.jp/youkan/) とこの「Z80AS」の Aレジ以外では「(n)」をポインタと見なさない親切設計を真似してみました が、これを許すと逆に括弧が無くても判別可能なケース (「IN A,(n)」等) が 気になるなぁという事で採用を見送りました うちのは頭が固いままでいいや ・アセンブラ全般のコメントを整理した 他人のコード化しつつあったので巻き返しました ついでに添付のドキュメントに CPU(表記)別の特記事項を追加しました ・文字定数(文字型)の仕様を整理した コメント整理中に「(仮)」を見つけたり仕様を忘れていて嵌ったので... ・「半角カナ」も文字定数として使用できるようにした ・「半角カナ」も数値による指定ができるようにした JIS8/Shift_JIS(0xA1~0xDF), UTF-8(0xFF61~0xFF91) を受け付けます ・想定していない文字, 数値(ASCIIコード) は NUL(0x00) として扱います Version 1.1.0 までは「不定」でした 想定していない文字同士の比較では常に TRUE(!FALSE) が返りますが仕様です ・Asz2ObjZ80 (Rev.1a → Rev.1b) ・「IN (C)」の表記を認めることにした (保留していた理由失念) ・「OUT (C)」の表記を認めることにした (保留していた理由失念) ・Asz2ObjI80 (Rev.1 → Rev.1a) Asz2ObjI85 (Rev.1 → Rev.1a) ※8080/8085用 ザイログ表記 ・テンプレートから EXX を除去した Z80用のテンプレをコピペしたときに消し忘れたようです ・8085で追加された未定義命令のザイログ風表記を追加した 詳細は ./doc/assembler.txt を参照してください - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.21 2022.03.23 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Asm2Obj (1.0.0 → 1.1.0) ・オペコード,擬似命令と同じ名前でシンボル定義できるようにした ・予約語と同じ名前のシンボルは仕様上「定義できないが使う」ことはできた ・「SYMBOL」でロード可能になった →「定義できないが使える」状況が現実に という訳で、一貫性に欠けることになっていたので定義できるようにしました シンボル定義の判定ロジックを変更したので副作用が心配です 旧版と同じバイナリが生成されるか確認していただける方を募集します ・ラベルについては変更はありません オペコード,擬似命令と同じ名前を宣言する場合は末尾コロンを省略できません ・SYMBOL "filename" エラーが無い場合は log に出力していませんでした 「SYMBOL "filename"」の行を logに出力するようにしました シンボルファイルの内容は logに出力しません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.20 2022.03.21 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (6.5.18 → 6.5.19) ・LOGiN:ROBOT に対応した ・ICE および フレームワークを調整した ・複数のCPUがある場合のメモリエディタでのメモリコピー(逆アセンブル)では、 そのメモリを管理している側のCPUの逆アセンブラを使うようにした (従来は CPU#1側のみを共用) ・複数のCPUがある場合のメモリエディタへのメモリロード(アセンブル)では、 そのメモリを管理している側のCPU向けのアセンブラを使えるようにした (従来は対象メモリの情報を渡していなかったため切り分け不能) なお共有メモリは想定していません ・CrtDriver, CrtDisplay, Pixel2Png ・バッファの一部分だけを描画領域として使うケースに対応した (VDISPのみ試行) ・EmulatorGUI (Java2版) ・ドラッグによる拡縮が不安定になっていたので対策した (JavaSE 16 で確認) 簡単なパッチを当てただけなので、まだおかしな挙動をすることがあります 実用に耐えられないような動作を見つけたら教えてください - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・TVD-03 のパレットまわりのバグFIX デフォルトパレットが参照されるような定義ファイル(省略あり) を使った場合、 Red/Blue が入れ代わる等の問題が生じることがありました ・TVD-04 に仮対応した 仕様不明のためスクリーンショットが撮れる程度の適当実装です タイミングチャートなどの資料が手に入るまでパブリック・リリースは保留します フレームワーク側にペンディング項目が多いため、FIXするまでお待ちください ・cfg ・OPTION:-vram01[=[n]] を -vram[=[n]] に変更した
------------------------------------------------------------------------------ [Release 1.4] Ver. 1.0.19 2022.02.22 ------------------------------------------------------------------------------ [ライブラリ] ・Java2版 : メモリエディタ ・オフセットがある場合 [Alt]+[0~F] での頭出しに失敗するバグFIX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・賞味期限:2022.03.31 を過ぎると起動時に確認が必要になります
------------------------------------------------------------------------------ [Release 1.3] Ver. 1.0.18 2022.02.22 ------------------------------------------------------------------------------ [ライブラリ] ・BASECLOCK が異なる構成への対応を個別実装からフレームワークに移した ⇒ 主にビデオ回路まわりで使用 ・ファイル入力(TXTモード), クリップボード経由の改行コードを CRLF に統一した クリップボード経由時に改行コードが置換されてしまう環境があるようです ex.) CR+LF → LF 改行キー入力後の余裕の違いにより打ち込みの安定性に差が出る為、 環境や手段(TXT/Clip) の違いによりタイプ速度を変える必要があったようです 環境依存性を排除するため、ソースや手段に拠らず CRLF で統一する事にしました なお、CRLF はタイプ動作時に その環境に合わせた改行コード(改行キー入力) + NUL(空タイプ = WAIT) になります ※ファイル入力(RAWモード) では改行コードの調整を行いません (従来通り) ・Java2版 : メモリエディタ フルキーボードが無い構成だと ASCII入力で落ちる件FIX ※VM側の問題だったので全バージョンに修正の影響があります ・Java2版 : GUI版ターミナルエミュレータを用意した 外部接続のGUI版シリアルデバイスとしてフレームワーク化しました 現在使用しているのは m80(MP-85mkII) のみです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・COMKIT8060 ・Keyboard(バッファモード) を調整した ・カナモード中の [SPACE] では [Ctrl/O] を入力しない (カナモード継続) ・CrtDriver02 (INT-03) ※シリアルIF (INT-03) の仕様は不明 ・Ctrl/E, Ctrl/O での ECHO をやめた ・Shift/O ではカーソル位置を戻さないようにした ・画面クリアタイミングを V BLANK に移動した (根拠なし) ・Trace:3 コマンド追加 コンソールに受信キャラクタを表示します プリンタにログを流しながら操作しているイメージです ページ切り替えによるデバッグの困難さへの対応として用意しましたが、 TVD-01等を同時に使用する場合の TVD-02側の確認用にもお使いください ※サブ画面を別窓に表示しないのはコマンド体系などが複雑になる為です ・CrtDriver01 ・TVD-03 の VRAM範囲の表示が間違っていたので修正した ・COMKIT8061 ・Keyboard(バッファモード) を調整した ・様々な状況証拠からカナの仕様を推定し実装した ⇒NIBLにパッチ当てが必要になると思います ・CrtDriver02 (INT-03) ※シリアルIF (INT-03) の仕様は不明 ・Shift/O ではカーソル位置を戻さないようにした ・Trace:3 コマンド追加 コンソールに受信キャラクタを表示します プリンタにログを流しながら操作しているイメージです ページ切り替えによるデバッグの困難さへの対応として用意しましたが、 TVD-01等を同時に使用する場合の TVD-02側の確認用にもお使いください ※サブ画面を別窓に表示しないのはコマンド体系などが複雑になる為です ・CrtDriver01 ・TVD-03 の VRAM範囲の表示が間違っていたので修正した ・Memory81 ・ミラー処理のコードが紛れていたので削除した (8061はミラーなしと推定) ・RAMを増やした (外部増設相当部分を実装した) ・COMKIT8062 ・コメントアウトしておいたつもりの未実装部分のキーが生きていたので殺した ・賞味期限:2022.03.31 を過ぎると起動時に確認が必要になります
[ライブラリ] ・メモリエディタ関連 ・直感的でない挙動を改善してみた 複数のミラー部分を跨いでデータをロードする際に、更新部分が次のミラーで 元の状態に上書きされてしまう動作は良くないと思いました。 ・SoundUtils ・試作検討時に使っているフィルタ類を本番バイナリにも使用することにした 出典:Cookbook formulae for audio EQ biquad filter coefficients by Robert Bristow-Johnsonhttps://webaudio.github.io/Audio-EQ-Cookbook/audio-eq-cookbook.html https://webaudio.github.io/Audio-EQ-Cookbook/Audio-EQ-Cookbook.txt ・CmtUtil (6.5.17 → 6.5.18) ・ベーマスのテープイメージでブロック末の 0x00 が無いものの扱いを変更した フォーマット決定にあたってはテンプレチェックと詳細チェックをしています 詳細チェックの目的は次の二点 ・ファイル名などのフォーマット情報の取得 ・類似フォーマットの可能性の排除 データ化けなどの欠陥があるものは「類似フォーマットの可能性」として、次の テンプレチェックにまわされます 未知のフォーマットや破損ファイルで確定までに時間が掛かるのはこのためです 今回の問題は近年のエミュレータ, ツール, データのバグだと思われますので、 注意喚起のために落とすことにしました j80ファミリでは「出力フォーマット」を正規のフォーマットとしています 「実機で読める」としないのは、一部破損していたり、ゴミデータが混在しても 読めてしまうケースが多く、フォーマットとして確定できないのが理由です テープイメージのようなインフラ部分を扱う場合は慎重にお願いしたいです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・賞味期限:2022.03.31 を過ぎると起動時に確認が必要になります
[ライブラリ] ・CmtUtil (6.5.16 → 6.5.17) ・BondSoft:YAMETE!! ・ボーレートを 1200baud固定から USER に変更した ・フォーマット切り替え時の WAIT を追加した ・CmuUtil (新規) CMU-800のシーケンス(?)ファイルをCMU-PCフォーマットでテープイメージ化します 末尾にゴミデータが含まれる場合は除去します ・CasUtil (6.5.1 → 6.5.2) ・CMUファイルのテープイメージ化に対応した ・Cas2Cmt (6.5.1 → 6.5.2) ・CMUファイルのCMTイメージ化に対応した ・TapeUtils (旧 CassetteUtils) ・簡易解析 ・「ぐるっぺ」を Tsukumo:Diggie88 と判定しないようにした ・モニタ系フォーマットの表示内容を変更した ・PC-8X01 : 最終アドレスを推定して表示するようにした ・上記以外 : サイズのみを表記することにした ・AMDEK:COMPU-MUSIC に対応した ・I/O:WBYTE に(副次的に)対応した ・オブジェクトデータのテープイメージ化ツール ・CMUファイルから Cassetteオブジェクトを作れるようにした ・TK-80BSモニタでも BASIC同様のファイル名(コメント)を持てるようにした ・Asm2Obj (1.a.7 → 1.0.0) ・1.a.7 を正式版に昇格させた - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・賞味期限:2021.12.31 を過ぎると起動時に確認が必要になります
・賞味期限を設定してみました 2021.12.31 を過ぎると起動時に確認が必要になります
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.14 2021.09.29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CmtUtil (6.5.15 → 6.5.16) ・SystemSoft:CHPLFTR 対応 ・表記に一貫性が無い部分が目についてきたので調整した ・Asm2Hex ⇒ Asm2Obj ・外部のシンボル・テーブルを参照できるようにした (仮) ・DmpUtil ⇒ Dmp2Obj + DmpUtil に分離 ・ICE.MemoryEditor等 ・DMPファイルのロード対応した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.13 2021.09.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CassetteUtils ・Tsukumo:Diggie88 の簡易解析に対応した ・CmtUtil (6.5.14 → 6.5.15) ・Tsukumo:Diggie88 の解析に対応した ・dB-SOFT:FLAPPY88 ・dB-SOFT:88#FLAPPY に変更した ・ボーレート指定を変更した (BAUD_1200 → BAUD_USER) ・テンプレートを微調整した ・dB-SOFT:88#ZEXAS に対応した ・dB-SOFT:88#VOLGUARD に対応した ・コードを整理した 「不明ブロック」のうち特定のフォーマットに関係するものやゴミと思われるは 前後のブロックに組み入れています それらを除いたものを独立した「不明ブロック」として扱っています 非常に稀なケースですが、イメージ末尾の独立して扱いたい「不明ブロック」が 前のブロックに組み入れられてしまうことがあった可能性があります
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.12 2021.08.04 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・各種コンバータ類 ・バージョン管理を簡略化した ライブラリパッケージを別途配布することも想定していましたが止めました ・テープイメージ関連 ・クラス構成, クラス名を整理した 昔の単なるコンバータだった頃の名残を一掃しました ・CassetteUtils ・簡易解析の仕様を強化した ひとつ前のデータブロックの情報を利用できるようにしました ・DatUtil (6.0.0 → 6.0.1) ・CassetteUtils の変更に伴う修正 ・T88Util (6.3.0 → 6.3.1) ・CassetteUtils の変更に伴う修正 ・連続するデータブロックをすべて結合することにした T88 ファイルから CassetteTapeオブジェクトを作る際の処理を変更しました ・CmtUtil (6.5.13 → 6.5.14) ・Addcom:GPEN.Prog に対応した バージョンによっては認識しない可能性があります (未調査) ・Addcom:GPEN.Data に対応した 複数ブロックに分かれていますが、ブロック毎の解析には対応していません ・BinUtil (6.0.0 → 6.0.1) ・BINヘッダの解釈を変更した ・START >= END+1 のケースをエラーとしないことにした(64K境界で巻き戻る) ・64Kbyteを超えるケースに対応するためファイルサイズの扱いを変更した 旧 : BINヘッダによるサイズ + ゴミ 新 : BINヘッダによるサイズ + 64Kbyte * N + ゴミ(64Kbyte未満とする) 「64Kbyte * n + m」のゴミの「n」は「N」に含まれてしまいますが仕様とします ゴミは、ディスクから切り出した際の最終セクタの余白部分(255byte以下) がほとんどなので、従来の変換結果と差異が生じることは無いと思います ...と思ったらダメでした 「*BIN foo.d88 0x02C0 (end を省略 = -1 = ファイル末尾まで)」のような形で 利用する(している)場合は注意してください ほとんどのケースで end を省略することができなくなりました これから使う方は D882Dir で BINファイルを抽出してから利用する方が楽です D882Dir が対応していないフォーマットについてはご相談ください
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.11 2021.07.17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・バージョンチェック機能を実装してみた ※殺してあります ・バイナリエディタ ・更新部分以外でも ToolTip でアドレスを表示するようにした ・選択範囲を ToolTip で確認できるようにした ドラッグ中にアドレスを表示したかったが大変そうなので妥協した そういう用途に無理やり使うべきではないという事なのかな? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.10 2021.06.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Keyboard ・UTF-8 半角カナのマッピングを間違えていました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.9 2021.06.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Trace:n の初期状態を cfg で設定できるようにした
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.8 2021.06.18 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Config : SMOOTH, SILENT ・Patch.SMOOTH, Patch.SILENT に変更した ・Patch で外部ファイルを利用できるようにした ・デフォルト値を変更した(元に戻した) ・SMOOTH 10 →2 ・SILENT 10 →1 j80 で「システム時計が進んでしまう」との報告があったため、経験的に安全な 10msec の倍数となる値をデフォルトにしていました 2013年に対策パッチで対応してから、要/不要の連絡が全く無く困っています もう問題の出る環境はあまり残っていないと思うので、デフォルト設定を変更し cfg の記述を減らす方向で調整しました ・Java2版 cfg : WINDOW, SCREEN ・Window, Screen で外部ファイルを利用できるようにした ・Java2版 cfg : MountMenuFG, MountMenuBG ・Menu.MOUNT_FG, Menu.MOUNT_BG に変更した ・Menu で外部ファイルを利用できるようにした ・Java2版 cfg : ATTR:* ・Console.* に変更した ・Console で外部ファイルを利用できるようにした ・コマンド名を変更した ・+TyperINP → +Typer.#INP 自動タイプ:ファイル入力 TyperCLP → Typer.#CLP 自動タイプ:クリップボード入力 TyperMOD → Typer.#mod 自動タイプ:補正 ON/OFF (未使用) +TyperPNL → +Typer.PNL タッチパネル機能 マップ定義ファイル読み込み TyperPNL → Typer.PNL タッチパネル機能 ON/OFF TyperR2K → Typer.R2K ローマ字かな変換 ON/OFF ※タイプ速度設定(Typer=cmp) の影響を受けるものを Typer.* に統一した Typer.#mod の影響を受けるものを Typer.#* として区別した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [その他] ・Win10 ではバッチ起動でもコンソールに色を付けられるようです 偶然気付いた方法ですので、罠があるかも 添付のバッチファイルはすべて対応済みです ・PCを新調してから時々ウィンドウが操作不能になることがあるようです (j80) 現在の環境 (Win10) java.version : 16.0.1 java.vendor : Oracle Corporation java.vm.name : Java HotSpot(TM) 64-Bit Server VM java.vm.version : 16.0.1+9-24 java.vm.vendor : Oracle Corporation 以前の環境 (WinXp) java.version : 1.6.0 java.vendor : Sun Microsystems Inc. java.vm.name : Java HotSpot(TM) Client VM java.vm.version : 1.6.0-b105 java.vm.vendor : Sun Microsystems Inc. デバッグ系のウィンドウ(ダイアログ)を表示しているときに多い気がしますが不明 レポート書いてて気づいたんですが、Server VM が立ち上がっていますね マシン移行直前に cmd.exe でプライオリティを設定して起動するようにしました その時は不具合はなかったと思いますが、運用時間が短いので判断保留 お気づきの点がありましたら実行環境の情報等を添えて報告をお願いします 問題が起きていないという報告も歓迎します - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.7 2021.06.05 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Java2版 メモリエディタ ・Win10 でファイルのドロップ時に固まることがあったので対策してみた 今のところ安定している様ですが、原因を潰せたか不明です - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.6 2021.06.05 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・CarryLab:JE6#Data のバリエーションに対応した ・Asm2Hex ・擬似命令 IFDEF/IFNDEF に対応した ELSEIFDEF/ELSEIFNDEF は用意しませんでした ・Java2版 CrtDisplay クラス ・マウスの grabモードが変だと思っていたら二重に座標変換していた たぶんコピペの手が滑った いつ壊したか不明 ・ついでに範囲外に飛び出したときの復元位置を中央に変更してみた ※j80 以外では(未使用のため)バグFIX および 仕様変更の影響は無いはずです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [その他] ・開発PCが壊れた 新環境でのビルド第一号 (J2SDK 等は変更なし)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.5 2021.03.20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・Falcom:DS80SR の解析に対応した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.4 2021.03.06 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CassetteTape ・将来の拡張に備え内部構造を調整した (PCM読み出しモード) 今回の調整では動作に影響(変更)はありません ・Cmt2Cmt ・MB-688X:1200.BIN ・末尾に 2sec の BLANK を挿入するようにした ・MB-688X:1200.BAS ・末尾に 2sec の BLANK を挿入するようにした ・BMUG1200:MONITOR ・SPACE/MARK/BLANK の挿入パターンを変更した ・BMUG1200:L2BASIC ・SPACE/MARK/BLANK の挿入パターンを変更した ・BMUG1200:DataFile ・SPACE/MARK/BLANK の挿入パターンを変更した ・Asm2Hex ・擬似命令を追加した : RMB, FCB, FCC, FDB ・Keyboard ・ファイル入力(自動タイプ)の動作を調整した 多バイト系ファイルのタイプ完了後にしばらく待たされることがありました 長いリストではキー入力が拒否される時間も長く気になったので対策しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・COMKIT8060 の CMT IF ・周波数の誤差を加味してボーレートが丁度になるように変更した (試行)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.3 2021.02.11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CrtDriver ・パレット指定の不足分をデフォルトパレットで補う部分を整理した 機種毎の調整を実装する部分が混乱していたので整理しました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.2 2021.02.06 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・I企画の「グラフィック・キャンバス」に対応した 汎用フォーマットのような気がしますが他のソフトは未入手なので、 とりあえず「I:CANVAS.Prog」,「I:CANVAS.Data」という名前にしています 関連情報として、cmt8001よる吸出しではパラメータ指定が必要です
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.1 2021.01.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [全般] ・Java2版に搭載してある GUI版デバッグツールの簡易マニュアルを追加しました ⇒ ./doc/monitor.txt ・長いこと引きずっていたフレームワーク化の混乱がやっと収束した感じです ドキュメントを整理しつつコードを見ているとイロイロ気になる部分を見つけて しまう訳ですが、(追加したい機能を除けば)なんとかなったかなと - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・ICE.MemoryEditor ・アセンブラ DBフォーマットの出力を追加した ・BASIC DATA文の出力を追加した (1000行~ 固定) ・Java2版 メモリエディタ(バイナリエディタ) ・初期配置を変更した 常に親Window(エミュレータ本体)基準 ...重なって表示される ⇒ 常に親の左側(高さも合わせる) ・拡張コピーにアセンブラの DBフォーマットを追加した ・拡張コピーに BASIC の DATA文を追加した (1000行~ 固定) ・フォーカスが外れても選択範囲中のカーソル位置が判る様にした ・[Reset] と呼んでいたコマンドを [Backup] に変更した ・[DEL],[BS] で「元に戻す」コマンドを [Restore] と呼ぶことにした ・選択範囲に対して [Restore] コマンドを掛けられるようにした ・[Restore] コマンドをコンテキストメニューに追加した メモリエディタに初めてロードされたとき, または [Backup] コマンドによって その時点の値がバックアップされます その後のエディタでの編集やCPUの動作等でバックアップ値から変化した部分は 背景色が変わります ポインタを当てるとバックアップされた値を確認できます [Restore] コマンドでバックアップされた値に戻すことができます ・Java2版 トレーサ(簡易テキストエディタ) ・初期配置を変更した 常に親Window(エミュレータ本体)基準 ...重なって表示される ⇒ 常に親の上 (別窓CRT画面の初期配置と重なる) ・[Ctrl]+[S] を [Update] コマンドに割り当てた ・コンテキストメニューに [Update] コマンドを追加した ・Java2版 仮想キーボード ・初期配置を変更した 常に親Window(エミュレータ本体)の下 ⇒ 別窓CRT画面がある場合はその下 あわせて 出現時に画面下に見切れないように調整しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・コンソール表示を調整した ・RESET コマンド / RESET.clear コマンド 仮想キーボード/パッドからリセットした場合は clearオプションを無視します メモリを初期化したか判らなくなることがあるので明示することにしました ・検索,置換用アセンブラ ・ASZ:~ が指示されても無視しないようにした Zilog表記を受け付けるという意味ではありません ・cfg の変更漏れを修正した ・OPTION:-prn が ch2 を参照したままだった ・OPTION:-opt 追加漏れ
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.0 2021.01.16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [近況] ・添付ドキュメント類やソース中のコメントの更新漏れをやっつけながら、 放置されたり手抜きだった部分を見つけては潰しています 当面は荒れたままだったコードを整えることに専念するつもりだったのですが、 サウンドまわりで影響範囲の広い変更をすることになってしまいました ・c80 には拡張音源の類は(今のところ)無いので、無音を吐く音源がふたつから 三つに増えただけです ・現在 COMKIT 8060/8061 の実機は存在するんでしょうか? ORANGE(COMKIT 8062) を作ったついでにはじめたのですが、見かけないですね ヤフオクあたりに出品されても画像しか手に入りそうに無いですが それでも幸いなことに、c80 はそれなりに使えるレベルになっています ・COMKIT 8060/8061 の販促記事で概略はつかめた ・KB-02,TVD-02 は 2K BASIC の常連なのでそれなりに資料はあった TVD-02(単体) は実機も確保できた ・KB-02 のシリアルIF はだいたい想像できた ・CMT IF もキーボードまわりの記事などから構成を推定できた CMT用の ROM があったらしいので、もう少し凝った IF も載せられたのかも ・NIBL はソースが当時の書籍に載っていて、拙作アセンブラでアセンブルできた そんな訳であと少しだと思っていたのですが、まったく進捗ありません ・COMKIT 搭載 NIBL のオリジナル Ver. との違い / オプションROM が不明 ・TVD-02 のシリアルIF(表示側/画面制御)の仕様に納得できていない 裏取りに雑誌の欄外のユーザーさんのつぶやき(愚痴)まで利用しましたが... 埒があかないので beta を外すことにしました (やる気まで取れないと良いけど) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Java2版 メモリエディタ(バイナリエディタ) HEX部分へのペースト時に 全角スペース, タブ, カンマ も無視するようにした 「無効な文字はすべて無視」しないのは誤爆時の被害を最小限に留めたいからです ・Java2版 EmulatorGUI ・Utilities メニューを調整した cmdファイル中の並びを無視してメニューとしての据わりの良さを優先しました メニューからの使用頻度が低そうなものはサブメニューに畳み込みました ・Java2版 TracerGUI ・初めてダイアログを開くとき dbgファイルを有効にしてしまう仕様を変更した 初回のみの例外的な挙動は読みにくいので変更しました ダイアログを開く時は常にその直前の状態を変更しない様に統一しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.40 2021.01.05 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cas2Cmt, Job2Cmt ・T88形式を CMT形式として解析してしまっていた ・サウンドを 1ch 増やした ※サウンドまわりの改修とあわせてメニューを調整しています (Java2版) 不審な動作が見られたら報告をお願いします ・Java2版 トレーサ ・";;" で無効化している行をドキュメント行と区別しやすくした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・Java2版のGUIを「小型画面用」から j80と同じ形式に変更した 200%以上の倍率でないとメニューが極端にあふれます ・サウンドの割り当てを変更した ・BUS を BUS, OPT に分割した cfg に追加があります 追加 : OPT, OPTION:-opt
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.39 2020.12.26 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Java2版 メモリエディタ ・ICE.MemoryEditor ・DMP形式の出力に対応した DMPファイルの残っていない打ち込みデータのチェック用です チェック・サムのみ打ち込んでツールに掛けることができます 8byteフォーマットのダンプコマンドがなかったので作りました 8byteの場合は ASCII誌, 16byteの場合は I/O誌の SUMを付けますが 見比べての確認はお勧めしません / 削除して打ち込み直してください 正常性バイアスなのでしょうか、間違いの見落としが多いです そんな訳で縦SUMや他の計算方法のSUMに対応する予定はありません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.38 2020.12.21 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Asm2Hex (→ 1.a.4) ・ライン・アセンブラでの DS, DB, DW 対応 (復活?) メモリエディタの検索等で「ASM:DS 16,0xFF」といった指定が可能になりました 対応していたはずなのですが... ライン・アセンブラでは DS に値を指定しなかった場合 0x00 が入ります ・Java2版 メモリエディタ ・検索パネルのフォーカス順を調整した ・簡易検索について [F3],[Shift]+[F3] で選択範囲をキーに検索します (変更なし) ・置換コマンドを実装した 完全一致の単純置換のみの対応となります 置換データのバイト数は検索データと一致している必要があります 不一致対応版も作ってみたのですが挙動を読みにくいので没にしました ・検索(置換)コマンドの仕様を調整した ・検索,置換データに不備があった場合は処理しないことにした ・データ入力欄で [Enter], [Shift]+[Enter] を押しての実行に対応した ・入力した16進数が奇数桁だった場合の扱いを変更した "ABC" は 0xABC となります 従来は余りの nibbleを無視していました ("ABC" → 0xAB) ・コピーコマンドの動作を整理&調整した ・バイナリエディタの機能 : 通常コピー (コピペを想定した形式で保存) ・メモリエディタの機能 : 拡張コピー (ダンプ, 逆アセなど) 通常コピーではダンプの書式にしません HEXダンプ部分では 16進数文字列 (スペースなしでアドレス順に連結) ASCIIダンプ部分では文字表現のまま取り込むことにしました クリップボードの内容をそのまま別の場所にペースト可能になりましたが HEXダンプ⇔ASCIIダンプの場所を変えてペーストすると当然ですが化けます ・Java2版 トレーサ ・初期フォーカスが dbgファイルの編集エリアに当たるようにしてみた ・dbg ファイルの仕様を変更,追加した ・"//" で始まる行は「ドキュメント」とします ・";;" で始まる行は コマンド,ブレイクポイントを無効化したものとします ・RowHeader(行番号) を追加した ・行番号のクリックで設定の 有効/無効 をトグルすることができます "##" で始まるフォーマット指定行は、RowHeader からは変更できません ・有効な行の視認性向上 行番号をハイライト表示します - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.37 2020.12.13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Java2版 メモリエディタ ・初期フォーカスをバイナリエディタに当てることにしてみた ・バイナリエディタ部分の操作性向上 ・[Page Up],[Page Down] の動作を変更した 256byteピッチでスクロールする ⇒ 表示範囲をスクロールする ・[Ctrl]+[Page Up]/[Page Down] で 4096byte 刻みの移動を可能にした ・アドレスの頭出しを可能にした [Alt]+[0],[1],...,[F] で 0x0000,0x1000,...,0xF000 に飛びます [Shift] の同時押しで範囲選択にも使えますが、NumPAD側は化けるので注意
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.36 2020.12.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [全般] ・開発手記やソースコード中のメモを読み直しながら落穂拾いをしています c80 は(残念なことに)特に追加,変更がありません ライブラリなどをいじっているので念のためバージョンを更新しておきます
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.35 2020.11.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・フレームワーク調整 ・複数の CMT IF があったとき、cfg:CMT:id との整合を自動化した ・複数の CMT IF があったとき、メニューに識別子を追加できるようにした (Java2版のみ) 例 :「#1 Player...」⇒「#1 [BS] Player...」
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.34 2020.10.24 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・全角文字の変換テーブル登録漏れ ・スペース ・「ファイル入力」に TXTモードを追加した 先頭行にエンコード指定がある場合は「TXTモード」とします 指定方法は設定ファイル等と同じです // *encoding Windows-31J // *encoding UTF-8 など (コメントアウトしなくても問題ありません) 従来の動作は「RAWモード」と呼んで区別することにします ・全角英数,全角カナ,UTF絵文字等への対応範囲を広げた ・クリップボード入力 ・タッチパネル登録ファイル ・ファイル入力(TXTモード)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.33 2020.08.10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・HexDumpPanel (バイナリエディタ) ・フォントを調整した ・ASCIIダンプ領域を調整した ・欧文系のテキストファイルからコピペできるようにした ・ペースト時に全角英数字,カナを半角として処理するようにした ・ペースト時のエスケープ処理を廃止した ※現状ではペーストした改行コードはすべて LF のみとなります ・Asm2Hex (アセンブラ) ・数値フォーマット追加した 0b~ 2進数 0o~ 8進数
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.32 2020.06.22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・AMDEK:COMPU-MUSIC のフォーマット判定ロジックを調整した CP YOU-PCD のカセット出力ではファイル名の扱いが異なるようです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.31 2020.03.28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Config ・PCM音源の登録に外部ファイルを利用できるようにした cfg 指定方法: < c80 では使用しません > ・BUS, PRN の初期設定に外部ファイルを利用できるようにした cfg 指定方法: BUSPRN ・SYS, BUS, PRN の音量設定中にスペースを混在できるようにした スペースによる分ち書きが可能になりました ・Asm2Hex ・シンボルの上書きを許す条件の判定ミスを修正した 「同じ値だったら」→ 型フラグの扱いに問題があり上書きできないことがあった ・エミュレータのメモリエディタから呼ばれた際のメッセージ出力のバグFIX 問題がない場合でも「Out of Range」の警告が表示されることがありました デバッグついでに表示内容を拡充しました ・オブジェクトの出力範囲の表示 すべてを含む範囲をまとめて表示する → ブロック毎に分けて表示する ・「Out of Range」の警告 アドレス(範囲)の情報を追加しブロック毎に表示する ・ログ出力フォーマットを調整した 「*」で始まるコメント行は「ドキュメント」あるいは「見出し」とします ログにはダンプ部分の字下げなしで出力されます ・hal8999.emu.device.cpu.ICE.loadBIN(), loadHEX(), loadMOT() ・Asm2Hex と同様のロード結果を表示するようにした
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.30 2020.01.31 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・AMDEK:COMPU-MUSIC の解析に対応した ・I/O:WBYTE の解析に対応した モニタフォーマットにファイル名と実行アドレスの情報を付加したものです そのままモニタからもロードできます (追加部分は無視されます) 都合や気分で「ローダーの事前ロード」を端折れるのは良いですね そういった利用方法に配慮して 600baud 固定ではなく BAUD_USER としました ・Asm2Hex ・密着ラベルに対応した ラベル末尾のコロンの後ろに区切り文字がなくても処理できるようにしました ・コメントのフォーマットを増やした 行の冒頭にアスタリスク,スラッシュ がある場合はその行をコメントとします ラベルに続く場合はそれ以降をコメントとします このコメントは、行の冒頭, ラベルの後ろ以外には置けません ・ラベル,シンボル,関数名とマクロ,関数の仮引数(名)の制限を強化した ・「数値として評価対象となる文字列」は使用できません ・演算子として使用する文字を含む文字列は使用できません 従来、定義はできても使いものにならなかった部分です 仕様を明文化し実装しました 「数値として評価対象となる文字列」の詰めが甘いので今後も調整が入ります ・マクロの定義エラー後の挙動を調整した エラー後に定義部分のコードをアセンブルしてしまう問題(?)がありました エラーログ(1PASS目のログ)が無意味なものになっていたので調整しました ・エラーメッセージを拡充した ・テンプレにエラーパターンを登録できるようにした (未使用) ・オペレーションカウンタ設定(ORG)行にもラベルを貼れないようにした ・IF, ELSEIF, ELSE, ENDIF の管理を強化した あわせてエラー時の動作(仕様)を調整して明文化しました 条件式にエラーがあった場合、対応する ENDIF までスキップします 通しでログを出力したいので、誤魔化しながら 1PASS目の完走を目指します ・DS ・オブジェクトサイズが 0 だった場合は警告を表示するようにした ・ログ出力を変更した 埋めデータを指定した場合はオブジェクトも表示します 三行を超える場合は省略表示とし、省略されたサイズも表示します ・BINCLUDE ・第二パラメータの意味を調整した ・負の値を受け付けない → 0以下 は末尾からのオフセットとする ・指定がない場合はファイルサイズ → 0(末尾オフセット) とする ・サイズ/末尾オフセット指定について仕様を明確にした ・オブジェクトサイズが 0未満 になる指定だったらエラーとする ・オブジェクトサイズが 0 だった場合は警告を表示する ・DSと同様のログを吐く様にした ・FileNotFoundException でも処理を継続するようにした (-debug) ・INCLUDE, CHAIN ・FileNotFoundException でも処理を継続するようにした (-debug) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・COMKIT8060/8061 ・画面クリアの内部動作を変更した 仕様がわからないので瞬間クリアとしていましたが (あんまりなので) VRAMの読み出しタイミングに依存する形で実装してみました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.29 2019.12.28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CassetteTape ・PCM読み出しモードでのテープ操作とコンソール表示の混乱を調整した ・Asm2Hex ・擬似命令 DEFM,DM を受け付けるようにした ⇒ 動作は DEFB,DB と同じです ・擬似命令 SKIP (EDAS 改ページ) を受け付けるようにした ⇒ 何もしません ・EDAS の OR演算子「!」を処理できるようにパッチを当ててみた 問題が生じたら削除します ・おかしな数式でも落ちないことがあったのでチェックを強めにした (不完全?) ・END [式(エラーメッセージ)] の仕様を変更した ・エラーメッセージは「マクロ中のみ有効」に変更しました(マクロ外では無害) ・エラーメッセージがある場合 END を貫通してしまっていた問題をFIXしました ・Cmt2Cmt ・I/O:EDAS の解析に対応した SRC/OBJ の判別はしていません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [フレームワーク] ・Keyboard ・TyperMOD コマンドを追加した 自動タイプ(ファイル入力,クリップボード入力)時に通常と違う動作をします c80 : 未使用 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [c80] ・COMKIT8060/8061 ・文献資料を精査しなおした 大雑把で断片的な情報でも全体を繰り返し眺めていると色々見えてきますね でも欲しい資料はコレクターさんに持っていかれちゃうことが多いので限界かな? ・CMTインターフェースを実装した ※cmtファイルの解析には対応していませんので利用には工夫が要ります 実機の情報が入手できてからテープイメージの表現方法を決めます ・プリンタ(メニュー, コマンド)が生きていたので殺した ・仮想キーボードのキーレイアウトを調整した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.28 2019.11.23 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・I/O:CAP-X の解析に対応した PC-8001用「CAP-Xシミュレータ」(I/O:1984.3 森田裕三,西村雅永) ソースコードのフォーマットです ・MB-688X:L2BASIC のヘッダ表示を変更した 枝番をすべて(16進2桁)表示することにしました いままで下一桁に限定していた理由は覚えていません ・MB-688X:* データサイズが 0 の最終ブロックを許すことにした
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.27 2019.07.19 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・TK-80:MONITOR の判定条件を厳しくした 識別子が無いため誤爆しやすいので制限を追加しました 前のブロック末尾に「未確定の 0x00」がある場合は、 連続する 0x00 すべてを無視します ・Dmp2Cmt ・縦SUMのチェックルールを変更した 横SUMが2桁でない場合は、縦SUMの合計,横SUMの合計の一方が合えばOKとします
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.26 2019.03.10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Asm2Hex ・INCLUDE, BINCLUDE, CAIN の パーサルールを変更した 式(ファイル名)パース時の スペース,タブ は区切り文字としないことにしました ドキュメントでカンマが要求されていたにもかかわらず 「BINCLUDE "filename" 256,16」 が通ってしまっていましたが、今回の変更によりエラーとなります この変更で分かち書きした式(ファイル名)の外括弧が不要になりましたが シンボルが文字列を扱えないので使うことはなさそうです ・ネストしたループマクロから戻ると ループID が狂う問題 FIX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [フレームワーク] ・ICE.DebugIF ・ユーザーのレジスタ変更要求に対して補正を掛けられるようにした ・RegEditor (Java2版) ・ICE.DebugIFが補正した値を入力値とみなすようにした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.25 2019.03.02 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CassetteTape ・PCM読み出しモードの問題 FIX 2018.11.20版での「PCM読み出しモードでのテープカウンタの表示改善」方法に 問題がありました 「データブロックの最終データが出力されない」原因もこれでした 2019.02.27版の修正は原因を取り違えていたため新たな問題が生じています ・Cmt2Cmt ※ 関係のない機種で誤爆があったら報告をお願いします ※ ・解析ロジックの間違いを修正した ・MB-688X:1200.BAS ・フォーマット判定基準を緩和した ・MB-688X:1200.BIN ・MB-688X:1200.BAS ヘッダが切れて短くなったものでもヒットすると思います - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.24 2019.02.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CassetteTape ・PCM読み出しモードでデータブロックの最終データが出力されないことがあった ・Cmt2Cmt ※ 関係のない機種で誤爆があったら報告をお願いします ※ ・出力テンプレートを調整した ・MB-688X:1200.BIN ・MB-688X:1200.BAS ・BMUG1200:MONITOR ・BMUG1200:L2BASIC ・BMUG1200:DataFile データブロック末尾のMARK(gap)を補完するようにしました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.23 2019.02.23 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ※ 関係のない機種で誤爆があったら報告をお願いします ※ ・MB-688X:DataFile の解析に対応した 忘れていました ・MB-688X:1200.BIN/BAS の解析に対応した 実機のロジックより厳しい判定基準になっていると思います 冒頭部分が切れている場合はヒットしないかもしれません 状況に応じて緩和する予定ですので動作報告をお願いします ・BMUG1200:MONITOR/L2BASIC/DataFile の解析に対応した 「1200BPS I/O (New Version)」(BMUG会報:1982.5) 吉川直久 「OPEN命令による1200bpsデータの入出力」(BMUG会報:1982.6) 吉川直久 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [フレームワーク] ・メモリエディタ (Java2版) ・ASCIIダンプの表示キャラクタを調整した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.22 2019.01.26 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CmtUtil ・CMTイメージの簡易解析を調整した HudsonCOMPAC:FORM/PC の判定基準を厳しくしました TK-80系のHEX出力に反応してしまうことがあったので対策しました ※T88イメージを開く際に BASICファイル名等を調べています ・Dmp2Cmt (現在は tools80 のみで使用 / CASファイルで対応予定あり) ・縦SUMに対応した ・「-」で始まる行は無視する (追加ルール) ・ヘッダ行 ・最初のカラムが「addr(小文字化)」または「add(小文字化)」の行 ・「//」,「:」,「s(小文字化)」で始まるカラムの前までが有効 ・最初に見つけたものを使いまわすので それだけ整形すればよい ・縦SUM行 ・最初のカラムが「sum(小文字化)」で始まる行 ・横SUMが単純加算以外の場合 縦SUM行は無視する (暫定仕様) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [フレームワーク] ・cfg:OPTION ・-test1=value, -test2=value を廃止した ・-test=v1,v2 を追加した c80 では -test=,v2 は使用していません ・-boot=v1,v2 を追加した c80 では使用していません ・ローマ字カナ変換 ・xtu で「ッ」を入力できるようにした 要らないと思って省いていたら(何故か入力できない)状態になって困りました 従来の子音を重ねる入力方法も生きています ・EmulatorGUI (Java2版のみ) ・CRT画面が無い場合もフレーム位置の情報を返すようにした (Util:4 コマンド) CRT画面がある構成ではLED/キーパッド側の情報は表示されません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.21 2018.12.13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・EmulatorGUI (Java版のみ) ・描画位置等の情報に「フレームの位置,サイズ」を追加した (Util:4 コマンド) フレーム込みで動画撮影をしたい場合にお使いください ※Android版は無関係ですが、エミュレータ側のバージョンを上げています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.20 2018.11.20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・ライセンス変更のおしらせ : : バイナリにRelease番号の無いものは「プライベート・リリース」とします : : プライベート版添付の readme.txt 中のRelease番号は無効です : : プライベート版は再配布禁止とします : : プライベート版は開発に積極的に関与していただける方にのみ配布します : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・ライブラリ, フレームワーク側に若干の調整が入ったため更新します c80には影響は無いはずです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.19 2018.10.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・Config:マウント系デバイス初期設定 ・デバイス毎のオプション指定を可能にした 「*」に続いてデバイス固有のオプションを指定できます 機種等に固有のもの(IF側の設定等)は OPTION に用意されています 例 : CMTはデータレコーダーの設定, シリアルIFの設定は OPTION側 複数のオプションを指定する場合はカンマで続けます □現在対応しているオプション CMT:1 pause PauseMode ON (デフォルトはOFF) ・CassetteTape ・PCM読み出しモードを修正した 実装が雑なまま終わったつもりになっていました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.18 2018.10.09 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - コンバータ等 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・Cmt2Cmt ・TK-80:MONITOR の判定条件を厳しくした 識別子が無いため誤爆しやすいので制限を追加しました ADDRESS:0000H-0000H, DATA:00H, SUM:00H はヒットしません ・TK-80:MONITOR のアドレス指定の解釈に漏れがあった 「開始アドレス>最終アドレス」のケースに対応しました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.17 2018.09.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・cfg ・-CMT:id(ロード側) でタイトル指定(頭出し)が機能しなくなっていた ・cmd ・SetMapコマンドを CMT:id.setmap に変更した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - コンバータ等 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・Asm2Hex シンボルファイルの出力に対応した ・Cmt2Cmt TK-80:MONITOR の解析に対応した ・Ipl2Cmt, N802Cmt 内部コードの混乱でビット長が不正になることがあった ・Tk82Cmt コンバータを追加した TK8イメージを CMTイメージ(TK-80:MONITOR)に変換します ・Cas2Cmt, Job2Cmt, Dir2Cas TK8イメージに対応した ・CassetteTape PCM出力時に落ちることがあった
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.16 2018.07.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・TracerGUI DEBUGコマンド変更漏れ 使えなくなっていたもの ・デバッグモードの切り替えチェックボックス ・ステップ実行ボタン
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.15 2018.02.24 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・DEBUG コマンド, Debug コマンドを整理した カスタマイズした cmdファイルをお使いの方は修正が必要になります DEBUG → デバッガ系:Debug, トレース系:Trace に分割 Debug → Util に変更 ・デバッガ系 DEBUG:0 → Debug:0 CPU #1 : デバッグモード ├DEBUG.step→ Debug.step └DEBUG.cmd → Debug.cmd ・トレース系 DEBUG:2 → Trace:1 INPUT : キーコード表示 & パネル座標表示 DEBUG:3 → Trace:0 DEBUGGER : 逆アセ時のレジスタ表示を残す DEBUG:4 → Trace:2 MEMORY : 未使用 DEBUG:5 → Trace:3 VIDEO : 未使用 DEBUG:6 → Trace:4 SOUND : 未使用 ・ユーティリティ Debug:1 → Util:1 メモリダンプ Debug:2 → Util:2 メモリマップ表示 Debug:3 → Util:3 未使用 Debug:4 → Util:4 画面サイズ,デスクトップ上の位置を表示する Debug:5 → Util:5 コンソールの表示設定(cfg:ATTR) 有効 / 無効 Debug:6 → Util:6 モニタ(GUI) 起動・表示 / 非表示 切り替え Debug:7 → Util:7 トレーサ(GUI) 起動・表示 / 非表示 切り替え ※Util:4-7 は Java2版のみ ・Util:4 コマンド(Show Screen Pos.) を追加した デスクトップ上の「CRT画面」の位置とサイズをコンソールに表示します 動画撮影時にお使いください
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.14 2018.02.06 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・ORANGE : ローマ字仮名変換モード ・[SHIFT]などが押されていたらダイレクト入力とする仕様通りの動作をしない件 コメントアウトしてあったが実装忘れ?テストで殺して戻し忘れ? → 復旧(?) しました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.13 2018.01.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・VMフレームワーク 仮FIX エミュレータ本体の機能追加,変更はありません ・Java2版, Android版 GUIフレームワーク 仮FIX
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.12 2017.12.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・デバッガ ・ブレイクポイントの範囲指定に対応した ・ディスプレイ(色)定義ファイルのフォーマットを変更した GRB → RGB ・スクリーンショット ・連写機能を追加した ・連写した画像の合成に対応した pause中はそのときの画面のみを、そうでない場合は VBLANKに同期して取得します
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.11 2017.11.17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・ライブラリ更新(150baudテープイメージ対応)に伴うバージョンアップ
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・メニューの「Tracer GUI」,「Monitor GUI」が入れ替わったままだった hal8999.lib.java2.EmulatorGUI R1b4 での修正漏れ
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・Windowモード拡縮時のボーダー部分のゴミ回避 (hal8999.lib.java2.EmulatorGUI) 過去に対策した記憶があるのですが夢だったようです (Android版だったかなぁ)
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・添付の設定ファイルやサンプル・リソース類全般に手を入れています : : コメントの不整合や表現の統一などが主な修正点です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・バグFIX ・Debug:6, 7 が(意図せず)入れ替わっていた R1b2→R1b3 でエンバグ ・非表示にした仮想キーボードの変更に失敗する 仮想キーボードの選択肢がない機種・構成では問題ありません ・デスクトップのサイズ(レイアウト等の基準)をタスクトレイを除いたものに変えた
・リファクタリング中 大きく手を入れている最中なので深刻なバグがあるかもしれません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・タッチパネル機能の仕様を確定した キー・エンコーダー方式のキーボードでは「ポート指定」はできません 「ポート指定」のコードはすべて「何もしない(時間稼ぎ)」動作となります ・連射機能の仕様を確定した キー・マトリクス方式のキーボードのみを対象とします 機種によっては PPI に直結したSWもキーボードとして扱いますので設定可能です ・cmd ・DEBUG:id コマンド再編成 id に変更があります (→ cmdファイルのコメント参照) ・Debug:id コマンド再編成 id に変更があります (→ cmdファイルのコメント参照) ・Escapeコマンド廃止 → Debug:5 ・cfg ・-DMP (メモリダンプの出力場所) 新設 -DBG の場所から分けることが可能になりました ・仮想キーボードの登録方法変更 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・ORANGE(COMKIT8062) ・連射機能を有効にした
・メモリエディタの更新(タイミング)ミスを修正した
・リファクタリング中 j80 のバグFIXついでに公開します 大きく手を入れている最中なので深刻なバグがあるかもしれません
・ORANGE(COMKIT8062) の CMT IF に仮対応した デバッグ用の仮実装です CASファイルの *BLANK, *SPACE, *MARK には対応できていません 調査が進んでいない機種もありますが、これを機に beta に移行します ・CMT IF - DataRecorder の設計を変更した 関連するライブラリも更新しています 不審な動作を見かけたらレポートをお願いします ・INS8060 調整 ・逆アセンブラの不具合 FIX PAGE境界付近の処理に問題がありました PAGE境界を跨いだ 2byteコードは、アドレスを巻き戻さずに「不明」とします ・Cmt2Cmt ・解析ロジックを追加した ・TK-80BS ・TK-85, MP-80/mkII ・ORANGE(COMKIT8062) ※暫定対応 j80, j68, u80, m80, c80 共通です 機種によるフィルタリングをしていませんので誤爆の可能性があります ・デバッガ ・ブレイクポイントの種類として「次のPC (到達するPC)」を追加した 「実行後にそのアドレスに到達する命令」を実行後にブレイクします 設定アドレスの命令を実行する前にブレイクが掛かることになります サブルーチン先頭を指定して呼び出し元を探るのにも使えます ※割り込みには配慮していません ・不具合の問い合わせについて いつも情報提供やバグレポートありがとうございます 問い合わせいただく場合は以下の点に配慮願います ・実機で同じ問題が再現することを *必ず* 確認してください ・想定している機種や構成を明記してください 機種や構成の差異で問題の有無や再現性が異なりますのでご注意ください ・問題点を丁寧に説明してください 主語は省略せず、指示語も避けてください 一文に複数の情報を入れないでください 「フリーズする」だけではエミュレータかエミュレータ上のソフトか判りません こちらから折り返し事情を伺う事が多かったのですが手間が掛かりすぎるので、 答えられない場合は返事をしないことにします ・再現方法を明示してください 集中して再現試験するゆとりがないので、情報不足の場合は調査しません ・バージョンアップや情報提供に対し、問題が解決したか否かの返事をください 返事をいただけなかった方は、それ以降の問い合わせには答えません 特定の環境や好みに対応した場合は継続的に動作確認のレポートをお願いします 特にパッチで対応した場合は、不要になったら必ず報告してください メンテナンスの手間が掛かっています
・CassetteTape クラスを大改修したので更新します c80 には影響ない筈です 以前と違う挙動をしたらバグですので報告をお願いします
・Asm2Hex ・DB, DW に シフトJIS の 2byte文字を直接記述できるようにした DW は常に 2byte 出力し、バイトオーダー設定の影響を受けるので非推奨です ・AS の擬似命令 (RELAXED) を無視するようにした
・cfg:-CRT 他のエミュレータとの一貫性を考え、ID を定義しなおしました -CRT:1 を「MAIN」→「本体側」 -CRT:2 を「SUB」 →「拡張側」 ※c80 では設定の変更は不要です ・COMKIT8062(ORANGE) キースキャン廻りのコードを整理した 動作に変更はありません
・レジスタエディタ フラグレジスタのバグ FIX チェックボックスの操作で、他のビットが全て0になってしまうことがありました
・DEBUGコマンド欠番処理の漏れ FIX
・エミュレータ:本体の更新 ・COMKIT8060/8061 の CRT IF を調整してみた 「SHIFT IN/OUT」があると、表示文字数とバッファの文字数が違ってしまうので、 ECHO時のみ「SHIFT IN/OUT」も表示するようにしてみました ("^", "_") ついでに、ECHO時にも「カナ」を実物表示するようにしてみました 実機での動作(表示)はどんな感じだったのでしょうか? ・CRT出力まわりのタイミングを微調整した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・エミュレータ:フレームワーク系の更新 ・RAM未実装エリアの扱いを全エミュレータで統一した (仮) ・INIT での初期化前に 0xFF で埋める ・メモリエディタでの変更は無視する ・メモリマップドI/Oエリアの扱いを統一した (仮) ・R/W に分けて記録し、メモリエディタでそれぞれ確認できるようにした Read側は「最後に読んだ内容」が表示されるよう統一する予定ですが 現状ではデバイスからの値がリアルタイムに読めてしまうケースがあります その場合でも更新タイミングは正確でないものがあります ・初期化はハードコーディングする (R:0xFF / W:0x00 で埋める) ・メモリエディタでの変更は無視する - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・デバッガ・ユーティリティ系の更新 ・スキップ実行の条件を追加した DEBUG.step=2 : step=1 + J*までを1ステップとする ・メモリエディタ等で「モトローラS形式」が使えるようになった j68 の副産物です ・デバッグ系コマンドの id を j80 に揃えた (一部に欠番あり) c80.cmd に変更があります - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・Java に関する更新 ・[右 Ctrl] のキーコードを追加した (Java2SE 1.4~) キーマップ定義を追加しないと、右側の[Ctrl]が無視されます ・[¥] と [ろ] を分離してみた (Java7 専用?) 公式手段では見分けが付かない様だったので場当たり的なパッチを当てました ・「タッチパネル機能」の定義に「半角カナ」を直接記述できるようにした 定義ファイルのエンコードは ShiftJIS系のみを想定しています 自動タイプ機能と違い PC-8001のハート記号のような文字は記述できません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・その他 ・RESET.clear についてコメントを追加した (c80.cmd) → c80 では、メモリエディタで変更した ROM 部分も復元される
・INT-03(TVD-02用シリアルIF)の仕様を変更した RAM誌掲載のソフトで画面制御に関する記述を見つけたので仕様を変えてみました 指定の手順で実行するとキレイに画面内に納まることを確認しました
・CPUのバグFIX ・レジスタの 8bitマスクが漏れている部分があった ・自動タイプ機能のバグFIX ・0byte のファイルで落ちるバグ ・長さ0の文字列のコピペで落ちるバグ ・タッチパネル機能のバグFIX ・領域が一度も定義されたことが無い状態で領域なしのマップを使うと落ちるバグ
・コンソール出力 ・トレース出力の行単位の色変えなどに仮対応した *.cfg:ATTR で表示方法を指定します ANSIのエスケープコード(シーケンス)を想定しています コンソール側が対応していないと反映されません メニュー等から設定の 有効/無効 を切り替えられます
・Asm2Hex ・異常終了(強制終了)できるようにした END にエラーメッセージを与えられるようにしました メッセージを付けた場合は「異常終了」とします マクロのパラメータ・チェック等での利用を想定しています 予約語を増やしたくないので、END を拡張しました
・COMKIT8060, 8061 ・COMKIT8060 の「カナ対応オプション」等に鑑み、ECHOの仕様を変更してみた ・[CLEAR]キーを仮実装した ※実機(INT-03)の仕様がわかりません。記憶でよいので教えてください。
・仮想キーボード上の通常キーのロック表示が解除されないバグFIX ・ResetKEY コマンド発行時 ・ファイル入力, クリップボード入力時 ・KB-02 ・キーレイアウトを変更した (暫定) ・キーエンコーダの出力(キーマップの定義方法)を変更した
・ローマ字入力モードの仕様を調整した (エンコーダ仕様のキーボードのみ) [SHIFT], [CTRL] の挙動をソフトウェア・スキャン仕様にあわせました R2Kモードを切らずに "(" や "A" を入力できます
・COMKIT8060, 8061 ・TVD-02 CRT設定(発色)を変えたときに文字下の隙間が再描画されないバグFIX ・「カナ」の仕様を推定して実装した 8061は「改造不要で対応」以外の手がかりが無いので同仕様としておきました ・TVD-01/03 を増設できるようにした ひとつの Window を切り替えて使う仕様にしました コマンド体系などを複雑にしたくないのが理由です ソフトによっては若干使い難いかもしれません ※注意 ・DMAによる本体内部のシリアル通信への影響は未検証かつ未確認です ・アドレス等の選択リストは暫定です レイアウト上の制約により全ての設定が選択できません 具体的な要望のあった設定のみを採用することにします ・COMKIT8062(ORANGE) への搭載は考えていません
L FUNCTION v16, (v16 & 0xFF) H FUNCTION v16, ((v16 >> 8) & 0xFF) JS MACRO px,v16 LDI H(v16-1) XPAH px LDI L(v16-1) XPAL px XPPC px ENDM |
; ALLOCATION OF RAM FOR NIBL VARIABLES, STACKS, ; AND LINE BUFFER ORG 0x1000+28 ; ######## VARS: DS 52 ; NIBL VARIABLES A-Z ######## AESTK: DS 26 ; ARITHMETIC STACK ######## SBRSTK: DS 16 ;GOSUB STACK ######## DOSTAK: DS 16 ;DO/UNTIL STACK ######## FORSTK: DS 28 ;FOR/NEXT STACK ######## PCSTAK: DS 48 ;I.L. CALL STACK ######## LBUF: DS 74 ;LINE BUFFER ######## PGM: ;USER'S PROGRAM ######## ORG 0000H ; ######## .LOCAL:a LDPI MACRO P,VAL ; ######## LDI H(VAL) ; ######## XPAH P ; ######## LDI L(VAL) ; ######## XPAL P ; ######## ENDM ; ######## |
;************************************* ;* FOR-LOOP INITIALIZATION * ;************************************* ;; .LOCAL ######## .LOCAL:p NG (JNZ p1 → JNZ P1) ;; .LOCAL ######## .LOCAL:q |
;*********************************** ;* I. L. MACROS * ;*********************************** ;; .LOCAL ######## .LOCAL:x xTSTBIT = TSTBIT*256 xCALBIT = CALBIT*256 xJMPBIT = JMPBIT*256 DBYTE MACRO v16, flag ;; DW v16 | flag DW (v16 & 0x0FFF) | flag ENDM ADDR MACRO v16 DW (v16 - 1) & 0x0FFF ENDM TST MACRO FAIL,A DBYTE FAIL, xTSTBIT DB A | 0x80 ENDM TST MACRO FAIL,A,B DBYTE FAIL, xTSTBIT DB A DB B | 0x80 ENDM TSTCR MACRO FAIL DBYTE FAIL, xTSTBIT DB 0x0D | 0x80 ENDM TSTV MACRO FAIL ADDR TSTVAR DW FAIL ENDM TSTN MACRO FAIL ADDR TSTNUM DW FAIL ENDM JUMP MACRO ADR DBYTE ADR, xJMPBIT ENDM CALL MACRO ADR DBYTE ADR, xCALBIT ENDM DO MACRO *ADR IRP addr,ADR ADDR addr ENDM ENDM |
・フルスクリーンで起動した場合に画面が乱れる (環境依存?) → Java2SE 1.3.x (Linux) で、起動時にウィンドウサイズ等が異常になる対策の 副作用でした
・COMKIT8060, 8061 ・KB-02(キーボード), TVD-02(CRT IF) を接続した テスト用の仮仕様です オリジナルの NIBL がそのまま動作するようにしています ・220baud で接続しています (cfg OPTION:-test=220) SC/MP-II(4MHz/内部2MHz)では SC/MP(1MHz)の倍速になってしまうと思います DLY の粒度を揃えて互換性を確保しているかもしれませんが未確認です ・[カナ]は機能しません ・CRT IF の仕様は全く分らないので適当にでっち上げました ・COMKIT8062(ORANGE) ・自動タイプの CPM値が違っていた (エンコード仕様の値だった)
・Asm2Hex:DW/DEFW SC/MP でのバイト・オーダーを変更した ・デバッガ トレース時の「DLY のスキップ機能」が設定ミスで死んでいた ・COMKIT8060, 8061 のモックアップを作った KB-02(キーボード), TVD-02(CRT IF) は接続されていません
・ORANGE のメモリマップを修正した 0x2000-3FFF 8K RAM → 未実装 ・COMKIT8060, 8061 実装準備 ・コード整理 ・ドキュメント整理
・アセンブラ ・IRPC の動作を調整した 引数は常に文字定数(数値)が渡されます ログに表示できる文字の場合は見やすさに配慮して '<文字>' としています 表示できない場合 ""&<数字> としていましたが、これは「長さ1の文字列」 をあらわすことになり問題がありました (評価順の問題もあります) このケースでは <数字> をそのまま渡すことにしました ・MACRO に可変長の引数を渡せるようにした (仮) 仮引数の前に「*」を付けたものが「可変長の引数」になります 括弧を使った自由度の高い仕様などいくつか試作してみたのですが、 実機時代のソースコードとの相性など、総合的に判断してこの形になりました ##・仮引数の先頭に「*」を付けた場合は、ひとつ以上の実引数を受け付けます ## 「*」は仮引数の名前には含まれません ## 「*」による指定が複数あった場合はエラーとします ## ## DO MACRO key, *args, note ## DB key ## IRP arg, args ## DB "1.",arg ## ENDM ## DB note ## ENDM ## ## DO "PC-8001mkIISR", "6", "24K" ## DO "PC-8001mkII", "2", "24K" ## DO "PC-8001", "0","1", "24K" ## DO "PC-8801", "4","5","8", "32K"
・INS8060 ・DINT と IEN が逆だったので修正した ・逆アセンブラの出力(表記)を修正した (ANDI → ANI) ・メインループを整理した ・アセンブラ(試作中)を搭載した メモリエディタにアセンブルソース(.asm) をドロップできます Intel/Zilog用のエンジンを少し拡張してテンプレートを載せただけです 実用に耐えるか検証していただけると助かります
・仮想キーボードの [SYR] でリセットした場合 [pause] 表示が消えないバグFIX エミュレータ本体の変更はありませんがバージョン表記は上げておきました
・COMKIT8060 シリーズをエミュレートする予定のエミュレータです どんな名称にしようか悩んだのですが、COMKIT は COMIKET に似ているので、 コミケに倣って c80 としてみました (参加したこと無いので、いつかきっと) ・現状では COMKIT8062(ORANGE) がとりあえず動く程度です CMT IF は未実装です デバッガ経由でメモリイメージを使うか「自動タイプ」機能で打ち込んでください なお「ORANGE BASIC」の ROM イメージは添付しません どなたか NIBL BASIC を移植してみませんか? フォントは tools80 で作成できます ・COMKIT8060, COMKIT8061 は下準備のみですので機能しません 資料をお持ちの方は協力していただけると助かります ・思いつきで作り始めてしまったのですが、TK-80エミュレータの u80 同様、 akutsuさんにはたいへんお世話になっております これからもよろしくお願いします