u80 近況報告 | 2024.10.23
PC-8001:u80 に戻る |
* ライセンス変更のおしらせ * |
|
2024.07.27 |
プライベート版の配布について |
------------------------------------------------------------------------------ [Release ----] Ver. 1.0.68 2024.10.23 ------------------------------------------------------------------------------ [ライブラリ] ・CmtUtil (Version 6.5.36 → 6.5.37) ・DataFile の解析時に落ちることがあった為対策した ・I:CANVAS.Data も同様の対策を施した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・ビデオ廻りをリファクタリングした (BS, TV-CD, TVD-02) フォントデータのアクセス方法を最適化しました ・2K-BASIC 添付の 2K-BASIC の独自拡張部分が動作しなくなっていた KBR-014+TV-CD版が作りかけだった... ・今回はサンプル版の配布はありません
[u80] ・前回のサンプル版から変更はありません ・デバッガは試用版です 2024.12.31 を過ぎて使用する場合はライセンスキーが必要になります 詳細は「プライベート版の配布について」に準じた形でお問い合わせください http://upd780c1.g1.xrea.com/pc-8001/private.html
------------------------------------------------------------------------------ [Release ----] Ver. 1.0.66 2024.09.04 ------------------------------------------------------------------------------ [u80] ・メニューまわり整理 (Java2版) ・エイジング期間をひと月延長し、今月末の正式リリースを目指すことにした ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.09.30 を過ぎると使用できません
------------------------------------------------------------------------------ [Release ----] Ver. 1.0.65 2024.08.17 ------------------------------------------------------------------------------ [ライブラリ] ・uPD8080系 ・止せば良いのにリファクタリングした ・リファクタリングついでに仕様を変更した ・HALT を「状態」として区別する様に書き変えた 命令毎に HALT確認が必要になり無駄なので採用を避けていました トレースログの表記も変更しています ・ステップ実行の仕様を変更した 「HALTを抜けるまでスキップする」を廃止しました ・uPD8085A ・INX SP, DCX SP ・計算ミスでフラグレジスタの未定義ビットが意図した動作をしていなかった (SP でも変化するか未確認) ・EmuratorGUI (Java2版) ・自動タイプ時のパッチに関するメニュー (Typer.#mod コマンド) ファイルのロードが不要な機種でパッチを有効化するとメニューが壊れる j68 の「FullChar Patch」対応時に壊していました +Typer.#mod コマンドが使えない場合の保護も弱かったので対策しました ・Keyboard メニューの表記を調整した 「Type Speed」とその影響を受ける機能に「⌨」マークを付けてみました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.08.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.64 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版) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・相互参照していて初期化にクセがあるクラスを整理した どうしようもないものは詳しいコメントを書いた ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.08.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.63 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 タグの時間計算がオーバーフローしやすかったので調整した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.08.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.62 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版) ・新機能の調査を兼ねてコードを整理した (ビルド確認なし) ※各機種毎のサブクラスにも調整が入っています ・LedDisplay (Java2版) ・ゴースト(シャドゥ)表示対応 ・コード整理 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・TV-CD(日本電子販売) ・ライトペン仮対応 ・LedDriver80 ・ゴースト(シャドゥ)ロジックを実装した ・SoundPPI ・「8bitPCM (PB0-7)」追加 ・TV-CD & KBR-014用の 2K-BASIC を添付した 仮実装なのでバイナリのみです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.61 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読み出しモードの頭出しが意図した動作をしていなかった (何回目?) 今まで見直してきたコード以外に原因がありました 最初に構築するインデックスマップが狂っていました 今度こそ大丈夫 (だといいなぁ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・TV-CD(日本電子販売) に仮対応した ・KBR-014(NEC) に仮対応した ※cfg:ENHANCE に変更があります 詳細については u80.cfg を参照してください
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.60 2024.03.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (Version 6.5.32 → 6.5.33) ・TK-80:MONITOR の判定基準を厳しくした TK-80/BS の BASICファイル名部分で誤爆することがあったので対策しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・TV-64C ・DMAコストを調整した テープの録音状態からの推定です ・TV-CD用に予約していた ID に TVD-02(VRAM:7000-71FF) を割り当てた 一時的な措置です
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.59 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 ・コピーコマンドを機種(構成)毎に拡張できるようにした ・2K BASIC Text の出力 ・BS LEVEL-1 BASIC Text の出力 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・TV-IF(TV-32A) ・ディスプレイ(色設定)を変更したときにボーダーが追従しないことがあった ・TV-64C ・仮実装
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.58 2024.01.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・uPD8255 ・前回変更したハンドシェイクモードがうまく動かないことがあったので調整した ・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対策) ・簡易解析をチューニングした : テンプレ確認時に予選実施 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・cfg 変更 ・TK-80/E, TK-85 の ENHANCE:6 以降に変更があります (+4 してください)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.57 2023.12.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・uPD8255 ・ハンドシェイクモードの実装を調整して雰囲気再現してみた ・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イメージを無加工で使用するための対応です - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) サンプル版では一部の機能が使用できません テスト期限:2024.01.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.56 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モードでの頭出しが意図した動作をしていなかった どこかで壊した? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・cfgの機種判定を壊していた ・カラーアダプタが使用できなくなっていた ・TK-85 + TVD-02 + KB-02 が使用できなくなっていた Ver. 1.0.43 → Ver. 1.0.44 でエンバグ u80.cfg 中の説明も間違っていたので訂正しました ・LedDriver80, CrtDriver00, CrtDriver01 ・DMAコストの算出方法(端数処理)をCPUクロックベースでの切り上げに変更した ※TK-80 の DMAは個体差が大きい様なのであまり意味はないかもしれません ・CrtDriver01 ・TVD-03 のパレットが判ったので変更した ・CrtDriver ・パレットの初期化まわりを整理した ・Keyboard80 ・KB-02 のストローブをクリアする際にカナフラグもクリアしてしまっていた ストローブチェック後にカナの状態を改めて取得する実装だとNG いつ壊したか不明 ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて動作報告をお願いします テスト期限:2023.12.31 が設定されています 期限後は使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.55 2023.10.28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (6.5.27 → 6.5.28) ・FMT_ORANGE ・テンプレを調整した ・チェックを厳しくした ・バイナリサイズに終端マーク2byteを含めることにした ⇒ SAVEコマンド(バイナリセーブ)で指定した範囲とズレますが仕様とします ・Config のエラーハンドリングを変更した 外部ファイルに問題があった場合そこで全ての処理を中止する事にしました 従来はそのファイルの処理は中止しますが、親に戻って処理を続けていました 一貫性に欠けエラーの場所が判りにくくなるなどの問題があったため変更しました 外部ファイルで落ちた場合、エラーの発生したファイル名も表示されます - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・INIファイル実験 (Java2版のみ) ・cfg -INI 仕様変更 ※詳細は u80.cfg を参照してください ・メインウィンドウの場所を覚えるようにしてみた - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて動作報告をお願いします テスト期限:2023.11.30 が設定されています 期限後は使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.54 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 の拡張に伴う調整 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・DataRecorder?? ・フレームワーク改修に伴う変更
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.53 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.52 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.51 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.50 2023.04.29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・VirtualKeyboard (Java2版) 変形キー対応
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.49 2023.04.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・リファクタリング中 ・精査, 実体が伴わなくなっている変数/関数名変更, コメントバグ潰し ・シリアルポートの実装を整理した (構成に大きな変更あり) シリアルチップのコントロールをポートの管理下から外しました ・Java2版 ・D&D 操作で固まることがある件 (安定した?)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.48 2023.03.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・ICE.MemoryEditor (DMPフォーマットの出力) ・I/O誌形式で、16byte境界から始まらないときに 縦SUMがズレるバグFIX ・将来の拡張に備えDMP形式での出力コードを整理した ・テクポリ誌の横SUM3桁の出力に対応した (16x16) ・テクポリ誌の 8x8 フォーマットに対応した ・ICE.Debugger 及び ICE.DebugIF に関係するクラス(CPU, MEMORY) ・逆アセンブラの取り回しを調整した ・uPD8080, uPD8080A, uPD8080AF, uPD8085A ・静的な逆アセンブラ(デバッグコマンド,コピペ用)を調整した 8080でも 8085対応のものを使っていましたが分けました ※トレース用の逆アセンブラは当初より分離済みです ・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.47 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.46 2022.12.25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・TK-80A(FLUKE) が壊れていたので修正した DMAアドレスの違いにも対応したので ROMのパッチが不要になりました 現状は TK-80A のバリエーションという扱いですが、機種として独立させるかも ・TK-85, TK-80A を整理した (ドキュメント類との不整合) *「拡張メモリ」には対応していません * 未使用領域に INIT:* でファイルをロードすることで ROM としての利用は可能です ・賞味期限:2023.01.15 が設定されています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.45 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 の解析に対応した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・賞味期限:2023.01.15 が設定されています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.44 2022.11.26 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Config, VirtualMachine リファクタリング ・機種判定を VirtualMachine から Configクラスに移した ・EmulatorGUI (Java2版) ・仮想キーボードまわりの混乱を整理した ・CmtUtil (6.5.21 → 6.5.22) ・判定速度を改善した ・I:CANVAS.Prog コメント(プログラムサイズ)の間違いを修正した ・ASCII:PASCAL-PC ロジックを調整して、後方に配置された BASIC の影響を受けにくくした ※全般的に手が入っていますので動作確認をお願いします ・ロジック変更に伴い、意図しないチェック順の変更があります ・時間的な余裕ができたので、チェックを厳しめにした部分があります ・チェック順に依存する回避が難しい誤爆の可能性を確認しています 利用実態に合わせた対応をしたいと考えていますので報告をお願いします - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・cfg ・OPTION:-led[=[n]] を -flicker[=[n]] に変更した ・cmd ・LED=n を LED.flicker=n に変更した ・賞味期限:2022.12.31 が設定されています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.43 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 u80 : Ver. 1.b.112 → Ver. 1.b.113 でエンバグ ・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 で確認) 強制終了時でも取得できるイベントがあった(WINDOW_DEACTIVATED) ので、 そのタイミングでもイメージの更新処理などをするようにした 試験実装中のiniファイルは強制終了時には更新されません ・HexDumpPanel (Java2版) ・ASCIIダンプ領域にASCII文字を入力できなくなっていた 2022.06.12版で文字の扱いを整理した時の修正漏れ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・cfg ・R_B8 → R_CP に変更した (COMPO BS/80) ・Memoryクラスの混乱した初期化プロセスを改善するため継承関係を見直した ※コードが荒れていますので、致命的なバグがあるかもしれません ・CrtDriverクラスの初期化プロセスを改善するためコンストラクタを見直した ※コードが荒れていますので、致命的なバグがあるかもしれません ・CrtDriverBS ・TK-85 とのクロックの整合が取れていなかった ・CrtDriver00,01 ・TK-85 とのクロックの整合が取れていなかった (未使用) ・賞味期限:2022.11.30 が設定されています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.42 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・「PAGE FLIP」廃止に伴う調整
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.41 2022.08.07 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CrtDisplay (Java2版のみ) ・部分更新や更新無しの場合でも全画面転送するモードを設けた 画面切り替えを繰り返す場合のチラつき具合が改善するかもしれません 動作レポートをお願いします 描画にアンチエイリアスが(勝手に)掛かってしまう環境では、 部分更新した境界がブロックノイズの様に目立ってしまう様です 今回のパッチを適用すれば改善する可能性があります こちらも改善の有無にかかわらず動作レポートをお願いします
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.40 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.39 2022.05.08 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Asm2Obj (1.2.1 → 1.2.2) ・演算器の内部コードを整理しロジックを簡素化した 短絡評価対応時(1.2.0)の場当たり的な実装が気になっていたので直しました これを先にやっておけば... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.38 2022.05.07 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Asm2Obj (1.2.0 → 1.2.1) ・モトローラ二進数フォーマットの '%' とmod演算子の判定ミス修正 短絡評価対応時(1.2.0)の修正漏れです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.37 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
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.36 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 を参照してください ・uPD8085 ・DSUB のフラグ変化実装漏れ...だと思う (未FIX) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.35 2022.03.23 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Asm2Obj (1.0.0 → 1.1.0) ・オペコード,擬似命令と同じ名前でシンボル定義できるようにした ・予約語と同じ名前のシンボルは仕様上「定義できないが使う」ことはできた ・「SYMBOL」でロード可能になった →「定義できないが使える」状況が現実に という訳で、一貫性に欠けることになっていたので定義できるようにしました シンボル定義の判定ロジックを変更したので副作用が心配です 旧版と同じバイナリが生成されるか確認していただける方を募集します ・ラベルについては変更はありません オペコード,擬似命令と同じ名前を宣言する場合は末尾コロンを省略できません ・SYMBOL "filename" エラーが無い場合は log に出力していませんでした 「SYMBOL "filename"」の行を logに出力するようにしました シンボルファイルの内容は logに出力しません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.34 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 で確認) 簡単なパッチを当てただけなので、まだおかしな挙動をすることがあります 実用に耐えられないような動作を見つけたら教えてください - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・リファクタリング時のポカミスで一部の音が鳴らなくなっていた ・1bit-1ch PCM ・1bit-2ch PCM R1.1→R1.2 でエンバグ ・c80(TVD-04)の資料が手に入るまでパブリック・リリースは保留します フレームワーク側にペンディング項目が多いため、FIXするまでお待ちください
------------------------------------------------------------------------------ [Release 1.4] Ver. 1.0.33 2022.02.22 ------------------------------------------------------------------------------ [ライブラリ] ・uPD8080 ・トレース用逆アセンブラのバグFIX ・Java2版 : メモリエディタ ・オフセットがある場合 [Alt]+[0~F] での頭出しに失敗するバグFIX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・賞味期限:2022.03.31 を過ぎると起動時に確認が必要になります
------------------------------------------------------------------------------ [Release 1.3] Ver. 1.0.32 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) のみです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・TK-85 + TVD-02 + KB-02 に対応した ・TK-85 + BasicStation に対応した ・TVD-03 の VRAM範囲の表示が間違っていたので修正した ・賞味期限: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ファミリでは「出力フォーマット」を正規のフォーマットとしています 「実機で読める」としないのは、一部破損していたり、ゴミデータが混在しても 読めてしまうケースが多く、フォーマットとして確定できないのが理由です テープイメージのようなインフラ部分を扱う場合は慎重にお願いしたいです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・賞味期限: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 を正式版に昇格させた - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・cfg ドキュメントバグ ・OPTION:-level2 は廃止しています (廃止時期失念) MODE の bit3 で起動時に選択する ROM を指定してください ・賞味期限:2021.12.31 を過ぎると起動時に確認が必要になります
・賞味期限を設定してみました 2021.12.31 を過ぎると起動時に確認が必要になります
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.28 2021.09.29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CmtUtil (6.5.15 → 6.5.16) ・SystemSoft:CHPLFTR 対応 ・表記に一貫性が無い部分が目についてきたので調整した ・Asm2Hex ⇒ Asm2Obj ・外部のシンボル・テーブルを参照できるようにした (仮) ・DmpUtil ⇒ Dmp2Obj + DmpUtil に分離 ・ICE.MemoryEditor等 ・DMPファイルのロード対応した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.27 2021.09.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CassetteUtils ・Tsukumo:Diggie88 の簡易解析に対応した ・CmtUtil (6.5.14 → 6.5.15) ・Tsukumo:Diggie88 の解析に対応した ・dB-SOFT:FLAPPY88 ・ボーレート指定を変更した (BAUD_1200 → BAUD_USER) ・テンプレートを微調整した ・dB-SOFT:88#ZEXAS に対応した ・dB-SOFT:VOLGUARD88 に対応した ・コードを整理した 「不明ブロック」のうち特定のフォーマットに関係するものやゴミと思われるは 前後のブロックに組み入れています それらを除いたものを独立した「不明ブロック」として扱っています 非常に稀なケースですが、イメージ末尾の独立して扱いたい「不明ブロック」が 前のブロックに組み入れられてしまうことがあった可能性があります
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.26 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.25 2021.07.17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・バージョンチェック機能を実装してみた ※殺してあります ・バイナリエディタ ・更新部分以外でも ToolTip でアドレスを表示するようにした ・選択範囲を ToolTip で確認できるようにした ドラッグ中にアドレスを表示したかったが大変そうなので妥協した そういう用途に無理やり使うべきではないという事なのかな? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.24 2021.06.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Keyboard ・UTF-8 半角カナのマッピングを間違えていました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.23 2021.06.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Trace:n の初期状態を cfg で設定できるようにした
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.22 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 自動タイプ:ASCIIモード / JISモード 切り替え +TyperPNL → +Typer.PNL タッチパネル機能 マップ定義ファイル読み込み TyperPNL → Typer.PNL タッチパネル機能 ON/OFF TyperR2K → Typer.R2K ローマ字かな変換 ON/OFF ※タイプ速度設定(Typer=cmp) の影響を受けるものを Typer.* に統一した Typer.#mod の影響を受けるものを Typer.#* として区別した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・デバッグコマンド(ダンプ/逆アセンブル)で落ちることがあった 下記メモリマップ用のクラスのメモリ取得関数にケアレスミスがありました ・TK-80 + 拡張メモリ + TVインタフェース ・TK-80 + 拡張メモリ + TVD-01/03 ・TK-80 + 拡張メモリ + TVD-02 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [その他] ・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.21 2021.06.05 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Java2版 メモリエディタ ・Win10 でファイルのドロップ時に固まることがあったので対策してみた 今のところ安定している様ですが、原因を潰せたか不明です - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.20 2021.06.05 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・CarryLab:JE6#Data のバリエーションに対応した ・Asm2Hex ・擬似命令 IFDEF/IFNDEF に対応した ELSEIFDEF/ELSEIFNDEF は用意しませんでした ・Java2版 CrtDisplay クラス ・マウスの grabモードが変だと思っていたら二重に座標変換していた たぶんコピペの手が滑った いつ壊したか不明 ・ついでに範囲外に飛び出したときの復元位置を中央に変更してみた ※j80 以外では(未使用のため)バグFIX および 仕様変更の影響は無いはずです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [その他] ・開発PCが壊れた 新環境でのビルド第一号 (J2SDK 等は変更なし) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.19 2021.04.04 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・uPD8080AF, uPD8085A ・レジスタエディタでPSW(AF)を設定すると Aレジがクリアされてしまうバグ (Ver. 1.b.118 での修正ミス)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.18 2021.03.20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・Falcom:DS80SR の解析に対応した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・TK-80BS系以外では [BREAK]に相当する入力を無視することにした
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.17 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・IC-0006 ・周波数の誤差を加味してボーレートが丁度になるように変更した (試行)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.16 2021.02.11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・uPD8085A ・POP PSW が間違っていた 固定のビットを再現するためのコードに間違いがありました PUSH H → POP PSW のようなケースでも bit3 = 0 とする為のマスクが... ・CrtDriver ・パレット指定の不足分をデフォルトパレットで補う部分を整理した 機種毎の調整を実装する部分が混乱していたので整理しました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.15 2021.02.06 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・I企画の「グラフィック・キャンバス」に対応した 汎用フォーマットのような気がしますが他のソフトは未入手なので、 とりあえず「I:CANVAS.Prog」,「I:CANVAS.Data」という名前にしています 関連情報として、cmt8001よる吸出しではパラメータ指定が必要です
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.14 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画面がある場合はその下 あわせて 出現時に画面下に見切れないように調整しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・コンソール表示を調整した ・RESET コマンド / RESET.clear コマンド 仮想キーボード/パッドからリセットした場合は clearオプションを無視します メモリを初期化したか判らなくなることがあるので明示することにしました ・メモリ未実装エリアの「ゴースト」が再現される場合は表示することにした 表示が出ない場合は、その構成では「ゴースト」未対応です ・cfg の変更漏れを修正した ・OPTION:-prn 追加漏れ ・cmd, cfg を変更した ・CRT.crtopt ⇒ CRT.hold ・OPTION:-crtopt ⇒ OPTION:-hold ※汎用のオプション設定コマンド「CRT.crtopt」は廃止しました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.13 2021.01.16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [近況] ・添付ドキュメント類やソース中のコメントの更新漏れをやっつけながら、 放置されたり手抜きだった部分を見つけては潰しています 当面は荒れたままだったコードを整えることに専念するつもりだったのですが、 サウンドまわりで影響範囲の広い変更をすることになってしまいました ・u80 では PRN に繋ぐ音源は無いこととして、オプションボード側に繋ぐ音源用に チャンネルを流用していました メンテナンスの度に混乱するのですが負荷上昇を嫌って我慢していたのでした 割り切って PRN はプリンタポート専用チャンネルとして独立させたのですが、 今のところ u80 では使ってません... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Java2版 メモリエディタ(バイナリエディタ) HEX部分へのペースト時に 全角スペース, タブ, カンマ も無視するようにした 「無効な文字はすべて無視」しないのは誤爆時の被害を最小限に留めたいからです ・Java2版 EmulatorGUI ・Utilities メニューを調整した cmdファイル中の並びを無視してメニューとしての据わりの良さを優先しました メニューからの使用頻度が低そうなものはサブメニューに畳み込みました ・Java2版 TracerGUI ・初めてダイアログを開くとき dbgファイルを有効にしてしまう仕様を変更した 初回のみの例外的な挙動は読みにくいので変更しました ダイアログを開く時は常にその直前の状態を変更しない様に統一しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.12 2021.01.05 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cas2Cmt, Job2Cmt ・T88形式を CMT形式として解析してしまっていた ・サウンドを 1ch 増やした ※サウンドまわりの改修とあわせてメニューを調整しています (Java2版) 不審な動作が見られたら報告をお願いします ・Java2版 トレーサ ・";;" で無効化している行をドキュメント行と区別しやすくした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・MTK-80 の構成では PPI@TKBS, PPI@M20K を使用しないこととした (修正漏れ) ・Java2版のGUIを「小型画面用」から j80と同じ形式に変更した CRT画面を200%以上の倍率にしないとメニューが極端にあふれます ※キーパッド側にメニューがある構成では従来のスタイルで表示されます ・サウンドの割り当てを変更した ・cfg:SYS を変更した 旧 : *CMT(TK-85) 新 : *,予約,CMT(TK-85) ・cfg に追加があります 追加 : PRN, OPTION:-prn
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.11 2020.12.26 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Java2版 メモリエディタ ・ICE.MemoryEditor ・DMP形式の出力に対応した DMPファイルの残っていない打ち込みデータのチェック用です チェック・サムのみ打ち込んでツールに掛けることができます 8byteフォーマットのダンプコマンドがなかったので作りました 8byteの場合は ASCII誌, 16byteの場合は I/O誌の SUMを付けますが 見比べての確認はお勧めしません / 削除して打ち込み直してください 正常性バイアスなのでしょうか、間違いの見落としが多いです そんな訳で縦SUMや他の計算方法のSUMに対応する予定はありません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.10 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 からは変更できません ・有効な行の視認性向上 行番号をハイライト表示します - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・u80 添付の Shift入力版 2K-BASIC のバグを修正した 8255の初期化ミスでキークリック音が鳴ってなかった... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.9 2020.12.13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Java2版 メモリエディタ ・初期フォーカスをバイナリエディタに当てることにしてみた ・バイナリエディタ部分の操作性向上 ・[Page Up],[Page Down] の動作を変更した 256byteピッチでスクロールする ⇒ 表示範囲をスクロールする ・[Ctrl]+[Page Up]/[Page Down] で 4096byte 刻みの移動を可能にした ・アドレスの頭出しを可能にした [Alt]+[0],[1],...,[F] で 0x0000,0x1000,...,0xF000 に飛びます [Shift] の同時押しで範囲選択にも使えますが、NumPAD側は化けるので注意 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・BS系を壊していた (初期化で落ちる) ・COMPO BS/80 の割り込みまわりを作り込んだ → 使用していない部分を刈り込むと実質的に変更なし... akutsuさんに資料を集めていただきました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.8 2020.12.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [全般] ・開発手記やソースコード中のメモを読み直しながら落穂拾いをしています - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・非BSの構成の一部で PPI@TKBS,PPI@M20K上のデバイスが表示されてしまっていた TK-M20K は BasicStation と別に運用できます (TK-80 + TK-M20K) こういった構成には対応しても良いのですが、現状では見送っています ・初期化,リセット処理の混乱を整理した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.7 2020.11.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・フレームワーク調整 ・複数の CMT IF があったとき、cfg:CMT:id との整合を自動化した ・複数の CMT IF があったとき、メニューに識別子を追加できるようにした (Java2版のみ) 例 :「#1 Player...」⇒「#1 [BS] Player...」 ・uPD8255 (新規) デバイス毎にハードコーディングしたバッファ程度の適当実装のまま放置するのも 何なので作ってみました 今後は適切な設定が必須となります 注意 ・モード1 はほぼ何もしていません&フェイク実装があります ・モード2 は未対応です - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・全般 ・PPIの分離ついでにクラス設計を一部変更した 自由度が増したので、TK-85 + BS とか対応できるかも ・CPUボード上の PPIの実装を uPD8255クラスに差し替えた 影響のあるデバイスは下記の通りです ・TK-80/E, TK-85 の キーパッド, 増設SW ・TK-80/E の CMT IF ・TK-80/E の DMA設定 ・TK-85 の 割り込み関係 ・BS-CA01 ・TVD-03 ・KB-02 ・すべての 1bit PCM系サウンドデバイス ・「エレポンゲーム」(マイコン応用プログラム集) のパドル ・ボリューム・パドル (I/O:1979.9) ・ボリューム・パドル (ASCII:1979.4) ・BSボード等にある PPIの実装を uPD8255クラスに差し替えた 影響のあるデバイスは下記の通りです ・BSキーボード, 増設SW ・BSの画面設定 ・BS-CA01 ・「サウンド BASIC」(ASCII:1978.6) ・「サウンド・エフェクタ」(ASCII:1978.8) ・「サウンド・ジェネレーター」(I/O:1979.9) ・「スペース・インベーダーに効果音を」(マイコン・ゲーム徹底研究 [2]) ・キーパッド類の実行負荷低減の小細工を止めた ・TK-80/E ・I/Oポートの「アドレスデコードの問題」を実機に即した形に書き直した 動作に影響は無いハズです ・CMT IF のゴミ対策をした 出力イメージにゴミ(0xFF 1byte) が混じることがありました 例 : CMT(ToneBurst) を選択 → IC-0006 を選択 の直後 ・KB-02 と ユーザー増設SW(PPI@TK80:PB0-7) を排他利用とした なんとなく共存させていませたが禁止しました 8255 が正直実装になってきて誤魔化しが効かなくなったので... ・TK-85 ・I/Oポート(8255の接続)を「フルデコード」に修正した ・COMPO BS/80 ・L1/L2 切り替えボードを実装した固体を見つけたので対応した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.6 2020.10.24 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・全角文字の変換テーブル登録漏れ ・スペース ・「ファイル入力」に TXTモードを追加した 先頭行にエンコード指定がある場合は「TXTモード」とします 指定方法は設定ファイル等と同じです // *encoding Windows-31J // *encoding UTF-8 など (コメントアウトしなくても問題ありません) 従来の動作は「RAWモード」と呼んで区別することにします ・全角英数,全角カナ,UTF絵文字等への対応範囲を広げた ・クリップボード入力 ・ファイル入力(TXTモード) ・タッチパネル登録ファイル
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.5 2020.08.10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・HexDumpPanel (バイナリエディタ) ・フォントを調整した ・ASCIIダンプ領域を調整した ・欧文系のテキストファイルからコピペできるようにした ・ペースト時に全角英数字,カナを半角として処理するようにした ・ペースト時のエスケープ処理を廃止した ※現状ではペーストした改行コードはすべて LF のみとなります ・Asm2Hex (アセンブラ) ・数値フォーマット追加した 0b~ 2進数 0o~ 8進数
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.4 2020.06.22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・AMDEK:COMPU-MUSIC のフォーマット判定ロジックを調整した CP YOU-PCD のカセット出力ではファイル名の扱いが異なるようです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.3 2020.05.15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [u80] ・TK-80/E 拡張メモリ + TVD-02(アドテック) に対応した 旧 ENHANCE 8,9 から KB-02 を外した構成です TK-80系 ENHANCE 8 : TK-80 + 拡張メモリ + TVD-02(アドテック) ENHANCE 9 : TK-80E + 拡張メモリ + TVD-02(アドテック) ※cfg:ENHANCE 8,9 は 10,11 に変更しました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.2 2020.05.02 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CrtDriver ・デフォルトパレットの間違いを訂正した 黄色→水色になっていました u80 : Ver. 1.b.122 → 1.0.0 のタイミングで壊していたようです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.1 2020.03.28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Config ・PCM音源の登録に外部ファイルを利用できるようにした cfg 指定方法: < u80 では使用しません > ・PPI, OPT の初期設定に外部ファイルを利用できるようにした cfg 指定方法: PPIOPT ・SYS, PPI, OPT の音量設定中にスペースを混在できるようにした スペースによる分ち書きが可能になりました ・Asm2Hex ・シンボルの上書きを許す条件の判定ミスを修正した 「同じ値だったら」→ 型フラグの扱いに問題があり上書きできないことがあった ・エミュレータのメモリエディタから呼ばれた際のメッセージ出力のバグFIX 問題がない場合でも「Out of Range」の警告が表示されることがありました デバッグついでに表示内容を拡充しました ・オブジェクトの出力範囲の表示 すべてを含む範囲をまとめて表示する → ブロック毎に分けて表示する ・「Out of Range」の警告 アドレス(範囲)の情報を追加しブロック毎に表示する ・ログ出力フォーマットを調整した 「*」で始まるコメント行は「ドキュメント」あるいは「見出し」とします ログにはダンプ部分の字下げなしで出力されます ・hal8999.emu.device.cpu.ICE.loadBIN(), loadHEX(), loadMOT() ・Asm2Hex と同様のロード結果を表示するようにした
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.0.0 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)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.122 2019.12.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・BSキーボードのマッピングを修正した ・Java2版/Android版 ・仮想キーボード用キーマップ定義 ・キーマップファイル カスタマイズしたキーマップファイルをお使いの方も確認をお願いします ・「ト」: C3 → C4 ・「ヤ」: D5 → D4
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.121 2019.12.28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CassetteTape ・PCM読み出しモードでのテープ操作とコンソール表示の混乱を調整した ※pcm8001には影響ないはずです ・Asm2Hex ・擬似命令 DEFM,DM を受け付けるようにした ⇒ 動作は DEFB,DB と同じです ・擬似命令 SKIP (EDAS 改ページ) を受け付けるようにした ⇒ 何もしません ・EDAS の OR演算子「!」を処理できるようにパッチを当ててみた 問題が生じたら削除します ・おかしな数式でも落ちないことがあったのでチェックを強めにした (不完全?) ・END [式(エラーメッセージ)] の仕様を変更した ・エラーメッセージは「マクロ中のみ有効」に変更しました(マクロ外では無害) ・エラーメッセージがある場合 END を貫通してしまっていた問題をFIXしました ・Cmt2Cmt ・I/O:EDAS の解析に対応した SRC/OBJ の判別はしていません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [フレームワーク] ・Keyboard ・TyperMOD コマンドを追加した 自動タイプ(ファイル入力,クリップボード入力)時に通常と違う動作をします u80 : TK-80BS[ASCIIモード] 対応 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・自動タイプ(ファイル入力,クリップボード入力) ・TK-80BS[ASCIIモード]での見た目どおりに打ち込んだファイルに対応した JISモードでの文字に置き換えて入力する手間が不用になりました MENU : ASCII MODE にチェックを入れてください
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.120 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.119 2019.07.19 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・TK-80:MONITOR の判定条件を厳しくした 識別子が無いため誤爆しやすいので制限を追加しました 前のブロック末尾に「未確定の 0x00」がある場合は、 連続する 0x00 すべてを無視します ・Dmp2Cmt ・縦SUMのチェックルールを変更した 横SUMが2桁でない場合は、縦SUMの合計,横SUMの合計の一方が合えばOKとします
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.118 2019.03.10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Asm2Hex ・INCLUDE, BINCLUDE, CAIN の パーサルールを変更した 式(ファイル名)パース時の スペース,タブ は区切り文字としないことにしました ドキュメントでカンマが要求されていたにもかかわらず 「BINCLUDE "filename" 256,16」 が通ってしまっていましたが、今回の変更によりエラーとなります この変更で分かち書きした式(ファイル名)の外括弧が不要になりましたが シンボルが文字列を扱えないので使うことはなさそうです ・ネストしたループマクロから戻ると ループID が狂う問題 FIX ・8080系 フラグレジスタ未使用ビット ・未使用ビットを常にメンテせず成り行き任せにしていた部分を見直した ・デバッガからの変更要求に補正を加えることにした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [フレームワーク] ・ICE.DebugIF ・ユーザーのレジスタ変更要求に対して補正を掛けられるようにした ・RegEditor (Java2版) ・ICE.DebugIFが補正した値を入力値とみなすようにした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.117 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.116 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.115 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ダンプの表示キャラクタを調整した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・仮想キーボード (Java2版) ・Hex + Full でも VKEYコマンドが動作してしまっていた ⇒ メニューが無いので GUIスレッドが落ちる R1b90→R1b91 でエンバグ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.114 2019.02.11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [フレームワーク] ・VirtualKeyboard (Java2版フレームワーク) ・単体表示の16進キーパッドでもカスタム画像に合わせたmapを使えるようにした <画像ファイル名>.map があればそのファイルを使います ・LedDisplay (Java2版フレームワーク, Android版フレームワーク) ・横一列でないレイアウトに対応した ・複数のLEDフィルタ(領域)に対応した ・フィルタなしの色(フィルタ領域背景色)を背景色と分けて管理するようにした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・MTK-80 を「機種」として設定した cfg:R_8M でモニタROMを設定した場合 MTK-80 として起動します TK-80 とは別の機種として扱います 現状では TK-80 とほぼ同じハード構成となっています ところで「M」は「みゅー」と読んでいたのでしょうか? ⇒ uTK-80?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.113 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 を追加した u80 では使用していません ・-boot=v1,v2 を追加した u80 では使用していません ・ローマ字カナ変換 ・xtu で「ッ」を入力できるようにした 要らないと思って省いていたら(何故か入力できない)状態になって困りました 従来の子音を重ねる入力方法も生きています ・EmulatorGUI (Java2版のみ) ・CRT画面が無い場合もフレーム位置の情報を返すようにした (Util:4 コマンド) CRT画面がある構成ではLED/キーパッド側の情報は表示されません LED表示の動画を取りたいときにお使いください LED部分(範囲)の情報は表示しません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [u80] ・KB-02 が使えなくなっていた Ver. 1.b.106 → Ver. 1.b.107 でエンバグ TK-80実機 の CMT IF と KB-02 は共存できないと思います u80 ではロード中にキーを押さなければ使えます
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.112 2018.12.13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・EmulatorGUI (Java版のみ) ・描画位置等の情報に「フレームの位置,サイズ」を追加した (Util:4 コマンド) フレーム込みで動画撮影をしたい場合にお使いください ※Android版は無関係ですが、エミュレータ側のバージョンを上げています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.111 2018.11.20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・ライセンス変更のおしらせ : : バイナリにRelease番号の無いものは「プライベート・リリース」とします : : プライベート版添付の readme.txt 中のRelease番号は無効です : : プライベート版は再配布禁止とします : : プライベート版は開発に積極的に関与していただける方にのみ配布します : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・ライブラリ, フレームワーク側に若干の調整が入ったため更新します u80にはあまり影響は無いはずです PPIに繋いだデーレコのテープカウンタ表示の違和感が改善されていると思います
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.110 2018.11.10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・PPI にテープをセットしていないデーレコを指定すると落ちるバグ
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.109 2018.10.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・Config:マウント系デバイス初期設定 ・デバイス毎のオプション指定を可能にした 「*」に続いてデバイス固有のオプションを指定できます 機種等に固有のもの(IF側の設定等)は OPTION に用意されています 例 : CMTはデータレコーダーの設定, シリアルIFの設定は OPTION側 複数のオプションを指定する場合はカンマで続けます □現在対応しているオプション CMT:1 pause PauseMode ON (デフォルトはOFF) CMT:3 pause PauseMode ON (デフォルトはOFF) ・CassetteTape ・PCM読み出しモードを修正した 実装が雑なまま終わったつもりになっていました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.108 2018.10.09 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - コンバータ等 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・Cmt2Cmt ・TK-80:MONITOR の判定条件を厳しくした 識別子が無いため誤爆しやすいので制限を追加しました ADDRESS:0000H-0000H, DATA:00H, SUM:00H はヒットしません ・TK-80:MONITOR のアドレス指定の解釈に漏れがあった 「開始アドレス>最終アドレス」のケースに対応しました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.107 2018.09.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・TK-80 の CMT IF に対応した Tapeメニューでイメージを指定しただけでは使えません PPIメニューで CMT IF を選択してください モニタ音の設定は PPIメニュー側にあります ・IC-0006 に対応した 使い方は TK-80 の CMT と同じです ・cfg ・PPI:id を変更した ・-CMT:id(ロード側) でタイトル指定(頭出し)が機能しなくなっていた ・-CMT:3,4 を追加した (CMT IF #2) ※機種,構成により「主要な CMT IF」が CMT:1,2 に割り当てられます ・cmd ・SetMapコマンドを CMT:id.setmap に変更した ・CMT:3系コマンドを追加した (CMT IF #2 ロード側) ・CMT:4系コマンドを追加した (CMT IF #2 セーブ側) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - コンバータ等 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・Asm2Hex シンボルファイルの出力に対応した ・Cmt2Cmt TK-80:MONITOR の解析に対応した ・Ipl2Cmt, N802Cmt 内部コードの混乱でビット長が不正になることがあった ・Tk82Cmt コンバータを追加した TK8イメージを CMTイメージ(TK-80:MONITOR)に変換します ・Cas2Cmt, Job2Cmt, Dir2Cas TK8イメージに対応した ・CassetteTape PCM出力時に落ちることがあった
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.106 2018.07.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・TracerGUI DEBUGコマンド変更漏れ 使えなくなっていたもの ・デバッグモードの切り替えチェックボックス ・ステップ実行ボタン
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.105 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.104 2018.01.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・CRTが無い環境だと一部のコマンドが機能しないバグFIX R1b91→R1b92 でエンバグ ・VMフレームワーク 仮FIX エミュレータ本体の機能追加,変更はありません ・Java2版, Android版 GUIフレームワーク 仮FIX
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.103 2017.12.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・デバッガ ・ブレイクポイントの範囲指定に対応した ・ディスプレイ(色)定義ファイルのフォーマットを変更した RBG → RGB ・スクリーンショット ・連写機能を追加した ・連写した画像の合成に対応した pause中はそのときの画面のみを、そうでない場合は VBLANKに同期して取得します - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.102 2017.12.05 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・uPD8080A ・AND, OR/XOR のフラグ変化のバグFIX 意図した値になっていませんでした 8080AF, 8085 は影響(問題)ないはずです ・TK-80系 cfg:USR0 (ROM#4) 未実装時の状態を再現してみた ・時系列ですべての(完全な)状態を再現しているわけではありません ・擬似的に再現を試みているケースもあります
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 1.b.101 2017.11.17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・ライブラリ更新(150baudテープイメージ対応)に伴うバージョンアップ
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・TK-80BS ・CRT出力まわりのタイミングを微調整した
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・メニューの「Tracer GUI」,「Monitor GUI」が入れ替わったままだった hal8999.lib.java2.EmulatorGUI R1b92 での修正漏れ
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・Windowモード拡縮時のボーダー部分のゴミ回避 (hal8999.lib.java2.EmulatorGUI) 過去に対策した記憶があるのですが夢だったようです (Android版だったかなぁ)
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・BS-CA01 ボーダーの設定メニューを消してしまっていた R1b84→R1b85 でエンバグ ・TVインタフェース ボーダーの変更に対応した ・cfg 変更 OPTION : -vram00, -vram01 を -vram に統合した
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・添付の設定ファイルやサンプル・リソース類全般に手を入れています : : コメントの不整合や表現の統一などが主な修正点です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・バグFIX ・サウンドデバイス変更時に「トーンバースト」の vol が前回設定値にならない ・Fullキーボードが無い環境で特定の条件で落ちる Joystick,アナログ入力デバイスの変更等で落ちることがある R1b88→R1b89 でエンバグ ・Debug:6, 7 が(意図せず)入れ替わっていた R1b90→R1b91 でエンバグ ・非表示にした仮想キーボードの変更に失敗する 仮想キーボードの選択肢がない機種・構成では問題ありません ・デスクトップのサイズ(レイアウト等の基準)をタスクトレイを除いたものに変えた ・BSキーボード(8255) を調整した
・リファクタリング中 大きく手を入れている最中なので深刻なバグがあるかもしれません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・タッチパネル機能の仕様を確定した キー・エンコーダー方式のキーボードでは「ポート指定」はできません 「ポート指定」のコードはすべて「何もしない(時間稼ぎ)」動作となります ・連射機能の仕様を確定した キー・マトリクス方式のキーボードのみを対象とします 機種によっては PPI に直結したSWもキーボードとして扱いますので設定可能です ・cmd ・DEBUG:id コマンド再編成 id に変更があります (→ cmdファイルのコメント参照) ・Debug:id コマンド再編成 id に変更があります (→ cmdファイルのコメント参照) ・Escapeコマンド廃止 → Debug:5 ・cfg ・-DMP (メモリダンプの出力場所) 新設 -DBG の場所から分けることが可能になりました ・仮想キーボードの登録方法変更 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・連射機能を有効にした フル・キーボード上のキーは設定できません ・L2BASIC コマンドを廃止した → MODE:3 ・BSキーボード ロジックを調整した
・メモリエディタの更新(タイミング)ミスを修正した
・リファクタリング中 j80 のバグFIXついでに公開します 大きく手を入れている最中なので深刻なバグがあるかもしれません
・TK-85 の CMT IF に対応した ・CMT IF - DataRecorder の設計を変更した 関連するライブラリも更新しています 不審な動作を見かけたらレポートをお願いします ・Cmt2Cmt ・解析ロジックを追加した ・TK-80BS ・TK-85, MP-80/mkII ・ORANGE(COMKIT8062) ※暫定対応 j80, j68, u80, m80, c80 共通です 機種によるフィルタリングをしていませんので誤爆の可能性があります ・デバッガ ・ブレイクポイントの種類として「次のPC (到達したPC)」を追加した 「実行後にそのアドレスに到達する命令」を実行後にブレイクします 設定アドレスの命令を実行する前にブレイクが掛かることになります サブルーチン先頭を指定して呼び出し元を探るのにも使えます ※割り込みには配慮していません ・不具合の問い合わせについて いつも情報提供やバグレポートありがとうございます 問い合わせいただく場合は以下の点に配慮願います ・実機で同じ問題が再現することを *必ず* 確認してください ・想定している機種や構成を明記してください 機種や構成の差異で問題の有無や再現性が異なりますのでご注意ください ・問題点を丁寧に説明してください 主語は省略せず、指示語も避けてください 一文に複数の情報を入れないでください 「フリーズする」だけではエミュレータかエミュレータ上のソフトか判りません こちらから折り返し事情を伺う事が多かったのですが手間が掛かりすぎるので、 答えられない場合は返事をしないことにします ・再現方法を明示してください 集中して再現試験するゆとりがないので、情報不足の場合は調査しません ・バージョンアップや情報提供に対し、問題が解決したか否かの返事をください 返事をいただけなかった方は、それ以降の問い合わせには答えません 特定の環境や好みに対応した場合は継続的に動作確認のレポートをお願いします 特にパッチで対応した場合は、不要になったら必ず報告してください メンテナンスの手間が掛かっています
・CassetteTape クラスを大改修したので更新します u80 には影響ない筈です 以前と違う挙動をしたらバグですので報告をお願いします
・Asm2Hex ・DB, DW に シフトJIS の 2byte文字を直接記述できるようにした DW は常に 2byte 出力し、バイトオーダー設定の影響を受けるので非推奨です ・AS の擬似命令 (RELAXED) を無視するようにした
・cfg:-CRT の設定方法に変更があります 他のエミュレータとの一貫性を考え、ID を定義しなおしました -CRT:1 を「MAIN」→「本体側」 -CRT:2 を「SUB」 →「拡張側」 BS-CA01 を使う場合の設定に影響があります 旧設定: -CRT:1 MAIN BS-CA01側の出力 (DIGITALカラー) -CRT:2 SUB TK-80BS側の出力 (モノクロVIDEO) 新設定: -CRT:1 本体側 TK-80BS側の出力 (モノクロVIDEO) -CRT:2 拡張側 BS-CA01側の出力 (DIGITALカラー)
・レジスタエディタ フラグレジスタのバグ FIX チェックボックスの操作で、他のビットが全て0になってしまうことがありました ・キーマップについて サンプルcfg の キーマップ設定を、[ろ] を識別できる方の環境にあわせました ただし、非常に繊細な判別条件なので ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※ Javaのバージョンアップで使えなくなる可能性が高いです ※※※※ ※※※※ 使えなくなってもバグではありませんので報告は不要です ※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ このような不安定な設定を推奨しているように受け取られたくないので、 こちらから提供するサンプルcfg での採用を避けていましたが、 問い合わせに個別に対応するのが面倒なのでこのような形とさせていただきました
・DEBUGコマンド欠番処理の漏れ FIX
・エミュレータ:本体の更新 ・CRT出力まわりのタイミングを微調整した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・エミュレータ:フレームワーク系の更新 ・メモリマップドI/Oエリアの扱いを統一した (仮) ・R/W に分けて記録し、メモリエディタでそれぞれ確認できるようにした Read側は「最後に読んだ内容」が表示されるよう統一する予定ですが 現状ではデバイスからの値がリアルタイムに読めてしまうケースがあります その場合でも更新タイミングは正確でないものがあります ・初期化はハードコーディングする (R:0xFF / W:0x00 で埋める) ・メモリエディタでの変更は無視する - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・デバッガ・ユーティリティ系の更新 ・スキップ実行の条件を追加した DEBUG.step=3 : step=2 + J*までを1ステップとする ・メモリエディタ等で「モトローラS形式」が使えるようになった j68 の副産物です ・デバッグ系コマンドの id を j80 に揃えた (一部に欠番あり) u80.cmd に変更があります - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・Java に関する更新 ・[右 Ctrl] のキーコードを追加した (Java2SE 1.4~) キーマップ定義を追加しないと、右側の[Ctrl]が無視されます ・[¥] と [ろ] を分離してみた (Java7 専用?) 公式手段では見分けが付かない様だったので場当たり的なパッチを当てました ・「タッチパネル機能」の定義に「半角カナ」を直接記述できるようにした 定義ファイルのエンコードは ShiftJIS系のみを想定しています 自動タイプ機能と違い PC-8001のハート記号のような文字は記述できません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・その他 ・RESET.clear についてコメントを追加した (u80.cmd) → u80 では、メモリエディタで変更した ROM 部分も復元される
・自動タイプ機能のバグFIX ・0byte のファイルで落ちるバグ ・長さ0の文字列のコピペで落ちるバグ ・タッチパネル機能のバグFIX ・領域が一度も定義されたことが無い状態で領域なしのマップを使うと落ちるバグ
・コンソール出力 ・トレース出力の行単位の色変えなどに仮対応した *.cfg:ATTR で表示方法を指定します ANSIのエスケープコード(シーケンス)を想定しています コンソール側が対応していないと反映されません メニュー等から設定の 有効/無効 を切り替えられます
・Asm2Hex ・異常終了(強制終了)できるようにした END にエラーメッセージを与えられるようにしました メッセージを付けた場合は「異常終了」とします マクロのパラメータ・チェック等での利用を想定しています 予約語を増やしたくないので、END を拡張しました
・エミュレータ本体に変更はありません ・LED画像を差し替えた ・2K-BASIC のバイナリを差し替えた ・PEEK, POKE, CURSOR, CLEAR などを追加しました ./util/files/PATB/config.txt を参照してください ・MODE コマンドで POKE,CURSOR の書式を選択できます ・座標を与える POKE は、VRAM 専用の様です ・ASCIIコード(カナ拡張あり)を渡すとディスプレイコードを書き込みます ・改行処理なども行い、カーソル位置が更新されます (暫定仕様) ※発掘隊用に「東大版(I/O カナ版)」を適当に改造したものをベースにしました ほとんどテストしていないのでしばらく様子をみます
・仮想キーボード上の通常キーのロック表示が解除されないバグFIX ・ResetKEY コマンド発行時 ・ファイル入力, クリップボード入力時 ・KB-02 ・ [カナ] キーの状態をリアルタイムに取得できるようにした ・キーレイアウトを変更した (暫定) ・キーエンコーダの出力(キーマップの定義方法)を変更した ・2K-BASIC を添付した ・「DDJ May, 1976」掲載のソースを元にしています ・tools80, u80搭載のアセンブラで通るようにソースコードをコンバートしました ・TK-80モニタを避けるため、0x0400~ にリロケートしました ソースコードにサンプルやコメントが用意されていましたので それに添う形でリロケートしています ・入出力ルーチンは KB-02, TVD-02 を想定しています KB-02, TVD-02 用の「PROM-04」は不要です +-----------------------------------------------------------------------+ | 今回はバイナリのみのテスト配布です (「お試し版」ということで...) | | 入出力ルーチンが(動作しますが)未完成なのでソース配布は保留します | | メモリマップなどもFIXしていませんので公開を見合わせます | | エミュレータの設定方法は /config/PATB/2K-BASIC.cfg を参照してください | +-----------------------------------------------------------------------+
・ローマ字入力モードの仕様を調整した (エンコーダ仕様のキーボードのみ) [SHIFT], [CTRL] の挙動をソフトウェア・スキャン仕様にあわせました R2Kモードを切らずに "(" や "A" を入力できます ※BasicStation のキーボードのみ「R2K で使うキーでは [SHIFT] を無視する」 仕様を追加しています (暫定)
・TVD-02 CRT設定(発色)を変えたときに文字下の隙間が再描画されないバグFIX ・Scale+=n, Scale-=n コマンド修復 (R1b74 でエンバグ) ・TVD-03 低解像度モードを殺していた (理由失念) メニューから選択できない(=使わないコード) と二重に勘違いしていたのかも?
・フルスクリーン対応 (COMPO BS/80 のみ)
・KB-02 レイアウト調整など
・フルキーボードが無い構成でも KEY:0 -full を受け付けてしまっていたバグFIX → 無効な -full 指定があった場合は画像指定も無視する ・TK-85 の [MON]キーを u80.cmd に追加した ・コード整理 ・ドキュメント整理
・uPD8085A クラス ・TRAP(RST4.5/NMI)割り込みの設計を変更して特別扱いを止めた デバッガで「TRAP割り込み」を捕捉できるようになりました ・RIM で読み取ることのできる「IE : INTERRUPT ENABLE FLAG」を調整した 確信は持てていないのですが、MP-85 のモニタ・プログラムから推定しました ・未定義命令(DSUB, LDHI, LDSI) のオーバーフローバグ FIX ・uPD8080, TK80 クラス ・デバッガの「割り込みによるブレイク設定」が死んでいたのを修正した
・デバッガ ・8085 のトレース出力が 80桁を超えてしまっていたので調整した
・アセンブラ ・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"
・アセンブラ ・式の分かち書きを可能にした カンマを省略できなくなりました 置換用のマクロなどにも影響があります 例:「LD A, MASK SHR 1」を「ld A, MASK >> 1」に置換したい LD MACRO reg, left, op, right IF "op" == "SHR" ld reg, left >> right ELSEIF "op" == "SHL" ld reg, left << right ENDIF ENDM ※新仕様では「MASK SHR 1」を切り分けられないので動作しません ・中括弧による文字列指定を廃止した マクロの仮引数を文字列(型)として評価させたい場合は、 "仮引数" または '仮引数' としてください 文字列の「内容」が完全に一致した場合に限り、仮引数とします 仮引数=reg, 実引数=A の場合: reg => A "reg" => "A" "reg+1" ※ "A+1" にはならない ・シンボルの代入に「=」も使えるようにした ・シンボル末尾に「:」を付けて定義した場合は、相対アドレス計算の対象とする ことにした ・関数に仮対応した ・メインループを整理した ・画面レイアウトを調整した
・TK-80 ・割り込み(ステップ実行)のロジックを補強した 従来の成り行き任せのロジックよりは正確になったはずです
・TK-80 ・DMAのスケジュールを見直した ・LEDの描画管理を一新した
・TK-80 ・仮想キーボードの [RESET] を押したときの LED表示を調整した [RESET] を押している間「ダイナミック点灯演出」が機能しません 明るさに差がある状態で固まってしまい違和感がありました 暫定措置として明るさをそろえる調整のみ追加しました 演出が止まるのは u80のリセット処理の制約(設計)によるものです エミュレータならではの便利機能が絡んだり、他の機種との兼ね合いもあるので 時間を掛けて再設計したいと思います ・リセット時(直後)の LED の状態を調整した ・プロテクト・スイッチをコメント実装した u80では使い道がないので端折っていました [RESET] を押しながらのオペレーションが表現しにくいという問題もあります 回路図を精査するついでがあったので内部ロジックを実装しました UIが無く単なる負荷にしかならないのでコメントアウトしてあります
・アセンブラ ・RST 1, RST 08H の生成コードを訂正した ×0xF7 → ○0xCF ・マクロを引用(検索)する際に除外する条件を設けた ・名前末尾が「:」 (→ ラベル定義) ・引数があり、最初のものを大文字に揃えて「EQU」 (→ シンボル定義) ・ラベルなどの末尾のコロンを全て無視することにしてみた 旧仕様:ひとつだけ無視する
・TK-85 モード表示(シルク印刷)追加
・8085 条件付ジャンプの内部実装を変更した デバッガ用のメモリ取得ルートを設けてダミーアクセスを廃止しました ・8080/8085 DAD の M2,M3 では WAIT が入らないように変更してみた 参照するドキュメントによって表現が微妙に違うので迷っていましたが、 WAIT を無視するように変更してみました まだ実機では検証していません
・バグFIX ・CMT IF(TK-80BS:load側) 存在しないテープイメージをアクセスしようとして落ちることがあった ・TK-80 : 16進キーパッドで [RESET] した場合 [pause] 表示が消えない ・TK-85 : メニュー右のボタンで [RESET] した場合 [pause] 表示が消えない ・TVD-03 仮対応 TVD-01 の上位互換ということで、TVD-01/03 として追加実装しました 「低彩度時の明度が第4色の選択で異なる」仕様としてあります TVD-03 を使う場合は、カラーマップの定義は専用のものを使ってください カラーマップの定義方法は変更する可能性があります
・フルキーボードが無い構成だと [Shift]+[Num:?] の入力で落ちるバグFIX ・TV-IF:二行目の描画タイミングを修正した ・TK-80BS系のサウンドデバイスの扱いを変更した cfg に変更があります (SYS → OPT に変更) ・cfg で自動タイプ速度の初期値を変更できるようにした OPTION:-typer 自動タイプについて: タイプミスが起きない安全な設定でお使いください [タイプ速度の影響を受ける機能] ・ファイル入力 ・クリップボード入力 ・u80のタッチパネル機能 ・ローマ字入力 ・TK-85 の CMT IF 実装準備
・Bas2Cmt にバグがありました 二行目の「次の行のポインタ」がおかしくなるバグがありました R5b1 → R5b2 (Bas2Cmt 5.0.0 → 5.1.0) でエンバグ R5b2 は 2009.10.31 のリリースです BASIC のリンクポインタはロード時に環境に合わせた値に設定されるため 実機や j80 でロード後にセーブしたものは正しいイメージになります 従って実用上の問題はありませんが、CMTイメージとしては異常なものとなります tools80 はバグFIX版に差し替えましたが、u80 は後日対応します (利用することは無いと思います)
・TV-IF:二行目の描画タイミングの調整 (済) ・TK-80BS系のサウンドデバイスの扱いを変更する予定 (済) cfg に変更があります (SYS → ??? に変更 / タグで悩み中) ・TK-85 の CMT IF 実装準備 SC/MP側とあわせて SIO(CMT IF) の設計を詰めています 次回リリースは下準備までになりそうです ・フルキーボードが無い構成だと [Shift]+[Num?] の入力で落ちるバグFIX (済)
・仮想キーボードの管理方法を変更した (Java版のみ) フルキーボード単体表示の場合でも背景色も変更できるようにしました ※cfgの設定に変更があります リソース類の構成, 画像サイズが変わりました
・TK-80A 仮実装 TK-80A のバリエーション展開も視野に入れた拡張をしました akutsuさんに資料を集めていただきました ありがとうございました ・cfg:LED 追加 LED画像(素材)の差し替えに対応しました
・T882Cmt のバグFIX ビット長が常に 5 になってしまうバグがありました
・テープイメージを拡張した CASファイルにも若干の拡張があります 拡張部分は u80 では(今のところ)使用していません 今までと違う振る舞いをしたらバグですので報告をお願いします ・デバッガ(GUI)の「CPUステータス」の表示を変更した ・「エミュレータの状態」と「CPUの状態」を切り分けた エミュレータの状態をラベルで、CPUの状態を背景色で表現しています(暫定) ・HALT を確認できるようにした 背景色が「赤」くなります ・デバッガから HALT を解除できるようにした ステータス欄をダブルクリックで解除できます(暫定) PC を更新した場合も HALT は解除されます DEBUG.BREAK: HLT RET CALL DEBUG.BREAK ; デバッガから解除可能 HALT で止めた場合、画面出力は生きているので表示が更新されます デバッガで BREAK した場合は(内部カウンタが狂うので)画面を更新していません
・アセンブラの仕様を調整した BINCLUDE では、DEFS,DS で予約した領域にもロードできるようにしました 警告等は一切表示しませんのでご注意ください なお、ロード後に DEFS,DS で重なるアドレスを割り当てることはできません
・仮想キーボードの仕様を整理した GUIを閉じる際の通常キーのロック状態に関する仕様をFIXしないで忘れていました エミュレータ側にはロック解除を通知して(不可視の)押しっ放しを回避する一方で GUI側の状態は変更していませんでした
・アセンブラ ・大きなREPTマクロを定義すると落ちるバグ FIX ・DS の仕様を変更した ・第二パラメータ - ・スキップした範囲は 00H で埋めます - ・第二パラメータがあった場合は、その値で埋めます + ※Asm2Hex Ver. 0.6.7 から仕様を変更しました + ・第二パラメータが指定されていない場合はバイナリを生成しません + ただし、そのアドレスは「予約済み」として使用できなくなります + ・第二パラメータがあった場合はその値で埋めます + この場合はバイナリを生成します
・TVインタフェース ・タイミングを微調整した ・TVD-01 ・タイミングを微調整した (根拠なし) ・TVD-02 ・タイミングを微調整した (根拠なし) ・BS, BS-CA01 ・タイミングを微調整した (いくつかの記事等から推定) ・「80BSの画面ノイズ絶滅法」(I/O:1979.8 山浦茂樹) に対応した 水平表示期間+αに CPU に HOLD(BUSRQ) をかけてノイズを出なくします ノイズが消える以外はデメリットしかないので対応しないつもりでした 発掘隊の作業でI/O等の記事を見ていると、ノイズに関する不満は多く、 副作用を承知でこの改造をされた方もそれなりにいらっしゃるようです おそらく、Bit-INN でもノイズに対するユーザーの不満の声はあったと思います こういったニーズが PC-8001 の仕様に反映されたのかな?という意味でも、 これは外してはいけないと考え直しました 初期状態は「使用しない」です (cfg での変更には対応していません) 余談ですが、PC-8001 では、画面表示に CRTC と DMA を使っています これによって 80桁/25行, アトリビュート などの機能向上にもかかわらず、 速度低下率を「ノイズ絶滅法」の半分程度に抑えています BASICマシンが主流となる予測に基づく企画意図を感じます ・メモリエディタ ・バイナリエディタ本体がフォーカスを受けたときの動作を変更した 旧:前回フォーカスのあったセルを表示範囲に入れる 新:何もしない
・バグFIX (メモリエディタ - Asm2Hex) ・PCHL, SPHL のオブジェクトコードが違っていた ・SBB を受け付けなかった
・バグFIX (メモリエディタ) ・アセンブルソースを食わせた際に落ちることがあった ・範囲外のオブジェクトが含まれていた場合に警告するようにした (Asm2Hex) ・XCHG のオブジェクトコードが違っていた (Asm2Hex) ・終了処理を調整した 異常終了, 強制終了時にもエミュレータの終了処理を通すように変更しました 上記タイミングでもテープイメージが更新されるようになりました 「強制終了」は環境依存しそうなので、不審な挙動があったら報告をお願いします なお、Windowsのコンソール(DOS窓)の [X] ボタンは「強制終了」になるようです
・「サウンド・エフェクタ」(ASCII:1978.8) ・バグFIX ・「スペース・インベーダーに効果音を」(I/O別冊:9) のサウンドボード ・BEEPER の周波数計算ミスを修正した ・BEEPER の音程を調整した ・飽和しやすいので BEEPER の位相を変更した
・SN76477 コード整理&調整 ・「サウンド・エフェクタ」(ASCII:1978.8) コード整理&調整 ・「サウンド・ジェネレーター」(I/O:1979.9) コード整理&調整 ・「スペース・インベーダーに効果音を」(I/O別冊:9) のサウンドボード コード整理&調整
・SN76477 コード整理&調整 ・「サウンド・エフェクタ」(ASCII:1978.8) コード整理&調整 ・「サウンド・ジェネレーター」(I/O:1979.9) コード整理&調整 ・「スペース・インベーダーに効果音を」(I/O別冊:9) のサウンドボード コード整理&調整
・SN76477(仮実装) を利用できるようにした 不明な点がいくつかあるため未完成です テストもあまりしていないので、正しい音が鳴っているか判りません ・TK-80BS系のPPI等にデバイスを追加できるようにした ・「サウンドBASIC」(ASCII:1978.6) に対応した NE555 x2 PPI@TKBS:PB6,7 ・「サウンド・エフェクタ」(ASCII:1978.8) に仮対応した SN76477 PPI@TKBS:PB0-5 ・「サウンド・ジェネレーター」(I/O:1979.9) に仮対応した SN76477 PPI2@M02K:GrA ・「スペース・インベーダーに効果音を」のサウンドボードに仮対応した I/O別冊:9 マイコン・ゲーム徹底研究[2] SN76477 x2 + 4音 PPI@TKBS:7DF0-3
・PPI@TK80 調整等 ・サウンドのバリエーションを増やした (ID に変更があります) ・1bit-1ch PCM (PC0) 追加 使用例がなさそう(標準的な使い方ではCMT用)なので対応していませんでした あるゲームで使っているようなので追加したのですが、記事のミスでした ・1bit-2ch PCM (PC1,2) 追加 モノラル出力です 合成後にフィルタをかけます ・1bit-2ch PCM (PC1:L / PC2:R) 追加 ステレオ出力です (u80側の設定がステレオでない場合は合成されます) チャンネル毎に(合成前に)フィルタをかけます ・PB0-7 の各ビットの状態をスイッチで操作できるようにした キーマップ定義ファイルでキーを割り当てて使います ※u80 の「COMPO BS/80」には「COMPO MEMORY BOARD」が搭載されています PB0-7 の定義は TK-80/BS と同様に機能します ・コマンド設定時の挙動を調整した R1b30→31の変更で、若干気になる挙動をするようになっていたので戻しました いろいろ無理をしているので、正確さより実用性を重視した実装になっています ・PPI@TKBS 調整等 ・PB0-7 の各ビットの状態をスイッチで操作できるようにした キーマップ定義ファイルでキーを割り当てて使います ※今回から COMPO BS/80 専用の定義ファイルを添付しました ・コマンド設定時の挙動を調整した
・タッチパネル機能を調整した \x00 で指定した「WAIT」が chr$(00h) の入力と解釈され機能していませんでした
・BS-CA01 ・RESET の clear オプションがアトリビュートに効かないバグ FIX ・ボーダー色変更時に落ちることがあるバグ(Android版のみ) FIX Java版ではAPIの仕様により落ちませんが、Android版と同じ実装に変更しました ・ボーダーの実装(フレームワーク)を整理した
・アセンブラ BINCLUDE で offset, length を指定できるようにした
・アセンブラ ・DEFS,DS の第二パラメータで、埋める値を指定できるようにした ・ラベルとシンボル定義を同じ行に書いてはいけないことにした
・アセンブラ ・ELSEIF を追加した
・アセンブラ ・ローカル および テンポラリ・シンボル の使用制限を解除した 定義時に PREFIX を更新しない点を除いてラベルと同様です ・"{", "}" で囲んだ「文字列」を追加した マクロの引数を検索する際に、一番外側の"{","}"が区切り文字扱いになります if {reg}=="A" のように、実引数を文字列として扱うことができます
・アセンブラ ・(引用符外の)括弧の中の空白文字は区切り文字として扱わないことにした ・文字列の特別扱いを止めた 主に内部の問題です 副産物として、文字列絡みで ==, != が使えるようになりました ・EQU 擬似命令の仕様を調整した 同じ値で上書きしようとした場合はエラーとしないことにしました 警告も出しません 一括して書き換えないとエラーになるので問題ないと思います ・MACRO の仕様を調整した ・同じ名前で引数の数が違うマクロを定義できるようにした ・引用時、一致するものがない場合でもエラーとしないことにした sub macro regA,src sub src endm 「sub (hl)」はそのままアセンブラに渡される ←────────┐ 「sub a,(hl)」はマクロが「sub (hl)」に置換してから再評価される┘ 名前の重複を避け、引用時に引数を柔軟に適用することも考えましたが、 今回はこの仕様としてみました
・アセンブラ (仕様変更&バグFIX) ・一部の場面では式の評価結果を符号付32bitのまま扱うことにした ・REPT回数に負の値を渡したときのエラー処理漏れFIX ・DS のスキップ数に負の値を渡したときのエラー処理のバグFIX ・ORG に負の値を渡したときはエラーとすることにした ・論理演算子(「&&」,「||」) に対応した 無くても良いと思っていましたが、書いてしまってエラーになると残念なので... 短絡評価はしません ・三項演算子に対応した 今回から「JP label:」のような表記はエラーになります ZASM では許すようなので対応していたのですが、三項演算子を優先してみました ・BINCLUDE (バイナリファイルの読み込み) に仮対応した
・アセンブラ ・比較演算子に対応した ・算術シフトに対応した
・アセンブラ ・文字列の連結に対応した (「&」または「+」) ・文字定数, 文字列の仕様を変更した ・「'''」,「"""」は使えなくなりました 「"'"」,「'"'」に変更してください ・ファイル名の引用符が省略できなくなりました ・今回の仕様変更により、マクロ中での振る舞いが変わりました ・!0 が返す値を 0xFF に変更した この値に依存しないでください ・ループマクロ内のローカルラベルに対応した ラベル中の最初の「#」に内部IDを補う形で実装してみました
・アセンブラ ・MACRO, REPT, IRP, IRPC 対応 ・ELSE節対応 ・演算子「!」対応 ・一行で複数のラベル定義(と判断されるケース)をエラーとすることにした ・機種判別ロジックのバグFIX COMPO BS/80 のクロックが TK-85 のクロックになっていました 機種判定ロジックを変更したときの修正漏れです
・アセンブラ仕様変更等 ・「PREFIX.suffix」形式のラベルに対応した ・PREFIX は省略できます ・"." で始まるラベルには PREFIX が補完されます ・"." で始まるシンボルは禁止することにしました ※これまでとアセンブル結果が異なってしまうケースがあるかもしれません シンボルも同様のロジックを組み込んでみたのですが、混乱したのでやめました 「PC80.KEY_MAX」の様な表記は可能ですので、名前空間的な切り分けは可能です 詳細は assembler.txt を参照してください ・モトローラ形式の 8進数に対応した
・BS-CA01のボーダー色変更時に落ちることがあるバグ FIX ・メモリエディタ上でのアセンブラの動作モードを変更した 旧:2PASS目は、解決できなかった式のみ評価しなおす 新:2PASS目も全ソースを読んで処理する asmドロップを使用するのは、最後の調整局面を想定していましたが、 便利なのでコードを書きながら使ってしまいますね 旧仕様ではエラーの発生個所を特定できないのでデバッグが面倒でした 全ログが確認できないと使い物にならないだろと割り切ったのですが、 エラー行の情報だけでも何とかなることが多いようです
・BS-CA01(COMPO BS・TK-80BS 専用カラー・アダプタ) の実装を修正した FUJIさんに資料を見せていただきました 実機の動作についてもアドバイスいただきましたのでましたので修正しました ・ボーダー色設定ポートを修正した 「にっぽんばしマップ (I/O:1979.6)」記載のポートは間違っていたようです ・cfg 変更 ・PPI@TK-80 によるボーダー色の設定手段を追加した 「TK-M02K PPI-1」の id がズレました ・-CRT を廃止し、-CRT:1, -CRT:2 を追加した (BS-CA01 以外も同様) -CRT:1 = MAIN : TV-IF TVD-01 TVD-02 TK-80BS BS-CA01 -CRT:2 = SUB : 未使用 未使用 未使用 未使用 TK-80BS ※注意 ・TK-80BS側の出力と BS-CA01側の出力は同じウィンドウを切り替えて使います 使用頻度とGUIの混乱を考えてこの仕様としました 「BS-CA01無し」の構成と「有り+TK-80BS側出力」は実用上の違いはありません ・Android版では実行中に TK-80BS側の色設定を変更できません (暫定) 使用頻度とGUIの混乱を考えてこの仕様としました ・BS-CA01 の出力先に、green.rgb などを指定した場合、輝度変調がかかります 輝度変調の回路は別途追加したものと脳内補完してください ・8255 のコマンド設定時の動作を微調整した ・Asm2Hex (アセンブラ) の仕様を調整した ・式に出現するラベル末尾のコロンも無視することにした ※現在、末尾のコロンはひとつしか外していません ・検索用アセンブラの機能を制限した
・メモリエディタ ・検索の挙動を調整した カーソル位置との関係で違和感を感じることがあったので調整してみました ・後方への検索時は、選択範囲の先頭からメモリ末尾までを検索範囲とします ・前方への検索時は、選択範囲の末尾からメモリ先頭までを検索範囲とします ・事前の選択結果と一致していたときは次を再検索して(見つけたら)進みます 作業中に見つけたバグも潰しています ・「ASM:」,「ASZ:」(大文字/小文字の区別なし) に仮対応した ・ASM : インテル・ニモニック ・ASZ : ザイログ・ニモニック TK-80/85 とも、8085用のアセンブラを使用しています シンボル等を定義しておけるようにしたいと考えています
・メモリエディタ ・ペースト時のエスケープ・ルールを変更した j80の他のツール類とあわせました 16進数(2桁限定)の指定は \x00 のようになります ※ \0 や \n などを追加するかもしれません ・検索機能を追加した ・選択している値の検索 [F3], [Shift]+[F3] で、後方, 前方 を検索します ・検索パネルからの検索 とりあえず、16進数, 文字列 で検索可能です ・先頭に「HEX:」(大文字/小文字の区別なし) をつけると 16進数 ・先頭に「ASC:」(大文字/小文字の区別なし) をつけると 文字列 ・上記以外は 文字列 とします 16進数は、桁の区切りにスペースがあってもかまいません 文字列はエスケープ可能です 「ASM(ASZ):」の対応も計画しています (シンボル対応も?)
・バグFIX ・LEDフィルタ切り替え機能を壊していた R1b23→24 でエンバグ (Android版の準備中に余計なことをしたようです) ・J2SE 1.4 で起動しない問題 ・J2SE 1.4, 1.5 で背景色がおかしくなる問題 ・メモリエディタ ・クリップコピーしたIntelHEXフォーマットを調整した ・冒頭の改行を削除した ・エンドレコード後に改行を追加した ・スプレッドシート用のウィジットをカスタマイズするのをやめスクラッチした 操作性に難がありカスタマイズに限界がありました また、L&Fによっては動作不良を起こすことがあったため、実装を変更しました 既存クラスを流用して手を抜こうと考えたのですが、 実装の手間, 機能, コードの記述量 すべてにおいて逆効果でした ASCIIダンプはエミュレータ側のフォントと連動可能ですが、今回は未対応です - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ※一部、L&F を反映できない部分があります 見づらい場合はスクリーンショットを沿えて修正案を提示してください Java2 1.3-1.4(Windows) ではかなり重いと思います Java2 1.5~ でも重い環境がありましたら報告をお願いします - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・特記事項: HEX ASCII 備考 ・ペースト 空白,改行は無視 UTF文字/エスケープ対応 ・[space] nibble skip skip +[shift] で逆向き ・[DEL][BS] byte単位で修正前に戻す(HEX,ASCII共通)
・メモリエディタ ・クリップコピーしたIntelHEXフォーマットのエンドレコードにsumを追加した ※BSモニタ等のロードルーチン等からはゴミとして見えるようです ・アセンブラを搭載した ファイル(*.asm, *.asz)ドロップで、直接オブジェクトをロードできます TK-80系: *.asm は「8080 - IntelMnemonic」として処理します *.asz は「8080 - ZilogMnemonic」として処理します TK-85: *.asm は「8085 - IntelMnemonic」として処理します *.asz は「8085 - ZilogMnemonic」として処理します ※暫定版です ・バイナリファイルの INCLUDE に対応予定です ・BIN, CMT(MONITOR) 形式での出力に対応する予定です ・マクロは仕様検討中です ・ローカルラベル対応も検討中 ・今後の予定 ・アセンブラの完成 ・メモリエディタの作り直し
・バグFIX ・メモリエディタから HEXダンプ(クリップコピー)する際にアドレスが狂うバグ
・バグFIX ・タッチパネル機能で文字を入力できないバグ テスト中に殺して戻すのを忘れていました ・メモリエディタ メモリ編集・load時のメモリ・デコードの再現方法を変更した 編集結果(表示)が「実態」と「ミラー」とも即反映されるようになりました 注意: 構成によっては「Current Map」で表示される内容に「ミラー」が含まれます 広い範囲を更新(load)する際は「ミラー部分による上書き」に注意してください 例:更新範囲に 8000H, 8400H, 8800H が含まれる場合、 最終的に 8800H の値が 8000H, 8400H, 8800H に反映されます ・メモリエディタを開かなくても HEXファイルをロードできるようにした 標準的な CMT IF が無い/未実装の機種向けの暫定的な対応です
・アナログ入力デバイスの管理方法を変更した cfg:OPTION:-joy=n → m,n に変更 cmd:AnalogIN 追加 「アナログ入力ソース」と「デバイス」を分離しました 自由な組み合わせで使用できます ・Fullキーボードが本体電源OFF中に操作できてしまう問題 BSキーボードの [BREAK] のみ対策しました (暫定) ・Cursorコマンド(ポインタの表示/非表示)追加 cfg で初期状態を設定できます OPTION:-cursor ・その他、Android対応に伴う改修あり ※cfg の OPTION は、実行中に変更可能な項目を想定していますが、 -vkey は変更に対応していません 今後、設定方法を変えるかもしれません
・cfg:OPTION 変更 -full は j80 で「フルスクリーンで起動する」オプションに使用していました 紛らわしいので -vkey に変更しました
・バグFIX ・KB-02 で、コマンド入力時に意図しないキー入力(「@」)を伴うことがあった ・フルキーボードも仮想化した ※ハードキーボード側との同時使用には配慮していません 仮想側の[SHIFT] をロック状態にしてあっても、ハード側の[SHIFT] をリリース すると[SHIFT]が外れてしまいます OPTION:-full で、メインウィンドウに 16進キーパッドと一緒に表示します その場合、-full=0xRRGGBB でキーボードの背景色を変更できます ・BASIC ROM の切り替えボードに対応した (Basic Station) cfg:BAS2 が設定された場合のみ有効になります 起動時は Level-1 BASIC が選択されます OPTION:-level2 を指定した場合は Level-2 BASIC が選択されます ※切り替え対象は ROM(E000-EFFF) のみとしました D000-DFFF には「LEVEL-2 BASIC-2」が見えたままになります 切り替える際に E000-EFFF が初期化されます メモリエディタで書き換えた内容もクリアされてしまうので注意してください
・バグFIX ・「Paddle x2」が正常に動作していなかった ブロック図だけ見て適当に実装していたのですが、まったく違う仕様でした
・バグFIX ・TK-85:キーパッドが使用できなくなっていた R1b17→18 でエンバグ ・ノイズの生成ロジックを変更した すべての桁にノイズが乗るようになりました ノイズパターンのバリエーションが増えました ノイズの発生頻度も新たに調整しています 精度の問題で正確な再現はできないのですが、akutsuさんに動画資料を作って頂き ましたので、雰囲気をマネようと調整中です 今回の変更で、R1b19 で生じたいくつかの不具合も修正されているはずです ・マウス(母艦)関係のデバッグ出力を抑制した ※「Paddle x2」が正常に動作していないようです テスト用のデバイスを用意してから確認&調整しますのでしばらくお待ちください
・BS, BS-CA01, TVD-02 ・ノイズパターンと発生頻度を調整した ※CMTの挙動の調査などいくつか宿題を頂いているのですが次回以降に持ち越します
・バグFIX ・TVD-01: ・DMAのコスト(停止時間)が違っていた 計算途中のオーバーフローにより、かなり短くなっていたようです ・タッチパネル機能: ・ガイド画像が無いとハンドカーソル表示にならなかった ・マウスをジョイスティック(パドル)として使う場合のポインタ形状を変更した ・「TVインタフェース」に対応した 「TK-80アプリケーション・ノート」掲載の「TVインタフェース」に対応しました 32x32/白黒のグラフィックを表示する「VRAM」です 「TVD-01」の 32x32モードとほぼ同じなのですが、DMA廻りが違うようでしたので 実装を分けてみました akutsuさんに資料を取りまとめていただきました ありがとうございました ※cfg に変更があります ENHANCE -,- → 4,5 TVインタフェース (新規) 4,5 → 6,7 TVD-01 (変更) 6,7 → 8,9 TVD-02 (変更) OPTION:-vram → -vram00(TV-IF用), -vram01(TVD-01用) に分離
・アナログ入力のソースを追加した オーディオ入力の「音量」をアナログ入力に利用できるようにしました L,R 2ch あるので、2個のデバイスを実装できます オーディオ入力をサンプリングして、適当な期間の最大値を採用します 具体例として 「スペース・インベーダー」(I/O:1979.9) (音量版パドル追加) 「ブロックくずしゲーム」(ASCII:1979.4) (音量版パドル追加) 「エレポンゲーム」(マイコン応用プログラム集) (新規:動作未確認) に対応してみました 工作不要の利用方法: ・テープに適当な発振音を録音する 入力が片振幅だとうまくいかないかもしれません ・再生しながらボリュームを操作する 実験が終わった程度の実装です ボリューム・カーブも調整していないので、おいしく使える範囲は狭いと思います
・CRTウィンドウ側からのコマンド送信の仕組みを変更した j80の仮想キーボード対応時に試した方法を採用しました
・バグFIX ・スレッドがデッドロックすることがあった (メモリエディタ & トレーサーGUI 表示中にメニューから *.dbg 指定) ・トレーサーGUI を表示した後、メニューの *.dbg の選択状態が同期しなくなる ・デフォルトのパス設定を変更した (keymap → keyboard) ・16進キーパッドに「ロック機能」を追加した 右クリックでキーを押したままになります デバッグ(トレース)を想定した機能です ハードキーボードと併用した場合の動作は保証しません
・TVD-01 32x32モード追加
・キーマップに関するバグFIX 使用できないポートを設定したキーを押すと UIスレッドが落ちてしまいました 本来は無視するはずでしたが、流用したj80のソースがエンバグしていたようです ・検討中: ・メニューの状態などを覚えておく機能の追加
・バグFIX ・自動タイプ機能の仕様を変更した GAME80 の打ち込みがうまくいきませんでした エミュレートするキーボードによって改行処理を変えるようにしました ・メモリエディタの範囲選択に関する不具合を修正した バグが残っていました ・ボリューム・パドル に仮対応した ASCII:1979.4, I/O:1979.9 掲載のボリューム・パドルに対応してみました マウスホイールを使う場合は、Java2SE 1.4 以上が必要です ・1bit-1ch PCM (PC4) を追加した キーパッドのスキャンに使用しているビットです スキャン中は音が鳴ってしまいます この追加によって「1bit-8ch PCM (PB0-7)」の ID がずれました ・メモリエディタからIntelHEX形式でクリップボードにコピーできるようにした GAME80 などで打ち込んだプログラムを、直接保存できます 拡張子を hex にすれば、メモリエディタから直接ロードできます 拡張子を cmt にすれば、テープイメージとして使えます ・トレース用逆アセンブラのコメント表記を修正した STAX や SHLD の混乱したコメントを修正しました レイアウトなども微調整しています ※コメントをどう記述しようか迷って、そのまま忘れていた命令が残っていました 今回も手を着けていません ・BasicStation 反転時のノイズを調整した (仮) ・cmd 変更 Delay=n → CMT.delay=n VolumePPI:i=n → PPI.slot:i=n
・デバッガ GUI に絡むエミュレータ側の制御ロジックを調整した 旧:メモリエディタがアクティブでなくなる際に暗黙の一時停止を解除する 新:メインウィンドウ, CRTウィンドウ, トレーサ がアクティブになった際に~ 追加:メモリエディタが閉じられる際に暗黙の一時停止を解除する ・自動タイプ機能の内部実装を変更した ・ファイルを一括で読むようにしました / 入力ファイルはすぐに開放されます ・改行を含まない長い文字列に対応しました ・自動タイプ中にローマ字入力等をした場合の挙動が変わりました 旧:直後の改行後に挿入 新:ファイル末尾までタイプ後に挿入(多くの場合バッファFullで無視される) ・cfg:INP による「起動時の自動タイプ」機能を有効にした ・クリップボードの内容を自動タイプする機能を追加した コピー元のアプリの実装や文字コード等の影響で文字化けすることがあります N-Font を導入し、秀丸(欧文), EditPad Lite(windows-1252) で編集している 場合は、問題の無いことを確認しています Shift-JIS や UTF-8 等で編集している場合でも、カナ(画面で化けていない部分) は持って来れるはずです 2K BASIC などの貧弱な入力環境でのデバッグをサポートするのが目的です 少しだけ打ち変えたい時にテキストファイルを用意しなくても良くなりました
・バグFIX:システム関連 ・1/8倍速 で使用中に落ちる問題を確認した ・バグFIX:メモリエディタ(HEXファイルのロードに関する問題) ・ロード範囲外のデータが含まれる場合の無意味な CheckSUM ERROR を抑制した ・ロードされるデータが 0byte の場合にエラーを吐くバグ FIX ・バグFIX:静的な逆アセンブラ ・表記の誤りを修正した LDAX A,r → LDAX r STAX r,A → STAX r ・「1/8倍速」設定を廃止した u80 内部のクロック粒度が、水平表示期間を超えてしまうケースがありました 対応がメンドウなので「1/4倍速」を下限とします ・8080 逆アセンブル時の二進数表記を変更した「%...」→「...B」
・バグFIX: ・NumLock を外して Numpad を使うとエラーを吐く問題にパッチを当てた 仮対応です フルキーの仮想キーボードに対応する際には根本治療が必要な部分なので、 そのときまで、パッチでしのぐことにします akutsuさん、報告ありがとうございました ・CRT側 Window(Dialog) のタイトルを動的に変更できるようにした → TVD-01 : VRAMアドレス表示に対応
・TVD-01 に対応した ※cfg:ENHANCE に変更があります TVD-02 が後ろにずれました
・バグFIX:メモリエディタ ・ASCIIダンプ部分を選択すると対象範囲が16byteずれる件の修正漏れ (fill) ・選択範囲がおかしくなることがある ロジック変更により恒久対策しました ・TK-80 ・リセットの動作を変更した u80 キーパッド側の [RESET] を押している間の動作を変更しました ・LED 表示ロジックを変更した ・CPU を止めるようにした akutsuさんに実機で確かめていただきました ご協力ありがとうございました LED表示は、ASCII版シミュレータの動作(全点灯)とあわせていたのですが、 違ったようです 表示マスクのみでお茶を濁せなくなったので CPU も停止させましたが、 タイミング制御ロジック外に遷移して誤魔化しているので、リセット中は 「ダイナミック点灯」演出が機能しません
・バグFIX ・インテルHEXファイルのロードミス FIX ・メモリエディタからメモリを更新する際に、対象範囲が狂うことがありました
・デバッガ(メモリエディタ) インテルHEXファイルのロードに対応した (*.hex) Dmp2Cmt(tools80 R6.4~) で -HEX オプションをつけると、 「インテルHEX形式」で、「拡張子 .hex」のファイルを出力します ダンプ入力して u80 に持ってくる場合、 1. Dmp2Cmt(PC80モニタ形式)→Cmt2Mem→BINヘッダ挿入→デバッガにドロップ とメンドウでしたが、使いやすくなりました 2. Dmp2Cmt(-HEX オプション) → デバッガにドロップ また、-hex オプションで、インテルHEXの「テープイメージ」も出力できるように なりましたので 3. Dmp2Cmt(-hex オプション) → テープイメージとしてロード も可能です ※-HEX と -hex は拡張子が違うだけで、出力内容は同じです
・cfg 拡張メモリについては、特定のハードウェアを再現する方針を止めました 拡張メモリを利用できる構成では、64KBフル実装が基本になります この仕様変更に伴い、メモリの初期化方法が(微妙に)変わりました ・CMOS:n (n=0~63) を廃止した ・R_20:n (n=0~31) を廃止した ・INIT:n (n=0~63) を追加した メモリの初期パターン(ファイル)を指定します BASICインタプリタを予めロードしておいたり(CMOS RAM のイメージ)や VRAMの初期パターンを所有機体にあわせたりできます ・R_EX:n (n=0~63) を追加した 「拡張メモリ」のうち、ROM とする領域と内容を指定します ・WAIT ON/OFF のバリエーションを変更した 基本的に「WAITあり」で使用するものと考えています ・*.bin, *.tk8 のロード方法を変更した ROM, 未使用領域にはロードできないようにしました ・デバッガ(メモリエディタ) *.tk8 ファイルをロードできるようにした メモリエディタでは、 1. 表示中のメモリ範囲のみに、 2. ROM,未使用領域を無視して *.bin,*.tk8 をロードします ・TVD-02 ・フォントファイルの仕様を変更した tools80 R6.3~ (Chr2Fon Ver. 6.0.3~) で作り直してください
・TVD-02 ・ノイズを調整した ・Basic Station ・ノイズを調整した
・バグFIX ・CMT制御コマンドが常に無効になっていたのを修正した ・フォルダの初期化(準備)に混乱があったのを修正した ・カラーアダプタ・ボード(BS-CA01) 有無 を cfg で指定するようにした ENHANCE の bit1 で指定します TK-80BS, COMPO BS/80 のみ ※カラーアダプタは仮実装です / 情報提供をお願いします
・純正カラーアダプタ・ボード(BS-CA01) 仮対応 ※情報提供をお待ちしております 今回の TK-80BS, COMPO BS/80 は、BS-CA01 を組み込んだ状態になっています 初期画面に色が付いてしまいますが、しばらく我慢してください 簡単なブロック図から起こしたコードなので、再現性は察してください ・cfg 変更 ・CRTのカラーマップの登録方法を変更しました -CRT で設定ファイルを指定します (j80 と同じスタイル) 設定ファイルについては ./display/*.rgb のコメントを参照してください ・DISPLAY 廃止 ・OPTION:-crt=n 廃止 ・OPTION:-bprder=n 追加 ・cmd 変更 -CRT=n 廃止 CRT.border=n 追加
・TK-85 ・STEP割り込みSW の動作を調整した ・キーパッド画像のサイズ等を変更した ※ドキュメント未整備です ・256x256 / 内、キーパッド本体 240x240 → 256x256 のうち 外周に 8dot の未使用領域がある ・クリック判定は 5x5枡 / 1枡=48x48dot → オフセットやキーの隙間を無視した将棋盤 ・キートップ(クリック時の演出範囲)は 44x44 TK-80 は 48x48 の中央 TK-85 は オフセットあり (u80.jar を解凍して /res/k85.png を参照) ・質問はメールにてお願いします
・メモリアクセスの無いマシンサイクルの動作を元に戻した (暫定) ・WAIT の設定方法を変更した ・WAIT@Mc : マシンサイクル毎のWAIT ・WAIT@ROM : ROM Read時のWAIT (wait = WAIT@Mc | WAIT@ROM) ・配布アーカイブの /test を廃止した 内容の一部は /util に移動しました ・COMPO BS/80 仮対応 cfg で「R_B8」を設定した場合「COMPO BS/80」の構成で起動します ・TK-85 仮対応 cfg で「R_85」を設定した場合「TK-85」の構成で起動します uPD8085 は未完成です ・16進キーボードのシールを貼り変え可能にした cfg:KEYTOP で画像ファイルを指定してください /keymap にサンプルがありますので参考にしてください ・MemEditor バグFIX ポップアップの Fill が壊れていた (Reset を上書き) ので修正した ポップアップの Reset は選択範囲と無関係で紛らわしいので廃止した
・キーマップの定義方法を調整した フルキーボードの「ビット位置」最上位ビットを 0 として定義する措置を廃止 ・トレース用逆アセンブラ ひと通り実装しましたが、テストはできていません ・ROM領域 の MEMORY WAIT を設定できるようにした ・CRT側にドロップできるようにした ・16進キーボード・キーマトリクスの更新処理を調整した
・CPU ・フラグレジスタ bit3 を修正した 未使用ビットの実装は適当です 「0,1 で上書き」「変化しない」実装が混在しています ・算術系命令でもパリティフラグが立つようにした ・メモリアクセスの無いマシンサイクルの動作を調整した ・トレース用逆アセンブラ, レジスタエディタのフラグ表示を調整した
・バグFIX ・CRTが存在する構成で 1/n倍速設定すると落ちるバグ fix ・BS の CMT IF を使えるようにした ※セーブ時にファイルを自動で閉じません 最初の 1byte を書き込む際に開きます エミュレータが一時停止するときに閉じます ファイルを変更(またはチェックを外す)時に閉じます ・BS以前にも、純正品の FSK/300baud のボード?があったようですが、 よく分らないのでとりあえず BS のみで使えるようにしました ・j80(PC-8001) と同じ cmt, cas が使えます (セーブは cmt のみ) ボーレートは無視しますので t88 でもなんとかなりますが非推奨です cmtファイルの構造解析は未実装ですので、頭出しができません また、同じ理由で pcm8001 で実機に読ませることはできません casファイル(インデックスシート) を記述すれば頭出しは可能ですが、 実機に読ませるレベルの記述をするのは大変だと思います ・自動タイプの制御方法を変更した ・タイプ速度の計算が j80 の仕様のままだったので修正した ・「bas, bin, n80」をテープイメージから除外した ・デバッガ(モニタ)で「bin」形式を読めるようにした DnD のフィルタを有効にするのを忘れていました bin形式: メモリイメージの先頭に、 ・先頭アドレス (2byte/LE) ・最終アドレス+1(2byte/LE) を追加したもの 近いうちに、インテルHEX も読めるようにしたいと思います ・フラグレジスタ調整 & uCOM-80F 対応準備
・バグFIX ・TK-80 PPI ポートC のサウンド出力を壊していた (Ra.4 でエンバグ) ・その他の変更点 ・メモリの初期パターンに u80.jar のバイナリイメージを用いることにした ・トレース用逆アセンブラ調整 (調整中) ・TK-80BS について、akutsu さんにいろいろ教えていただきました ありがとうございました
・uPD8080 ・フラグ変化全般を見直した (作業中) ・DAA の動作を変更してみた ・TVD-02, KB-02 (ともにアドテック製) に対応した (作業中) ※現在公開中の tools80 では、フォントを作成できません 動作確認: ・I/O:1977.9「キャラクタディスプレイを使いこなそう!」鎌田勇,片桐明 より 「PROM-04 ターミナルサービスプログラム」 「万年カレンダー」TVD-02 & KB-02L ※要デバッグ? 「テストプログラム」 ・I/O:1977.9(12再?)「マイコン新聞 BINARY」東大マイコン同好会 より 「スロットマシン・プログラム」TVD-02 (本体16進キーボードで操作) 「東大版 8080 2K BASIC」 ※要デバッグ? ・I/O:1977.9(12再?)「東大版 2K BASIC の改造 - BASICソフトウェア」より 「数当てゲーム」 ・ローマ字カナ変換機能を追加した (フルキーボードのみ) ・ファイル入力機能を追加した (フルキーボードのみ) ・cfg で、RAM の初期値を指定できるようにした 指定した内容は RESET.clear 時に復活します ・TK-80BS 画面反転のロジックを修正した (情報提供:akutsu 様) ・現在対応している/対応中の構成 ・TK-80 ・TK-80 - メモリフルデコード&フル実装(全部RAM) ・TK-80 + TK-M20K(メモリのみ対応 / アドレスの割り当てに制限あり) ・TK-80 + TVD-02 & KB-02 ・TK-80BS + TK-M20K(メモリのみ対応 / アドレスの割り当てに制限あり)
・TK-M20K 限定対応 ・ROM を cfg で指定できるようにした 使い勝手を考えて、1Kbyte毎にバンク分けしました 8バンク以上登録できてしまいますが仕様とします 対応アドレスは 0x0000-0x7FFF としました (実機仕様不明) TK-80 で指定した場合は「フルデコード」仕様になります RAM は 0xA000-0xCFFF(12K) 固定です (u80の仕様) ・TK-80BS ・ノイズ対応時にいろいろ壊していたので直した ・計算で求めていた一部をテーブル化した 範囲チェックを省いているので落ちるかも
・TK-80BS ・リセット時にキャラジェネ確認用のテストパターンを出力するのを止めた ・ビデオまわりに手を入れてみた (タイミング / 描画) ノイズも出るようにしてみました (実機未確認) ・リセット動作を変更した 仮想キーボードの [RESET] では RESET.clear フラグを無視することにしました メニューやキーボードコマンドでは RESET.clear が有効になります
・試作版お披露目 「みゅー・はちまる」とお呼びください ・注意 ・ドキュメントや設定ファイルの記述にはうそや未来のことが書かれていたり 必要なことが書かれていなかったりします ・いきなり落ちても泣かないでください ・uPD8080 はまだ uPD780 風味が残っています トレース時の逆アセ表記もちゃんぽんです ・TK-80 はだいたい実装してあると思います ・「復活! TK-80」収録の I8080.cpp から TK-80 のモニタを切り出す場合は、 「0x00⇔0x3E」がひっくり返っている部分がありますので注意してください pdf のマニュアルも検索が利いたり便利なのですが、間違いが多いです 画像データバージョンもほしかったですね ・TK-80BS はフレームワークのみです アスキー合本の記事や、ネット上で見つけた一次資料(かそれに近いもの)を参考に とりあえず形にしただけです ・TK-80BS 対応は、資料入手の当てが無いので期待しないでください