Code: Select all
(cheat_simple.lua :
-- ram/rom cheat format: <set name>,<cputag|regiontag>,<hex offset>,<b|w|d|q - size>,<hex value>,<desc>
-- only program address space is supported, comments are prepended with ;
-- size is b - u8, w - u16, d - u32, q - u64
--")
Code: Select all
":segacd:40000000:FF1516:00000000:FFFFFFFF:-----SONIC CD----- Infinite Time"
Code: Select all
segacd,:segacd:prgram,5E2A8,b,2D,-----HOOK----- Infinite Time
:segacd:40000000:5E2A8:0000002D:FFFFFFFF:-----HOOK----- Infinite Time
segacd,:segacd:prgram,5E29D,b,80,-----HOOK----- Infinite Fly Meter
:segacd:40000000:5E29D:00000080:FFFFFFFF:-----HOOK----- Infinite Fly Meter
Code: Select all
"[{
"space":{
"cpup":{
"tag":":maincpu",
"type":"program"
}
},
"script":{
"run":" cpup:write_u8(16717078,0, true)"
},
"desc":"-----SONIC CD----- Infinite Time\r"
},{
"region":{
"rom":":segacd:prgram"
},
"script":{
"on":"\t\t\taddrs = {\n\t\t\t{addr = 385704, val = 45},\n--flag\n\t\t\t}\n\t\t\ton = true\n\t\t\tfor k, v in pairs(addrs) do\n\t\t\t\tv.save = rom:read_u8(v.addr)\n\t\t\t\trom:write_u8(v.addr, v.val)\n\t\t\tend",
"off":"\t\t\tif on then\n\t\t\t\tfor k, v in pairs(addrs) do\n\t\t\t\t\trom:write_u8(v.addr, v.save)\n\t\t\t\tend\n\t\t\tend"
},
"desc":"-----HOOK----- Infinite Time\r"
},{
"region":{
"rom":":segacd:prgram"
},
"script":{
"on":"\t\t\taddrs = {\n\t\t\t{addr = 385693, val = 128},\n--flag\n\t\t\t}\n\t\t\ton = true\n\t\t\tfor k, v in pairs(addrs) do\n\t\t\t\tv.save = rom:read_u8(v.addr)\n\t\t\t\trom:write_u8(v.addr, v.val)\n\t\t\tend",
"off":"\t\t\tif on then\n\t\t\t\tfor k, v in pairs(addrs) do\n\t\t\t\t\trom:write_u8(v.addr, v.save)\n\t\t\t\tend\n\t\t\tend"
},
"desc":"-----HOOK----- Infinite Fly Meter\r"
}]"