j80 近況報告 | 2024.10.23
PC-8001:j80 に戻る |
* ライセンス変更のおしらせ * |
|
2024.07.27 |
プライベート版の配布について |
------------------------------------------------------------------------------ [Release ----] Ver. 6.7.132 2024.10.23 ------------------------------------------------------------------------------ [ライブラリ] ・CmtUtil (Version 6.5.36 → 6.5.37) ・DataFile の解析時に落ちることがあった為対策した ・I:CANVAS.Data も同様の対策を施した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・今回はサンプル版の配布はありません
[j80] ・前回のサンプル版から変更はありません ・デバッガは試用版です 2024.12.31 を過ぎて使用する場合はライセンスキーが必要になります 詳細は「プライベート版の配布について」に準じた形でお問い合わせください http://upd780c1.g1.xrea.com/pc-8001/private.html
------------------------------------------------------------------------------ [Release ----] Ver. 6.7.130 2024.09.04 ------------------------------------------------------------------------------ [j80] ・メニューまわり整理 (Java2版) ・エイジング期間をひと月延長し、今月末の正式リリースを目指すことにした ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.09.30 を過ぎると使用できません
------------------------------------------------------------------------------ [Release ----] Ver. 6.7.129 2024.08.17 ------------------------------------------------------------------------------ [ライブラリ] ・uPD780 ・止せば良いのにリファクタリングした ・16bit ADD,ADC / SBC ・8bit演算用のテーブルを参照する形に書き変えた 結果としてハーフキャリの不定変化と未定義ビットに対応した フラグレジスタを計算で求める版も同様の結果を返すように変更した ・DAA の減算時の動作が変だったので修正した ・簡易的なCP/Mベンチを作り「Z80 Instruction Exerciser」で動作確認した ZEXALL をパスすることは確認しましたが、Z80との互換性は未検証です uPD70008 についても未検証 ・ついでに、(放置していた)不定変化等に対応することにした 不定変化等は「The Undocumented Z80 Documented」を参照しました ・準備として、やる気の足枷となっていた問題をFIXしました ・備忘録としてコメントアウトした古いコードのうち重要でない物を削除した ・開発当初からの15バリエーションのメンテを止めた (主に負荷の確認用) ・CCF ・ハーフキャリの不定動作を実装してみた ・フラグレジスタの未定義ビットを実装してみた ・CPL,SCF / RLCA,RRCA,RLA,RRA / LDI,LDIR,LDD,LDDR / CPI,CPIR,CPD,CPDR ・フラグレジスタの未定義ビットを実装してみた ・INI,INIR,IND,INDR / OUTI,OTIR,OUTD,OTDR ・Nフラグの動作を「常に1」から「不定」に変更した ・フラグレジスタの不定動作を実装してみた ・フラグレジスタの未定義ビットを実装してみた ・IN r,(C) / OUT (C),r 16bitI/O化していなかった (コレだけ除外した理由があったのかも失念) ・BIT n,r ・フラグレジスタの未定義ビットの一部の動作を修正した ・BIT n,(HL) / BIT n,(IX+d) / BIT n,(IY+d) ・フラグレジスタの未定義ビットに影響する「内部レジスタ」を実装してみた 「The Undocumented Z80 Documented」によれば、 ADD HL,xx / LD r,(IX+d) / JR d などが「内部レジスタ」に影響を与える命令の様です 明記されていませんが、「LD HL,(lm)」等も int tmp = readPC16(); L = mem.read(tmp); H = mem.read((tmp + 1) & 0xFFFF); の tmp を「内部レジスタ」として扱うといろいろ辻褄が合いそうなので、 このパターンの命令も「内部レジスタ」経由で処理する様にしてみました 結果として副作用的に影響を受けるケースがありますが未検証です ※ZEXALL の「BIT n,(HL)」では、同じ値が内部レジスタに入って渡されるので 内部レジスタの「変化」に対する検証はできません ・リファクタリングついでに仕様を変更した ・2byte命令の内部処理を変更した 無効になる prefix の扱いを変更しました 従来は、負荷とトレースログの視認性が両立する簡易な実装にしていました トレースログの表記も変更しています 通常の 2byte命令では prefix はトレースされません (従来通り/地味に面倒) ・HALT を「状態」として区別する様に書き変えた 命令毎に HALT確認が必要になり無駄なので採用を避けていました トレースログの表記も変更しています ・ステップ実行(スキップ処理)のバグ (Debug.step=3 : JP <cond>) 仮に張るブレイクポイントのアドレスが 1byteズレていました ・ステップ実行の仕様を変更した 「HALTを抜けるまでスキップする」を廃止しました ・EmuratorGUI (Java2版) ・自動タイプ時のパッチに関するメニュー (Typer.#mod コマンド) ファイルのロードが不要な機種でパッチを有効化するとメニューが壊れる j68 の「FullChar Patch」対応時に壊していました +Typer.#mod コマンドが使えない場合の保護も弱かったので対策しました ・Keyboard メニューの表記を調整した 「Type Speed」とその影響を受ける機能に「⌨」マークを付けてみました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.08.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.128 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版) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・相互参照していて初期化にクセがあるクラスを整理した どうしようもないものは詳しいコメントを書いた ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.127 2024.06.29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・UI等に表示するデフォルトの文字列を変更した ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.08.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.126 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 タグの時間計算がオーバーフローしやすかったので調整した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) テスト期限:2024.08.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.125 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版) ・新機能の調査を兼ねてコードを整理した (ビルド確認なし) ※各機種毎のサブクラスにも調整が入っています - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・変更なし
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.124 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 の解析に対応した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・変更なし
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.123 2024.03.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (Version 6.5.32 → 6.5.33) ・TK-80:MONITOR の判定基準を厳しくした TK-80/BS の BASICファイル名部分で誤爆することがあったので対策しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・変更なし
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.122 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 ・コピーコマンドを機種(構成)毎に拡張できるようにした ※j80では未使用 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・変更なし
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.121 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対策) ・簡易解析をチューニングした : テンプレ確認時に予選実施 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・変更なし
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.120 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イメージを無加工で使用するための対応です - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて *動作報告* をお願いします (DL報告のみは禁止) サンプル版では一部の機能が使用できません テスト期限:2024.01.31 を過ぎると使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.119 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イメージを無加工で使用するための対応です - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・cfg:OPTION ・Ver. 6.7.106 での -clock → -clksw の変更が、先祖返りしていた Version 6.7.117 → 6.7.118 の変更時にミスったようです 未修整の Android版をベースに修正してしまったみたい。。。 他にも壊しているかもしれません ・CrtDriver ・パレットの初期化まわりを整理した ・ミニマルビルド用のブランチ(R1系~R5系)を廃止した プアな環境向けに維持してきましたが疲れるので止めました ・R1系(PC-8001) ・R2系(PC-8001/mkII) ・R3系(PC-8001/mkII/SR) ・R4系(PC-8001/mkII/SR, PC-8801/mkII) ・R5系(PC-8001/mkII/SR, PC-8801/mkII/SR以降) ・R6系(PC-8001/mkII/SR, PC-8801/mkII/SR以降/8MHz機) ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて動作報告をお願いします テスト期限:2023.12.31 が設定されています 期限後は使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.118 2023.10.28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (6.5.27 → 6.5.28) ・FMT_ORANGE ・テンプレを調整した ・チェックを厳しくした ・バイナリサイズに終端マーク2byteを含めることにした ⇒ SAVEコマンド(バイナリセーブ)で指定した範囲とズレますが仕様とします ・Config のエラーハンドリングを変更した 外部ファイルに問題があった場合そこで全ての処理を中止する事にしました 従来はそのファイルの処理は中止しますが、親に戻って処理を続けていました 一貫性に欠けエラーの場所が判りにくくなるなどの問題があったため変更しました 外部ファイルで落ちた場合、エラーの発生したファイル名も表示されます - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・INIファイル実験 (Java2版のみ) ・cfg -INI 仕様変更 ※詳細は j80.cfg を参照してください ・メインウィンドウの場所を覚えるようにしてみた - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・CrtDriver80y (PC-8001 画面の揺れテスト版) 壊れていた Version 6.7.111 → 6.7.112 でエンバグ ・80SR ・ポート33h の返す値が実機と異なっていたので修正した ・サンプル版について 評価, テスト用にサンプル版を公開します 使用した場合は必ずメールにて動作報告をお願いします テスト期限:2023.11.30 が設定されています 期限後は使用できません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.117 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 ・周波数(変調方式)の違いに柔軟に対応できるようにした
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.116 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. 6.7.115 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. 6.7.114 2023.06.11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Cassette ・PCM読み出しモードの実装を見直した ・CmtUtil (6.5.24 → 6.5.25) ・MITEC:4KBASIC の解析に対応した ・TapeUtils (簡易解析) ・AMDEK:COMPU-MUSIC フォーマット判定ロジックに「サイズ」の条件を追加した ・CarryLab:JE6#Loader ファイル名をうまく取得できないことがあったので対策した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.113 2023.04.29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・VirtualKeyboard (Java2版) 変形キー対応
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.112 2023.04.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・リファクタリング中 ・精査, 実体が伴わなくなっている変数/関数名変更, コメントバグ潰し ・シリアルポートの実装を整理した (構成に大きな変更あり) シリアルチップのコントロールをポートの管理下から外しました ・Java2版 ・D&D 操作で固まることがある件 (安定した?) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・リファクタリング中 ・SoundSYS の OPN/A を MainIO から直接コントロールするようにした ・SoundSYS の PCGサウンドを MainIO から直接コントロールするようにした ・CrtDriver から キャラジェネ, PCG のコントロール機能を分離した ・CrtDriver88 利用頻度の低い部分に過去の修正漏れ? (何か意味があったかも/後日調査予定) ・88系 24kHz出力「VAタイプの描画」について 描画は 200Line用のロジックを流用しています テキストも 200Line用のロジックで描画されます 特殊な(実用性のない)条件でしか差異は表面化しないのでこのままとします
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.111 2023.03.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・ICE.MemoryEditor (DMPフォーマットの出力) ・I/O誌形式で、16byte境界から始まらないときに 縦SUMがズレるバグFIX ・将来の拡張に備えDMP形式での出力コードを整理した ・テクポリ誌の横SUM3桁の出力に対応した (16x16) ・テクポリ誌の 8x8 フォーマットに対応した ・ICE.Debugger 及び ICE.DebugIF に関係するクラス(CPU, MEMORY) ・逆アセンブラの取り回しを調整した ・MemoryEditor (Java2版) ・ベタイメージの D&D に対応した ROMイメージなどをロードできなかったので対応しました アドレスの情報がないので、表示中のメモリ(マップ)の先頭からロードします ファイル名などからメモリ種別やアドレスを補完したりすることはありません ・Dmp2Obj (6.2.3 → 6.2.4) DmpUtil (6.2.2 → 6.2.3) ・行頭に「*EOF」が記述された行以降を無視する仕様を追加した ・ログの出力を調整した ・明示的に追加したコメント等をログに含めることにした ・整形する際に元のフォーマットを可能な限り生かす様にした ・"##" によるコメントを追加した (ログに出力しないコメント) Dmp2Obj が追加するメッセージを想定しています ・ログにコメントを含めることにしたので *encoding指定, BOM付きUTFに対応した ログのエンコーディングと指定方法はソースの設定が引き継がれます ・TracerGUI (Java2版) ・dbgファイル冒頭にある *encoding指定を編集できないようにした ・Java2版 ・D&D 操作で固まることがある(16.0.1@Win10) ので調査した コンソール(種類,使い方)との相性かも... とりあえず皆さんからの動作報告を待って対応を決めます - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・テキスト入力 ・u+25AE(Black Vertical Rectangle) も受け付けるようにした
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.110 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. 6.7.109 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 の解析に対応した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・CMU-800 ・TEMPO のプリセット値を変更した ・賞味期限:2023.01.15 が設定されています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.108 2022.12.03 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・機種情報の反映ミス修正 PC-8001 以外では正しく動作していませんでした ・賞味期限:2022.12.31 が設定されています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.107 2022.11.26 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Config, VirtualMachine リファクタリング ・機種判定を VirtualMachine から Configクラスに移した ・EmulatorGUI (Java2版) ・仮想キーボードまわりの混乱を整理した ・CmtUtil (6.5.21 → 6.5.22) ・判定速度を改善した ・I:CANVAS.Prog コメント(プログラムサイズ)の間違いを修正した ・ASCII:PASCAL-PC ロジックを調整して、後方に配置された BASIC の影響を受けにくくした ※全般的に手が入っていますので動作確認をお願いします ・ロジック変更に伴い、意図しないチェック順の変更があります ・時間的な余裕ができたので、チェックを厳しめにした部分があります ・チェック順に依存する回避が難しい誤爆の可能性を確認しています 利用実態に合わせた対応をしたいと考えていますので報告をお願いします - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・PC-8001 の起動時の鳴きギミック ・発声時間を元に戻した ・賞味期限:2022.12.31 が設定されています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.106 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 j80 : Ver. 6.7.34 → Ver. 6.7.35 でエンバグ ・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 で確認) 別の対策を検討してみましたが、あまり安全ではないので採用を見送りました [暫定仕様] ・異常終了時: ・更新されたディスクはファイルに出力(更新)されません ・試験実装中のiniファイルは更新されません ・強制終了時:コンソールの[X]で終了した時など ・異常終了時と同じ ・HexDumpPanel (Java2版) ・ASCIIダンプ領域にASCII文字を入力できなくなっていた 2022.06.12版で文字の扱いを整理した時の修正漏れ ・D88Util ・D88 タイトルの取得方法を変更した 0x00 : 無視する → そこで打ち切る ※今まで打ち切っていなかった理由を失念したので、問題が出るかもしれません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・cfg:OPTION ・-clock= を -clksw= に変更した ・Memoryクラスの混乱した初期化プロセスを改善した ※コードが荒れていますので、致命的なバグがあるかもしれません ・CMU-800 ・起動時に TEMPO(2) が反映されないバグFIX TEMPO(2) 対応時(Ver. 6.7.104)のミス ・CMT (SerialPort) ・ポーリングモードで使用中に「何か」するとゴミが混ざるバグFIX ロード時は運が悪いとゴミが混入します セーブ時だと100%ゴミが混入します 「何か」は「メインループの中断を伴う処理」で、ほぼ全ての操作が該当します いつの頃からか、ロード中に Boostするとエラーが出やすいな?と感じ、いつか 調べようと思って忘れていました セーブ時は基本放置なので全く気づきませんでした ※Java2版では、セーブ中にメニューを触っただけでゴミが混ざります キケンなので、以前のバージョンは使わない方が良いと思います ・PC-8001 の起動時の鳴きギミック ・発声時間を短くした ・cfg.OPTION:-boot で「抑制期間」を設定できるようにした 「前回OFFからしばらく(温まっている間)は鳴かない」設定が可能です ・カレンダ(uPD1990) を再実装した ・おかしな値を設定した際の挙動を調べて再現した ・カレンダ設定時のレジスタの挙動を変更した ・uPD4990 は仮実装 (実機未確認) ・賞味期限:2022.11.30 が設定されています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.105 2022.08.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CrtDisplay (Java2版のみ) ・チラつき具合の改善(均一化)について: サンドバッファのサイズを減らしたり、スムースパッチのレベルを上げるのも 有効な様です 「更新の有無に拠らず毎フレーム全画面転送するモード」も残しておきますので、 それらの組み合わせで最適な設定を探してみてください キースキャンのムラも改善されるのでゲームの操作性も向上する気がします ・CrtDisplay, CrtDriver, その他関連クラス ・「PAGE FLIP」を廃止した (予告済 / j80 以外では未使用) 開発当初、描画負荷を下げる為に試行錯誤した思い出深いロジックなのです 不要でも「使用ページ数=1」で使えば良いので、「次世代版」で一新するまでは 残しておくつもりでした 先日 DMAまわりを見直したとき、ガラガラポンしなくても次世代版の実装へ移行 できるかも?という手ごたえを感じたので、更新部分の判定をシンプルにする為 思い切って廃止し、コードを整理しました ・フレームスキップを廃止した (予告済 / 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・「PAGE FLIP」廃止に伴う修正 & コード整理 画面の更新部分の判定を壊している可能性があります 描画がおかしかったり、実行負荷が妙に高くなっていたら報告をお願いします ・フレームスキップ廃止に伴う修正 & コード整理 ・GVRAM ・88mkII の初期パターン追加 ・88MH の初期パターン確認 (akutsuさん) ・自動タイプ等で使う UTF→NECIIの変換テーブルに ALTパターンを追加してみた 全角形のスラッシュは "/" で使用済みなのでグラフィック文字として使えません 罫線素片(Box Drawing) の u2571,72,73 あたりを使ってください ※UTFの利用について: これまでドキュメント等を公開していないのはあくまで実験的なものだからです マッピングはテストに必要なので私が適当にでっち上げたものです インフラ系は思慮に欠けるものを広めてしまうと禍根を残すことになるので、 このマップを前提としたツール展開をするなど、積極的な利用は控えてください PETSCIIの動向などを注視しながら慎重に着地点を見つけていきたいと思います 準備としてフォントに関するツールを作っています
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.104 2022.08.07 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CrtDisplay (Java2版のみ) ・部分更新や更新無しの場合でも全画面転送するモードを設けた 画面切り替えを繰り返す場合のチラつき具合が改善するかもしれません 動作レポートをお願いします 描画にアンチエイリアスが(勝手に)掛かってしまう環境では、 部分更新した境界がブロックノイズの様に目立ってしまう様です 今回のパッチを適用すれば改善する可能性があります こちらも改善の有無にかかわらず動作レポートをお願いします - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・CMU-800 ・TONE波形を調整した ・Decay, Sustain のバランスを調整した ・cfg : Decay, Sustain の順番を入れ換えた ・リズム音源を調整した (暫定) ・TEMPO設定に2スロット割り当て細かな調整を可能にした ・DMA ・CH-3 の設定アドレス(ポート)がずれていたのを修正した ・CH-3 のアドレス設定にパッチを当てた ・UPDATE FLAG に仮対応した 擬似再現です ビデオ廻りは実行負荷を優先したモデル化を行って実装しているため、 厳密なタイミングなどの再現は難しいです 現設計ではこれ以上の対応は見送る予定です ・CRTC ・TRACE ON で、DMAアンダーラン発生時に警告を表示するようにした 現状では、88V2機の HiSPEEDモードでの DMAアンダーランを検知できません それ以外にも適当な部分が多いので参考程度にお願いします アンダーランが発生してもデータはすべて取得しており、CRTCは停止しません ・GVRAM ・初期パターンを変更した ・PC-8001mkII ・PC-8001mkIISR ・PC-8801 ※PC-8801mkII は PC-8801 と同じにしてあります (実機未確認) ・PC-8801mkIISR ※V2機 はすべて PC-8801mkIISR と同じにしてあります (実機未確認) ・88系リセット時の各面の状態を変更した ・CrtDriver88 ・24kHz出力時のテキストまわりを専用品に差し替えた ポート 31H bit5 の矛盾に対応してみました ・Java2版 仮想キーボード ・PC-8001 のパネル色を変更した ・PC-8001mkII のパネル色を変更した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.103 2022.06.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・CMU-800 ・Cymbal系 音源を調整した(Ver. 6.7.103) ⇒ 戻した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.102 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 もライブラリ化検討中 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・SerialPort ・リセット時に割り込みマスクを初期化していなかった 不具合に対する修正ではありませんので副作用等も未確認です ・PC-8801-10 ・ジャンパを抜いた状態のボードを設定した PC-8801-11 と共存させる場合は PC-8801-10 のジャンパピンを外すよう マニュアルに指示があるので対応してみました ・PC-8801-11 ・割り込みマスクの初期状態を変更した (禁止→許可) ・JMB-23 (サウンドボードII 互換ボード) PC-8801-23 との違いは、80系割り込み設定対応のみ ・Addcom:GRAPHIC PEN (グラフィックペン) ・RESET時に初期化するようにした (従来は成り行き / 実機未確認) ・CMU-800 CMU-800 の各音源は試行錯誤中です 他の更新が溜まってしまったのでリリースしますが、中途半端な状態です 音源のモデル化については新しいアイデアも幾つかあるので、ライブラリの整理 が終わったら再チャレンジします ・TONE系 (MELODY, BASS, CHORD) のアタックを遅くした ・TONE (MELODY, CHORD) の波形生成ロジックを変更した 簡易的にモデル化したフィルタを止め、計算での再現を試みてみました 残念ながら波形で見てもほとんど差が無く、ただ重くなっただけの様です ・BASS の波形生成ロジックを変更した (暫定) 低音域の歪みが少し極端かも ・スネアドラムのバランスを調整した (暫定) ノイズが今ひとつ似ないので、波形ではなく印象に合わせてスネアを強めに 調整しました ・Cymbal系 音源を調整した (暫定) ・シンバルのエンベロープを調整した (暫定) ノイズが今ひとつ似ないので、波形ではなく印象に合わせてアタックを強めに 調整しました ・Sound:PRN ・PRN:id を振り直した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.101 2022.05.08 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Asm2Obj (1.2.1 → 1.2.2) ・演算器の内部コードを整理しロジックを簡素化した 短絡評価対応時(1.2.0)の場当たり的な実装が気になっていたので直しました これを先にやっておけば... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・サウンドボードII互換ボード対応準備 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.100 2022.05.07 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Asm2Obj (1.2.0 → 1.2.1) ・モトローラ二進数フォーマットの '%' とmod演算子の判定ミス修正 短絡評価対応時(1.2.0)の修正漏れです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・CMU-800 ・TEMPO CLOCK のデューティー比を変更した (演奏には影響ないはず) ・TEMPO:5 を少し速くした ・Bass音源 低音域での歪が強めになるように調整した (波形レベルでのすり合わせなし) 再現性イマイチ ・ロジック実装版リズム音源調整等 ・BassDrum バランスを調整した ・SnareDrum ノイズ系のロジックとフィルタ特性を調整した バランスを調整した ・Cymbal系 音源とフィルタ特性を調整した (一部資料と異なるパラメータを採用) ※このバージョンではロジック実装版の音源は無効化していませんが シンバル系の再現が納得できるまで一般公開の予定はありません とりあえず、また行き詰った感があるのでしばらく寝かせます
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.99 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. 6.7.98 2022.04.03 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (6.5.19 → 6.5.20) ・Addcom:GPEN.Data が壊れていた 心あたりが無かったので遡って調べたら、最初から壊れてました リリース直前に何かやらかした様です ・Asm2Obj (1.1.0 → 1.1.1) ・一部の内部コードが被っていた 幸運にもバイナリへの悪影響はない様でした ・ザイログ表記の「LD r,n」の無駄括弧を許容する (不採用) 紅茶羊羹さん(http://www.maroon.dti.ne.jp/youkan/) とこの「Z80AS」の Aレジ以外では「(n)」をポインタと見なさない親切設計を真似してみました が、これを許すと逆に括弧が無くても判別可能なケース (「IN A,(n)」等) が 気になるなぁという事で採用を見送りました うちのは頭が固いままでいいや ・アセンブラ全般のコメントを整理した 他人のコード化しつつあったので巻き返しました ついでに添付のドキュメントに CPU(表記)別の特記事項を追加しました ・文字定数(文字型)の仕様を整理した コメント整理中に「(仮)」を見つけたり仕様を忘れていて嵌ったので... ・「半角カナ」も文字定数として使用できるようにした ・「半角カナ」も数値による指定ができるようにした JIS8/Shift_JIS(0xA1~0xDF), UTF-8(0xFF61~0xFF91) を受け付けます ・想定していない文字, 数値(ASCIIコード) は NUL(0x00) として扱います Version 1.1.0 までは「不定」でした 想定していない文字同士の比較では常に TRUE(!FALSE) が返りますが仕様です ・Asz2ObjZ80 (Rev.1a → Rev.1b) ・「IN (C)」の表記を認めることにした (保留していた理由失念) ・「OUT (C)」の表記を認めることにした (保留していた理由失念) ・Asz2ObjI80 (Rev.1 → Rev.1a) Asz2ObjI85 (Rev.1 → Rev.1a) ※8080/8085用 ザイログ表記 ・テンプレートから EXX を除去した Z80用のテンプレをコピペしたときに消し忘れたようです ・8085で追加された未定義命令のザイログ風表記を追加した 詳細は ./doc/assembler.txt を参照してください - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.97 2022.03.23 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Asm2Obj (1.0.0 → 1.1.0) ・オペコード,擬似命令と同じ名前でシンボル定義できるようにした ・予約語と同じ名前のシンボルは仕様上「定義できないが使う」ことはできた ・「SYMBOL」でロード可能になった →「定義できないが使える」状況が現実に という訳で、一貫性に欠けることになっていたので定義できるようにしました シンボル定義の判定ロジックを変更したので副作用が心配です 旧版と同じバイナリが生成されるか確認していただける方を募集します ・ラベルについては変更はありません オペコード,擬似命令と同じ名前を宣言する場合は末尾コロンを省略できません ・SYMBOL "filename" エラーが無い場合は log に出力していませんでした 「SYMBOL "filename"」の行を logに出力するようにしました シンボルファイルの内容は logに出力しません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.96 2022.03.21 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・CmtUtil (6.5.18 → 6.5.19) ・LOGiN:ROBOT に対応した ・Asz2ObjZ80 (Rev.1 → Rev.1a) ・第二オペコード対応のためのパース・ルールの特例を変更した ・第二オペランドが "RES","SET" または "RLC","RRC","RL","RR","SLA","SRA","SLL","SRL" で始まる場合は第二オペコードとする (Rev.1 はこの条件のみ) ・上記に加え "RES","SET" に限り、後ろに区切り文字を必須とする (Rev.1a~) ⇒ラベル「SET30H」等を誤爆するので "RES","SET" は密着表記を禁止しました 一貫性に欠けますが、第二オペランドが "RES","SET" 以外の場合は従来通り 密着表記を許容します (分かち書き推奨とします) ⇒「SRL(I?+d)」のパターンしかない筈なので、ラベルと競合する恐れが無い ・ICE および フレームワークを調整した ・複数のCPUがある場合のメモリエディタでのメモリコピー(逆アセンブル)では、 そのメモリを管理している側のCPUの逆アセンブラを使うようにした (従来は CPU#1側のみを共用) ・複数のCPUがある場合のメモリエディタへのメモリロード(アセンブル)では、 そのメモリを管理している側のCPU向けのアセンブラを使えるようにした (従来は対象メモリの情報を渡していなかったため切り分け不能) なお共有メモリは想定していません ・CrtDriver, CrtDisplay, Pixel2Png ・バッファの一部分だけを描画領域として使うケースに対応した (VDISPのみ試行) ・EmulatorGUI (Java2版) ・ドラッグによる拡縮が不安定になっていたので対策した (JavaSE 16 で確認) 簡単なパッチを当てただけなので、まだおかしな挙動をすることがあります 実用に耐えられないような動作を見つけたら教えてください - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・タイプスピードの設定を変更した 300cpm を削除し 50cpm, 150cpm を追加しました 「ロボットバトル・シミュレーション」(LOGiN:1984.5) のロボットプログラムは 50cpm でタイプさせても安定しませんので改行を増やすなどの工夫をしてください 他にも自動タイプが安定しないものがあったら対策しますので報告をお願いします ・PC-8801 ・「MEMORY WAIT」の設定を廃止した 8801/88mkII の分離を進めました 改造記事などを見つけたら復活させます ・88系 ・「白黒モニタへの出力画面」を変更した モノクロCRT用の設定ファイルを使っていれば実機と同様の画面が出ます j80 ではパレット(CRT発色設定ファイル)でモノクロ出力を表現しているので、 カラーCRT用の設定を使っていると MIX,TEXT に色が付きますが仕様とします 実機ではモノクロ出力にしか反映されません デバッグなどで便利なので、j80ではすべての出力に対し有効としました 88/mkII以外でもフルスペックで機能するようにしています ・c80(TVD-04)の資料が手に入るまでパブリック・リリースは保留します フレームワーク側にペンディング項目が多いため、FIXするまでお待ちください そういえば、CMU-800 のリズム音源も中途半端な再現レベルで止まっているなぁ
------------------------------------------------------------------------------ [Release 6.122]Ver. 6.7.95 2022.02.22 ------------------------------------------------------------------------------ [ライブラリ] ・Java2版 : メモリエディタ ・オフセットがある場合 [Alt]+[0~F] での頭出しに失敗するバグFIX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・賞味期限:2022.03.31 を過ぎると起動時に確認が必要になります
------------------------------------------------------------------------------ [Release 6.121]Ver. 6.7.94 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) のみです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・CMU-800 ・ベースの波形を変更した (暫定) フィルタの実装を変更し実数の演算がになったため重くなっていると思います ご意見がありましたらメールにて ・リズム音源 (ロジック実装版) シンバル系の再現がいまいちなので、今回は公開を見合わせます ・賞味期限: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 ・CMU8253 ・TONE波形を微調整した ・Bass の仮バージョンをFIX した ・Bass の検討用バージョンを削除した ・CMU800 ・リズム音源の仮バージョンをFIX した cfg で WAVファイルを指定すれば従来通り PCM音源も使用できます 音源ファイルの指定または有効なファイルがなかった場合に内蔵音源になります ・CmtUtil (6.5.17 → 6.5.18) ・ベーマスのテープイメージでブロック末の 0x00 が無いものの扱いを変更した フォーマット決定にあたってはテンプレチェックと詳細チェックをしています 詳細チェックの目的は次の二点 ・ファイル名などのフォーマット情報の取得 ・類似フォーマットの可能性の排除 データ化けなどの欠陥があるものは「類似フォーマットの可能性」として、次の テンプレチェックにまわされます 未知のフォーマットや破損ファイルで確定までに時間が掛かるのはこのためです 今回の問題は近年のエミュレータ, ツール, データのバグだと思われますので、 注意喚起のために落とすことにしました j80ファミリでは「出力フォーマット」を正規のフォーマットとしています 「実機で読める」としないのは、一部破損していたり、ゴミデータが混在しても 読めてしまうケースが多く、フォーマットとして確定できないのが理由です テープイメージのようなインフラ部分を扱う場合は慎重にお願いしたいです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・CMU-800 ・音色テスト版を削除した ・注意 ・CMU-800 の各音色は今後変更します その際、このバージョンの音色は無くなります ・実数の演算を伴う汎用フィルタを使っています 「実数を排除する」という縛りプレイをしていたのですが、今回は妥協しました 間違いなく重くなってますので、環境を選ぶかも 最終的には固定小数点化した専用フィルタへの置き換えを考えています ・賞味期限: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 を正式版に昇格させた - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・CMUファイルを PC-8001用のテープイメージとして扱えるようにした ・CMU-800 の Tコマンドが壊れていたので直した ・賞味期限:2021.12.31 を過ぎると起動時に確認が必要になります
・賞味期限を設定してみました 2021.12.31 を過ぎると起動時に確認が必要になります
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.90 2021.09.29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CmtUtil (6.5.15 → 6.5.16) ・SystemSoft:CHPLFTR 対応 ・表記に一貫性が無い部分が目についてきたので調整した ・Asm2Hex ⇒ Asm2Obj ・外部のシンボル・テーブルを参照できるようにした (仮) ・DmpUtil ⇒ Dmp2Obj + DmpUtil に分離 ・ICE.MemoryEditor等 ・DMPファイルのロード対応した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.89 2021.09.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CassetteUtils ・Tsukumo:Diggie88 の簡易解析に対応した ・CmtUtil (6.5.14 → 6.5.15) ・Tsukumo:Diggie88 の解析に対応した ・dB-SOFT:FLAPPY88 ・dB-SOFT:88#FLAPPY に変更した ・ボーレート指定を変更した (BAUD_1200 → BAUD_USER) ・テンプレートを微調整した ・dB-SOFT:88#ZEXAS に対応した ・dB-SOFT:88#VOLGUARD に対応した ・コードを整理した 「不明ブロック」のうち特定のフォーマットに関係するものやゴミと思われるは 前後のブロックに組み入れています それらを除いたものを独立した「不明ブロック」として扱っています 非常に稀なケースですが、イメージ末尾の独立して扱いたい「不明ブロック」が 前のブロックに組み入れられてしまうことがあった可能性があります
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.88 2021.08.04 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・各種コンバータ類 ・バージョン管理を簡略化した ライブラリパッケージを別途配布することも想定していましたが止めました ・テープイメージ関連 ・クラス構成, クラス名を整理した 昔の単なるコンバータだった頃の名残を一掃しました ・ディスクイメージ関連 ・D88ファイルの使用を前提とした部分を Disketteクラスから分離した D88の「ディスクの名前」など、一部の情報が残っていました ・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 が対応していないフォーマットについてはご相談ください - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・Addcom:GRAPHIC PEN (グラフィックペン) ・入手したモノが「400ラインCRT用」だったようなので対応してみた テープ版ソフトの動作を参考にでっち上げました ディスク版は吸い出してません、そっちの動作によっては変更あるかも マニュアルがありませんでしたので、お持ちの方は協力をお願いします 200ライン用 / 400ライン用 のバリエーションについても確信が持てないので 情報をお持ちの方は教えてください ・DiskSystem ・2HD のディスクが読めなくなっていた Ver. 6.7.84 → 85 でエンバグ 環境を変えてから、エディタの挙動の違いで気付かぬうちに色々壊してます
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.87 2021.07.17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・バージョンチェック機能を実装してみた ※殺してあります ・バイナリエディタ ・更新部分以外でも ToolTip でアドレスを表示するようにした ・選択範囲を ToolTip で確認できるようにした ドラッグ中にアドレスを表示したかったが大変そうなので妥協した そういう用途に無理やり使うべきではないという事なのかな? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・自動タイプ機能 ・カーソルキーに対応した 88系でも [←], [↓] は [Shift]+[→], [Shift]+[↑] になります ・メモリエディタ ・矢印文字(0x1C-0x1F)の表示とコピペに対応した ・JMB-X1 ・仕様変更を反映した (WAIT@8MHz 廃止) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.86 2021.06.28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Keyboard ・UTF-8 半角カナのマッピングを間違えていました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.85 2021.06.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Trace:n の初期状態を cfg で設定できるようにした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・Trace:5(DISK) でモーターコントロールの情報も表示するようにした (一般向) 変化のあったドライブの情報のみ表示します - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.84 2021.06.26 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [j80] ・Trace:5(DISK) でモーターコントロールの情報も表示するようにした 今回は変化のないケースも表示しています ※Trace フラグを ON にすると一部の動作が「デバッグモード」に落ちます CDOS-II の 2HDフォーマットパッチが有効になる等、通常と動作が異なります
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.83 2021.06.23 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [j80] ・テキスト画面とグラフィック画面の同期をとるパッチを剥がした (R6.33 で適用) 描画系の時間精度の差を吸収するパッチだったのですが作りが杜撰でした 若干画面のゴミが気になるソフトもあるのですが一旦外して様子をみます クレームが来たら実装を変えたパッチを当てます テキスト系とグラフィック系の実装レベルが揃えば不要になるので放置したい... ・フラッシングモードの内部的な扱いを変更した 様々な混乱の遠因となっていたので思い切って整理しました HiSPEEDモードの状態管理ロジックをパクって後付けで実装したのですが、 頻繁に ON/OFF を繰り返すと問題がありました パッチを当てて回避したつもりになっていたのですが、こちらも杜撰でした ・フラッシングモードで動作中に 15kHz/24kHz を切り替えても落ちないようにした 暫定措置です ・PC-8801-10 + PC-8801-11 について 11 のマニュアルには、同時使用では 10側の割り込みを殺すよう指示があります 現状では PC-8801-10 と PC-8801-11 の組み合わせは任意です そして、PC-8801-10 の割り込みを殺す手段を用意していません 生かしたままだと問題が出るソフトがあったら報告をお願いします これまでの経緯: Ver. 3.b.6 : PC-8801-10 + PC-8801-11 (10 + 11 セット) に対応 → 10単独での使用もあるので 10側割り込みは殺せない Ver. 5.b.0 : PC-8801-10 , PC-8801-11 の単独版も選択可能にした → セット版 10側の割り込みは殺しても大丈夫 Ver. 6.b.12 : セット版 10側の割り込みを殺した Ver. 6.7.61 : セット版 10側の割り込みを復活させた (理由失念) Ver. 6.7.66 : PC-8801-10 + PC-8801-11 廃止 ・PC-8801-11 の JP2 (音量バランス設定) について 前回、割り込みを自動設定するように変更し、機種による振り分けをなくしました が、JP2 による音量バランスの設定の件を失念しておりました ./config/_sound/SoundBoard.OPT.cfg には 80SR以外用の設定が登録されています 80SR では個別に 80SR用の音量設定で上書きしてください 記述例: OPT ./config/_sound/SoundBoard.OPT.cfg OPT:1 ,4,2,4 // *,SSG,(1dB),FM // 1 : PC-8801-11(JP2:80SR用設定) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.82 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 自動タイプ:大文字/小文字での [SHIFT] 操作反転 +TyperPNL → +Typer.PNL タッチパネル機能 マップ定義ファイル読み込み TyperPNL → Typer.PNL タッチパネル機能 ON/OFF TyperR2K → Typer.R2K ローマ字かな変換 ON/OFF ※タイプ速度設定(Typer=cmp) の影響を受けるものを Typer.* に統一した Typer.#mod の影響を受けるものを Typer.#* として区別した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・j80cfg ・BEEP で外部ファイルを利用できるようにした ・JMB-X1 ・仕様変更を反映した (WAIT@8MHz) ・PSG/SSG を選択可能にした ・割り込み設定(PC80/PC88) を入れ替えての運用を想定しないことにした ⇒ どの環境で使ってもOPM割り込みは INT3(lv=4) になります ・PC-8801-10 ・割り込み設定(JP:88/80) を入れ替えての運用を想定しないことにした ⇒ どの環境で使ってもタイマー割り込みは INT3(lv=4) になります ・PC-8801-11 ・割り込み設定(JP1:88/80用設定) を入れ替えての運用を想定しないことにした ⇒ どの環境で使ってもOPN割り込みは INT3(lv=4) になります ・PC-8001 (拡張システムなし) ・PC-8012 がないと使用困難なボード類を使用不可にした ・起動オプション -twins を廃止した 代替として j80 に cfg を二つ渡すことで2台起動できるようにしました ただし、同じ cfg ファイルで2台起動することはできません ・PC-8801/mkII/SR(V1S) ・フラッシングモードの速度調整パッチを除去した j80 のコスト管理機能と相性が悪く速度が狂っていたというのは勘違いでした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [その他] ・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. 6.7.81 2021.06.06 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・デバッガが落ちることがある問題 uPD780.MemoryLogger#getIntLevel() がベクトルを返していました IM:2 の割り込みレベルでなかったため ・*.dbg ファイルの IM:2=lv と -cmd 設定 の連携ができていませんでした ・lv=4 以上だと落ちました IM:2=lv, PC=割り込みルーチンエントリaddr 指定の両方に影響がありました bookwormさん報告ありがとう! ・IM2 のトレース表示に割り込みレベルも追記した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.80 2021.06.05 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Java2版 メモリエディタ ・Win10 でファイルのドロップ時に固まることがあったので対策してみた 今のところ安定している様ですが、原因を潰せたか不明です - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・PC-8001(拡張システムなし) / それ以外の構成 の区別を明確化した コードに混乱があったのでパッチを止めて実装しなおした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.79 2021.06.05 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・CarryLab:JE6#Data のバリエーションに対応した タイトルによっては実機へのロードがうまくいかなかったかもしれません ・Asm2Hex ・擬似命令 IFDEF/IFNDEF に対応した ELSEIFDEF/ELSEIFNDEF は用意しませんでした ・Asm2Z80 ・レジスタ名として「IXU」も受け付けるようにした ・Java2版 CrtDisplay クラス ・マウスの grabモードが変だと思っていたら二重に座標変換していた たぶんコピペの手が滑った いつ壊したか不明 ・ついでに範囲外に飛び出したときの復元位置を切片から中央に変更してみた - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・Memory88, CrtDriver88 ・フラッシングモード:ノイズパッチ を調整した M1サイクルが複数ある場合、V7_CLK_OFFSET が積算されなかった →元々厳密なものではないので気分の問題程度のもの ・ついでに 80mkIIと同様のコスト負担ロジックを実装したコード(未使用) にも ノイズパッチを当てておいた V2機のV1モードと同じコスト負担ロジックのコード(未使用) はパッチ無意味 ・PC-8001(拡張システムなし) ・割り込みコントロール回路を無効化した (削除忘れ) ・PC-8001(拡張システムなし) 以外 ・割り込み管理クラスの「RETI監視」を無効化した 副作用が確認されたので削除しました →PSG + CTC Card [I/O:81.12] - PSGによる音楽自動演奏 は PC-8001(拡張システムなし) 専用になりました ・「FM音源LSIを使う (Oh!PC:1985.10-11)」に対応した とりあえずサンプルコードが鳴る程度の実装になっています チップコントロール部分がよく解りませんでした ・NRD-8800 改め JMB-X1 (名称:「サウンドボード X (SBX)」は変更せず) ・仕様がほぼ固まったのでコードを整理した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [その他] ・開発PCが壊れた 新環境でのビルド第一号 (J2SDK 等は変更なし) ・メモリエディタへの *.asm ドロップで固まることがある (Win10) ⇒他のファイルやウィンドウで再現するかを含め調査します - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.78 2021.04.19 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・YM2151 ・Timer-B の計算ミスを修正した OPN/A のパラメータのままでした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・NRD-8800(仮) ・OPM#2 のタイマーを回し忘れていた - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.77 2021.04.18 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [j80] ・PC-8801 8MHz機 ・PCG8800 をサポートしないことにした FH/MH では何とかなった可能性あり ⇒ 動作が確認できたら復活させます ・サウンド ・「名称未設定」ボード ・SSG の音量設定(スロット)の設定ミスを修正した ・名称等を仮決めした 名称:サウンドボード X (SBX) 型番:NRD-8800 ・BUS/OPT の振り分けを調整した PC-8801-11/23 と 同時使用可能なボードが増えるように調整しました 実装済みのボードで影響があるのは NRD-8800 のみです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.76 2021.04.04 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・AY38910 ・DA4~7,A8,~A9 による CS を厳密に実装した OPN/A 搭載の SSG には影響ありません ・PSG/SSG搭載サウンドボードの動作に不審な点があったら報告をお願いします - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・cfg ・機種判別に用いているROMの識別子を R_?? に統一することにした j80 では一部 R4?? も併用しています ・BOOT → R_8M ・CrtDriver ・ポート 0x64, 0x65 が返す値を調整した 相変わらず正確な値は返しません ・OPT:「名称未設定」ボード ・SSG のクロックを変更した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.75 2021.03.20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [j80] ・CrtDriver ・ポート 0x64 / 0x66 の返す値を調整した 相変わらず正確な値は返しません ・ポート 0x65 / 0x67 の返す値を調整した 相変わらず正確な値は返しません ・boot_j80.rom を作り直した (特に問題があった訳ではありません) ・80mkII ・「PLAY6」の特定バージョンで画面が消えてしまう問題の救済パッチを廃止した 実機側: パッチをあてた部分の個別の実機テストでは「消える」で間違いなかったです 80SR の N80モードなら「消えない」と思います PLAY6側: 表示されていたとすれば、再度「表示設定」が行われたことになりますが その形跡はありませんでした j80が原因で機種判別に失敗して、他機種用のモジュールがロードされている 可能性はあります ・「PLAY6」の特定バージョンで SB2 が鳴らない問題の救済措置を廃止した PC-8801-23 を所有していないので 80系のバスでの割り込みの確認ができません とりあえず訳のわからないパッチは外すことにしました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.74 2021.03.15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・Falcom:DS80SR の解析に対応した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・CrtDriver ・FE/MA2,FE2,MC ではフォントをロードをセットアップに任せることにした これらの機種では FONT の記述は無視されます ※j80添付の簡易セットアップを使用する場合はフォントがロードされません cfg:BOOT に -font オプションを付けてください この場合に限りエミュレータ側で FONT に記述したファイルをロードします ・全機種個別の configファイル(参考例)を用意した ROMのファイル名が機種名と一致していないものがあります 所有していないセットの動作確認をするために流用したものです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.73 2021.03.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [j80] ・CrtDriver ・ポート 0x64, 0x65 が返す値を調整した 上位/下位を返すタイミングが入れ替っていました 相変わらず正確な値は返しません
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.72 2021.03.06 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CassetteTape ・将来の拡張に備え内部構造を調整した (PCM読み出しモード) 今回の調整では動作に影響(変更)はありません ・Cmt2Cmt ・MB-688X:1200.BIN ・末尾に 2sec の BLANK を挿入するようにした ・MB-688X:1200.BAS ・末尾に 2sec の BLANK を挿入するようにした ・BMUG1200:MONITOR ・SPACE/MARK/BLANK の挿入パターンを変更した ・BMUG1200:L2BASIC ・SPACE/MARK/BLANK の挿入パターンを変更した ・BMUG1200:DataFile ・SPACE/MARK/BLANK の挿入パターンを変更した ・Asm2Hex ・擬似命令を追加した : RMB, FCB, FCC, FDB ・Keyboard ・ファイル入力(自動タイプ)の動作を調整した 多バイト系ファイルのタイプ完了後にしばらく待たされることがありました 長いリストではキー入力が拒否される時間も長く気になったので対策しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.71 2021.02.13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・PC-8001 ・cfg:ERAM80 -1 で 拡張RAM の無い構成を再現することにした PC-8011/PC-8012 も無いことにするので、1/600sec タイマーも使えません ※デバッガなどでは「64K MAIN」等の表現が生きています メモリエディタ等で未実装部分を編集しても CPUからは見えません メモリダンプでは未実装部分も出力されます 16K制限時の未実装部分と同じ扱いです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.70 2021.02.11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CrtDriver ・パレット指定の不足分をデフォルトパレットで補う部分を整理した 機種毎の調整を実装する部分が混乱していたので整理しました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.69 2021.02.06 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・I企画の「グラフィック・キャンバス」に対応した 汎用フォーマットのような気がしますが他のソフトは未入手なので、 とりあえず「I:CANVAS.Prog」,「I:CANVAS.Data」という名前にしています 関連情報として、cmt8001よる吸出しではパラメータ指定が必要です
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.68 2021.01.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [全般] ・Java2版に搭載してある GUI版デバッグツールの簡易マニュアルを追加しました ⇒ ./doc/monitor.txt ・長いこと引きずっていたフレームワーク化の混乱がやっと収束した感じです ドキュメントを整理しつつコードを見ているとイロイロ気になる部分を見つけて しまう訳ですが、(追加したい機能を除けば)なんとかなったかなと ・j80 は PentiumPro@233MHz 時代に作ったものなので、描画負荷を下げるために かなり頑張ってしまっています そのあたりの仕組みが邪魔をして精度を上げ難くなっています いろいろパッチを当てて再現を試みているのですが、全部書き直したいですね (できるといいですね) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・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画面がある場合はその下 あわせて 出現時に画面下に見切れないように調整しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・コンソール表示を調整した ・RESET コマンド / RESET.clear コマンド 仮想キーボード/パッドからリセットした場合は clearオプションを無視します メモリを初期化したか判らなくなることがあるので明示することにしました ・Load Movie コマンド 親となるディスクイメージが無かった場合に警告を表示するようにした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.67 2021.01.18 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・エラーメッセージの体裁を整えた - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・サウンドボード類が使うI/Oポートの繋ぎ忘れ 0xC8~0xCF など実績の無かったポートを繋ぎ忘れていました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.66 2021.01.16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [近況] ・添付ドキュメント類やソース中のコメントの更新漏れをやっつけながら、 放置されたり手抜きだった部分を見つけては潰しています 当面は荒れたままだったコードを整えることに専念するつもりだったのですが、 サウンドまわりで影響範囲の広い変更をすることになってしまいました ・j80 ではチャンネルの割り当てに困ることはなかったのですが、せっかくなので ふたつのグループに分けてみました これで 80mkII に PC-8801-11 と「響」を一緒に載せて遊べるんですよ! なんとなくダサかった「PC-8801-10 + PC-8801-11」を廃止できたのが嬉しい - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・SN76489 初期状態をそれとなく再現してみた あまり不快な音が出ないように調整してあります ・YM3802 (MIDI Communication & Service Controller) 「響」から分離した タイマー以外は未実装です ・TMS3617 (新規) 実チップは未確認です / 音の鳴り具合も未確認です エンベロープに関する部分は TMS3617.Key を継承してデバイス毎に実装します ・Java2版 メモリエディタ(バイナリエディタ) HEX部分へのペースト時に 全角スペース, タブ, カンマ も無視するようにした 「無効な文字はすべて無視」しないのは誤爆時の被害を最小限に留めたいからです ・Java2版 EmulatorGUI ・Utilities メニューを調整した cmdファイル中の並びを無視してメニューとしての据わりの良さを優先しました メニューからの使用頻度が低そうなものはサブメニューに畳み込みました ・Java2版 TracerGUI ・初めてダイアログを開くとき dbgファイルを有効にしてしまう仕様を変更した 初回のみの例外的な挙動は読みにくいので変更しました ダイアログを開く時は常にその直前の状態を変更しない様に統一しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・BUS:響 YM3802 の実装を「YM3802 クラス」に分離した 今までと異なる動作をしたら、それはバグです ・BUS:「24key Organ」追加 「オルガンを奏でよう!」(Oh!PC:1983.11) より TMS3617 x2 エンベロープは良く判らなかったので下記パラメータにまとめてみました ・全KEY共通の Attack Curve をテーブルで与える ・全KEY共通の Attack Time を与える ・全KEY共通の Release Time を与える ・Key Scale Rate で KEY毎のバランスを調整する オクターブ内の分割は固定 ・OPT:Addcom Sound Unit リセット時の状態等を再現してみた SETコマンドを送らないと音が出ません ・OPT:「名称未設定」追加 何かの検証,サポート用 ・場所に余裕ができたので Utilities > Load Movie を復活させた Load Memory Image の中にあります - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.65 2021.01.05 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cas2Cmt, Job2Cmt ・T88形式を CMT形式として解析してしまっていた ・サウンドを 1ch 増やした ※サウンドまわりの改修とあわせてメニューを調整しています (Java2版) 不審な動作が見られたら報告をお願いします ・Java2版 トレーサ ・";;" で無効化している行をドキュメント行と区別しやすくした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・PCS-8081,PCS-8007 の「テンポ」をメニューから変更できるようにした PCS-8081のマニュアルによれば、通常は 0 で使用するとのこと ・サウンドの割り当てを変更した ・cfg:SYS を変更した 旧 : *,BEEP,MOTOR,PCG,... 新 : *,BEEP,MOTOR,予約,PCG,... ・BUS を BUS, OPT に分割した cfg に追加変更があります 追加 : OPT, OPTION:-opt 変更 : BUS, OPTION:-bus
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.64 2020.12.26 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Java2版 メモリエディタ ・ICE.MemoryEditor ・DMP形式の出力に対応した DMPファイルの残っていない打ち込みデータのチェック用です チェック・サムのみ打ち込んでツールに掛けることができます 8byteフォーマットのダンプコマンドがなかったので作りました 8byteの場合は ASCII誌, 16byteの場合は I/O誌の SUMを付けますが 見比べての確認はお勧めしません / 削除して打ち込み直してください 正常性バイアスなのでしょうか、間違いの見落としが多いです そんな訳で縦SUMや他の計算方法のSUMに対応する予定はありません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・DiskSystem が無い構成だと [RESET] で落ちる 最近の 8255 関連の実装変更に伴うバグでした 16K制限に対応したのに CS-100-01.cfg が 32K指定のままだったことを思い出して - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.63 2020.12.21 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Asm2Hex (→ 1.a.4) ・ライン・アセンブラでの DS, DB, DW 対応 (復活?) メモリエディタの検索等で「ASM:DS 16,0xFF」といった指定が可能になりました 対応していたはずなのですが... ライン・アセンブラでは DS に値を指定しなかった場合 0x00 が入ります ・Java2版 メモリエディタ ・検索パネルのフォーカス順を調整した ・簡易検索について [F3],[Shift]+[F3] で選択範囲をキーに検索します (変更なし) ・置換コマンドを実装した 完全一致の単純置換のみの対応となります 置換データのバイト数は検索データと一致している必要があります 不一致対応版も作ってみたのですが挙動を読みにくいので没にしました ・検索(置換)コマンドの仕様を調整した ・検索,置換データに不備があった場合は処理しないことにした ・データ入力欄で [Enter], [Shift]+[Enter] を押しての実行に対応した ・入力した16進数が奇数桁だった場合の扱いを変更した "ABC" は 0xABC となります 従来は余りの nibbleを無視していました ("ABC" → 0xAB) ・コピーコマンドの動作を整理&調整した ・バイナリエディタの機能 : 通常コピー (コピペを想定した形式で保存) ・メモリエディタの機能 : 拡張コピー (ダンプ, 逆アセなど) 通常コピーではダンプの書式にしません HEXダンプ部分では 16進数文字列 (スペースなしでアドレス順に連結) ASCIIダンプ部分では文字表現のまま取り込むことにしました クリップボードの内容をそのまま別の場所にペースト可能になりましたが HEXダンプ⇔ASCIIダンプの場所を変えてペーストすると当然ですが化けます ・Java2版 トレーサ ・初期フォーカスが dbgファイルの編集エリアに当たるようにしてみた ・dbg ファイルの仕様を変更,追加した ・"//" で始まる行は「ドキュメント」とします ・";;" で始まる行は コマンド,ブレイクポイントを無効化したものとします ・RowHeader(行番号) を追加した ・行番号のクリックで設定の 有効/無効 をトグルすることができます "##" で始まるフォーマット指定行は、RowHeader からは変更できません ・有効な行の視認性向上 行番号をハイライト表示します - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.62 2020.12.13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Java2版 メモリエディタ ・初期フォーカスをバイナリエディタに当てることにしてみた ・バイナリエディタ部分の操作性向上 ・[Page Up],[Page Down] の動作を変更した 256byteピッチでスクロールする ⇒ 表示範囲をスクロールする ・[Ctrl]+[Page Up]/[Page Down] で 4096byte 刻みの移動を可能にした ・アドレスの頭出しを可能にした [Alt]+[0],[1],...,[F] で 0x0000,0x1000,...,0xF000 に飛びます [Shift] の同時押しで範囲選択にも使えますが、NumPAD側は化けるので注意
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.61 2020.12.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [全般] ・開発手記やソースコード中のメモを読み直しながら落穂拾いをしています ・最近の作業でコードが荒れてしまった部分があるので反省 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [ライブラリ] ・Asm2HexZ80 ・RES 1,(I?+d),r が間違ったコードを吐いていたので訂正した RES 0,(I?+d),r のコードを吐いていた Rev.0e → 0f ・シフト,ローテート系の LD オプションつきの表記に対応した LD r, RLC (I?+d) LD r, RRC (I?+d) LD r, RL (I?+d) LD r, RR (I?+d) LD r, SLA (I?+d) LD r, SRA (I?+d) LD r, SLL (I?+d) LD r, SRL (I?+d) ・ビットセット,リセット命令の LD オプションつきの表記に対応した LD r, RES n,(I?+d) LD r, SET n,(I?+d) ※従来の表記「例 : RLC (IX+d),r や RES 0,(IX+d),r」 も有効です 逆アセンブラも対応してみましたが、表示桁数が足りず採用を見合わせました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・初期化,リセット処理の混乱を整理した (微調整レベル) ・PC-8001(初代)の DiskIF ・拡張システム[なし/無効] の場合は「DiskIFも無い状態」を再現することにした ・フルドット・カラー PCG ・省略していた 8255 を実装した 今後は適切な設定が必須となります ・メニューに ノーマルPCG に切り替えるチェックボックスが出なくなっていた Ver. 6.7.36 で cfg.ENHANCE の指定が変わった際の変更漏れだと思います ・CMU-800 ・壊していた (Ver. 6.7.59 → 6.7.60) コピペの手が滑った ・8255 ポートC のアクセスに Groupチェックを追加した (念のため) ・PC-8801-10 ・タイマーを uPD8253 クラスに分離した ・タイマーの割り込みレベルがジャンパ設定を無視して 4 固定になっていた ・PC-8801-10 + PC-8801-11 ・殺していた 10側のタイマー割り込みを有効にした 割り込みレベルは 11側と同じになります (lv=4) 11側の設定をあえて逆にして lv=3 とすることも可能だと思いますが 今回は対応を見送ります このような設定を要求するソフトがあったら検討しますので教えてください ・PCS-8081, PCS-8007 ・8255 ポートC のアクセスに Groupチェックを追加した (念のため) ・BUS : 新規追加 ・ FM音源シンセサイザの製作 (I/O:1986.1) 小浜隆司 OPN x4 + YK-20(ヤマハの鍵盤) YK-20 には対応していません これに限らず、鍵盤とかミキサー類のコントロールとか何とかしたいですね ・PRN : 新規追加 ・「8bitPCM」⇒ SING SYSNTHESIZER (I/O:1982.10) 江良聡 JASTサウンドとあまり違いはない様なのですが... 1bit-8ch の汎用デバイスとして実装しようか考えましたが、 Volumeコントロールの粒度が足りず、8bitPCMを再現できないと気付きました ・(公式には)使用例のないビットを使った「1bitPCM」を公開することにした こちらも 1bit-8ch に統合(移行)しようかと思いましたが以下略 ・PRN:id を振り直した ・Java2版 仮想キーボード ・PC-8801 のテンキー側の [RET] キーが死んでいた
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.60 2020.11.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・フレームワーク調整 ・複数の CMT IF があったとき、cfg:CMT:id との整合を自動化した ・複数の CMT IF があったとき、メニューに識別子を追加できるようにした (Java2版のみ) 例 :「#1 Player...」⇒「#1 [BS] Player...」 ・Z80CTC (新規) 「PSGによる音楽自動演奏」にハードコーディングしていたモノを分離しました ついでにカウンタの読み出し側を実装してみました (仮) ・uPD8255 (新規) デバイス毎にハードコーディングしたバッファ程度の適当実装のまま放置するのも 何なので作ってみました 今後は適切な設定が必須となります 注意 ・モード1 はほぼ何もしていません&フェイク実装があります ・モード2 は未対応です - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・各拡張ボード上の PPIの実装を uPD8255クラスに差し替えた 影響のあるデバイスは下記の通りです ・PCS-8081(テクノシンセ) ・PCS-8007(ルンルンシンセ) ・CMU-800 ・「12chシンセユニット」(Oh!PC:1982.8) ・「スピーカーとLEDを使って!」(Oh!PC:1983.7) - PB0 : 1bit PCM ・サウンドボード(BUS) のコンソール出力を修正した 割り込み端子の表記を変更しました 旧 : 本体側の端子番号のみ 新 : ボード側 + 本体側(80/88識別子あり) + 割り込みレベル ・「PSGによる音楽自動演奏」(I/O:1981.12) ・ポート0x83 で PSGのレジスタを読めるようにしてみた (仮) ・Z80CTCを別クラスに分離した ・「12chシンセユニット」(Oh!PC:1982.8) ・インチキくさい実装を変更(修正)した ・レジスタの読み出し側をコメント実装した (調査中に付き詳細は非公開) ・PCS-8081(テクノシンセ) ・インチキくさい実装を変更(修正)した ・レジスタの読み出し側をコメント実装した (調査中に付き詳細は非公開) ・PCS-8007(ルンルンシンセ) ・インチキくさい実装を変更(修正)した ・レジスタの読み出し側をコメント実装した (調査中に付き詳細は非公開) ・PC-8801-11, PC-8801-23 ・ポート AAh の読み出しを無効にした https://twitter.com/ume3fmp/status/1324845806193577984 ・DiskIF (本体側 + Disk側) ・uPD8255クラスを採用してみた デバッグ地獄を想像すると放置したいところだったのですが... 問題なさそう(※)なので新バージョンで行きます ※旧版で問題の出たタイトルしか確認していません ・80mkII ・「PLAY6」の特定バージョンで画面が消えてしまう問題 80mkII のミラーポート(実機確認済)を有効にするとまずいことは判ったのですが 「表示されていたと思うが、現在はその構成を再現できないので確認できない」 とのことで放置していました 改めて調べたところ気になる仕様を見つけたのでCRTCにパッチを当ててみました 全機種に影響があります ・「PLAY6」の特定バージョンで SB2 が鳴らない問題 「鳴っていたと思うが、現在はその構成を再現できないので確認できない」 とのことで放置していました 88系と80mkII/SR ではスロット(本体側)の割り当てが異なります その影響で割り込みレベルが狂うはずなのですが... 移植で「88版のまま対策なしで鳴ってる」との話を他でも聞いた記憶があるので 救済することにしました 今回の対応は BUS:8「PC-8801-23 (80mkII TEST)」を復活させる暫定的なものです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.59 2020.10.31 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・PC-8001 ・PC-8012-02 が「常に書き込み可能」になっていた (実装漏れ) ・メモリマップ表示で誤解を招きそうな部分があったので修正した ・PC-8001mkIISR ・PC-8011用のコードが混入していた (副作用はなかった筈)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.58 2020.10.24 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・全角文字の変換テーブル登録漏れ ・スペース ・濁点 ・半濁点 ・「ファイル入力」に TXTモードを追加した 先頭行にエンコード指定がある場合は「TXTモード」とします 指定方法は設定ファイル等と同じです // *encoding Windows-31J // *encoding UTF-8 など (コメントアウトしなくても問題ありません) 従来の動作は「RAWモード」と呼んで区別することにします ・全角英数,全角カナ,UTF絵文字等への対応範囲を広げた ・クリップボード入力 ・ファイル入力(TXTモード) ・タッチパネル登録ファイル
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.57 2020.08.10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・HexDumpPanel (バイナリエディタ) ・フォントを調整した ・ASCIIダンプ領域を調整した ・欧文系のテキストファイルからコピペできるようにした ・ペースト時に全角英数字,カナを半角として処理するようにした ・ペースト時のエスケープ処理を廃止した ※現状ではペーストした改行コードはすべて LF のみとなります ・Asm2Hex (アセンブラ) ・数値フォーマット追加した 0b~ 2進数 0o~ 8進数 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・PC-8001 ・PC-8011 の拡張メモリに対応した (mode0,2 のみ) PC-8012-02 との混在には対応していません ・PC-80系 ・複数バンクの PC-8012-02 に対応した bank0 のみの制限を外しました 制限: ・任意のバンクを実装することはできません bank0~3 の順に詰めて配置されます ・複数バンクの同時書き込みには対応しません ⇒ メモリエディタなど仕様のすりあわせがメンドウな為 複数バンクが指定された場合は独自ロジックによりひとつだけ選択されます ・読み出し側も複数バンクが指定された場合は同様にひとつだけ選択されます ・cfg に追加,変更があります ERAM80 0 PC-8011 ERAM80 <枚数 : 1~4> PC-8012-02 の枚数(バンク数) EXTRAM → ERAM88 PC-8801-02N系 (設定方法は変更なし) -E80 PC-8012-02 のメモリイメージ フォーマットは E88 と同じです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.56 2020.06.22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・AMDEK:COMPU-MUSIC のフォーマット判定ロジックを調整した CP YOU-PCD のカセット出力ではファイル名の扱いが異なるようです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・CMU-800 ・BASSパートの波形を再変更した 全体的なバランスを重視してロジックやパラメータを決めてみました まだ調整中です ・TEMPO(bpm) の設定を変更した 0 : 90 → 60 * 1 : 100 → 90 * 2 : 120 → 120 3 : 140 → 150 * 4 : 180 → 200 * 5 : 240 → 300 * ・リズムパートの音量設定を変更した vol=5 : PCMソースの音量 → vol=3
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.55 2020.05.16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・CMU-800 ・TEMPO(bpm) の設定を変更した 0 : 90 → 90 1 : 100 → 100 2 : 120 → 120 3 : 140 → 140 4 : 160 → 180 * 5 : 180 → 240 * ※現在のサウンド系の設定は「プリセット値」を選択する仕様となっています 細かい粒度でリアルタイムに変更可能な I/F を用意する計画はあります - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.54 2020.05.15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・フラッシングモード → j80 のコスト管理機能と相性が悪く速度が狂っていたため調整しました ・80SR, 88系のメモリエディタ GVRAM が選択された状態で CurrentMap の GVRAM部分を更新しようとすると落ちる → FIXしました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.53 2020.05.02 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CrtDriver ・デフォルトパレットの間違いを訂正した 黄色→水色になっていました j80 : Ver. 6.7.44 → 6.7.45 のタイミングで壊していたようです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・cfg ・OPTION:-test=1 を廃止した 本流のソースに「紫の画面」を統合したためパッチ版を廃止しました 機種や画面モードによらず機能すると思います ・80mkII ・SCREEN 1 の描画ロジックを変更した 「紫の画面」から推定した描画ロジックに変更してみました ・SCREEN 1 の描画色の問題を修正した 「紫の画面」検証中に見つけた不具合を FIX しました ・80SR, 8801 ・アトリ系の描画ロジックを変更した 「紫の画面」から推定した描画ロジックに変更してみました こちらは描画(結果)には問題なかったと思います
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.52 2020.04.21 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・セットアップモード(FE2,MC) ・SRAMの選択方法がデバッグ仕様のままだった セットアップモードでは SRAM を選択したままにしていました ・「CMD SINGの使用」フラグ更新漏れ ・単独指定の cfg:OPTION -bold は無視することにした 注意:「ビデオ」以外が選択されると太字オプションが解除されるようです -video + -bold → 起動 ⇒「ビデオ」+「太字」 └→ [RESET] + [f.8] ⇒「高解像度ディスプレイ」 └→ [RESET] + [f.10] ⇒「ビデオ」+「標準」
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.51 2020.03.28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Asm2Hex ・シンボルの上書きを許す条件の判定ミスを修正した 「同じ値だったら」→ 型フラグの扱いに問題があり上書きできないことがあった ・エミュレータのメモリエディタから呼ばれた際のメッセージ出力のバグFIX 問題がない場合でも「Out of Range」の警告が表示されることがありました デバッグついでに表示内容を拡充しました ・オブジェクトの出力範囲の表示 すべてを含む範囲をまとめて表示する → ブロック毎に分けて表示する ・「Out of Range」の警告 アドレス(範囲)の情報を追加しブロック毎に表示する ・ログ出力フォーマットを調整した 「*」で始まるコメント行は「ドキュメント」あるいは「見出し」とします ログにはダンプ部分の字下げなしで出力されます ・hal8999.emu.device.cpu.ICE.loadBIN(), loadHEX(), loadMOT() ・Asm2Hex と同様のロード結果を表示するようにした ・uPD780:DD CB d XX, FD CB d XX ・4byte目のマシンサイクルが M1サイクルになっていた問題を修正した http://www.maroon.dti.ne.jp/youkan/mz700/z80cycle.html - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.50 2020.02.25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・CMU-800 ・BASSパートの波形を再変更した 波形までは再現できませんでしたが響きは似てきました ・Decay を少し速くした ・音量の調整幅を変更した 旧 [5 : -0dB | 4 : -6dB | 3 : -12dB | 2 : -18dB | 1 : -24dB | 0 : MUTE] 新 [5 : -0dB | 4 : -3dB | 3 : -6dB | 2 : -9dB | 1 : -12dB | 0 : MUTE] ・EGの更新頻度を上げた - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.49 2020.02.22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Config ・PCM音源の登録に外部ファイルを利用できるようにした cfg 指定方法: YM2608CMU800 ・BUS, PRN の初期設定に外部ファイルを利用できるようにした cfg 指定方法: BUS PRN ・SYS, BUS, PRN のパラメータにスペースを混在できるようにした スペースによる分ち書きが可能になりました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・cfg ・リズムパート用PCM音源の識別子を変更した OPNA → YM2608 ・サウンドボードの登録順を変更した BUS:id=16 以降に変更があります ・CMU-800 ・BASSパートの波形を変更した MELODY,CHORDパートの波形と同じものを LPF に通すようにしました LPF の特性については未検証です 音量バランスは調整しましたが他のTONEに比べ -6dB程度になっています ・CH 1-6 のエンベロープを変更した EGのモデルを全面的に見直しました 減衰量のバランスも調整しました RJB(@RadioJunkBox) さんより再度頂いた出力サンプルを参考にしました ありがとうございました ・計算によるリズム音源再現バージョンの追加準備をした うまく再現できたら計算版をメインに差し替えます 現在のPCM音源版は「外部音源」として残す予定です - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.48 2020.02.13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・CMU-800 ・MELODY, CHORDパートの波形を変更した RJB(@RadioJunkBox) さんよりTONE波形のサンプルデータを頂きました ありがとうございました BASSについてはLPFの調整までペンディングとします ・CH 1-6 のエンベロープ形状を変更した ・固定の SUS-Lv を減衰付きに変更した ※Decay, Sustain のバランスは未調整です ・RHYTHMパート用のWAVファイルが設定されていないと落ちるバグFIX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.47 2020.02.11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : : ・公式版(過去の版も含む)の再配布は自由ですが下記条件を守ってください : : ・再配布はアーカイブ丸ごとに限ります : : 内容を改変したり一部を削除,追加したものは認めません : : ・他のソフトウェアと一体での再配布は認めません : : ・商用のソフトウェアやハードウェアに同梱する形での再配布は認めません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・CMU-800 ・RHYTHMパートをサンプリング音源で鳴らしてみた RJB(@RadioJunkBox) さんよりサンプルデータを頂きました ありがとうございました 音源は 16bit mono リニアPCM の WAVファイルのみの対応になります サンプルレートは変換しませんので事前に調整してください cfg 指定方法: CMU800: BassDrum CMU800: SnareDrum CMU800: LowTom CMU800: HighTom CMU800: Cymbal CMU800: OpenHi-Hat CMU800: ClosedHi-Hat ・CH 1-6 に固定の SUS-Lv を設定してみた GATE-TIME が反映される部分がないので... 「サスティン-『タイム』」との記述をパンフに見つけたので全面的に見直すかも ・YM2608 ・RHYTHM音源用ファイルのロードに失敗したときの「無音」が最大音量だった → -0dB ⇒ -96dB に変更しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.46 2020.02.05 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・CMU-800 ・CH 1-6 (TONE 1-6) を本番用に書き直した RHYTHM音源はまだ鳴りません 演奏中はコンソールに各GATEの情報を表示しています (デバッグ用)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.45 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) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・CMU-800 暫定対応 (作業中) RJB(@RadioJunkBox) さんに資料を紹介していただきました ありがとうございました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.44 2019.12.28 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・CassetteTape ・PCM読み出しモードでのテープ操作とコンソール表示の混乱を調整した ※j80には影響ないはずです ・Asm2Hex ・擬似命令 DEFM,DM を受け付けるようにした ⇒ 動作は DEFB,DB と同じです ・擬似命令 SKIP (EDAS 改ページ) を受け付けるようにした ⇒ 何もしません ・EDAS の OR演算子「!」を処理できるようにパッチを当ててみた 問題が生じたら削除します ・おかしな数式でも落ちないことがあったのでチェックを強めにした (不完全?) ・END [式(エラーメッセージ)] の仕様を変更した ・エラーメッセージは「マクロ中のみ有効」に変更しました(マクロ外では無害) ・エラーメッセージがある場合 END を貫通してしまっていた問題をFIXしました ・Cmt2Cmt ・I/O:EDAS の解析に対応した SRC/OBJ の判別はしていません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [フレームワーク] ・Keyboard ・TyperMOD コマンドを追加した 自動タイプ(ファイル入力,クリップボード入力)時に通常と違う動作をします j80 : [SHIFT] で小文字入力 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・自動タイプ(ファイル入力,クリップボード入力) ・[SHIFT] で小文字入力するソフトでの打ち込みに対応した 事前に大文字/小文字を反転しておく手間が不要になりました MENU : sWAP cASE にチェックを入れてください
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.43 2019.11.23 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・I/O:CAP-X の解析に対応した 「CAP-Xシミュレータ」(I/O:1984.3 森田裕三,西村雅永) ソースコードのフォーマットです ・MB-688X:L2BASIC のヘッダ表示を変更した 枝番をすべて(16進2桁)表示することにしました いままで下一桁に限定していた理由は覚えていません ・MB-688X:* データサイズが 0 の最終ブロックを許すことにした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・PC-8001 の機種設定ミス ・32K仕様で PCS-8081,PCS-8007 が選択できなくなっていた ・FullDotColorPCG仕様で PCS-8081,PCS-8007 が選択できてしまっていた Ver. 6.7.36 で cfg.ENHANCE の指定が変わった際の変更漏れです - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.42 2019.10.29 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・V2機 8MHz動作時の WAITを追加した akutsuさんの調査結果を反映させていただきました ありがとうございました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.41 2019.07.19 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ・TK-80:MONITOR の判定条件を厳しくした 識別子が無いため誤爆しやすいので制限を追加しました 前のブロック末尾に「未確定の 0x00」がある場合は、 連続する 0x00 すべてを無視します ・Dmp2Cmt ・縦SUMのチェックルールを変更した 横SUMが2桁でない場合は、縦SUMの合計,横SUMの合計の一方が合えばOKとします
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.40 2019.03.10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Asm2Hex ・INCLUDE, BINCLUDE, CAIN の パーサルールを変更した 式(ファイル名)パース時の スペース,タブ は区切り文字としないことにしました ドキュメントでカンマが要求されていたにもかかわらず 「BINCLUDE "filename" 256,16」 が通ってしまっていましたが、今回の変更によりエラーとなります この変更で分かち書きした式(ファイル名)の外括弧が不要になりましたが シンボルが文字列を扱えないので使うことはなさそうです ・ネストしたループマクロから戻ると ループID が狂う問題 FIX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [フレームワーク] ・ICE.DebugIF ・ユーザーのレジスタ変更要求に対して補正を掛けられるようにした ・RegEditor (Java2版) ・ICE.DebugIFが補正した値を入力値とみなすようにした - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.39 2019.03.02 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ※ 関係のない機種で誤爆があったら報告をお願いします ※ ・解析ロジックの間違いを修正した ・MB-688X:1200.BAS ・フォーマット判定基準を緩和した ・MB-688X:1200.BIN ・MB-688X:1200.BAS ヘッダが切れて短くなったものでもヒットすると思います - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.38 2019.02.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ※ 関係のない機種で誤爆があったら報告をお願いします ※ ・出力テンプレートを調整した ・MB-688X:1200.BIN ・MB-688X:1200.BAS ・BMUG1200:MONITOR ・BMUG1200:L2BASIC ・BMUG1200:DataFile データブロック末尾のMARK(gap)を補完するようにしました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.37 2019.02.23 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + [ライブラリ] ・Cmt2Cmt ※ 関係のない機種で誤爆があったら報告をお願いします ※ ・MB-688X:DataFile の解析に対応した 忘れていました ・MB-688X:1200.BIN/BAS の解析に対応した 実機のロジックより厳しい判定基準になっていると思います 冒頭部分が切れている場合はヒットしないかもしれません 状況に応じて緩和する予定ですので動作報告をお願いします ・BMUG1200:MONITOR/L2BASIC/DataFile の解析に対応した 「1200BPS I/O (New Version)」(BMUG会報:1982.5) 吉川直久 「OPEN命令による1200bpsデータの入出力」(BMUG会報:1982.6) 吉川直久 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [フレームワーク] ・メモリエディタ (Java2版) ・ASCIIダンプの表示キャラクタを調整した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.36 2019.02.11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・PC-8001 ・メインRAMを 16Kに制限できるようにした コメント実装していたものを有効化しました 今となっては多少の負荷増を気にする必要もなさそうなので... cfg.ENHANCE の指定方法に追加変更があります ・オンボードRAMの情報を bit0 で表現します (j68 にあわせました) ・改造の有無が bit0→bit1 に変更になりました 旧: ENHANCE 0 ⇒ 32K :「Full Dot Color PCG」改造なし (default) ENHANCE 1 ⇒ 32K :「PCGをフルドット・カラーに」 [I/O 83.12] 新: ENHANCE 0 ⇒ 16K :「Full Dot Color PCG」改造なし (default) ENHANCE 1 ⇒ 32K :「Full Dot Color PCG」改造なし ENHANCE 2 ⇒ 16K :「PCGをフルドット・カラーに」 [I/O 83.12] ENHANCE 3 ⇒ 32K :「PCGをフルドット・カラーに」 [I/O 83.12] メモリエディタからは未実装エリアの内容を更新できます 16K制限でも裏RAM相当の拡張メモリが使えてしまうバランス感覚の悪さは放置 ・PEN STICK(ツクモ) に仮対応した ライトペンを有効にすると正常に動作しません (排他制御していません) 読み出し手続きは簡略化していますので開発には使わないでください 仮想ポート(-2) を登録した keymap をロードすると有効になります 結局キーボードを使うことになるので意味ないです ゲームパッドがユニークなキーコードを返す環境があったら活用してください その場合でもトリガを[SPACE]に割り当てる等したほうがスマートですよね... 今まで実装しなかったのはそんな理由です コメント実装程度の意味しかないのです ゲームポート側のパッドも同じ理由で作らなかったのですがどうしましょうかね
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.35 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 を追加した j80 では -test=,v2 は使用していません ・-boot=v1,v2 を追加した 起動時に鳴く確率を -boot=v1 で設定できるようになりました 私の所有機には「時々鳴く」個体はありません 必ず鳴く個体も「温まっている」時は鳴きません ⇒ v2 で鳴かない期間を設定できるようにする予定です ・ローマ字カナ変換 ・xtu で「ッ」を入力できるようにした 要らないと思って省いていたら(何故か入力できない)状態になって困りました 従来の子音を重ねる入力方法も生きています ・EmulatorGUI (Java2版のみ) ・CRT画面が無い場合もフレーム位置の情報を返すようにした (Util:4 コマンド) CRT画面がある構成ではLED/キーパッド側の情報は表示されません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [j80] ・仮想キーボード ・テンプレート画像を差し替えた 「グラフィックシール」を表現したものに差し替えました ・HAL研「響子」,アドコム「グラフィックペン」対応画像を追加した 操作説明用シールを貼ったイメージの画像を追加してあります しおんパパさん所有機を参考にさせていただきました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.34 2018.12.13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・88/mkII ・フラッシングモード 実機での見映えと相談しながらノイズの発生条件を調整した ・EmulatorGUI (Java版のみ) ・描画位置等の情報に「フレームの位置,サイズ」を追加した (Util:4 コマンド) フレーム込みで動画撮影をしたい場合にお使いください - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.33 2018.12.11 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・80mkII ・パレットを走査線毎に反映するパッチのパレット取得タイミングを調整した 調整には ewifanさんに協力していただきました ありがとうございました ・88/mkII ・フラッシングモードのノイズを実装した (仮) 実装が雑なので落ちるかもしれません cfg に OPTION:-noise が追加されています cmd に CRT.noise が追加されています - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.32 2018.12.07 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・80mkII ・グラフィック選択色の変更を走査線毎に反映するパッチを有効化した 一部の調整パッチは無効化したままです ・カラーモード0,1 の変更を走査線毎に反映するパッチを追加した ※両パッチとも限定的なものですので実機とまったく同じ見映えにはなりません ・88系 ・15kHz出力側のパレットを調整した (2) 「88VAタイプの画面出力」への対応を忘れていました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.31 2018.12.01 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・プライベート版は再配布禁止です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・88系 ・15kHz出力側のパレットを調整した R6b38→39 で変更した「アトリモード + TEXT OFF」の表示色を元に戻しました 勘違いで、関係ない 15kHz側までいじってしまっていたようです
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.30 2018.11.20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・ライセンス変更のおしらせ : : バイナリにRelease番号の無いものは「プライベート・リリース」とします : : プライベート版添付の readme.txt 中のRelease番号は無効です : : プライベート版は再配布禁止とします : : プライベート版は開発に積極的に関与していただける方にのみ配布します : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・スクリーンショット(バーストモード)の問題FIX 80mkII/SR, 8801 で意図した動作をしていませんでした テキストOFFの場合、画面が更新されないフレームが出力されませんでした その影響で指定フレーム数の出力完了に時間がかかることがありました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.29 2018.11.10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・モーターリレー音も実行時に音量調整できるようにした モーターリレー音を起動時に切っておくことも可能になりました (⇒ 音量:0) ※cfg:SYS id に変更があります ※cmd:RelaySound は廃止しました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.28 2018.10.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・Config:マウント系デバイス初期設定 ・デバイス毎のオプション指定を可能にした 「*」に続いてデバイス固有のオプションを指定できます 機種等に固有のもの(IF側の設定等)は OPTION に用意されています 例 : CMTはデータレコーダーの設定, シリアルIFの設定は OPTION側 複数のオプションを指定する場合はカンマで続けます □現在対応しているオプション CMT:1 pause PauseMode ON (デフォルトはOFF) ・CassetteTape ・PCM読み出しモードを修正した 実装が雑なまま終わったつもりになっていました ※j80 では使用していません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.27 2018.10.09 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - コンバータ等 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・Cmt2Cmt ・TK-80:MONITOR の判定条件を厳しくした 識別子が無いため誤爆しやすいので制限を追加しました ADDRESS:0000H-0000H, DATA:00H, SUM:00H はヒットしません ・TK-80:MONITOR のアドレス指定の解釈に漏れがあった 「開始アドレス>最終アドレス」のケースに対応しました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.26 2018.09.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・cfg ・-CMT:id(ロード側) でタイトル指定(頭出し)が機能しなくなっていた ・cmd ・SetMapコマンドを CMT:id.setmap に変更した ・+Imageコマンドを廃止(休止)した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - コンバータ等 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・Asm2Hex シンボルファイルの出力に対応した ・Cmt2Cmt TK-80:MONITOR の解析に対応した ・Ipl2Cmt, N802Cmt 内部コードの混乱でビット長が不正になることがあった ・Tk82Cmt コンバータを追加した TK8イメージを CMTイメージ(TK-80:MONITOR)に変換します ・Cas2Cmt, Job2Cmt, Dir2Cas TK8イメージに対応した ・CassetteTape PCM出力時に落ちることがあった
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.25 2018.07.31 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・i8253 (PCGサウンド) ・MODE 0 対応 (Ver. 6.7.22) による再現性低下に対策した
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.24 2018.07.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・TracerGUI DEBUGコマンド変更漏れ 使えなくなっていたもの ・デバッグモードの切り替えチェックボックス ・ステップ実行ボタン ・uPD780 逆アセンブラの表示ミス LD A,I / LD A,R が入れ替わっていました
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.23 2018.02.24 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・DEBUG コマンド, Debug コマンドを整理した カスタマイズした cmdファイルをお使いの方は修正が必要になります DEBUG → デバッガ系:Debug, トレース系:Trace に分割 Debug → Util に変更 ・デバッガ系 DEBUG:0 → Debug:0 CPU #1 : デバッグモード DEBUG:1 → Debug:1 CPU #2 : デバッグモード ├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 : PAUSE時のフリップ設定表示 DEBUG:6 → Trace:4 SOUND : 未使用 DEBUG:7 → Trace:5 DISK : Drive動作表示 + CDOS-II 2HD fmtPatch ・ユーティリティ Debug:1 → Util:1 メモリダンプ Debug:2 → Util:2 メモリマップ表示 Debug:3 → Util:3 Load Movie foo.d88 -> load foo.e88 + foo.mem 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. 6.7.22 2018.02.06 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・VoiceBox ・再調査結果を基に調整した (再現性向上した?) ※VoiceBoxの仕様は調査中です ・i8253 (PCGサウンド) ・MODE 0 に仮対応した 若干の調整が入ったので MODE 3 の音の出方が変わったと思います 再現性に問題があると感じた方はレポートをお願いします ・PC-8801FH/MH,FA/MA,FE/MA2,FE2,MC ・Video メニューから「Digital Display...」が欠落していた R6.112→R6.113 でエンバグ Android版では問題なし ・「電源OFF」で起動 ⇒ [RESET(POWER ON)] コマンド実行時の動作が一部壊れていた j80 には RESET時の Disk有無により DiskSysを自動で ON/OFF する機能があります cfg:-fddauto 指定でその機能を有効にした状態で j80を起動できます ただし[RESET(POWER ON)] が「POWER ON」の動作となる場合は自動設定しません ...この例外措置が壊れていました 例:1「cfg:-fdd, -fddauto, Diskイメージなし」 1.「電源OFF」で起動 2. [RESET(POWER ON)] コマンドで「電源ON」 -fdd 指定があるので DiskSystem も ON で立ち上がろうとする ※壊れていたので 3,4 を飛ばして 5 へ 3. Diskが無いが -fddauto は無効なので DiskSystem は OFF にならない ⇒ タイムアウトして ROM BASIC が立ち上がる様子が確認できる 4. [RESET(POWER ON)] コマンドで「RESET」 5. Diskが無いので -fddauto により DiskSystem OFF ⇒ DiskSystem が無い(と同じになる)のですぐに ROM BASIC が立ち上がる 例:2「-fddauto, Diskイメージあり」 1.「電源OFF」で起動 2. [RESET(POWER ON)] コマンドで「電源ON」 -fdd 指定がないので DiskSystem は OFF で立ち上がろうとする ※壊れていたので 3,4 を飛ばして 5 へ 3. Diskがあるが -fddauto は無効なので DiskSystem は ON にならない ⇒ DiskSystem が無い(と同じになる)のですぐに ROM BASIC が立ち上がる 4. [RESET(POWER ON)] コマンドで「RESET」 5. Diskがあるので -fddauto により DiskSystem ON ⇒ DiskSystem が ON になり Disk を読みにいく
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.21 2018.01.27 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・VMフレームワーク 仮FIX エミュレータ本体の機能追加,変更はありません ・Java2版, Android版 GUIフレームワーク 仮FIX
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.20 2017.12.30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・デバッガ ・機能しなくなっていた「-fmt指定」を復旧した ・ブレイクポイントの範囲指定に対応した ・ディスプレイ(色)定義ファイルのフォーマットを変更した GRB → RGB ・スクリーンショット ・連写機能を追加した ・連写した画像の合成に対応した pause中はそのときの画面のみを、そうでない場合は VBLANKに同期して取得します ※従来の FLIP用バッファ合成機能も残しましたが、将来廃止するかもしれません cfg に変更があります OPTION:-mixer= → 連写時の合成方法 旧:-mixer= → -mix=
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.19 2017.11.25 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・cfg ・OPTION:-fddauto を追加した 「リセット時にDisk有無でサブシステムON/OFFを切り替える」機能の初期状態を 設定できるようにしました 旧版:デフォルト[有効] / cfg での無効化[対応なし] 新版:デフォルト[無効] / cfg での有効化[-fddauto] ※従来と同じ挙動を望む場合は -fddauto を追加する必要があります - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.18 2017.11.23 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・Cmt2Cmt SystemSoft:DMM88 の解析に対応した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.17 2017.11.22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・マウスポインタの管理ミスを修正した 意図したポインタが表示されていませんでした R6.111→R6.112 でエンバグ (クラスライブラリ化時のミス) ・マウスの "grabモード" を試験実装した シリアルマウス,バスマウス使用時にマウスポインタ(カーソル)を非表示にすると 母艦側のマウスポインタを画面外に移動できなくなります - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.16 2017.11.21 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・88系シリアルIFのバグFIX R6.117(Ver. 6.7.12) → Ver. 6.7.13 でエンバグ 80mkII, 80SR のシリアルマウス対応でクラス設計を調整したときに変更忘れ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.15 2017.11.18 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・Cmt2Cmt MicroCabin:Mys2N80 の解析に対応した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - [Release ----] Ver. 6.7.14 2017.11.17 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・ライブラリ更新(150baudテープイメージ対応)に伴うバージョンアップ
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・80mkII, 80SR ・シリアルマウス対応 実機未確認
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・MonitorGUI ・*.asz, *.z80 を受け付けなくなっていた R6.109→R6.110 でエンバグ
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・メニューの「Tracer GUI」,「Monitor GUI」が入れ替わったままだった hal8999.lib.java2.EmulatorGUI R6.113 での修正漏れ
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・DiskDrive CHRN の管理方法を調整した PLAY6 でファイルリスト後半が取得できない問題が解決しています デグレしているかもしれません ・DiskImage 2Dディスクを倍トラックで読んだときの挙動を調整した PLAY6 で 倍トラックのディスク認識後に 2Dディスクが正常に読めなくなる問題 が解決しています
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・Windowモード拡縮時のボーダー部分のゴミ回避 (hal8999.lib.java2.EmulatorGUI) 過去に対策した記憶があるのですが夢だったようです (Android版だったかなぁ)
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + : ・リファクタリング中です : : 大きく手を入れている最中なので深刻なバグがあるかもしれません : : ・添付の設定ファイルやサンプル・リソース類全般に手を入れています : : コメントの不整合や表現の統一などが主な修正点です : + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + ・バグFIX ・Debug:6, 7 が(意図せず)入れ替わっていた R6.111→R6.112 でエンバグ ・非表示にした仮想キーボードの変更に失敗する 仮想キーボードの選択肢がない機種・構成では問題ありません ・デスクトップのサイズ(レイアウト等の基準)をタスクトレイを除いたものに変えた ・CRT=0 コマンドを追加した デジタル⇔アナログ を切り替えます ・デジタル出力が無い機種のメニュー(コマンド)を調整した ・cfg ・KEY:id に変更があります ・OPTION:-vkey による仮想キーボードの初期指定を廃止した (Java版のみ廃止) R6.111→R6.112 で廃止済み ・OPTION:-vkey による仮想キーボードの初期指定を復活した Android版の id に変更があります ・PC-8001(海外モデル)用仮想キーボードを外部リソース化した KEY:0 を差し替えて対応してください
・リファクタリング中 大きく手を入れている最中なので深刻なバグがあるかもしれません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・タッチパネル機能の仕様を確定した キー・エンコーダー方式のキーボードでは「ポート指定」はできません 「ポート指定」のコードはすべて「何もしない(時間稼ぎ)」動作となります ・連射機能の仕様を確定した キー・マトリクス方式のキーボードのみを対象とします 機種によっては PPI に直結したSWもキーボードとして扱いますので設定可能です ・cmd ・DEBUG:id コマンド再編成 id に変更があります (→ cmdファイルのコメント参照) ・Debug:id コマンド再編成 id に変更があります (→ cmdファイルのコメント参照) ・Escapeコマンド廃止 → Debug:5 ・cfg ・-DMP (メモリダンプの出力場所) 新設 -DBG の場所から分けることが可能になりました ・仮想キーボードの登録方法変更 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・88系 ・自動タイプ速度のデフォルト値を遅くした ファンクション・キーを消せば早くしてもタイプミスしにくくなります
・メモリエディタの更新(タイミング)ミスを修正した
・CMT:ポーリング仕様の不具合 FIX おそらく R6.108→R6.109 でエンバグ (未確認) ・リファクタリング中 大きく手を入れている最中なので深刻なバグがあるかもしれません
・CMT IF - DataRecorder の設計を変更した 関連するライブラリも更新しています 不審な動作を見かけたらレポートをお願いします ・8801 ・4thROM の選択ロジックを再調整した R6.70 での変更を元に戻し、別の実装(パッチ)を試してみました この実装では特殊な環境で R6.70以前の問題が再現してしまいます... 一般的でないハード構成でバグるソフトはあるのですが、今回はどうでしょうか 実機で再現実験できないのが歯痒い ・Cmt2Cmt ・解析ロジックを追加した ・TK-80BS ・TK-85, MP-80/mkII ・ORANGE(COMKIT8062) ※暫定対応 j80, j68, u80, m80, c80 共通です 機種によるフィルタリングをしていませんので誤爆の可能性があります ・デバッガ ・ブレイクポイントの種類として「次のPC (到達したPC)」を追加した 「実行後にそのアドレスに到達する命令」を実行後にブレイクします 設定アドレスの命令を実行する前にブレイクが掛かることになります サブルーチン先頭を指定して呼び出し元を探るのにも使えます ※割り込みには配慮していません ・不具合の問い合わせについて いつも情報提供やバグレポートありがとうございます 問い合わせいただく場合は以下の点に配慮願います ・実機で同じ問題が再現することを *必ず* 確認してください ・想定している機種や構成を明記してください 機種や構成の差異で問題の有無や再現性が異なりますのでご注意ください ・問題点を丁寧に説明してください 主語は省略せず、指示語も避けてください 一文に複数の情報を入れないでください 「フリーズする」だけではエミュレータかエミュレータ上のソフトか判りません こちらから折り返し事情を伺う事が多かったのですが手間が掛かりすぎるので、 答えられない場合は返事をしないことにします ・再現方法を明示してください 集中して再現試験するゆとりがないので、情報不足の場合は調査しません ・バージョンアップや情報提供に対し、問題が解決したか否かの返事をください 返事をいただけなかった方は、それ以降の問い合わせには答えません 特定の環境や好みに対応した場合は継続的に動作確認のレポートをお願いします 特にパッチで対応した場合は、不要になったら必ず報告してください メンテナンスの手間が掛かっています
・CassetteTape クラスを大改修したので更新します j80 には影響ない筈です 以前と違う挙動をしたらバグですので報告をお願いします
・Asm2Hex ・DB, DW に シフトJIS の 2byte文字を直接記述できるようにした DW は常に 2byte 出力し、バイトオーダー設定の影響を受けるので非推奨です ・AS の擬似命令 (RELAXED) を無視するようにした
・OPNA ・A1=0側とA1=1側のアドレス設定を分離した 1側の設定が0側に影響を与えるようにしていましたが違ったようです → http://www.geocities.jp/submarine600/index.html 関連付けの根拠としたTLの不具合も再現しないので、完全に分離しました OPNA対応時に、常に0側を参照してしまうようなミスがあったのだと思います 分離版もメンテは続けてきたので、いつの間にか根治していた ...と考えることにします Bookwormさん、テストプログラムありがとうございました
・レジスタエディタ フラグレジスタのバグ FIX チェックボックスの操作で、他のビットが全て0になってしまうことがありました ・キーマップについて サンプルcfg の キーマップ設定を、[ろ] を識別できる方の環境にあわせました ただし、非常に繊細な判別条件なので ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ ※※※※ Javaのバージョンアップで使えなくなる可能性が高いです ※※※※ ※※※※ 使えなくなってもバグではありませんので報告は不要です ※※※※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ このような不安定な設定を推奨しているように受け取られたくないので、 こちらから提供するサンプルcfg での採用を避けていましたが、 問い合わせに個別に対応するのが面倒なのでこのような形とさせていただきました
・デバッガ・ユーティリティ系の更新 ・スキップ実行の条件を追加した DEBUG.step=3 : step=2 + DJNZ完了,JR/JPまでを1ステップとする ※旧仕様では「DJNZ」のみ ・メモリエディタ等で「モトローラS形式」が使えるようになった j68 の副産物です ・メモリエディタなしでの HEX,MOT のロードに対応した ファイルダイアログは用意していません メイン・ウィンドウにドロップしてください メモリの選択状況によらず、MAIN側「64K RAM」に書き込みます 物理メモリを指定したい場合はメモリエディタにドロップしてください - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・Java に関する更新 ・[右 Ctrl] のキーコードを追加した (Java2SE 1.4~) キーマップ定義を追加しないと、右側の[Ctrl]が無視されます ・[¥] と [ろ] を分離してみた (Java7 専用?) 公式手段では見分けが付かない様だったので場当たり的なパッチを当てました ・「タッチパネル機能」の定義に「半角カナ」を直接記述できるようにした 定義ファイルのエンコードは ShiftJIS系のみを想定しています 自動タイプ機能と違い PC-8001のハート記号のような文字は記述できません - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・その他 ・RESET.clear についてコメントを追加した (j80.cmd) → j80 では、メモリエディタで変更した ROM 部分は復元されない
・自動タイプ機能のバグFIX ・0byte のファイルで落ちるバグ ・長さ0の文字列のコピペで落ちるバグ ・タッチパネル機能のバグFIX ・領域が一度も定義されたことが無い状態で領域なしのマップを使うと落ちるバグ
・コンソール出力 ・トレース出力の行単位の色変えなどに仮対応した *.cfg:ATTR で表示方法を指定します ANSIのエスケープコード(シーケンス)を想定しています コンソール側が対応していないと反映されません メニュー等から設定の 有効/無効 を切り替えられます
・Asm2Hex ・異常終了(強制終了)できるようにした END にエラーメッセージを与えられるようにしました メッセージを付けた場合は「異常終了」とします マクロのパラメータ・チェック等での利用を想定しています 予約語を増やしたくないので、END を拡張しました ・Cmt2Cmt ・「Hyper Olympic '84」(dB-SOFT / 80SR) の解析に対応した ・dB-SOFT:KingFLAPPY の再現精度を上げた ヘッダとデータ本体の間にギャップを追加しました
・仮想キーボード上の通常キーのロック表示が解除されないバグFIX ・ファイル入力, クリップボード入力時 ・他機種のエミュレータにあわせて CRT設定(発色)に関するコードを整理しました パレット廻りでエンバグしているかもしれませんので動作確認をお願いします
・cfg OPTION:-full が死んでいた ・フルスクリーンで起動した場合に画面が乱れる (環境依存?) → Java2SE 1.3.x (Linux) で、起動時にウィンドウサイズ等が異常になる対策の 副作用でした
・仮想キーボード (Java版) ・KET:0 -bg=color で指定した背景色が反映されないバグFIX ・KEY:n での画像指定時に、同じ名前の *.map があったらそれを使うことにした これにより、キー・レイアウトも変更可能になりました ・コード整理 ・ドキュメント整理
・uPD780 クラス ・NMIの設計を変更して特別扱いを止めた デバッガでNMIを拾えるようになりましたが、あまり意味ないですね
・起動時のプチフリ対策をした (Java版) → android版への悪影響が無いことを確認
・PC-8001 のメモリ選択ロジックを調整した j80 の拡張ユニットは「PC-8011/PC-8012 どっちつかず仕様」となっています 拡張メモリは PC-8801-02N を基本に PC-8012-02 も想定した実装になっています 今回、PC-8011の拡張RAM のような振る舞いも加味してみました
・アセンブラ ・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" にはならない ・シンボルの代入に「=」も使えるようにした ・シンボル末尾に「:」を付けて定義した場合は、相対アドレス計算の対象とする ことにした ・関数に仮対応した ・Asz2HexZ80 ・IX,IYで始まるラベルを (IX+d),(IY+d) と誤認しないようにした 旧:LD (IX1),A → LD (IX+1),A ・メインループを整理した
・アセンブラ ・RST 1, RST 08H の生成コードを訂正した ×0xF7 → ○0xCF ・マクロを引用(検索)する際に除外する条件を設けた ・名前末尾が「:」 (→ ラベル定義) ・引数があり、最初のものを大文字に揃えて「EQU」 (→ シンボル定義) ・ラベルなどの末尾のコロンを全て無視することにしてみた 旧仕様:ひとつだけ無視する
・CMT IF(load側) ・存在しないテープイメージをアクセスしようとして落ちることがあった ・割り込みを使ったロード時の内部動作を変更した 読めなくなったイメージがあったら報告をお願いします ・Cmt2Cmt BrainMedia:GALA#1,#2 (PC-8801「GALACTRON」) の解析に対応した
・cfg で自動タイプ速度の初期値を変更できるようにした OPTION:-typer 自動タイプについて: BASICのスクリーンエディタではファンクションを表示すると反応が鈍ります N88 BASIC は N BASIC より反応が鈍いようです デフォルトの 500cpm は N BASIC, ファンクション非表示 を想定しています タイプミスが起きない安全な設定でお使いください [タイプ速度の影響を受ける機能] ・ファイル入力 ・クリップボード入力 ・j80のタッチパネル機能 ・ローマ字入力
・Bas2Cmt にバグがありました 二行目の「次の行のポインタ」がおかしくなるバグがありました R5b1 → R5b2 (Bas2Cmt 5.0.0 → 5.1.0) でエンバグ R5b2 は 2009.10.31 のリリースです BASIC のリンクポインタはロード時に環境に合わせた値に設定されるため 実機や j80 でロード後にセーブしたものは正しいイメージになります 従って実用上の問題はありませんが、CMTイメージとしては異常なものとなります tools80 はバグFIX版に差し替えましたが、j80 は後日対応します
・仮想キーボードの管理方法を変更した (Java版のみ) キートップ画像や背景色を変更できるようにしました ※cfgの設定に変更があります 仮想キーボードの id が、Java版とAndroid版で一致しなくなりました Java版では「ハードウェアの特徴」と「外観」を分けることにしました 外観は KEY:id で画像ファイルや背景色を設定して差し替えます
・80系の吸出しドキュメント・ツール類の整理のみです ./util/GetROM/ 以下を参照してください エミュレータ本体に変更はありませんが念のためバージョンを上げています
・88系の拡張メモリの選択ロジックを再調整した 仮実装です
・T882Cmt のバグFIX ビット長が常に 5 になってしまうバグがありました
・8bit長のデータが2バンクに分かれた第1水準漢字ROMのファイルに対応した cfg:JIS1 に -8bit オプションを付けてください そのファイルをフォントに流用する場合、FONT にも -8bit オプションが必要です また、切り出し位置が 0x1000 から 0x0800 に変わりますので要注意です ・第2水準漢字ROM を 80mkII/SR が想定しているマップに配置できるようにした cfg:JIS2 に -n80 オプションを付けてください
・テスト版をリリースしてしまったので差し替えた
・テープイメージを拡張した CASファイルにも若干の拡張があります 拡張部分は j80 では使用していません 今までと違う振る舞いをしたらバグですので報告をお願いします ・デバッガ(GUI)の「CPUステータス」の表示を変更した ・「エミュレータの状態」と「CPUの状態」を切り分けた エミュレータの状態をラベルで、CPUの状態を背景色で表現しています(暫定) ・HALT を確認できるようにした 背景色が「赤」くなります ・デバッガから HALT を解除できるようにした ステータス欄をダブルクリックで解除できます(暫定) PC を更新した場合も HALT は解除されます DEBUG.BREAK: HALT RET CALL DEBUG.BREAK ; デバッガから解除可能 HALT で止めた場合、画面出力は生きているので表示が更新されます デバッガで BREAK した場合は(内部カウンタが狂うので)画面を更新していません ・80mkII/SR の 第2水準漢字ROM のアクセス方法を変更した こちらの調査結果を参考にさせて頂きました 80mkII愛友会 別館 http://www5f.biglobe.ne.jp/~apaslothy/cgi_bin/adiary/adiary.cgi/068
・Cmt2Cmt CarryLab:JE6#Loader のボーレートが 1200baud固定になっていた
・アセンブラの仕様を調整した BINCLUDE では、DEFS,DS で予約した領域にもロードできるようにしました 警告等は一切表示しませんのでご注意ください なお、ロード後に DEFS,DS で重なるアドレスを割り当てることはできません
・デバッガが落ちるバグFIX R6.79 のロジック変更で漏れがありました ・88系の拡張メモリの選択ロジックを調整した 一部 80系のロジックのままになっていた点を変更してみました 仮実装です
・PC-8001 の動作速度を変更した 見て判るレベルで再現性に問題が生じるタイトルがあったので再調査しました 原因がつかめましたのでロジックを変更しました
・デバッガ系のGUIを表示した後、フルスクリーン⇔Window切り替えで落ちるバグFIX とりあえず落ちない程度に対策しました 注意事項: ・GUIが表示されていたら切り替えを拒否します ・切り替え時にGUIを破棄します ・スクロール位置などのGUI系の情報は失われます ・メモリエディタの検索欄はクリアされます ・編集中の .dbg は破棄されます ・仮想キーボードを表示した後、フルスクリーン⇔Window切り替えで落ちるバグFIX とりあえず落ちない程度に対策しました 注意事項: ・仮想キーボードが表示されていたら切り替えを拒否します ・仮想キーボードの仕様を整理した GUIを閉じる際の通常キーのロック状態に関する仕様をFIXしないで忘れていました エミュレータ側にはロック解除を通知して(不可視の)押しっ放しを回避する一方で GUI側の状態は変更していませんでした ・PC-8001 の動作速度を調整した
・アセンブラ ・大きなREPTマクロを定義すると落ちるバグ FIX ・DS の仕様を変更した ・第二パラメータ - ・スキップした範囲は 00H で埋めます - ・第二パラメータがあった場合は、その値で埋めます + ※Asm2Hex Ver. 0.6.7 から仕様を変更しました + ・第二パラメータが指定されていない場合はバイナリを生成しません + ただし、そのアドレスは「予約済み」として使用できなくなります + ・第二パラメータがあった場合はその値で埋めます + この場合はバイナリを生成します
・メインルーチンのバグFIX 条件によってドライブ側のタイマーが少しの間更新されないことがありました ・Disk側の割り込みを修正した R6.71から、CDOS-II で 2HDフォーマットができなくなっていました まだ根本原因はつかめていないのですが、パッチを当てておきました この不具合は Bookwormさんに見つけていただきました デバッグにも協力いただきありがとうございました ・Disk操作に関する仕様を変更した 実サイズより小さな N のセクタに書き込んだ際にゴミになる部分を削除するよう 仕様を変更しました
・メモリエディタ ・バイナリエディタ本体がフォーカスを受けたときの動作を変更した 旧:前回フォーカスのあったセルを表示範囲に入れる 新:何もしない
・バグFIX (メモリエディタ) ・アセンブルソースを食わせた際に落ちることがあった ・範囲外のオブジェクトが含まれていた場合に警告するようにした (Asm2Hex) ・終了処理を調整した 異常終了, 強制終了時にもエミュレータの終了処理を通すように変更しました 上記タイミングでもディスクイメージが更新されるようになりました 「強制終了」は環境依存しそうなので、不審な挙動があったら報告をお願いします なお、Windowsのコンソール(DOS窓)の [X] ボタンは「強制終了」になるようです
・ビデオ廻りの実装精度をすりあわせた 精度のアンバランスが原因で、画面にゴミが出ることがありました 関連する部分の精度をすり合わせて、ゴミが出ないようにしました 全てを同じ精度で実装できていないので、別の要因でゴミが出るかもしれません ・メモリエディタのバグをFIXした 80SR, 88系 の GVRAM#1,2 を正常に扱えていませんでした ※細かな部分を調整しながらディスクのエイジングを続けるつもりだったのですが、 ビデオ廻りに再現性に影響のある変更を加えたのでバージョンを上げました
・PC-8801 の DMA まわりを調整した ・ビデオまわりを整理&調整した
・サブシステムの割り込み廻りの実装を変更した ※ cfg:DRIVE の第3パラメータの意味が変わっています ※ 成り行きで制御していましたが、タイマーによる駆動に変更しました コードはあまり変わっていないのですが、動作メカニズムが大きく変わったので 確認をお願いします ・タイミングを調整した (誤魔化しが効かなくなった) ・成り行き制御由来のパッチを外した (異常動作に関係するものなので心配) ・ステータスの時間変化は未調整 (調整する必要があるハズ) ・メニュー等からディスクを直接交換した際に「間」を挿入するロジックを追加した サブ側でもクロックをカウントしたついでに実装しました 0.5秒間「ディスクが無い」状態を作ります 時間は適当に決めましたので、要望があったら変更します ・「ADPCMをロードする際に問題を起こさせるパッチ」を調整した R6b54→55 で導入したパッチが誤爆するケースがありました パッチ発動の条件を厳しくしました
・藍恋さんから不具合の報告を頂きました ありがとうございました ・D88イメージ ヘッダのセクタ数の値が実セクタ数を上回る場合でも利用できるようにした ・88系全般 4thROM の選択ロジックを調整した ・YM2608 「ADPCMをロードする際に問題を起こさせるパッチ」が原因の不具合を確認した R6b54→55 で導入したパッチです 対策を検討中です
・Cmt2Cmt ・HudsonCOMPAC:FORM/PC のバグFIX cas出力にバグがありました ・BrainMedia:FD* の解析に仮対応した BrainMedia:FDMAIN#Loader BrainMedia:FDMAIN#Data BrainMedia:FDSTAGE#Header BrainMedia:FDSTAGE#Data ・CMT IF の動作精度を上げた (その2) CASファイルを拡張しました 今回追加した「キャラクタ長」の情報を使って、動作精度を上げました 特定のソフト以外は影響ありません ストップビット関連も拡張しようか悩みましたが、今回は見送りました
・88系でグラフィックモードを変更した際の画面更新ミス修正 R6.2→3 でエンバグ くれゆにさんから丁寧なバグレポートをいただきました とても解かりやすかったです ありがとうございました
・CMT IF の動作精度を上げた (その1) 今まで j80 では無視していた情報を使って、動作精度を上げてみました 88系の割り込みを使った読み込み以外では影響ありません 次回は、cmt8001, pcm8001 を含めた機能追加(強化)を予定しています 今回の変更で不具合が無いか、早めに確認していただけると助かります ・CMT IF を調整した セーブ時に返すステータスを調整しました
・ボーダーの実装(フレームワーク)を整理した
・Cmt2Cmt ・dB-SOFT:FLAPPY88 の解析に対応した
・80mkII の DMA まわりを調整した ・80SR(N80モード) の動作を調整した
・特定条件でテキストのシークレット属性が無視されるバグFIX R6b29→30 でエンバグ ・アセンブラ BINCLUDE で offset, length を指定できるようにした
・ライトペン調整 CRTC版も vblankを考慮してみました タイミングなど不正確な部分が多いので、あまり意味はありません ・アセンブラ ・DEFS,DS の第二パラメータで、埋める値を指定できるようにした ・ラベルとシンボル定義を同じ行に書いてはいけないことにした ・メモリエディタ ・ドロップ可能な拡張子に「.z80」を追加した アセンブルソースとして扱います
・グラフィックペン(ADDCOM製ライトペン)に仮対応した ドットの無い部分場所も拾えてしまいます PC-8801-10, GSX-8800 との同時使用はできません
・アセンブラ ・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節対応 ・演算子「!」対応 ・一行で複数のラベル定義(と判断されるケース)をエラーとすることにした
・アセンブラ仕様変更等 ・「PREFIX.suffix」形式のラベルに対応した ・PREFIX は省略できます ・"." で始まるラベルには PREFIX が補完されます ・"." で始まるシンボルは禁止することにしました ※これまでとアセンブル結果が異なってしまうケースがあるかもしれません シンボルも同様のロジックを組み込んでみたのですが、混乱したのでやめました 「PC80.KEY_MAX」の様な表記は可能ですので、名前空間的な切り分けは可能です 詳細は assembler.txt を参照してください ・モトローラ形式の 8進数に対応した
・メモリエディタ上でのアセンブラの動作モードを変更した 旧:2PASS目は、解決できなかった式のみ評価しなおす 新:2PASS目も全ソースを読んで処理する asmドロップを使用するのは、最後の調整局面を想定していましたが、 便利なのでコードを書きながら使ってしまいますね 旧仕様ではエラーの発生個所を特定できないのでデバッグが面倒でした 全ログが確認できないと使い物にならないだろと割り切ったのですが、 エラー行の情報だけでも何とかなることが多いようです
・Asm2Hex (アセンブラ) の仕様を調整した ・JR, DJNZ の相対アドレスが -128~127 にない場合はエラーとすることにした ただし、式が 128~255 の符号なし即値のみの場合はエラーとしない 例1: JR 080H ... OK → JR -128 JR 0080H ... OK → JR -128 JR FF80H ... OK → JR -128 JR 128 ... OK → JR -128 JR +128 ... NG 例2: JR 0FFH ... OK → JR -1 JR 00FFH ... OK → JR -1 JR FFFFH ... OK → JR -1 JR 255 ... OK → JR -1 JR +255 ... NG ・式に出現するラベル末尾のコロンも無視することにした ※現在、末尾のコロンはひとつしか外していません ・検索用アセンブラの機能を制限した
・メモリエディタ ・検索の挙動を調整した カーソル位置との関係で違和感を感じることがあったので調整してみました ・後方への検索時は、選択範囲の先頭からメモリ末尾までを検索範囲とします ・前方への検索時は、選択範囲の末尾からメモリ先頭までを検索範囲とします ・事前の選択結果と一致していたときは次を再検索して(見つけたら)進みます 作業中に見つけたバグも潰しています ・「ASM:」,「ASZ:」(大文字/小文字の区別なし) に仮対応した ・j80 では、ASM, ASZ とも ザイログ・ニモニック になります シンボル等を定義しておけるようにしたいと考えています
・メモリエディタ ・ペースト時のエスケープ・ルールを変更した j80の他のツール類とあわせました 16進数(2桁限定)の指定は \x00 のようになります ※ \0 や \n などを追加するかもしれません ・検索機能を追加した ・選択している値の検索 [F3], [Shift]+[F3] で、後方, 前方 を検索します ・検索パネルからの検索 とりあえず、16進数, 文字列 で検索可能です ・先頭に「HEX:」(大文字/小文字の区別なし) をつけると 16進数 ・先頭に「ASC:」(大文字/小文字の区別なし) をつけると 文字列 ・上記以外は 文字列 とします 16進数は、桁の区切りにスペースがあってもかまいません 文字列はエスケープ可能です 「ASM(ASZ):」の対応も計画しています (シンボル対応も?)
・メモリエディタ ・クリップコピーした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共通) ・響 OPM のクロックを 4MHz に変更した (仮)
・メモリエディタ ・クリップコピーしたIntelHEXフォーマットのエンドレコードにsumを追加した ・アセンブラを搭載した ファイル(*.asm, *.asz)ドロップで、直接オブジェクトをロードできます 拡張子によらず「Z80 - ZilogMnemonic」として処理します ※暫定版です ・バイナリファイルの INCLUDE に対応予定です ・BIN, CMT(MONITOR) 形式での出力に対応する予定です ・マクロは仕様検討中です ・ローカルラベル対応も検討中 ・今後の予定 ・アセンブラの完成 ・メモリエディタの作り直し
・バグFIX ・メモリエディタから HEXダンプ(クリップコピー)する際にアドレスが狂うバグ ・「画面がゆれるエフェクト」に仮対応した (2) PC-8801 のグラフィック画面もゆらしてみました OPTION:-test1=2で、カラーグラフィック&テキストOFFの場合のみ有効になります 前回の PC-8001 のテキストとは違うゆれ方を実装してみました 今回の方が実装精度は高いのですが、極端な状況の画面が再現できていないので 演出に使える範囲ではあまり大きな差は出ませんでした 調整でより実CRTに近づける余地はありそうなのですが、今回はここまでとします ※bug2.txt より ・「画面がゆれるエフェクト」 (本実装は次世代?) 対応状況: ・PC-8001 (-test1=2) ・PC-8801 (-test1=2) ※カラーグラフィック画面(テキスト非表示)のみ 実機再現有無 (CRTによって異なる可能性あり) PC-8001 ゆれる可能性がある PC-8001mkII ゆれる可能性がある PC-8001mkIISR ゆれない PC-8801 ゆれる可能性がある
・「画面がゆれるエフェクト」に仮対応した ※ 注意 ※ ・再現精度はあまり良くありません ・実機環境では、ディスプレイにより表示(ゆれ方)は大きく異なります 今回は、私が常用している環境でのゆれ方を仕様としてみました 現設計でそれなりに対応できそうだったのが採用理由です ・「PC-8001」のみ OPTION:-test1=2 で有効になります (ニュートロンは残念) ・ディスプレイによっては 40桁/80桁 で表示位置がずれます (ほとんどずれない環境もあれば、80カラム時の1桁分近くずれる環境もある) これも画面揺らしに使えるのですが今回は対応していません
・バグFIX ・拡張バスのピンアサインが常に「80系」になってしまうバグ 機種(構成)確定前にバスの設定を確定してしまっていました R6.11→12 でエンバグしたようです ・「フルドットカラーPCGと共存できないサウンドボード」の設定ミス ・メモリエディタ 「書き込み時のメモリマップ」を選択できるようにした リストに表示しないようにしていたのですが、隠す理由を忘れてしまいました とりあえず選択できるようにしてみました
・仮想キーボードの管理方法を変更した cfg, cmd に変更があります (id がひとつズレました) 使用可能なキーボードの種類が、機種によって絞り込まれるようになりました u80 の Android版で必要になったため、管理機能を拡張しました
・セットアップモード cfg:MODE に負の値を設定した場合、動作不良を起こすようにした → エラー画面が出ます
・BEEP / CMD SING ステレオ出力に設定した場合、左チャンネルにしか出力されないバグFIX
・PSG(SSG):実行環境のサンプルレートを超えるトーンの処理を変更した 耳障りな(大きな)ポツポツ音が鳴るタイトル向けの恣意的なパッチを削除し、 それなりに理由の付けられる小さなパッチに置き換えました ・実機でもポツポツ音は鳴る (理由は解っています) ・これまでのパッチではポツポツ音をほぼカットしてしまっていた 副作用が大きく(PSGPCMが発声しないことがある)パッチのパッチが必要だった ・今回のパッチではポツポツ音の音量が実機より大きめかも? ・BEEP / CMD SING:BEEP と CMD SING の重ね方を変更した BEEP と SMD SING を同時に使用した際の再現性が向上しました j80 では BEEP と CMD SING でサウンドデータの生成方法がまったく違うため、 OR による重ねあわせがメンドウだったので加算していました 同時使用は考えなくて良いかな?と思っていたのですが甘かった様です ちょっとした工夫で実機と(ほぼ)同じ重ねあわせを再現できたので修正しました ・BEEP と CMD SING の音量調整を統合した 今回は cfg に変更はありません (暫定)
・セットアップモード FE/MA2 で「V1S」のスプラッシュが表示されなかったので対策しました セットアップモードの切り替え処理とは別の制御ロジックを追加してみました FE2/MC も(不具合は無いようでしたが)同じロジックを使ってみました 上記変更により、メモリの汚れ方が微妙に変わりました
・「あの紫の画面」 ・特殊制御文字がらみの未実装部分をFIXした ・PCG,セミグラがらみの問題をFIXした 本実装に着手する前に、とりあえずテスト版をFIXしておくことにしました 本実装の予定は未定です 使用頻度(皆無に等しい)を考えると、単に重くなるだけ...というのが痛い
・「あの紫の画面」に対応したテスト版を添付した PC-8001 で cfg:OPTION(-test1=1) を指定した場合のみ有効になります わかる人向け j80 の内部構造とケンカしてしまう部分が多く、すんなり組み込めませんでした ロジックは難しくはなかったのですが。。。 例によって akutsuさんありがとうございました PCGや特殊制御文字絡みで手を抜いた実装になっていますが、近日中にFIXします ・近況報告など: ・R6.33 でビデオ廻りの精度(のみ)を上げたことが原因で、余計なものがちらりと 見えてしまうソフトがあるようです cfg:DRIVE のパラメータでタイミングをずらすことで改善する場合があります ・サウンド関係では、同じような波形を逆位相で鳴らしたときに音が小さくなる 現象が FM音源でも発生しました OPN/A の実装ミスかと思ったのですが、位相を変えると音が大きくなることが 確認できたので「位相の問題」でほぼ間違いないと思います FM音源では問題ないだろうと思っていたのでショックです
・./util/files/boot_j80.rom を差し替えた 15kHz出力に対応しました ・CRTCに無茶なパラメータを食わせても落ちないようにした 再現頻度等から判断して異状時の保護を簡略化していました (負荷優先) 88系では400ライン決め打ちのソフト対策で若干きつめの保護を掛けていましたが R6b29→b30 で外れてしまっていたようです R6.30 から負荷を掛けずに保護できるようになったので、機種,描画モードを問わず それなりの対策をすることにしました ※注意: ・異状時の画面(状態)は再現していません ・今回対策したものとは違う要因で落ちるかもしれません ・Keyboard (バッファモード): ・初代8001だと拾ってくれない文字を入力した場合に警告するようにした 表示例:SKIP? chr$(&h7B) - { 初代8001に他機種のN-BASICを載せた場合は拾ってくれますが警告は出ます 通常の警告「SKIP chr$(&h7C)」と表記を変えましたので参考にしてください ・「|」,「~」に対応した 初代8001のスクリーンエディタ等では拾ってくれません (警告表示あり) 「~」は [SHIFT]-[@] のキーストロークを生成します タッチパネルの指定では「\~」または「\X7E」で [SHIFT]-[^] も出力可能ですが 8801/mkIIでは拾ってくれないようです (警告表示なし) ・マウス(母艦)関係のデバッグ出力を抑制した
・バグFIX ・タッチパネル機能: ・ガイド画像が無いとハンドカーソル表示にならなかった ・80mkIIのカラーグラフィックモード: ・落ちた (Android版のみ) R6.32→33 で 40桁/80桁のコードを統合したときのミスです APIに通知する再描画が必要な範囲が過大でした Java(Swing) では、API側で良きに計らってくれていたようです ・メニュー: ・ハンドシェイクパッチのチェック表示が状態と一致していなかった ・PSG/SSG ・リセット時のレジスタ(アドレス)の値を変更した
・「ハンドシェイク・パッチ」を用意した □問題点: ・Disk側とのハンドシェイクに失敗してデッドロックしてしまうローダーがある これは、j80の Main側⇔Disk側の「実行権切り替えロジック」に由来するものです □パッチの内容: ・Disk側I/Oポート(0xFF)に書き込みが行われたら、追加コスト(WAIT)を乗せる 結果的に OUT命令の直後に実行権が Main側に移ります ステータスチェックを抜け、Disk側が望む状態に設定するまでの時間も確保します □注意: ・使用頻度などを考え cfg:OPTION での指定には対応していません (起動時:off) ・Main側が先走ってしまうケースには効果がありません □備考: 「夜の天使たち」(JAST) が稀にしか立ち上がらなくなっていたので対策しました DiskIFを監視して実行権を切り替えるなどの積極的な介入を行う予定はありません 「特殊な」ハンドシェイクを行うソフトはいくつかあるのですが、私が知る限り、 このタイトル以外は安定して立ち上がるようなので、これに的を絞ったパッチに なっています (他に立ち上がらないソフトがあったら教えてください) ・今後の予定: ・DiskIF (PPI) を書き変える? ・CRTC-DMA まわりのコード整理 (お掃除) ・セットアップモードの詳細な調査 (折を見て再開予定)
・*.dbg ファイルが正常に読めなかった場合に GUIスレッドが落ちるバグ FIX ・*.dbg ファイルを更新できなかった場合に GUIスレッドが落ちるバグ FIX ・CRTC,描画まわりを書き変えた ・カーソルの管理方法を変更した ・80桁/40桁の管理方法を変更した ・グラフィック画面の管理方法を変更した ・その他、不要に広いままになっていたスコープの制限など ・テキスト画面とグラフィック画面の同期が乱れがちになっていたので対策した R6.29→30 の変更で、目立つ画面の乱れが生じていたので対策しました 本来は GVRAM まわりの精度も上げるべきなのですが、当面はパッチでしのぎます 80系も同様の対策が必要と思われますが、実装していません 画面の乱れが生じるソフトを見つけたら対策する予定です ・シリアルマウスの反応を調整した (乱暴な)ポーリングアクセスに耐えられるよう調整しました ・/util/files/boot_j80.rom を差し替えた Nモードで立ち上げた際に画面が表示されない不具合がありました ・セットアップモードとメニューの連動について [N][8][0]リセットをした場合、メニューが連動しません 仕様とします ・今後の予定: ・CRTC-DMA まわりのコード整理 (お掃除) ・セットアップモードの詳細な調査 (折を見て再開予定)
・88系拡張メモリボードが返すバンクの値を調整した j80 では(今のところ) PIO-8234 と PIO-8234H は区別していません どちらも PIO-8234H の振る舞いをします 互換性をうたいながら違う振る舞いをするボードがあって 実機でもイロイロ問題が生じたと聞いています このあたりのエミュレータ実装は「匙加減」かなぁと思ってますし、 あまり厳密なことをしない方が良い気もしますが試してみました 不具合が生じたら報告をお願いします [情報提供:apaslothy様] http://www5f.biglobe.ne.jp/~apaslothy/cgi_bin/adiary/adiary.cgi/07#k7p0
・cfg:FLIP による負荷削減が有効に働かない可能性があった 描画の質などには影響ありませんが、後回しにすると忘れそうなのでFIXしました ・その他 前回の履歴に書き忘れましたが、リセット時の CRTC の動作を調整しました 80系, PC-8801 は実機と比べて問題ないことを確認していますが、V2系の機種は 確認していません 違和感などありましたら連絡お願いします
・CRTC-DMA まわりのコードを整理した 40桁時の軽量化パッチなどを除去しています パッチを除去したついでに、(設計の範囲内で)精度を上げています ただし、非常に特殊な状況でのちらつき方が変わる程度の変化しか無いと思います 精度は上げましたが、乱暴に扱った際に不安定になりやすい(未調査の領域)ので、 不審な画面のズレなどがありましたら報告をお願いします ※今回の変更で「フレームスキップ」設定の負荷低減効果が減少しています ・今後の予定: ・CRTC-DMA まわりのコード整理 (続) ・セットアップモードの詳細な調査 (続)
・セットアップモード ・画面モード(パレット)を変更した FE/MA2~では常にアナログパレットが有効になるようにしました akutsuさんより報告を頂きました ・「システムの立ち上げ:ディスク/ROM」対応&メニュー連動 ※FH/MH, FA/MA の「内蔵FDD I/F:禁止/使用」の項目は使用できません ・セットアップモードで実行中は、一部のコマンドを使用できなくした ・仮想キーボード ・ResetKEY コマンド等で通常キーがクリアされたとき表示も更新するようにした ※ハードキーボードとの併用は考慮していません ・仮想キーボード側からもコマンドが使えるようにした ・ドット絵を更新した (カナは表示しなくて大丈夫ですよね?) カナやグラフィック文字はツールチップに表示しようか検討中です ・88V2機ビデオまわり ・リセット時、内部フラグに不整合が生じていたので摺り合わせた ・HiSPEEDモード変更時の内部フラグ変化タイミングを調整した ※二点とも主にパレットに関する部分です / 問題が生じたら報告お願いします ・その他 ・ディスク有無による Disk I/F の自動接続/切り離しの挙動を調整した ・ここ数バージョンの更新でクロックの管理が混乱していたので整理した ・今後の予定: ・セットアップモードの詳細な調査
・MA2セットアップ:BASICモード のメニュー連動に対応した FEも同じ仕様だと思います ・リセット時の ハイスピードTextVRAM の選択状態を変更した MA2のセットアップが安定して動作するようになりました ・cfg:OPTION -video, -bold を追加した ・仮想キーボードのドット絵を更新した (未完成) ・R6.26 で予告した「8MHz機の PCG8800 対応廃止」は取り止めにします ・R6.26 より、セットアップROM (cfg:BOOT) のサイズが 32K に変更になっています ・FH/MH, FA/MA 24K のままでも問題ありません ・FE/MA2, FE2, MC フォントデータを含めた 32Kbyte が必要です ・今後の予定: ・セットアップ⇔メニュー:ディスク関連 の連動 ・セットアップモードの詳細な調査 ・仮想キーボードのドット絵完成
・仮想キーボードのドット絵更新 まだ完成ではありませんが、とりあえず使用に耐えるレベルまで何とかしました
・バグFIX ・スレッドがデッドロックすることがあった (メモリエディタ & トレーサーGUI 表示中にメニューから *.dbg 指定) ・トレーサーGUI を表示した後、メニューの *.dbg の選択状態が同期しなくなる ・デフォルトのパス設定を変更した (keymap → keyboard) ・セットアップROMのサイズを 24Kbyte → 32Kbyte に変更した ・仮想キーボードを追加した 右クリックでロック機能の無いキーも押したままにできます 仮想キーボードはデバッグ(トレース)やキーの同時押しを再現するためのものです 常用することは想定していません ハードキーボードと併用した場合の動作は保証しません ドット絵は未完成です ・今後の予定: ・8MHz機の PCG8800 対応廃止 ・FE2,MC 世代のセットアップモード調査 ・仮想キーボードのドット絵完成
・バグFIX ・8MHz機でリセット時に メニュー:V1/S, V1/H のチェックが入れ替わるバグFIX ・cfg 変更 8MHz機の設定方法を変更しました 正しい機種を指定しないとうまく起動しません ・8MHzHモードの無い機種では 8MHz(ノーウェイト) で動作できないようにした FE2,MC 以外では 8MHzH モードを指定できません セットアップモードとの整合を図るための措置です 添付のダミーROMを用いる場合は、ROMに係らずどの機種とみなしても大丈夫です ・FH/MH, FA/MA 世代のセットアップモード クロックによる挙動の違いに対応できたと思います ディスクの切り離しは j80 のデバッグモードとの兼ね合いで調整中です ・FE2,MC 世代のセットアップモード BASICモードの変更, 動作クロックの切り替えに対応できたと思います ディスクの切り離しは j80 のデバッグモードとの兼ね合いで調整中です まだ調査が終わっていません FE/MA2 もこの世代と同じ実装にしていますが、未確認です ・デバッグコマンド「現在のメモリマップ」で BOOT(セットアップROM) に対応した トレース, メモリエディタからの操作には問題ありませんでしたが、 デバッグコマンドの「現在のメモリマップ」から BOOT が見えませんでした (セットアップ中にブレイクして[Alt]+[Num:*]→ BASIC ROM をダンプしてしまう) ・メモリエディタから、BOOT(セットアップROM) を指定できるようにした ・リファクタリング ここ数バージョンの突貫工事で乱れたコードを整理しました 8MHz機対応時に荒れたままになっていた部分もまとめて整理したので、 セットアップモードのない機種にも影響があります
・キーマップに関するバグFIX その機種で使用できないキー(ポート)を押すと UIスレッドが落ちてしまいました 本来は無視するはずでしたが、どこかでエンバグしたようです ・8MHz機のセットアップモード akutsuさんにテストに協力していただき、警告画面が出ないところまで作りました セットアップモードでは、j80のメニュー等から設定を変更しないでください 変更した場合の動作は保障しません 「システムの立ち上げ:ディスク|ROM」「内蔵FDD I/F:禁止|使用」の二項目は 設定内容が反映されません (暫定) モードスイッチ類が全廃された機種についてはまだ調査できていません ※ディップスイッチ等の管理方法を変更しました セットアップモードを持たない機種にも影響があります ・検討中: ・メニューの状態などを覚えておく機能の追加
・8MHz機のセットアップモードに関係するポートを実装した セットアップモードに入れるようになりました akutsuさんにテストに協力していただきました ありがとうございました (引き続き協力お願いします) ※自己診断でエラーが出ます ・いくつかのデバイスの初期化処理を変更しています ・GUIへのコールバックを用意した
・8MHz機のブート手順を見直した セットアップモードの ROM が必要になります 用意できない方は ./util/files/boot.rom を使ってください cfg:BOOT に ROM が指定された場合のみ 8MHz機とします ENHANCE 0(デフォルト)が OPN, ENHANCE 1 が OPNA 搭載機になります ※動作確認はしてません 動かなかったら ./util/files/boot.rom を使ってください オフ会などでよく話題になるのを思い出して作ってみました うまく動いたとしても、設定した内容がメニューなどに反映されません 設定内容も保存されません 今後の課題ということで エミュレータ的には有り難味のない部分で、スクリーンショットを撮るぐらいしか 使い道が思い浮かばないのですが、ひと通り動くまではなんとかするつもりです
・バグFIX ・バスマウスの内部ロジックを変更した 仕様どおりだと不安定になるソフトがあったのでパッチを当てていましたが、 拘束期間の計算ミスでした (10倍になっていた) 修正してパッチを除去したところ問題無さそうでしたので、コレでいきます 何か不具合が生じていたら教えてください ・メモリエディタの範囲選択に関する不具合を修正した バグが残っていました ・ファイル入力処理を微調整した EOF で「何もしない」動作を一回追加していたのを削除した CR+LF を拾った際の、CR+「何もしない」動作は従来のままです ・メモリエディタからIntelHEX形式でクリップボードにコピーできるようにした ・トレース用逆アセンブラのレイアウトを微調整した ※コメントをどう記述しようか迷って、そのまま忘れていた命令が残っていました 今回も手を着けていません ・cmd 変更 Delay=n → CMT.delay=n VolumeSYS:i=n → SYS.slot:i=n VolumeBUS:i=n → BUS.slot:i=n VolumePRN:i=n → PRN.slot:i=n
・デバッガ GUI に絡むエミュレータ側の制御ロジックを調整した 旧:メモリエディタがアクティブでなくなる際に暗黙の一時停止を解除する 新:メインウィンドウ, トレーサ がアクティブになった際に~ 追加:メモリエディタが閉じられる際に暗黙の一時停止を解除する ・自動タイプ機能の内部実装を変更した ・ファイルを一括で読むようにしました / 入力ファイルはすぐに開放されます ・改行を含まない長い文字列に対応しました ・自動タイプ中にローマ字入力等をした場合の挙動が変わりました 旧:直後の改行後に挿入 新:ファイル末尾までタイプ後に挿入(多くの場合バッファFullで無視される) ・クリップボードの内容を自動タイプする機能を追加した コピー元のアプリの実装や文字コード等の影響で文字化けすることがあります N-Font を導入し、秀丸(欧文), EditPad Lite(windows-1252) で編集している 場合は、問題の無いことを確認しています Shift-JIS や UTF-8 等で編集している場合でも、カナ(画面で化けていない部分) は持って来れるはずです ・逆アセンブラの表記を変更した (試行中) 16進数:$* → 0*H 2進数:%????_???? → ????_????B トレース用逆アセンブラの表記は(表示スペースの関係で)そのままです
・バグFIX:メモリエディタ(HEXファイルのロードに関する問題) ・ロード範囲外のデータが含まれる場合の無意味な CheckSUM ERROR を抑制した ・ロードされるデータが 0byte の場合にエラーを吐くバグ FIX
・バグFIX:CRTC ・特殊制御文字まわりのエンバグFIX
・バグFIX:メモリエディタ ・ASCIIダンプ部分を選択すると対象範囲が16byteずれる件の修正漏れ (fill) ・選択範囲がおかしくなることがある ロジック変更により恒久対策しました ・CRTC等 ・実装を整理した akutsuさんに「uPD3301A CRTC ユーザーズ・マニュアル」を見せて戴きました ありがとうございました いつかDMAや周辺回路を分けて実装し直すことを想定してコードを整理しました タイミングや基本的なロジックの変更はありません 「特殊制御文字」も把握できたのですが、情報としては不十分なようです 実機での動作にあわせて、いくつかロジックを追加(パッチ)しています
・バグFIX ・インテルHEXファイルのロードミス FIX ・メモリエディタからメモリを更新する際に、対象範囲が狂うことがありました
・デバッガ(メモリエディタ) インテルHEXファイルのロードに対応した (*.hex) Dmp2Cmt(tools80 R6.4~) で -HEX オプションをつけると、 「インテルHEX形式」で、「拡張子 .hex」のファイルを出力します ダンプ入力して j80 に持ってくる場合、 1. Dmp2Cmt(モニタ形式) → テープイメージとしてロード 2. Dmp2Cmt(モニタ形式) → Cmt2Mem → BINヘッダ挿入 → デバッガにドロップ の2ルートがありましたが、デバッガへのルートが使いやすくなりました 3. Dmp2Cmt(-HEX オプション) → デバッガにドロップ
・バグFIX:メモリエディタ ・ASCIIダンプ部分を選択すると対象範囲が16byteずれる ・ポップアップの「Fill」が壊れていた ・バグFIX:トレーサ ・ブレイクコマンドを割り込みレベル毎に覚えていなかった 最後に登録したコマンドがすべてのレベルに適用されていました ・バグFIX:OPN/A ・SSG-EG の下り側の処理が壊れていた (R6b51→52 でエンバグ) リファクタリング時に OPMのコードをコピペしてしまったようです ・バグFIX:88系描画 ・メニュー等からパレットに絡む変更をしたときの更新ミス R6.2→R6.3 で統合した R7系 のバグ ・メモリエディタ ポップアップの「Reset」は選択範囲と無関係で紛らわしいので廃止した (「Fill」が壊れていた影響で、表示されていませんでした) ・OPN/A SSG-EG の「変化速度」を調整した (仮) OPNアプリマニュアルでは「通常モードより変化が速くなります」だけで、 良く分からなかったので放置していました bookworm さん (http://www.geocities.jp/submarine600/index.html) が テストプログラムを公開されていたので、とりあえずレベルで調整しました 単に速度の問題だけではなく、サスティン から アタックに戻るタイミングにも 問題がありそうですが、今後の課題ということにします
・トレース用GUIを追加した ブレイクポイント等を (他のテキストエディタを使わずに) 設定できるように なりました 他のデバッグ機能との連携はできていません ・電源投入直後, リセット直後 にCRT画面をクリアするようにした ・大掃除
・バグFIX ・DMAの設定によっては落ちることがあった R6b29→30 でエンバグ ・*.dbg で、存在しないバンクを指定すると落ちる ・*.dbg で、メモリ指定「ERAM」が効いていなかった ・デバッグモードスキップ中にメニュー選択などでブレイクしてしまう ・デバッガ「連続実行」仕様変更等 ・名称を「継続実行」に変更した ・継続実行中は GVRAM, ALU, 辞書ROM に侵入しない 但し、ブレイク時に PCが GVRAM, 辞書ROM にいた場合は当該メモリを表示する 拡張アクセスしていた場合は メインRAM を表示する(変更なし) ・モニタ(GUI)追加 メモリとレジスタを操作できます デバッグモードでなくても使用できます *.bin ファイルをドロップすると、選択しているメモリの該当範囲を上書きします
※R6.10 があまりにもめちゃくちゃだったので早めに更新します デバッガの仕様を決めながらの実装なので、コードが荒れています 前回ほど酷いことはないと思いますが、バグやおかしな仕様があると思います メモリの種別など、今後の GUI化 などにも影響しますので、 気になる点がありましたら、早めにメールでコンタクト願います ・デバッガ修正 (仕様変更あり) 「メモリ種別」を跨いだ命令は逆アセンブルできません 例外として、高速TextVRAM のみ、メインRAM とシームレスに扱うができます 「メモリ種別」とサイズ(範囲)は、sample.dbg を参照してください ※メモリの選択状況によっては、記述のサイズと異なる場合があります ・8K ROM の 32K連続アクセスを廃止した ・MainRAM→TextVRAM 連続アクセス実装漏れ ・デバッグコマンドを「連続」実行した際の動作を変更した 旧:アドレス省略コマンドのみポインタを更新する 新:常にポインタを更新する 特定のメモリを対象としてコマンドを実行すると、メモリ種別も引き継がれます その後連続実行を続けると、そのメモリ種別の境界でスタックします ・デバッグコマンドで自動判別するメモリ種別について: ALU選択時の当該エリアの dump, disasm 対象は、 「メインRAM」 (80SR) 「メインRAM」 (88V2機 / 高速TextVRAM 非選択時) 「メインRAM + TextVRAM」 (88V2機 / 高速TextVRAM 選択時) とします (暫定)
・デバッガ ・デバッガ実行時の負荷を(少し)減らした 通常利用時の負荷を上げないことを優先して設計したので、 このあたりが限界だと思います ・二進数表記に対応した ・トレース用逆アセンブラの表現を調整した ダンプを省略しました ・静的な逆アセンブラの挙動を調整した 「続けて」実行する際に、ブロック境界でスタックしないようにしました また、解決できないコードを拾っときのダンプ表示も調整しています ・ASCIIダンプを追加した コンソール用なのでムチャなマッピングはしていません 表示が乱れる方はレポートください 「漢字」については一切考慮していません ・メモリマップ表示コマンドを追加した (Debug:3) ・*.dbg での ROM の指定方法を変更した *.cfg と「表現 - サイズ」を揃えました 旧仕様と同じように 32K連続で扱うこともできるようにしてあります ・コード整理・表記ミス訂正等 将来の機能拡張などを考えて調整しました ラベル表記や、データ領域の指定ができたりすると良いなと考えています ・「CDOS-II」の「2HDフォーマットパッチ」発動条件を厳しくした 不具合の報告はありません 「トレースモード(DEBUG:6 コマンド)のみ有効」の制限を緩和する準備です 2HD Diskをフォーマットするソフトが誤爆しないか確認いただけると助かります
・バグFIX ・*.dbg をメニューから開くと落ちる ・割り込み時のブレイクコマンドの実装ミス (クリアミスによる誤動作あり) MR,MW も使えなかったかも ・相対ジャンプアドレスの計算ミス (静的な逆アセンブラ) ・リセット時に内部状態がおかしくなっていた (88V2機 HiSPEED モード) ・*.dbg ファイルの仕様を大幅に変更した この仕様でFIXできると思いますが未定です ブレイク中なら、任意のデバッグコマンドを実行できるようにしました デバッグコマンドで「メモリ種別=対象アドレス」を省略できるようにしました 省略した場合「次回アクセスするであろうメモリ」を選択します (制限あり) また、アドレスは更新されますので「続けて~する」ことができます [参照:debugger.txt, sample.dbg] ・アトリビュートの扱いを調整した 「ブリンク」も次の行に引き継ぐようにしました ・その他 ・uPD70008 HALT 仮対応 ・88V2機 高速TextRAM の実装を変更した 不明点をFIXして、メモリ・デバッガ実装の障害を除去しました kitahei88さんに実機検証をしていただきました ・Kajaさんとkitahei88さんに、デバッガの仕様出しを手伝っていただいています
・バスマウス タイムアウトを調整した ・シリアルマウス 適当だったマウス接続時に返すステータスを、別の適当な値に変更した
・バグFIX ・*.dbg ファイルで「OT」が使えなかった ・デバッガ機能追加 (トレース) ・I/O命令では、やり取りした値を2進数でコメントすることにした ・I/O(アドレス,ビット)にラベルを設定できるようにした アドレスラベルはリリース前に廃止しました ビットラベルは残してあります Diskのハンドシェイクなどが見やすくなるかと思ったのですがイマイチ ・実行後のレジスタを表示するようにした ステータス類と同様の表示方法ですので、他のコンソール出力で消されます ・EI/DI 表示を追加した ・デバッガ機能追加 (ブレイク) ・ダンプ機能を追加した ・逆アセンブル機能を追加した ※./doc/test.dbg 参照
・バグFIX ・サブシステムがある場合、無効なコマンドを検知できていなかった ・サブシステム側への「DEBUG:2」コマンドが無視されてしまっていた ・サブシステムが無い状態で「DEBUG:2」コマンドを送ると GUIスレッドが落ちた ・ブレイクポイントをファイルで指定できるようにした とりあえずファイルに記述して指定してください (DnD対応 / *.dbg) *.dbg はテキストファイルです (暫定仕様:test.dbg のコメント参照) ・j80.cmd ・+DBG コマンド追加:デバッガの設定ファイルを指定する(ブレイクポイント等) ・ DBG コマンド追加:ブレイクポイントの一括解除 / 再指定 ・j80.cfg ・-TMP 廃止 ・-DBG 追加 -TMP から -DBG に移行しますが、動作が異なるので名前を変えました ディレクトリだけでなくファイル名(*.dbg)も受け付けます メモリを一括ダンプする場所は、このファイルの場所になります 今までと違い、出力場所が固定ではなくなりますのでご注意下さい
・デバッグモードでは、常に標準カーソルを表示することにした (消せません) ・マニュアルブレイクの動作を改善した 片方のCPUだけデバッグしているときに、ブレイクしない(pause)ことがあった ・uPD780 NoHALTパッチの実装を変更した 旧:HALT を 時間指定可能なNOP とする (設定時間停止する) 新:HALT を 時間指定可能なNOP+割り込み とする (停止後に勝手に割り込む) これにより、デバッグモードで Disk側の割り込みを検知できるようになりました 負荷も若干増えましたが、仕方ないですね 動作タイミングが多少変化しました Latency設定のデフォルト値は変更していません 「Latencyなし」でうまく動かなくなったタイトルがあったら教えてください
・uPD780 ・2byte PUSH の実装を変更した これにより、メモリをアクセスする順序が変わりました ・j80GUI ・タッチパネルのガイド画像を常に表示させるようにした 画面を頻繁に書き変えるソフトではちらつきますが、当面は放置します 対策方法は解かっていますが、細かな調査が足りていないので保留します モノクロのブロック崩しにコレで色を付けるような使い方は…想定していません あわせて、パネルを変えても旧画像が残るようなおかしな挙動も直しました ・シリアルマウス,バスマウス使用時に「移動カーソル」を表示するようにした 「移動カーソル」は「Cursor」コマンドで、表示/非表示 を切り替え可能です ・デバッガ (実装中) ・j80.cmd に追加変更があります DEBUG:n 追加&割り当て変更 DEBUG.step=n 新規追加 ・ステップ実行用の制御ロジックと逆アセンブラを実装した (仮) ※デバッガ実行中はマウスポインタの表示がおかしくなることがあります (仮)
・TEXT描画 (8x01):R7系の精度向上パッチを先行採用した ・GVRAM描画(8801):R7系の精度向上パッチを先行採用した (80系は保留) ・I/Oポート ・8001 :保留していたミラー設定を有効にした (暫定) ・80mkII:保留していたミラー設定を有効にした (暫定) ・8801 :保留していたミラー設定を有効にした (暫定) ・88V2~:I/Oのミラー設定を解除した (R6b56で追加したポートを戻した) ・GUI ・ファイル入力(TyperINP)も DnD に対応した Textファイルはプリンタの用紙指定にしようか悩んでいましたが、 こちらを優先しました (暫定) ・その他 ・DnD時のメインループ保護を簡素化した (過剰だった?) ・コンソール出力を調整した (プログレス系との絡み)
・Disk System ・「FDD」コマンド (Drive Online) の動作を変更した (デスクトップ環境ではほとんど使わない機能だと思います) OFF→ON 時の、CPU, MEMORY, DRIVE のリブート処理を廃止しました ただし、DiskIF(8255) の状態は初期化されます (入出力モードの設定含む) したがって、うまく再開できないケースもあると思います なお、高速化の為、ポートアクセス時に動作モードをチェックしていないため、 モードを再設定しなくても動いてしまうかもしれません ※Disk側のみをリブートする手段がなくなりました 要望があれば追加します ・Java ・IME禁止措置にパッチをあてた Java6(WinXpのみで確認)だと、一度メニューやポップアップを開かないと IME禁止が反映されなくなっていました どうやら、フォーカスを受け取った とき に設定が反映されるようになったのに ウィンドウ構築直後(?)のフォーカス遷移はトリガとならないようで... (有効なタイミングで、明示的にフォーカスを外す→当て直す で改善) ・J2SE 1.4 の API を呼ばないようにした 双子起動のコンパネで使ってしまっていました 起動直度にコンパネにフォーカスが当たった状態にするコードですが、 無くても問題無さそうなので削除しました
・8001の「ALL RAM 化」ロジックを調整した ・8001の一部ミラーポートを変更した ・80mkIIの一部ミラーポートを解除した
・DnD 可能なファイルに N80 を追加した → N80ファイルとして開きます (テープイメージとして扱いません) ・YM2608 ・ADPCM「ROM/RAM-READ(外部メモリー→OPNA→CPU)」の動作を修正した ・ADPCM「音声合成(CPU→OPNA)」を書き直した (未テスト) ・ADPCM「DA変換」を仮実装した ・88系リレー音 を変更した(暫定) ・8801 : 80sr用を流用 → 8001用を流用 ・88ii : 80sr用を流用 → 80ii用を流用 ・88v2 : 80sr用を流用 ※変更なし ・88x2 : 80sr用を流用 ※変更なし ・BUS, PRN のボード類を整理した (ID に変更があります → j80.cfg) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・N80ファイルをテープイメージとして使えるようにした マシン語モニタと同じフォーマットにしましたが、Lコマンドでは読めません 本体イメージの前にIPLが出力されますので、mon→L で読み込んでください 本体をロードして自動的に起動します ・CmtUtil ・「HudsonCOMPAC:FORM/PC」に対応した ・Cmt2Cmt ・「HudsonCOMPAC:FORM/PC」に対応した ・「ASCII:PASCAL-PC」に対応した ・「BondSoft:YAMETE!!」を微調整した ヘッダの後ろの MARK を 300tick → 200tick に変更 セーブデータのアドレス表示が前後ブロックで入れ替わっていたのを修正 ・Ipl2Cmt ・上書きしてしまうBASICのワークエリアを、リセット直後の値とした
描画プログラム作成:あやおり さん |
・辞書ROM 仮対応 未テスト ・8801 一部のミラーポートを追加した ・uPD780 実装漏れの未定義命令を追加した ・RLC/RRC/RL/RR/SLA/SRA/SLL/SRL (IX/IY+d),r ・SET/RES b,(IY+d),r ・BIT b,(IX/IY+d) のミラー ・NEG のミラー ・RETN のミラー ・IM 0/1/2 のミラー ・Disk 例外でディスクイメージをマウントできなかったときの処理を変更した 拒否された後の GUI の振る舞いが変わりました ・拡張ボードの管理部分を整理した
・YM2608 「ONION software 100円ディスク」収録「ADPCMオケヒ音」に対応した http://onitama.tv/pc88page/index.html ADPCMメモリへの書き込み動作を調整してみました 正確なロジック,精度での実装ではありません (いわゆるパッチ) 副作用も想定しています ADPCMデータのロードで固まったり、実機と違う音がしたら報告をお願いします 深刻な問題が生じるようならパッチは削除しようと考えています OPNA実チップを叩いての調査は、KAJAさんの手腕によるものです 今回の調査では、KAJAさんにはムチャなお願いばかりして申し訳なかったです 当時を知らないので「非常識」なことばかり言ってましたが、 「新鮮な視点」という意味では役に立ったかな?と思っています また、UME-3さんには、実機ADPCMメモリのダンプを採取していただきました ありがとうございました ダンプデータに加え、以前実装しておいた ・くれゆにさん提供の FHのメモリ初期パターン ・kitahei88さん提供の 88SRのメモリ初期パターン が問題解決の突破口になりました ありがとうございました
・YM2203, YM2608, YM2151:EG アタックカーブを調整した
・YM2151:LFO ・ノイズ(PM)の符号処理を修正した (R6b52 でエンバグ) 音程が極端に怪しくなったのはコレが原因でした なお、ノイズの更新頻度は 128回に戻さず 256回のままとしておきました 更新頻度256回だと甲高くなってしまう音があるのですが、 今回の OP の修正であまり気にならないレベルになりました また、PMの精度でかなり印象が変わるので、調整で解決できるかもしれません ・YM2151:OP (OPN/A:PG, OPM:PG) LFOのかかりが浅いと感じていたのは、F-Number と DT(1) の問題だった様です (LFO波形がノイズだったので、おかしいとは思っていたのですが...) OPN/A 実装時に、資料から推定したロジックだとうまく鳴らなかったので、 適当にでっち上げたままでした 計算量を減らそうとして計算式を壊していたのが原因だったようです 冷静に実装し直したところ、当初考えていたロジックでちゃんと鳴りました OPMでの問題も解決できたので、(やっと)正解にたどり着いた気がします ・80SR の動作速度を修正した R6b43 でクロックの扱いを変えた際の変更漏れです
・YM2203,YM2608,YM2151:EG ・アタック中にレートを変更した場合、次の更新時に変更を反映するようにした なぜ「更新を反映しない」設定にしたか覚えていません 試行して戻し忘れていただけかもしれません ・EG の更新頻度を、PG の更新頻度の 1/3 にした (減衰量を 1/3 にしても問題なさそうでした) YM2151 資料の「0dB~96dB」の所要時間をほぼ再現できるようになりました OPN/A の「プリスケール」との関係は未調査です 再生レートが低い場合でも、その 1/3 になってしまうので注意してください # 具体的にどの程度「悪化」するかは未確認です # 状況によっては対策を施す予定です ・アタックカーブを調整した 主に頂上付近の形状が変わりました ・ピークに達するのが早くなった ・強引に 0dB に遷移させていた「角」が消えた ・コード&コメント整理 ・YM2151:LFO ・ノイズの更新頻度を1周期あたり 128回 → 256回に変更した 今回の EG の変更により 音程が怪しくなったものがあったので、 (比較的)納まりの良い 256回に変えました 今後の LFO の修正によって変わる可能性があります ・コード整理
・YM2151:LFO ・周期計算を変更した R6b47 の変更は間違いだったようです ・ノイズの更新サイクルを変更した 1周期あたり 128(64?)~256サンプル生成すると実機と音が合うようです とりあえず今回は 128サンプルとしておきました (結果的に、ノイズの更新頻度は R6b47~R6b50 と同じになっています) LFOの実装はまだ問題がありそうなので、今後バランスを変えるかもしれません ・波形テーブル生成ルーチンを整理して書き直した (値に変更なし) ノイズについては調整中ということで、テーブルを使うのを見合わせました ・その他コード整理等 ・DnD時にウィンドウを最前面にしてフォーカスすることにした 環境によっては一部または全部の要求が無視されるかもしれません
・cfg:OPTION ・-doubler=n 追加 起動時に「倍速設定」を有効にできます ・双子起動時は「フルスクリーン起動」の指定を無視することにした ・DnD対応 拡張子のみで判別しています Tape(Player) : cmt, t88, cas, bas, bin Disk : d88, 88d, dat (過去に要望のあったもののみです) Tapeイメージは「入れ替え」の動作になります Diskイメージは、 1. 空きドライブの若い番号順に 2. 若い未使用イメージから マウントします イメージを勝手に取り出しませんのでご注意ください ※環境や設定によっては画面がちらつきますが仕様です ・YM2151 ・LFO:PM を調整した マイナス側でも資料の cent値を再現できるようにしてみました ※OPNA の LFO:PM にも同様の問題がありますが、 大きな差は生じないので当面放置する予定です ・ディスク側が機能していない場合は、pause時に PC,SP,I を表示しないことにした ・コンパネにポップアップメニューを追加した 現在 RESET コマンドのみ対応
・コマンド入力時の2回目以降のキーリピート防止パッチ設定変更 禁止期間 250msec → 125msec ・「双子起動」に対応した 起動オプション -twins で j80 ふたつと「コントロールパネル」を立ち上げます コンパネにフォーカスがある場合は、キーイベントが両方の j80 に配信されます どれかひとつを閉じると、すべて終了してしまうのでご注意ください
・YM2151 ・LFO:PM の「1/2 パッチ」を除去した 実機(80SR+響) と聞き比べて決めました イマイチな点は他に原因があるかもしれないので、恣意的なパッチは無しですね 資料の解釈を間違えていて、実装の 1/2 が正しいという可能性もありますが...
・YM2203/2608/2151 ・サイン波のテーブルに「0」を含めないようにしてみた (仮) ・「アタックなし」での状態遷移を修正した 強制無音処理のフェーズへ遷移させてしまっていました 「絶対ダメ!」ってコメント書いてあるのに... R6b41→42 でエンバグ YM2151 も同様の書き変えをしていたので元に戻しました ・YM2608/2151 ・LFO:AMS=0 の時の追加オフセットを元に戻した R6b45 で実装を変更した際に、不要になったと勘違いして外してしまいました 「AM:ON で AMS=0」のケースで効果を殺しきれていなかったと思います (未確認) ・LFO:AM/PM テーブルを作り直した 少し前のバージョンから、AM/PMでテーブルを分けています オフセットと位相が違うだけだと思いますが、処理速度を優先しました OPMの「ノイズ」は AM/PMで(内部処理用のスケールが違うので)揃っていません ・YM2151 ・LFO(カウンタ)の管理ミスを修正した 2piのマスクが 1bit 不足していました... ・LFO:AMD/PMD の計算ミスを修正した 効果が半分になってしまっていたようです ※PM は効果が強すぎるようなので、修正後に半分にしました (暫定パッチ) ・LFO:PMS の幅が広がった影響を実装に反映させた オーバーフロー対策がOPNA仕様のままでした PMの「混ぜ方」にも問題があるかもしれません (精査予定あり) ・「フィードバックあり」の PM 適用ロジックを修正した 前項のオーバーフロー対策の一部が適用されていませんでした
・「響」の割り込みに対応した (仮) YM2603 の MIDI-clock Timer を仮実装してみました 「響子」のサンプル曲を鳴らせるようになりました YM2151 の割り込み(PIN2)は、どこにも繋がっていないように見えましたので、 機能しないようにしてあります ・サウンドボード(BUS) のコンソール出力を修正した 「割り込みレベル」と「端子名」が混乱していました 「端子名」に統一しました
・OPNA ・PMSの内部テーブルの一部を訂正した (転記ミス) ・OPM対応にあわせ、コードを整理した ・OPM ・DT2 対応 ・LFO 対応 ・NoiseGenerator 対応 ・CSM 対応 (動作未確認) これでひと通り実装したことになります まだ、うまく鳴らない音も多いです ・cfg サウンドボードID 変更 12 : PCS-8081(テクノシンセ) → 13 13 : PCS-8007(ルンルンシンセ) → 14
・RESET.clear コマンドの動作を変更した PCG サウンドまわりの初期化処理を追加しました リセット(クリアオプション付き限定)でカウンターを初期化します 鳴っていた音が止まります / 次回「おなら」が出なくなります ※PCG8200,8800 の実機動作は未確認です ・D88ファイル解析時の「矛盾するセクタサイズに関するパッチ」を修正した 誤爆することがあったので対策しました ・シリアルマウスに対応した (88系のみ) ・バスマウスに対応した ・ライトペンの実装を見直した ・マウスポインタの制御ロジックを変更した 1. タッチパネル機能が有効 → ハンドカーソル 2. ライトペンが有効 → 十字カーソル 3. その他 → 標準カーソル または 透明カーソル ※タッチパネル機能, ライトペン, シリアルマウス, バスマウス は同時使用可能 ・カーソル(マウスポインタ)表示 ON/OFF コマンドを追加した ・88シリアルキーボードの動作スケジュールを調整した ・SN76489 のノイズジェネレータを変えてみた ・タッチパネルの座標確認機能の仕様を変更した ・タッチパネルが有効な場合のみ / デバッグモードでコンソールに表示する ・ToolTip に連動するので、画面をクリックするとしばらく更新されない ・YM2151(OPM) 対応準備
・ライトペンの実装を見直した ・マウスポインタの制御ロジックを変更した 1. タッチパネル機能が有効 → ハンドカーソル 2. ライトペンが有効 → 十字カーソル 3. その他 → 標準カーソル または 透明カーソル ※タッチパネル機能, ライトペン, シリアルマウス, バスマウス は同時使用可能 ・カーソル(マウスポインタ)表示 ON/OFF コマンドを追加した ・88シリアルキーボードの動作スケジュールを調整した
・RESET.clear コマンド PCG サウンドまわりの初期化処理を追加した リセット(クリアオプション付き限定)でカウンターを初期化します 鳴っていた音が止まります / 次回「おなら」が出なくなります ※PCG8200,8800 の実機動作は未確認です ・Diskette D88ファイル解析時の、矛盾するセクタサイズに関するパッチが誤爆していたので 対策した ・シリアルマウス対応 (80系は保留) ・バスマウス対応
・OPNA:ADPCM バグFIX ・前回コード整理時のケアレスミスを修正した 飽和時の処理を壊していました ・前回コードチューニング時のエンバグを修正した 算術シフトにより誤差が生じていました ・uPD780 バグFIX ・BIT命令時のフラグ変化(未定義bit)を修正した 未定義bitに対応したつもりが、意図したコードになっていませんでした ・全般 ・クロックの扱いを変更して、8MHzや倍速動作時の端数処理を廃止した ・OPN/A ・構成を見直した (パッケージ変更) ・uPD780 ・CCF命令時の HCフラグの不定変化を「未対応」に戻した ・フラグレジスタの「未定義bit」に対応したコードを増やした ・論理演算系 ・シフト・ローテート系 ・IN r,(C) ・DAA ・LD A,I / LD A,R ・ADD命令専用のフラグテーブルを追加した (テーブル版のみ) ・CMT ・クロック(カウンタ)の更新頻度を下げた 1命令毎 → サンプルレート毎 「80系はクロック無視」は変更ありません ・その他 ・switch文を調整して地味な高速化を図った Javaのバイトコードで「tableswitch」にコンパイルされた場合でも、 Dalvik では「sparse-switch」になってしまうことがあるようです Android版ではそれなりの効果が確認できたと思います ・上記調整にあわせ、ミラーポートの一部を追加した ・演算順などを調整して無駄を減らした (主に uPD780) メソッド呼び出しは(有効に使えば)ソースレベルのインライン展開より 高速に動作するようです
・8801(8MHzH) の速度を調整した (暫定) ・8801/mkII の速度を調整した (ロジック変更を含む) ・8801/mkII のメモリ・パターンを変更した ・8801(8MHz機) の ポート 0x6E 未使用bit(?) を実機と同じ値にした 実機調査には kitahei88 さんに協力していただきました ベンチマークテストには、くれゆにさん作 「テストプログラム2 (まとめて実行ver.)」 「RAM内容保存ツール」 http://www7b.biglobe.ne.jp/~crazyunit/pc88.html を使用させていただきました ありがとうございました ・88V2機の構成で、ディスプレイ種別を変更すると落ちることがあるバグ FIX ・音量 ・SSG の音量のみ 1dB 刻みで調整できるようにした (暫定) FM側とのバランス調整には(まだ)精度が足りないかもしれません ・OPNA:RHYTHM音源の音量を変更した 計算ミスで設計の音量が出ていませんでした ・BEEP, SMD SING の音量を調整できるようにした ※cfg:「音量バランス等の初期設定」に変更があります パラメータ順が変わっています 設定項目が変わっているものがあります (PC-8801-10 + PC-8801-11) ・OPN/A ・F-Number設定ロジックを変えてみた R6b25-26 で当てたパッチとは少し違うロジックにしてみました 下流工程の簡素化にも繋がるので、試そうと準備していたのですが、 忘れていました。。。 ・CSM/効果音 ⇔ 通常モード 変更時の動作を変更してみた 根拠レスです お気づきの点ありましたらレポートをお願いします
・ADPCM 条件によっては発声しないことがあったのを修正した ぴっけるで掘り当てました もしかしたら、意図しない発声をするケースもあったかもしれません
・80SR グラフィック表示ロジックを修正した
・j80cfg -bus,-prn がドキュメントどおりになっていなかったのを修正した (「=」を省略できなかった) ・80mkII,80SR,8801 グラフィック表示ロジックを修正(追加)した 実用的な設定では無いと思い、あまり真剣に実装していなかった部分です 88実機テスト中にくれゆにさんが見つけてくれ、追試までしていただきました ありがとうございました 80系実機でも同様の動作が確認できたので、あわせて実装しました ・8801/mkII パレット(TEXT)がおかしかった?のを修正した 詳細は未確認ですが、たぶんリファクタリング時に壊したんだと思います V2機のデジタル出力と同じになったはずです
・コンソール出力 抑制 ・88FR/MR 修正 ・SPEEDスイッチ有無がおかしくなっていたので修正した
・全般 ・漢字ROMのアクセスに「おまじない」が必要な「旧タイプ」を復活させた 80系すべて, 88系は88SR/TR世代までの機種で「第一水準」をアクセスする際に 「おなじない」が必要になります 機種とソフトの組み合わせによっては漢字が豆腐になる現象が再発しますので、 ご注意ください 88SR の ROM を 88FR/MR に載せても問題なさそうなので、 細かな点に煩わされたくない方は cfg で「後期モデル」を指定してください ・80SR ・画面更新ミスを修正した R6b33 でエンバグしていました ・8801系全般 ・メニューを調整した 専用のメニューがある項目は「ディップスイッチ等」の一覧から除外した ・88V2(4MHz)機 ・RAM の初期パターンを変更した (微妙な部分は暫定です) パターン採集はくれゆにさん作成のツールを使用させていただきました http://www7b.biglobe.ne.jp/~crazyunit/pc88.html kitahei88 さんには 88SR実機の詳細な調査をしていただきました http://kitahei88.dtiblog.com/ ありがとうございました ※今までのバージョンで動いていたソフトが動作しなくなることがあります j80 の機種設定を「8MHz機」とすることで、回避できるかもしれません ・「88V2 4MHz機」を「前期モデル」と「後期モデル」に分けた j80cfg:ENHANCE で指定してください ・ENHANCE 0 : 前期モデル (PC-8801mkIISR/TR) ・漢字ROMのアクセスに「おまじない」が必要 ・ENHANCE 1 : 後期モデル (PC-8801mkIIFR/MR) ・漢字ROMのアクセスに「おまじない」が不要 ・88V2(8MHz)機 ・速度調整 今回は積極的な調整ではありません 試行錯誤していて、本番用に戻し忘れていたパラメータの修正です
・88(V2機) 動作速度調整&ロジック変更 前回までに引き続き、くれゆにさんにご協力いただきました。 ありがとうございました。 ・8MHz 動作時の WAIT を一部修正した ・88系 GVRAM まわりのコストを調整した ・NormalSPD系モードでは 高速TextVRAM を選択できないようにした ・NormalSPD/HiSPEED変更時、TextVRAMの参照(ポインタ)を切り替える際に データを引っ越す処理を復活させた ・RAMの初期パターンを調整した (お手数をおかけしました) ・80mkII ・RAMの初期パターン(前半32K)を調整した (悩み中) ・80SR ・RAMの初期パターン(前半32K)を調整した ・8801/mkII ・RAMの初期パターン(前半32K)を調整した (暫定的に80mkIIと同じとしています) ・ディスクアクセスの時間コスト調整方法を変更した 1. 最初のセクタを見つけるのにかかる時間(%) ディスク一回転に要する時間に対する割合で指定します ディスクの回転はシミュレートしていないので「平均的な時間」を設定します 「シルフィード」のような特殊なアクセスは想定していません 連続するセクタの最初の1byteの待ち時間は内部で決定しており変更できません 2. ディスクアクセス(Read/Write)中にCPUが作業している時間(state) CPUがFDCからデータを受け取ったりする時間です アクセス時間 = HALTしていた時間 + 解除後に作業してHALTするまでの時間 Read/Write で作業時間が異なるかもしれませんが、区別して設定できません
・88系「メモリウェイト」のロジックおよびパラメータを変更した(主に8MHz動作時) 前回までに引き続き、くれゆにさんにご協力いただきました。 ありがとうございました。 ・88/V2モードの GVRAM まわりのコストを調整した ・コードを整理した
・88系「メモリウェイト」のロジックおよびパラメータを変更した 「Crazy Unit」のベンチマークを参考にさせていただきました。 http://www7b.biglobe.ne.jp/~crazyunit/pc88.html また、追加調査にもご協力いただきました。 ありがとうございました。 ・88/V1(S)系の GVRAM まわりのコストを調整した (前回よりさらに遅くしました) ・88@8MHz動作時の GVRAM まわりのコストを調整した ・CRTCの出力条件を調整した 「避難所」のM88向け報告に基づき確認&修正(仮)しました。 ・リズム音源の初期化バグ(RTL)修正 こちらも「避難所」情報に基づき確認&修正しました。 RTLは全パートに渡すデータなので呼び出し側でマスク&反転する仕様にしたのですが、 パート毎の初期化コードが古い仕様のままでした。。。
・cfg:OPTION -test1[=[n]] -test2[=[n]] を廃止した cfg:DRIVE の 第2,3 パラメータに引っ越しました。 この項目はまだ固まっていませんので、今後変更する可能性があります。 有効/無効の切り替えは cfg:OPTION -fddwait です。 ・ディスクドライブの速度(デフォルト値)を調整した R6b32 で「125,125」とか言ってましたが無視してください。 2つめのパラメータの処理を変更したので、R6b32 で調整した値は使えません。 特に皆さんからの反応がなかったので、根っ子から変えてしまいました。 ・ハイレゾの垂直同期周波数を微調整した 「Crazy Unit」のベンチマークを参考にさせていただきました。 http://www7b.biglobe.ne.jp/~crazyunit/pc88.html ありがとうございました。 ・8801(V1モード)のGVRAMまわりのコストを調整した ロジックは 80mkII と同じままです。 パラメータのみ調整してみました。 ・8801(V2モード)のGVRAMまわりのコストを調整した 以前変更したつもり(開発日記に記載あり)でしたが、変わっていませんでした。 4MHzの場合のみ少し遅くなります。 ・-smooth パッチの制御パラメータを選べるようにした 10msecでは負荷の変動が極端に大きくなる(暴れる)タイトルがあり、 気になったので、cfgで設定できるようにしました。 システム時計が狂わない環境では、cfg:SMOOTH = 2, cfg:SILENT = 1 で、R6b31 までと同じになります。 ※/config の cfg ファイルでは当方の都合に合わせ「2,1」に変更しています。 ・V2モードでデジタルパレット設定時に背景色を更新するようにした ・V2機の画面出力停止条件緩和 ・リファクタリング いろいろ
・「システム時計が進んでしまう」件の対策をおこなった ・-smooth の制御を大雑把にした ・「サウンド無効」の速度制御を大雑把にした システム時計の問題が出ていない環境でも新しい実装を使います 何かあったらメールしてください (テストにお付き合い戴くことになりますが...) [MEMO] ・Win32API の問題のようです (http://support.microsoft.com/?id=821893) ・今回の修正は場当たり的なものです ・システム時計の問題を完全に解決できたか確認できていません ・副作用についても確認が不十分です ・ライトペンの初期状態を「無効」に変更した cfg:OPTION -pen を追加した ライトペンが無効の場合は、画面上でマウスポインタが表示されません ボーダー部分ではライトペンを無視しています(常に標準カーソルが表示されます) ・ディスクアクセスのロジックを変更した エラーのある「DTL=0」のセクタは、Nで決まるサイズを使うことにした ・D88イメージの簡単なチェックを追加した 無理に開こうとして落ちることが少なくなりました 誤爆して開けないイメージがあったら連絡してください ・「オーバードライブ」に x1/2, x1/4, x1/8 を追加した ・「サウンド無効」で立ち上がらなくなっていたのを復旧した ・cfg:OPTION -test1[=[n]] -test2[=[n]] を追加した テスト用の汎用エントリです ・R6b32では、ディスクアクセスを実機並みに重くするテストに使っています 動作タイミングのズレが気になる場合に設定してみてください 「88FR DEMO」で、-test1=125 -test2=125 ぐらいかな?と思いましたが どうでしょうか? (2HDドライブだとこれより速い?) なんとなく傾向は把握できているのですが、「システム時計」の問題を早くFIX したいので本実装を待たずに公開します タイトルやシーン毎にチェックして、良い値を見つけたら教えてください 本実装では、メニューに Latency有無のチェックボックスのみ(パラメータなし) で対応したいと考えています
・ライトペンの初期状態を「無効」に変更した cfg:OPTION -pen を追加した ※ライトペンが無効の場合は、画面上でマウスポインタが表示されません ボーダー部分ではライトペンを無視しています(常に標準カーソルが表示されます) ・ディスクアクセスのロジックを変更した エラーのある「DTL=0」のセクタは、Nで決まるサイズを使うことにした ・D88イメージの簡単なチェックを追加した 無理に開こうとして落ちることが少なくなりました ・「オーバードライブ」に x1/2, x1/4, x1/8 を追加した
■実行環境 <OS> <Javaのバージョンはコンソール出力冒頭をコピペしてください> 例:java.version : 1.6.0_37 java.vendor : Sun Microsystems Inc. java.vm.name : Java HotSpot(TM) Client VM java.vm.version : 20.12-b01 java.vm.vendor : Sun Microsystems Inc. <特記事項があれば追記してください> ・java 起動時のオプション指定など ・j80の「スムースパッチ」設定 cfg:-smooth=[n] メニュー:[System]→[Smoth Patch]→[Level] ■状況 <システム時計異常: 有・無 > <異常がある場合は状況を教えてください> ・1分間にズレる秒数 / 負荷の違いで変化する? / 際限なく拡大する? など ・「スムースパッチ」の設定を変えて状況が変わる? |
・Sound ・OPN/A EG全体を遅くしてみた ・OPN/A アタックのみさらに遅くしてみた
・j80.cmd ・コマンド名に一貫性が無くなって久しいので調整した ※詳細は最後にまとめました ・j80.cfg ・追加・変更があります ※詳細は最後にまとめました ・Keyboard ・CTRL, GRPH もロックできるように拡張した Android版にあわせましたた 将来、Java2版にも仮想キーボードを実装するときに役に立つはず ・バッファモード動作タイミングの指定単位を msec から cpm に変更した ・APIが1024以上の値を返すキーも使えるようにしてみた Java版のキーコードを前提 (Android版では 現在1024以上なし?) キーコードにパッチを当て、現状の空きコードに再マッピングしています 将来問題が発生する可能性があります j80 のキーマップ等に用いるコードはデバッグモードで確認してください ・リセット(パッチ)のバグを修正した バッファモードで動作中(ファイル入力中など)にpauseするとバッファがクリア されてしまう (Ver.6.b.45 での修正が不十分だった) Android版での「キーのリリース漏れ」がほぼ解消したのでパッチを除去しました ・タッチパネル機能 ・マップの定義方法を変更した 今までの定義ファイルは使えなくなりました ・ガイド画像をオーバーレイ表示できるようにした 現状ではユーザーによる pause 中のみガイド画像を表示します ・推奨タッチパネルなしの時、下記操作で落ちるバグを修正した タッチパネル指定 → タッチパネル解除 → クイックマウント → F6 推奨タッチパネル指定時の挙動が読みにくい点も考慮しロジックを変更しました →「F6」(タッチパネル設定なし)時、ユーザー設定マップを再マウントしない ・CRTC全般 ・Android版でもそのまま使えるように調整した Android版でパフォーマンスを稼ぎたかったのでチューニングした ・「特殊制御文字」適当対応 ・CrtcV2 ・変化のないパレット指定時のバイパスを実装した 「88FRデモ」ホテルカリフォルニアのシーンが軽くなりました V2モードでは現在の表示に変化がなくても無視できない設定があるので、 # 「アナログパレット-デジタルディスプレイ用」などクロスした設定がある 常に全コードを通していました。 ・I/O ・いくつかのミラーポートを有効にした ・PCG8100(NewType) ・リセット時の動作を変更した:何もしない →「ソフトウェアSW ON」に戻す ・PCG8200,8800 ・初期状態を「ROM(L)+ROM(H)」(PCG OFF) に変更した (実機未確認) リセット時の動作を変更した:何もしない →「ROM(L)+ROM(H)」に戻す ・バンク制御ロジックを修正した ・PC8000クラス ・サウンドボード毎に音量設定を覚えておくようにした ・GUI ・+CRT:1 80,88V1系ではアナログ用ダイアログが出ないようにした(メニューからは指定不能) → デジタル(+CRT:2)に差し替えて実行するように変更した ・GUI 調整 ・その他 ・J2SE1.4以上の判定に「フルスクリーン化 可/不可」フラグの流用をやめた フルスクリーン設定NGの場合も J2SE1.3系と判定してしまう(バグ) フォーカスマネージャ と KeyListener のパッチに影響あり ・リファクタリング、調整 ・ドキュメントバグ修正 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - コンバータ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・Cmt2Cmt ・CmtUtil ・BondSoft:0x3A ・特定条件のモニタフォーマットを誤認することがあったので対策した ・Bin2Cmt ・ベタイメージからの変換に対応した ・Bas2Cmt ・ベタイメージからの変換に対応した - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - j80.cmd 変更内容 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・Toggle動作はコマンド名に明示しない ・ダイアログを表示するコマンドは先頭に"+"をつける ・:id ・=値 ・実機スイッチ類は大文字とする ・デバイス名(種)よりコマンド名を優先する ・「コマンドパラメータ設定コマンド」はコマンド名+"."+パラメータ名 ・「パラメータ指定&実行コマンド」では「"."+パラメータ名」を省略可 ToggleMenu → Menu 「Toggle」廃止 ClearRAM → RESET.clear リセットコマンドの設定 MODE=n → MODE:i 添え字はトグルするビット位置 Clock=n → CLOCK=n 実機のスイッチ類は大文字とする +Display=n → +CRT:i n=0,1 -> i=1,2 / cfg のデバイス名に揃えた CRTtype=n → CRT=n n=0,1 -> n=1,2 / cfg のデバイス名に揃えた CRTout=n → CRT8801=n M,T,0,1,2 排他選択 (ジャンパ) FPS=n → FrameSkip=n PCG8X00 → PCG8X00 メインSW (変更なし) PCGtype → PCG8100:1 設定1 on/off PCGdipSW → PCG8100:2 設定2 on/off PCGmode → PCG8100:3 設定3 on/off Scale@=n → Scale-=n, +=n マジックナンバー「-1」回避 Mixer=n → Mixer.type=n Mixerコマンドの設定 (省略しない) Bank=n → Mixer=n Mixer設定&実行 Mixer.bank=n VolSYS:i=n → VolumeSYS:i=n Volumeコマンド+デバイス名+スロット番号 VolBUS:i=n → VolumeBUS:i=n Volumeコマンド+デバイス名+スロット番号 VolPRN:i=n → VolumePRN:i=n Volumeコマンド+デバイス名+スロット番号 ResetKey → ResetKEY Resetコマンド(≠RESET)+デバイス名 +KeyMap → +KEY cfg のデバイス名に揃えた LOCK → SHIFT トグルキー (通常キー併用) 新 GRPH トグルキー (通常キー併用) 予約 新 CTRL トグルキー (通常キー併用) 予約 Timer=n → Typer=n 自動タイプ系速度設定 Typer.cpm=n +InputFile → +TyperINP 自動タイプコマンド+仮想デバイス名 +TouchPanel → +TyperPNL 自動タイプコマンド+仮想デバイス名 TogglePNL → TyperPNL 自動タイプコマンド+仮想デバイス名 R/KANA → TyperR2K 自動タイプコマンド+仮想デバイス名 Shots=n → Blaster=n Blaster設定&ON Blaster.shots=n +Player → +CMT:1 cfg のデバイス名に揃えた ToggleCAS → CMT:1 CAS=n → CMT:1=n CMT:1.title=n FF → CMT:1+ CMT:1+=1 RW → CMT:1- CMT:1-=1 PLAY → CMT:1> PauseMode → CMT:1.pause CMTコマンドの設定 TapeSPD=n → CMT:1.baud=n CMTコマンドの設定(割り込み頻度(≒倍速化)) +Recorder → +CMT:2 cfg のデバイス名に揃えた ToggleREC → CMT:2 DelayCMT=n → Delay=n CMT:1,2 ともに影響あり OnlineFDD → FDD CheckFDD → FDD.auto FDDコマンドの設定 +Drive:i → +FDD:i cfg のデバイス名に揃えた ToggleD:i → FDD:i D88:i=n → FDD:i=n FDD:i.disk=n RemoveAll → FDD:* +Paper → +PRN cfg のデバイス名に揃えた TogglePRN → PRN MODE=n 予約 : DipSW等 全ビット一発指定 CRT8801:i 予約 : 任意のジャンパを設定可能にする? -CRT:i=filename 予約 : -KEY=filename 予約 : -TyperINP=filename 予約 : -TyperPNL=[filename] 予約 : filename を省略したら remove -CMT:1=[[filename],n] 予約 : filename を省略したら remove -CMT:2=[filename] 予約 : filename を省略したら remove -FDD:i=[[filename],n] 予約 : filename を省略したら remove - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - j80.cfg 変更内容 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ・追加 SYS [[v0][,[v1][,[v2][,[v3][,[v4][,[v5]]]]]]] BUS:id [[v0][,[v1][,[v2][,[v3][,[v4]]]]]] PRN:id [[v0][,[v1][,[v2][,[v3][,[v4]]]]]] ・変更 -D88:i → -FDD:i イメージの拡張子と紛らわしいのでデバイス名に -RGB → -CRT:1 設定ファイルの拡張子と紛らわしい -512 → -CRT:2 設定ファイルの拡張子と紛らわしい -CMT → -CMT:1 -FDD,-CRT の表記にあわせた -REC → -CMT:2 -FDD,-CRT の表記にあわせた ・変更 (OPTION) -vol → 廃止 -bus:i=... → -bus=i 音量指定廃止 -prn:i=... → -prn=i 音量指定廃止 -fps=n → -skip=n ・デフォルト変更 -TMP ./ → ./temp/ -PNG ./ → ./screenshot/ -KEY ./keymap/106jp → ./keymap/106jp.key (以前の修正漏れ)
・j80.cfg ・サウンドボード毎に音量を設定しておけるようにした ・識別子いろいろ変更 ※追加変更検討中 ・j80.cmd ・コマンド名を調整した ※追加変更検討中 ・描画管理を Display クラスに移した (若干重くなる) Android版とJava版のコアに差が無くなった ・CRTC ・ミラーポート追加 ・PCG8200,PCG8800 ・実装微調整 (8100系の内部フラグ流用をやめた 等) ・初期状態変更 ・サウンド ・ボードを切り替えても最後の音量設定を覚えておくようにした ・全般 ・チューニング 今回のテーマは「ピーク負荷削減」です。 ・変化(影響)のないパレット変更チェック (V2モード以外は既対策) ・演算量削減 ・リファクタリング
・Keyboard ・CTRL, GRPH もロックできるように拡張した (Android版対策) ・バッファモード動作タイミングの指定単位をmsecからcpmに変更した ・Timer= コマンドを Typer= に変更した ・APIが1024以上の値を返すキーも使えるようにしてみた Java版のキーコードを前提 (Android版では 現在1024以上なし?) キーコードにパッチを当て、現状の空きコードに再マッピングしています 将来問題が発生する可能性があります j80 のキーマップ等に用いるコードはデバッグモードで確認してください ・リセット(パッチ)のバグを修正した バッファモードで動作中(ファイル入力中など)にpauseするとバッファがクリア されてしまう (Ver.6.b.45 での修正が不十分だった) Android版での「キーのリリース漏れ」がほぼ解消したのでパッチを除去しました ・タッチパネル機能 ・マップの定義方法を変更した ・ガイド画像をオーバーレイ表示できるようにした 現状ではユーザーによる pause 中のみガイド画像を表示します ・推奨タッチパネルなしの時、下記操作で落ちるバグを修正した タッチパネル指定 → タッチパネル解除 → クイックマウント → F6 推奨タッチパネル指定時の挙動が読みにくい点も考慮しロジックを変更しました →「F6」(タッチパネル設定なし)時、ユーザー設定マップを再マウントしない ・GUI ・+Display:1 80,88V1系ではアナログ用ダイアログが出ないようにした(メニューからは指定不能) → デジタル(+Display:0)に差し替えて実行するように変更した ・GUI 調整 ・j80.cmd ・コマンド名に一貫性が無くなって久しいので調整した (j80.cmd 要修正) ToggleMenu → Menu +Display=n → +Display:n CRTtype=n → Diaplay:n TogglePNL → TouchPanel ToggleCAS → Player ToggleREC → Recorder ToggleD:n → Drive:n TogglePRN → Paper MODE=n → MODE:n ※追加変更検討中 ・cfg ・デフォルト変更 -TMP ./ → ./temp/ -PNG ./ → ./screenshot/ -KEY ./keymap/106jp → ./keymap/106jp.key (以前の修正漏れ) ・その他 ・J2SE1.4以上の判定に「フルスクリーン化 可/不可」フラグの流用をやめた フルスクリーン設定NGの場合も J2SE1.3系と判定してしまう フォーカスマネージャ と KeyListener のパッチに影響あり ・リファクタリング、調整 ・ドキュメントバグ修正
// SCREEN [Scale W H BitDepth RefreshRate] 省略時 : 0 0 0 0 0 // ・フルスクリーン化は J2SE1.4.0 以降で有効になります // フルスクリーン時のボーダー「最小保障サイズ」はすべて 0 になります // ・SCREENを指定しないで起動するとコンソールに設定一覧を表示します // ここでの設定が使えない場合もコンソールに設定一覧を表示します // ・SCREEN:Scale // 表示倍率(単位:% / 100%~25%刻み)です // W,H より大きなサイズになっても制限しませんので注意してください // この項目を省略した(または 0)場合は「フルスクリーン禁止」になります // ・SCREEN:Width,Height // この項目を省略した場合は SCREEN:Scale で決まる値になります // この項目に 0 が指定された場合も同様です // 例:SCREEN 200 → SCREEN 200 1280 800 0 0 // ・SCREEN:BitDepth // 色数はデスクトップで使用中の値を指定した方が良い様です // 一覧にある設定でも落ちる場合があります (GeForce系 24bitColorなど) // 0 を指定しておくと、デスクトップの色数を使います (推奨) // この項目を省略した場合は 0 になります // ・SCREEN:RefreshRate // RefreshRateは 0(規定値?) を指定する必要がある場合があります // この項目を省略した場合は 0 になります
java.version | java.vm.version | フルスクリーンからの復帰 | |
---|---|---|---|
1.4.2_10 | 1.4.2_10-b13 | OK | |
1.5.0_11 | 1.5.0_11-b03 | OK | |
1.6.0 | 1.6.0-b105 | OK | |
1.6.0_29 | 20.4-b02 | *NG* | Windows7 では OK だった |
320さん乙です。 >>329 j80は 48000Hz 16bit mono 固定でした。(22050Hzってことはないです) 48kにしたのはBEEPを低負荷でキレイに鳴らしたかったから。 開発当初は Win95@MMX233 でしたから。。。 FM音源はサンプルレート以前の問題があると思います。 >>330 再生ボタンを押すと、しばらくして再生が始まるから、すぐに再生停止。 直下のtempフォルダにwavファイルが出来ているから、 [File] > Save As... でOK >>354 8MHz機は未対応です。 88系(特に88SR)は RUSRQ/WAIT まわりがいい加減なので、 まずは4MHz機を固めてから対応したいと思っています。 8MHz機は「Release6」かな? で、「OverDrive x2」だと速すぎると思います。 カレンダも未対応だし、4/8MHzのステータスも読み出せません。 そんな訳で OverDrive は常用する機能とは考えてないので、 起動時のオプションに加える予定はないです。ごめんなさい。 でも、8MHz機の需要があるんですね。。。 |
-vol1 | PCG, OPN(FM) | -> | PCG |
-vol2 | -----,OPN(SSG) | -> | OPN(FM) |
-vol3 | サウンド@PRN | -> | OPN(SSG) |
-vol4 | option#1 | -> | サウンド@PRN |
-vol5~ | option#2~4 | -> | option#1~4 |
j80では安全を考え、ファイル使用中はファイル選択(変更)などを禁止しています
j80ではファイル選択後、リクエストに応じてファイルを勝手に open() します
またファイルの close() は、motor off や RESET をトリガーにしています
したがって、motor off 信号を出さないローダーの場合は、close()されません
(→次のファイル選択ができません)
「MOTOR 0」と打ち込むことでファイルを閉じることができるのですが、
スクリーンエディタに戻らないとコレはできない訳で...
そんな時は、[Alt]+[BS] で 強制的にファイルを閉じてください
なお、CMT動作中にファイルを閉じても、勝手に再openされるのでpauseしません
RETN | break していなかった (次の RETI も実行して break) |
EX (SP),I? | IX(IY)下位 8bit の上位 4bit をコピーし忘れていた |
ADC,SBC(8bit) | CY=1 の時の Hフラグが微妙におかしい? |
NEG | Hフラグ違ってた? |
ブロック転送 | 動作が違っていた?(これによってM1のメモリwaitが少なかった?) |
割り込み | 適当だった |
オイ オマエラ!キヅイテタノナラ オシエテクダサイ オナガイシマス  ̄ ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ●/ <■ __ / ̄ / \ /| ∧ ∧ ././| /_(,,゚Д゚)__// / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ || ̄/ | ̄ ̄||/ < つか、ユーザーがいないだけだろ... ||, (___ノ || \____________ / |
【1】 cas ファイルを選択 → タイトル一覧を表示 |
=============================================== ASCII [AY-3] Sky Defender =============================================== 1 : Sky Defender 2 : ウォーリ 3 : ナイトパトロール =============================================== > 1 : Sky Defender |
【2】 [Alt]+[↑]を押す → タイトルの説明を表示 |
FileName : sd-8 [J] スティック表示 [R] 給油 <スティック> <スロットル> [ ] [ ] [ ] [ ] [7] [8] [9] [*] ↑ ↑ [4]←[5]→[6] [+] ↓ ↓ [1] [2] [3] [=] [0] [,] [.] [RET] <ラダー> [S][D]←[F]→[G][H] |
[ 注 意 ]
|