| カテゴリ | 重要度 | ステータス | 解決状況 | 登録日時 | 最終更新 |
|---|---|---|---|---|---|
クラッシュ/フリーズ | 低 | 認証済み | 未処理 | 2025-03-30 19:59 | 2025-03-30 22:47 |
| テスター | Robbbert | 担当者 |   | ソース | nintendo/pokemini.cpp |
| バージョン | 0.275 | 発生バージョン | 修正バージョン | ||
| 修正コミット | プルリク | ||||
| フラグ | ソース内の記述 | ||||
| セット | pokemini | ||||
| セット詳細 |
pokemini - ポケモンミニ | ||||
| 概 要 | DIV命令の約数が0のとき、CPUは例外を発生させるべき。 | ||||
| 詳 細 | The instruction DIV HL/A (CE D9) will crash MAME if A is zero. According to the information at https://www.pokemon-mini.net/documentation/minx-cpu/ , the CPU should hard-lock instead. That doesn't mean that MAME should stop responding, just that the CPU should no longer advance through the program. ~~~~~~~ MAME crash was fixed, but no divide by 0 exception handling | ||||
| 再現手順 | The program that causes this issue is attached. C:\MAME>mame pokemini -cart e:\data intendo\pokemini\ok\3dcubetest.min | ||||
| 追加情報 | ----------------------------------------------------- Exception at EIP=00007ff786dd6061 (minx_cpu_device::execute_one_ce()+0x4ab1): INTEGER DIVIDE BY ZERO ----------------------------------------------------- RAX=0000000000000910 RBX=000002c2be442f90 RCX=0000000000000910 RDX=0000000000000000 RSI=00000000000000d9 RDI=0000000000000000 RBP=00007ff792a25ce0 RSP=000000dd613c98e0 R8=0000000000000000 R9=0000000000000000 R10=0000000000000000 R11=0000003a35294400 R12=0de0b6b3a7640000 R13=00007ff792a25ce0 R14=0000000000000353 R15=000000dd613c9d90 ----------------------------------------------------- Stack crawl: 000000dd613c9930: 00007ff786dd6061 (minx_cpu_device::execute_one_ce()+0x4ab1) 000000dd613c9990: 00007ff786ddc57a (minx_cpu_device::execute_one()+0x117a) 000000dd613c99d0: 00007ff786de194d (minx_cpu_device::execute_run()+0x003d) 000000dd613c9a50: 00007ff78476433c (device_scheduler::timeslice()+0x04ac) 000000dd613c9bd0: 00007ff784761225 (running_machine::run(bool)+0x01c5) 000000dd613cf1f0: 00007ff78790142c (mame_machine_manager::execute()+0x024c) 000000dd613cf5e0: 00007ff78b65fcda (cli_frontend::start_execution(mame_machine_manager*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&)+0x03ea) 000000dd613cf8f0: 00007ff78b66030a (cli_frontend::execute(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)+0x007a) 000000dd613cf950: 00007ff7878fc1d7 (emulator_info::start_frontend(emu_options&, osd_interface&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)+0x0027) 000000dd613cfd20: 00007ff78d320271 (luaopen_lfs+0xc6bd91) 000000dd613cfd70: 00007ff7809912ee (__tmainCRTStartup+0x016e) 000000dd613cfda0: 00007ff780991406 (mainCRTStartup+0x0016) 000000dd613cfdd0: 00007ffda2847374 (BaseThreadInitThunk+0x0014) 000000dd613cfe50: 00007ffda2afcc91 (RtlUserThreadStart+0x0021) | ||||
| 添付ファイル | |||||