Автор Тема: [SMD] не записывает Willem программатор  (Прочитано 917 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
Всем привет, хочу записать РОМ своей SMD-игры на чип M27C160.
Для этого использую:
  • программатор Willem PCB5.0T-2013
  • комп на windows xp
  • материнскую плату с LPT-портом
  • универсальный блок питания на 12в
  • программу Willem Eprom (0.97ja)
При попытке записать РОМ выдает непонятную ошибку
Error at 0x000000 Chip = 0xFF buffer = 0x00

296193-0

Хотя чтение и верификация проходят на 100%.

296195-1
296197-2

В чем моет быть дело и что означает данная ошибка?
Все РОМы записывал в сыром виде без модификации. Всего пробовал 3 разных РОМа, все они находятся в архиве в закрепе.
« Последнее редактирование: 11 Август 2025, 10:00:27 от SegaMark »

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #1 : 29 Июль 2025, 11:19:34 »
Ну а чего ж тут непонятного? По первому же адресу при попытке записать 00 считывается FF. Или программатор неисправен, или ПЗУ битая.

Игры прикладывать нет никакой необходимости, дело не в них. Единственно что перед прошивкой нужно байты поменять местами, младший со старшим. Но проблема записи не в этом.

Сам по себе программатор ПЗУ нормально читает?

Добавлено позже:
Хотя чтение и верификация проходят на 100%.
Чтение и верификация пустой микросхемы не имеет смысла.
« Последнее редактирование: 29 Июль 2025, 11:31:36 от Rumata »

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #2 : 30 Июль 2025, 05:30:28 »
Сам по себе программатор ПЗУ нормально читает?
А как это проверить? У меня нет других чипов.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #3 : 30 Июль 2025, 08:57:48 »
Ну хотя бы открыть вкладку Test H/W. Хотя бы проверить сам программатор. Адаптер тоже можно, но несколько сложнее

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #4 : 06 Август 2025, 17:52:17 »
И как здесь проверять?
296394-0

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #5 : 06 Август 2025, 21:01:36 »
Ставишь галку и смотришь напряжение на соответствующей ноге.

Вообще это программатор ранее использовался?

Кстати, за что не люблю Willem. Он официально давно заброшен. И теперь разного рода энтузиасты строгают кто железо, кто софты. И мало понятно как одно с другим соотносится.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #6 : 07 Август 2025, 04:16:09 »
Вообще это программатор ранее использовался?
Нет. Я первый владелец

Добавлено позже:
И теперь разного рода энтузиасты строгают кто железо, кто софты.
То есть есть еще сторонний софт? Можешь ссылку дать или сказать название, а то кроме этой программы ничего не нашел. Может там полегче будет разобраться в чем проблема

Ещё вопрос. Нужно ли что то менять в БИОС чтобы он заработал?
« Последнее редактирование: 07 Август 2025, 04:29:24 от SegaMark »

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #7 : 07 Август 2025, 11:34:50 »
Он не сторонний, точнее, он весь сторонний. И там куча вариантов под разные платы. Под PCB5.0 вроде последний 098d12c14. Внешне всё практически идентично, основное веселье начинается когда dip-свичи на плате выглядят не как, как в окне программы.

Нужно ли что то менять в БИОС чтобы он заработал?
Ну как минимум LPT должен быть включен. Кроме того, нужно открыть прямой доступ к порту. Обычно для этого используются сторонние утилиты типа UserPort

Посмотри в сети, есть ресурсы, занимающиеся этим более плотно


Добавлено позже:
Ну вот некий старенький мануал: https://www.ezoflash.com/willem/How_to_use_the_Willem_programmer.pdf

Ezoflash - это клон Виллема, правда дано заброшенный
« Последнее редактирование: 07 Август 2025, 11:56:43 от Rumata »

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #8 : 07 Август 2025, 17:45:49 »
Ставишь галку и смотришь напряжение на соответствующей ноге.
Проверил все работает. Что еще может быть не так?
296416-0


Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #9 : 07 Август 2025, 18:17:53 »
Тест лучше без микросхемы запускать.
Vpp 12 Вольт есть?

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #10 : 07 Август 2025, 18:24:23 »
Ну вот некий старенький мануал: https://www.ezoflash.com/willem/How_to_use_the_Willem_programmer.pdf
Спасибо хороший мануал. Давно такой искал :thumbup:

Добавлено позже:
Vpp 12 Вольт есть?
Да есть

Цитата
Sometimes when you connect the programmer and start up the program after a few
seconds the Vpp and Vcc leds suddenly light again. This is Xp trying to find out
what is connected to the printerport, if you do 1 or 2 hardware check or read
actions XP gives up and you can proceed as normal. To prevent this add this
registry setting:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001
Пробовал не помогло.

Цитата
Check the printerport setting in the BIOS, it should be EPP or Normal
Это тоже не помогло

Такое чувство что либо в операционке проблема, либо в микросхеме какая то защита от записи. Попробую найти где нибудь ванну и отчистить ее.
« Последнее редактирование: 07 Август 2025, 18:50:10 от SegaMark »

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #11 : 07 Август 2025, 19:02:36 »
В микросхеме защиты от записи нет. Хотя она может быть просто битой. У УФ это бывает. Записал - стёр, записал - стёр, записал - стёр - и всё, больше не пишется

По идее если тест работает - значит доступ к LPT есть.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #12 : 08 Август 2025, 12:42:24 »
Цитата
First byte, error message: error at 0x000000 Buffer=0xXX ,Chip=0xFF or 0xXX.
Causes: chip not inserted right,faulty chip, Vpp too low, Vcc too low or Vcc too
high.
А как это проверить? насколько я понял при записи должно быть Vpp=12в Vcc=5в.
Есть вообще где-нибудь пошаговое описание что происходит при записи?

Добавлено позже:
В микросхеме защиты от записи нет.
На нее же можно перезаписать данные только после УФ-стирания. Как тогда она понимает что данные уже записаны? Разве не с помощью срабатывания какой то защиты?

Добавлено позже:
Попробовал очистить уже другой чип M27C160. Продержал в ультрафиолетовой ванне 20 минут. Результат такой же, все еще выдает ту же самую ошибку.

Добавлено позже:
У меня осталось только одно предположение, что не установлен какой то драйвер

Добавлено позже:
Короче я вставил уже 3й чип M27C160(у меня только эти чипы) и наконец таки я все же увидел как выглядит запись, Но есть нюанс он может записать только только если в буфере всё 0xFF.

Добавлено позже:
Обычно для этого используются сторонние утилиты типа UserPort
Пробовал использовать UserPort по инструкции https://www.youtube.com/watch?v=5SZlvM8Cw2o. Все так же выдает ошибку
« Последнее редактирование: 10 Август 2025, 17:53:25 от ghostdog3 »

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #13 : 09 Август 2025, 21:24:46 »
Есть вообще где-нибудь пошаговое описание что происходит при записи?
В даташите на ту же 27C160 режим программирования расписан достаточно подробно

Как тогда она понимает что данные уже записаны?
Она ничего не понимает

Но есть нюанс он может записать только только если в буфере всё 0xFF.
В чистой микросхеме записаны все FF, то есть "11111111" При программировании реально пишутся только нули, разряды, где должна быть единица, остаются. На этом, кстати, и основана работа адаптера. Поэтому попытка записывать FF никакого смысла не имеет.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #14 : 10 Август 2025, 06:48:59 »
Цитата
The  M27C160  is  in  the  programming mode when VPPinput is at 12.5V
Я проверил и у меня нет 12v на Vpp при программировании. Теперь осталось понять почему. Такое чувство что проблема в Dip switch, либо в Jx switch.

Добавлено позже:
Еще интересный момент что у меня не совпадает распиновка согласно даташиту. Vpp у меня находиться на месте 35, а не на 32

Добавлено позже:
А можно как нибудь через Test H/W записать?

Добавлено позже:
Цитата
The  M27C160  is  in  the  programming mode when VPP input is at 12.5V, G is at VIH and E is pulsed to VIL.The data to be programmed is applied to 16 bits in parallel to the data output  pins.  The  levels  required  for  the  address and  data  inputs  are TTL.  VCC is  specified  to  be6.25V ± 0.25V.
Судя по этому как будто бы нельзя, потому что E должно пульсировать
« Последнее редактирование: 10 Август 2025, 07:04:22 от SegaMark »

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #16 : 10 Август 2025, 07:56:10 »
Для начала https://www.emu-land.net/forum/index.php/topic,87896.0.html
Ну тут хоть что то записывает. У меня так вообще ничего :cry:

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #17 : 10 Август 2025, 08:15:46 »
Там схемы приложены. Смотри, сравнивай.
У тебя адаптер какой? Потому как тоже наклепали разных, там могут быть разные джамперы.

Ещё вариант адаптера:

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #18 : 10 Август 2025, 08:45:15 »
У тебя адаптер какой?
296542-0 [ Указанное вложение недоступно ]

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #19 : 10 Август 2025, 08:52:44 »
Ага, как раз с одной панелькой, см. схему выше. Хотя у тебя два джампера

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #20 : 10 Август 2025, 09:06:45 »
Только сейчас заметил что на Адаптере есть J2, но не понятно зачем он нужен.
J3 я кстати поменял на 1-2, изначально был на 2-3. Насколько я понял 2-3 нужен только для M27C322, так как она больше.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #21 : 10 Август 2025, 09:17:58 »
Да, у 322 на 32 ноге адрес. И там всё подписано. А J2 надо отслеживать.

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #22 : 10 Август 2025, 09:28:33 »
Еще интересный момент что у меня не совпадает распиновка согласно даташиту. Vpp у меня находиться на месте 35, а не на 32
Еще раз перепроверил. Оказывается все правильно Vpp находиться на 32 просто еще почему то на 35 тоже подается 12в.
И при программировании на Vpp подается максимум 5в, скорей всего проблема все-таки в этом.

Добавлено позже:
Я поменял J2, но не увидел никакой разницы, все так же Vpp в тесте выдает 12в. Запись выдает всю туже ошибку

Добавлено позже:
Попробовал заменить библиотеку io.dll на ту которая в архиве. Не помогло. Вообще я так понял эта библиотека для адаптеров, где LPT не встроена в материнку
« Последнее редактирование: 10 Август 2025, 17:53:10 от ghostdog3 »

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #23 : 10 Август 2025, 17:02:47 »
Короче решил действовать кардинально. Из того что мы знаем, чтобы началась запись должно быть Vcc=5в Vpp=12в. Значит нужно насильно подать в Vpp 12в. Решил узнать как напрямую подавать сигнал в пины LPT-порта. Наткнулся на программу test_lpt (https://github.com/snike202/test_lpt).

296556-0

Методом научного тыка обнаружил что если поднят 16 пин, то Vcc=5в, а если поднят 1 пин, то Vpp=12в. В принципе можно это использовать для тестирования чипа, чтобы не пришлось лишний раз переключать dip свичи. Однако я не гарантирую что по мимо этого не изменяется что-то еще.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 25391
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #24 : 10 Август 2025, 19:01:57 »
Точно так же дёргать ногами можно через Test H/W, никакой разницы нет.
Если есть 12 В на 1 ноге программатора, то должно быть и на 32 адаптера

Оффлайн SegaMark

  • Пользователь
  • Сообщений: 36
    • Просмотр профиля
[SMD] не записывает Willem программатор
« Ответ #25 : 11 Август 2025, 04:15:15 »
Точно так же дёргать ногами можно через Test H/W, никакой разницы нет.
Есть. не надо DIP свичи переключать