mirror of
https://github.com/st3fan/ewm.git
synced 2024-12-28 15:29:45 +00:00
64 lines
2.3 KiB
Lua
64 lines
2.3 KiB
Lua
-- The MIT License (MIT)
|
|
--
|
|
-- Copyright (c) 2015 Stefan Arentz - http:--github.com/st3fan/ewm
|
|
--
|
|
-- Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
-- of this software and associated documentation files (the "Software"), to deal
|
|
-- in the Software without restriction, including without limitation the rights
|
|
-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
-- copies of the Software, and to permit persons to whom the Software is
|
|
-- furnished to do so, subject to the following conditions:
|
|
--
|
|
-- The above copyright notice and this permission notice shall be included in all
|
|
-- copies or substantial portions of the Software.
|
|
--
|
|
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
-- SOFTWARE.
|
|
|
|
function dumpZeroPage()
|
|
for i = 0,15 do
|
|
local a = (i * 16)
|
|
local s = string.format( "%.4x: %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x", (i * 16), cpu.memory[a], cpu.memory[a+1], cpu.memory[a+2], cpu.memory[a+3], cpu.memory[a+4], cpu.memory[a+5], cpu.memory[a+6], cpu.memory[a+7], cpu.memory[a+8], cpu.memory[a+9], cpu.memory[a+10], cpu.memory[a+11], cpu.memory[a+12], cpu.memory[a+13], cpu.memory[a+14], cpu.memory[a+15])
|
|
print(s)
|
|
end
|
|
end
|
|
|
|
KMOD_GUI = 1024
|
|
KOMD_CTRL = 64
|
|
|
|
CUR_LIVES = 0x66
|
|
MAX_LIVES = 0x67
|
|
|
|
CUR_SHOTS = 0x6a
|
|
MAX_SHOTS = 0x6b
|
|
|
|
two:onKeyDown(function(two, mod, sym)
|
|
if mod == KMOD_GUI then
|
|
if sym == string.byte('z') then
|
|
dumpZeroPage()
|
|
return true
|
|
end
|
|
if sym == string.byte('r') then
|
|
cpu.memory[CUR_LIVES] = 7
|
|
cpu.memory[MAX_LIVES] = 7
|
|
cpu.memory[CUR_SHOTS] = 7
|
|
cpu.memory[MAX_SHOTS] = 7
|
|
return true;
|
|
end
|
|
end
|
|
return false
|
|
end)
|
|
|
|
STA_zpg_X = 0x95
|
|
|
|
cpu:onBeforeExecuteInstruction(STA_zpg_X, function(cpu, opcode, operand)
|
|
if operand == CUR_LIVES or operand == CUR_SHOTS then
|
|
cpu.a = 5
|
|
end
|
|
end)
|