Skip to content

Latest commit

 

History

History
148 lines (109 loc) · 7.28 KB

CHANGELOG.md

File metadata and controls

148 lines (109 loc) · 7.28 KB

run68x 2.1.0 (2024-12-21)

  • DOS _SETTIM2DOS _SETDATEでホスト環境の時計を変更しないように仕様変更。 エラー時の返り値を-1に変更。
  • (generic) IOCS _DATEGETで月の値が1小さい不具合を修正。
  • IOCS _TIMEGETで24時間計を示すフラグが0になっている不具合を修正。
  • 下記DOSコール、IOCSコールを実装。
    • DOS _SETTIME (ホスト環境の時計を変更せず、0またはエラーコードを返すのみ)
    • IOCS _DATEBCD
    • IOCS _DATESET (ホスト環境の時計を変更せず、0を返すのみ)
    • IOCS _TIMEBCD
    • IOCS _TIMESET (ホスト環境の時計を変更せず、0を返すのみ)

run68x 2.0.4 (2024-10-24)

  • ABCD命令の結果が正しくない不具合を修正。
  • cmakeでビルドエラーになっていた不具合を修正。

run68x 2.0.3 (2024-10-23)

  • 不当命令例外処理に一部対応。
  • デバッガでquitコマンドを使用すると、次の命令が実行されてから終了する不具合を修正。
  • NBCDSBCD命令の結果が正しくない不具合を修正。

run68x 2.0.2 (2024-10-17)

  • DOS _CREATEDOS _NEWFILEDOS _OPENの処理を書き直した。
    • (win32) DOS _OPENでオープン済みファイルを更にオープンできるようにした。
    • (generic) DOS _CREATEDOS _NEWFILEでキャラクタデバイスをオープン できないようにした。
  • (generic) DOS _FILESでファイルサイズを取得するようにした。

run68x 2.0.1 (2024-06-12)

  • MOVEM (An)+,An命令でAnレジスタの値が正しくない不具合を修正。

run68x 2.0.0 (2024-03-09)

  • ファイル読み込み時のエンコーディング変換を追加(-read-file-utf8)。
  • DOS _BUS_ERRを実装した。
  • ADDX -(Ay),-(Ax)SUBX -(Ay),-(Ax)命令を実装した。

run68x 1.4.0 (2024-03-01)

新機能

  • ハイメモリ対応(-himem=<mb>)。
    • DOS _MALLOC3DOS _SETBLOCK2DOS _MALLOC4を追加。

仕様変更

  • pc98キー入力変換機能(run68.ini [all]セクションのpc98設定)を削除。
  • 割り込みエミュレート機能(run68.ini [all]セクションのtrapemulate設定)を削除。
  • オプション-tを削除。
  • DOSコールのトレース表示を作り直した。

不具合の修正

  • DOS _FGETSの不具合を修正(改行が正しく除去されない、バッファ範囲外を参照する、 バッファとしてスーパーバイザ領域を指定できない)。
  • (win32) DOS _CURDIRで無効なドライブだとダイアログが表示される不具合を修正。
  • (win32) DOS _INPOUT (code=0xff,0xfe)で正しく入力できない不具合を修正。 ただし2バイト文字は入力できない(無視される)。
  • (win32) DOS _PUTCHARで意図しない文字列が表示されるエンバグを修正。
  • (win32) IOCS _DATEGETIOCS _TIMEGETでUTCの値が返される不具合を修正。
  • IOCS _DATEASCで文字列形式の指定値によってはエラーになる不具合を修正。
  • IOCS _DAYASCを再実装し、不具合を解消。
  • trap #n命令でバスエラーが発生する不具合を修正。
  • 実行ファイルのBSSサイズが大きすぎる場合にメモリ不足でエラー終了しない不具合を修正。

run68x 1.3.0 (2023-10-01)

  • NULデバイスのデバイスヘッダの偽装を追加。
  • FPACK __STOHのエミュレーションを追加。
  • MOVE TO SRMOVE TO CCRRTE命令でSR/CCRの未定義ビットが1になる不具合を修正。

run68x 1.2.0 (2023-09-26)

  • (generic) 実行ファイル名をフルパス化する際にシンボリックリンクを展開しないようにした。
  • パス名が長すぎる場合はPSP内の実行ファイル名をA:\PROG.Xに置き換えるようにした。
  • run68.iniのもともと動作していなかった機能を削除した。
    • プログラム名によるセクション指定(例:[dis.x])
    • MainMemory=によるメインメモリのサイズ指定

run68x 1.1.0 (2023-09-18)

  • run68.iniからEnvLowerキーワードを削除。
  • run68.iniで指定した環境変数が全て小文字になる不具合を修正。
  • FPACK __FCVTのエミュレーションでfcvt()を使わないようにした。

run68x 1.0.1 (2023-08-02)

  • dos_file.cでコンパイルエラーになる不具合を修正。

run68x 1.0.0 (2023-08-01)

新機能

  • run68から実行ファイルに渡すコマンドラインについてHUPAIRに対応。
  • X形式実行ファイルのリロケート情報のロングワード形式($0001 $xxx_xxxx)に対応。
  • PSP内のパス名、ファイル名を正規化、文字コードのShift_JIS変換を行う。
  • DOSコールエミュレーション
    • DOS _MALLOC2、DOS _MAKETMPのエミュレーションに対応。
    • DOS _GETENVで環境ポインタの指定に対応。
    • (generic) DOS _NEWFILE、DOS _FILESでパス名の''を'/'に変換する。
    • (Win32) DOS _NFILESをWin64ビルドでも動作するようにした。
  • IOCSコールエミュレーション
    • (Win32) IOCS _ONTIMEの精度を1/100秒単位に改善。

仕様変更

  • 既定のメインメモリサイズを12MBに変更。
  • 環境変数、コマンドライン、スタックをメモリブロックとして動的に確保する。
  • DOSX(32ビットDOS)への対応を削除。

不具合の修正

  • 環境変数領域が初期化されない。
  • trapemulateモードでwatchpointが正しく指定できない。
  • (Win32) ソ系ダメ文字を含むフォルダ名のファイルを実行できない。
  • (Win32) ソ系ダメ文字を含むファイル名だと$PATHから検索されない。
  • デバッガでdumpの初回実行時にサイズのみを指定すると不正なメモリを参照する。
  • DOSコールエミュレーション
    • 未定義DOSCALLでd0レジスタに戻り値-1が返されない。
    • DOS _CURDIRで返されるパス名が正しくない。
    • DOS _CURDIRで-f指定時に表示されるドライブ名がずれる。
    • DOS _GETENVで環境変数名の大文字小文字が区別されない。
    • DOS _GETENVで取得した文字列の先頭の'='と空白が削除される。
    • DOS _READで過大なバイト数を指定すると正しく読み込みが行われない。
    • (generic) DOS _CURDRVでd0レジスタに戻り値が返されない。
    • (generic): DOS _FILES、DOS _NFILESで失敗時に戻り値0を返す。
    • (Win32) DOS _PUTCHARで文字が表示されない。
    • (Win32) DOS _NEWFILEで既存ファイルを上書きする。
    • (Win32) DOS _FILEDATEが動作しない。
  • M68000エミュレーション
    • MOVEP命令のディスプレースメントの上位8ビットが無視される。
    • DIVU命令の剰余の上位8ビットが0になる。
  • 逆アセンブラ
    • 絶対ショートアドレッシングが絶対ロングアドレッシングとして表示される。
    • DIVS、DIVU命令のソースオペランドとディスティネーションが逆に表示される。
    • MOVEP命令がBCHGと表示される。
    • EXG.L Aq,Ar命令がAND.W、EXG.L Dq,Ar命令がAND.Lとして表示される。