[ オリジナルレポート ]

BugID: #09174

カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
システムコア解決済み修正済み2025-05-16 20:032025-05-17 03:52
 
テスターPeer担当者Peerソース
バージョン0.277発生バージョン修正バージョン0.278
修正コミット 35b7abdプルリク
フラグコード検証済み
セット CPU Hitachi HD6309
セット詳細
 
概 要ネイティブモードでのブランチ命令のサイクルカウントが間違っている。
詳 細The cycle counts of the relative-branch-instructions of the hd6309 CPU in native-mode are the same as in emulation-mode. The only exceptions are the BRA and LBRA instructions. All others have the same cycle counts.

However, the code in devices/cpu/m6809/base6x09.lst gives all branch instructions in native-mode one cycle less than in emulation-mode.
再現手順Just check the code in devices/cpu/m6809/base6x09.lst and compare their timing to the cycles counts listed in "Motorola 6809 and Hitachi 6309 Programming Reference" by Darren Atkinson.
追加情報I have a real Vectrex console with a real Hitachi hd6309 CPU inside, running a customized 6309 BIOS in native-mode, with all cycle-dependent routines adapted to the 6309 native-mode timing.

I have compiled a custom mame version, which uses the hd6309 CPU inside vextrec.cpp, and which loads my custom 6309 BIOS file. This shows the simulation mismatch to my real system. Fixing the cycle-counts in devices/cpu/m6809/base6x09.lst leads to my mame version correctly emulating the behavior of the real console.
 
添付ファイルzip filebase6x09.zip (2025-05-17 01:29)
zip filevectrex.zip (2025-05-17 01:33)