Автор Тема: Китайский everdrive-md в качестве прошивальщика флеш для многоигровок  (Прочитано 612 раз)

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

Оффлайн as32888

  • Пользователь
  • Сообщений: 986
  • Пол: Мужской
  • ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็
    • Просмотр профиля
Купил на али за 1500+доставка такую фиолетовую платочку.
В принципе, устраивает всё, кроме времени зашивки больших ромов (если 256 КиБ  еще быстро, то 4 МиБ уже заставляет понервничать). SPI speed test показывает 90 с чем-то kb/s, ну. думаю, понятно.

Решил проверить идею о подключении к внутренней m29w640ft впараллель еще одной такой же, чтобы зашить ее для использования в другом картридже и сделать, вероятно, многоигровочки.

И что я выяснил на данный момент:
1. Переключение старших адресов меняет смещение адреса для записи, но не влияет на адреса стираемых блоков, потому что блоков у флешки 135 штук (127 по 64 КиБ и 8 по 8 КиБ). то есть картридж будет стирать только во вторых 4 МиБ у своей и у добавленной флешки. Если флешку где-то предварительно стереть, то, скорее всего, ее можно будет там же и прошить (если это не тупая стиралочка на МК, которая с помощью сдвиговиков дает команду chip erase на чип и больше ниче не умеет), и тогда этот бубен не нужен. Пока буду считать, что средствами картриджа стирать можно вторые 4 МиБ.

2. Подтирать картридж будет часть вторых 4 МиБ согласно размеру рома, ибо зачем стирать все 4 МиБ, это долго, если надо записать меньше, поэтому можно придумать последовательность записи ромов меньше 4 МиБ из ромсета, чтобы не подтирать нужную нам инфу.
Записывать сначала файл 4 МиБ с заголовком как для SMD, но с FFFFFF содержанием, чтобы картридж сделал целиком стирание вторых 4 МиБ и не изменил содержимое ячеек, а потом записывать игры с конца, начать с более маленьких и закончив самой большой, таким образом, операции стирания не затронут ранее записанные игры. Это чтобы не склеивать несколько ромов на компе и не лить их на сд карту каждый раз

Флешка вторая будет иметь высокий уровень на /output enable, то есть будет работать только на запись.

Какие еще подводные? Наверняка что-то упустил. Ага, наверное. будет работать, если оборудование дает команды стирания, а потом просто ждет некоторое заложенное время, а следующую команду дает по истечении этого времени.

Смещение адресов ромов в многоигровках предполагается кратное их размеру, получается таким автоматически, если большие ромы в начале и маленькие в конце,
 тогда смешать сигналы смещения адреса и адресные линии можно через лог элемент 2ИЛИ. Если со счетчика/переключателей приходит лог 0, таким образом, лог.1 сможет прийти с шины адреса, как обычно, и это не помешает адресовать большие ромы.

Получается, к примеру, такая последовательность ромов: 2048, 1024, 512, 256, 256.. и так пока не заполнятся все 4 МиБ, заполнять с конца.
« Последнее редактирование: 29 Апрель 2023, 17:11:00 от as32888 »

Оффлайн murgatroid_79

  • Пользователь
  • Сообщений: 388
  • Пол: Мужской
    • Просмотр профиля
as32888, то есть ты "вторым этажом" на флешку 29W640FT ещё одну напаял ? :wow:
 А потом её на какой картридж пересаживал ?

Оффлайн as32888

  • Пользователь
  • Сообщений: 986
  • Пол: Мужской
  • ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็็็็็็็็็็ ส็็็็
    • Просмотр профиля
murgatroid_79, я пока что только открывал даташит на флешку, плюс еще с Китая едет что-то, так что все опыты еще впереди.

Команду стирания флеш памяти, наверное, будет несложно послать с какого-нибудь МК на много ног, видел какие-то скетчи программаторов на ардуино мега, там единственное - надо даташит открывать, смотреть команды, и корректировать код. Самому интересно этот вопрос решить.

Оффлайн Nikooone

  • Пользователь
  • Сообщений: 957
  • Пол: Мужской
    • Просмотр профиля
 o_0 извращь) Вы там загрузчик с OS не затрите случайно на родной флешке, а то плюс один кирпичь получите