Купил китайский coolboy, ревизия платы 1 в 1 как описывалась здесь. Все прошлось, но возникла проблема при записи игр. Определяется как coolgirl.
При этом чтение/запись дампером работает, проверено на оригинальной многоигровочке.
(Ссылка на вложение)
В чем может быть проблема, куда копать?
На ревии платы DT2225 такая же проблема, флешка JS28F00A M29EWH не прошивается. Дампится нормально. Альтера прошивается нормально.
D:\Develop\famicom-dumper-win-x64-self-contained\famicom-dumper>famicom-dumper.exe info-coolgirl --port COM5
Famicom Dumper Client v3.4
(c) Alexey 'Cluster' Avdyukhin / https://clusterrr.com / clusterrr@clusterrr.com
Dumper initialization... OK
Reset... OK
Primary algorithm command set and control interface ID code: 0002h
Alternative algorithm command set and control interface ID code: 0000h
Vcc logic supply sinimum program / erase voltage: 2,7v
Vcc logic supply maximum program / erase voltage: 3,6v
Vpp [programming] supply minimum program / erase voltage: 11,5v
Vpp [programming] supply maximum program / erase voltage: 12,5v
Typical timeout for single byte/word/D-word program: 512us
Typical timeout for maximum-size multi-byte program: 1024us
Typical timeout for individual block erase: 1024ms
Typical timeout for full chip erase: 1048576ms
Maximum timeout for single byte/word/D-word program: 1024us
Maximum timeout for maximum-size multi-byte program: 4096us
Maximum timeout for individual block erase: 4096ms
Maximum timeout for full chip erase: 4194304ms
Device size: 128 MByte / 1024 Mbit
Flash device interface: X8 and X16 via byte pin
Maximum number of bytes in multi-byte program: 1024
Erase block region #0:
- Sectors size: 131072 Bytes
- Sectors count: 1024
Done.
D:\Develop\famicom-dumper-win-x64-self-contained\famicom-dumper>famicom-dumper.exe write-coolgirl --port COM5 --reset --file "D:\Games\NES FC\ROMs\super_mario_bros_3_mmc3.nes"
Famicom Dumper Client v3.4
(c) Alexey 'Cluster' Avdyukhin / https://clusterrr.com / clusterrr@clusterrr.com
Dumper initialization... OK
Reset... OK
WARNING! Invalid mapper: 4, most likely it will not work after writing.
Reset... OK
Device size: 128 MByte / 1024 Mbit
Erasing all PPBs... OK
Erasing sector #0... OK
Writing bank #0/16 (0%, 00:00:00/00:00:00)... ERROR: Flash write timeout
Lets try again
Reset... OK
Erasing sector #0... ERROR: Flash erase timeout
Lets try again
Reset... OK
Erasing sector #0... ERROR: Flash erase timeout
Переставил 32МБ флеш с kj01a-18 coolboy (и sram заодно), стало успешно прошиваться.
Причину сейчас уже не выяснить, во время экспериментов с VPP пробило микросхему JS28F00A. Может быть флешка была подбитая, заметил, что напряжение по питанию было 3.8в, и пролазило оно через линии адреса/данных.
Либо проблема в дампере. В качестве предположения, возможно проблема в алгоритме записи во флеш: в некоторых флешах размер буфера записи меньше, чем сектор, конкртено у этой модели 1024 байта, а дампер всегда пишет блоками по 8000h. Если так, то можно доработать дампер или использовать меньший размер блока через маппер. Такую особенность обнаружил, когда экспериментировал с более мелкими флешками на 2МБ S29GL016A.
write_prg_flash_command(
0x0000, 0x25);
write_prg_flash_command(
0x0000, count-1);
while (count > 0)
{
if (*data != 0xFF)
{
write_prg_flash_command(
address, *data);
last_address = address;
last_data = *data;
count--;
}
address++;
data++;
}
write_prg_flash_command(
0x0000, 0x29);