Did you press the 実行 (jikkou - execution) button? The screen says:
"The member registration haven't been carried out on this cartridge. Please carry out the next member registration.
Go ahead and press the 実行-key".
Moderators: B00daW, Moderators
Did you press the 実行 (jikkou - execution) button? The screen says:
Code: Select all
local function microwire_write(value)
assert((value & (~1)) == 0)
dict.nes("NES_MMC1_WR", 0xA000, 0x10 | value)
dict.nes("NES_MMC1_WR", 0xA000, 0x12 | value)
dict.nes("NES_MMC1_WR", 0xA000, 0x10 | value)
end
local function microwire_read()
microwire_write(0)
return (dict.nes("NES_CPU_RD", 0x6000) & 1)
end
-- ...
--dump the ram to file
if dumpram then
print("\nDumping microwire EEPROM...")
-- Verify the modem is in a good state.
assert(dict.nes("NES_CPU_RD", 0x40C0) > 127)
-- Explicitly disable the modem RAM, just in case.
dict.nes("NES_CPU_WR", 0x40AE, 0x00)
dict.nes("NES_CPU_WR", 0x40C0, 0x00)
-- Reset the MMC1 shift register.
dict.nes("NES_CPU_WR", 0x8000, 0x80)
-- Enable EEPROM data out.
dict.nes("NES_MMC1_WR", 0xE000, 0x00)
--[[ Start with CS low to ensure any previous command is over. 4 KB mode is
required. ]]
dict.nes("NES_MMC1_WR", 0x8000, 0x1C) -- CS low.
microwire_write(0)
-- Read. Bring CS high and begin the command.
dict.nes("NES_MMC1_WR", 0x8000, 0x1D) -- CS high.
microwire_write(1) -- Start condition.
microwire_write(1) -- Read.
microwire_write(0)
--[[ Write in the address, which can be 6 to 9 bits depending on chip size
and word size. ]]
local address_bits = 0
while address_bits < 9 do
address_bits = address_bits + 1
microwire_write(0)
--[[ We know we've inputted the last address bit if we see a dummy 0. We
use an address where the high byte has D0 set so that if we read
back open bus, it's non-zero. ]]
if ((dict.nes("NES_CPU_RD", 0x7FFF) & 1) == 0) then
break
end
end
-- There can't be more than 9 address bits.
assert(address_bits <= 9)
--[[ Read the data. Words are 16-bit, but we're working on bytes, so we have
to double the total. ]]
local t = {}
local total_bytes = (2 << (address_bits - 1)) * 2
for j=1,total_bytes do
local value = 0
for i=0,7 do
value = (value << 1) | microwire_read()
end
table.insert(t, value)
end
-- End the command.
dict.nes("NES_MMC1_WR", 0x8000, 0x00) -- CS low.
local str = string.char(table.unpack(t))
file = assert(io.open(ramdumpfile, "w+b"))
file:write(str)
assert(file:close())
print("DONE Dumping microwire EEPROM")
end
Hi krzysiobal,krzysiobal wrote: ↑Fri Nov 27, 2020 1:26 pmMan, I appreciate the enourmous amount of work you did. Sorry I did not mention this earlier, but few years ago I made a program that helps such things (KrzysioPCB). All you need to do do is load PCB images, mark all the pins, redraw all tracks, assign PADS to devices and it generates eagle schematic for that.
https://translate.google.com/translate? ... 47421.html
![]()