カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
クラッシュ/フリーズ認証済み未処理2025-03-30 19:592025-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)
 
添付ファイルzip file3Dcubetest.zip (2025-03-30 19:59)