I don't even know how Sega Sega CD got under my Favorites list (Sega CD sure, but not that...I mean WTF?!
). Obviously removed that from Fav... QMC2 is not the problem...given that the mysterious FUCKING error is the "missing files error" crap known for MAME. And I did not change ANY fucking settings except add Genesis (USA, NTSC) and other simillar consoles...WHY IN THE FUCKING HELL WOULD THAT CAUSE ANOTHER CONSOLE TO NOT WORK!
I HAD TRIED ENABLING CHECKSUM AFTER READING QMC2 DOC ABOUT WHAT ENABLE CHECKSUM IS AND ENABLED ROMALYZER (SYSTEM MODE) checksum and then recently tried reverting that AND tried instead enabling ROMALYZER (SOFTWARE MODE) checksum just to see if Software List works, not that I need it since I can get by with File Chooser like I have been so far. Also this happened after Windows 10 ver 20H was running 2 days without reboot...in past it has crashed or slowed down at that uptime. BTW, in response to Sega CD is experimental, why would it work for WEEKS at-a-time (only insignificant AND occassional bugs), additional month or more after Sega CD then decides to "mpr-15045b NOT FOUND" crap-of-an-error!!!!!!!!!!!!!!!!!!!!!!!!!!!
Lastly, for the 2nd time counting multiple installations with official AND non-official variants of MAME with different 2 or 3 frontends, I got the mysterious "stderr[#0]: [LUA ERROR] in execute_function: plugins/cheat/cheat_simple.lua:77: attempt to concatenate a nil value (local 'addr')". I know this problem has a solution, because I have fixed it before...but I can't remember. I think I bookmarked it, but its a "needle in a haystack".
<code>
local function prepare_ram_cheat(desc, tag, addr, val, size)
local cheat
if desc:sub(1,1) ~= "^" then
currcheat = { desc = desc, space = { cpup = { tag = tag, type = "program" } }, script = { run = "" } }
cheat = currcheat
end
currcheat.script.run = currcheat.script.run .. " cpup:write_u" .. size .. "(" .. addr .. "," .. val .. ", true)"
return cheat
end
</code>
and the "nil" reference in:
<code>
function simple.conv_cheat(data)
local cheats = {}
for line in data:gmatch('([^\n;]+)') do
local set, cputag, offset, size, val, desc = line:match('([^,]+),([^,]+),([^,]+),?([^,]*),?([^,]*),(.*)')
if set == simple.romset then
local cheat
if cputag:sub(1,1) ~= ":" then
local list, name = set:match('([^/]+)/(.+)')
local func = list .. "_" .. cputag
if list and desc and codefuncs[func] then
local status
status, cheat = pcall(codefuncs[func], desc, offset)
if not status then
emu.print_error(cheat)
cheat = nil
end
end
elseif size and val then
if size == "w" then
size = 16
elseif size == "d" then
size = 32
elseif size == "q" then
size = 64
else
size = 8
end
offset = tonumber(offset, 16)
val = tonumber(val, 16)
if manager:machine().devices[cputag] then
cheat = prepare_ram_cheat(desc, cputag, offset, val, size)
else
cheat = prepare_rom_cheat(desc, cputag, offset, val, size)
end
end
if cheat then
cheats[#cheats + 1] = cheat
end
end
end
currcheat = nil
return cheats
end
</code>