1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Игровые автоматы

Тема в разделе "Приставочный уголок", создана пользователем mai, 16 мар 2008.

  1. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    @shiru8bit, Не прерывание, поллинг в цикле. трех портов хватит чтобы захватить 10 линий адреса, 8 данных и 4 бита chip enable. И разогнанного выше 20 МГЦ atmega. Не страшно, если после захвата одного обращения мы пропустим еще несколько. Просто продолжим слушать, пока не наловим все.
    --- добавлено 8 июл 2016, предыдущее сообщение размещено: 8 июл 2016 ---
    Ну елы-палы. Я даже картинку разместил. Сигнал высокого уровня и сигнал низкого уровня - соответствуют duty cycle 100% и 0%, а сигнал "серого" - это 50%. То есть это широтно-импульсная модуляция тремя фиксированными уровнями несущей фиксированной частоты 4 МГц. Легко видеть, что при использовании других duty cycle мы получим больше уровней серого (при неизменной частоте!), а вот изменив частоту с 4 МГц на 8 при том же duty cycle мы получим в точности тот же серый.
     
    Последнее редактирование: 8 июл 2016
  2. shiru8bit

    shiru8bit

    Регистрация:
    24 июн 2016
    Сообщения:
    57
    Чтобы это назвать duty, нужно, чтобы был меандр в принципе. Чтобы была буква И в ШИМ, Ш которых меняется. Ясно, что это схоже и по сути вырожденный случай, но зачем притягивать термин к плохо подходящей ситуации? Спор ни о чём.

    Несколько лет не писал под AVR, туго вспоминается. Код поллинга получается такой (для РТ4, третий порт под 4 бита данных и 4 разрешение выходов), без выхода по достижению статистики, его можно сделать и тупо по прерыванию от нажатия кнопки, когда надоело ждать:

    Код:
    poll:
       in XL,PINA     ;1
       in XH,PINB     ;1
       in R0,PINC     ;1
    
       mov R1,R0     ;1
       andi R1,0x0f   ;1
       cpi R1,mask     ;1
       brne poll     ;1/2=8t wait cycle
    
       andi XH,0x03   ;1
       st X,R0       ;2
       rjmp poll     ;2=13t
    Гнать AVR можно до 24 вполне спокойно, 24/8=3 МГц, только в ожидании, а с записью всего 1.8 МГц. Расчёт уверенности не придаёт, пробовать надо. Или сразу взять контроллер побыстрее, чтобы наверняка.
     
    Последнее редактирование: 8 июл 2016
    nop нравится это.
  3. IgorR76

    IgorR76

    Регистрация:
    29 июн 2016
    Сообщения:
    76
    Да какая разница, как это назвать. Главное, что мы понимаем, о чем речь. А понимаем мы правильно.

    Со считывателем идея хорошая и правильная! Но так можно считывать только всякие дешифраторы в развертках. А знакогенераторы и спрайты - сложнее. Придется играть до победного, пока все без исключения "мультики" покажут!
    Например, в Городках надпись ПРИЗ появляется только при выбивании 15 фигур. До этого она не считывается из ПЗУ.
     
    Последнее редактирование: 8 июл 2016
    nop нравится это.
  4. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    меня ждало такси, поэтому дописал лишь сейчас, чтобы чётко показать, почему там нет частотной модуляции. Уж простите :)
    --- добавлено 8 июл 2016, предыдущее сообщение размещено: 8 июл 2016 ---
    Это очевидно так, но ведь и чтобы увидеть огрехи в нашей эмуляции тоже придётся играть до победного :) а к тому времени придумаем что-то ещё, чтобы считать оставшееся :)
    И ещё. Если это фиксированные аппаратные спрайты, то вполне возможно они все равно сканируются, но либо без gate на выход либо без chip enable на входе. А CE можно и устроить.
    --- добавлено 8 июл 2016 ---
    Нам нужно что-то мелкое(atmel в soic), а у более крутых - нет толерантности к 5 вольтам - надо буферы (хотя бы резисторы) и стабилизатор питания.
    А по прерыванию должен активироваться дамп памяти по проводку через UART.
     
    Последнее редактирование: 8 июл 2016
  5. IgorR76

    IgorR76

    Регистрация:
    29 июн 2016
    Сообщения:
    76
    Ну вы ведь меня поняли! Если точнее сказать, то не "частотная модуляция", а "модуляция частотой".
    --- добавлено 8 июл 2016, предыдущее сообщение размещено: 8 июл 2016 ---
    Предлагаю метод. Дорожки на платах-лужёные. Перерезаем +5в на ПЗУ лезвием. Плату не вставляем, питание не подаём. Берем новую панельку, к выводам паяем программатор, а в гнёзда для микрухи вставляем иголки. Прикладываем панельку иголками к запаяной ПЗУ, держим, и считываем содержимое. Потом нагреваем перерезанную дорожку- припой соединит её. Даже заметно не будет.
    Остальная схема влиять на программатор не должна, и сгореть тоже не должна.

    Это просто гипотеза. Замечания и предложения приветствуются!
     
  6. MetalliC

    MetalliC

    Регистрация:
    20 апр 2009
    Сообщения:
    698
    резать дорожки народ явно не согласится.
    мне кажется более реалистичный способ - всё таки убедить людей, что эти чипы нужно сдампить ,
    аргумент: УФ ПЗУ не вечны, а так у них будет на руках дамп(ы), и если что смогут заменить их довольно легко (после дампа запаять панельки под эти чипы)
     
    tuliss нравится это.
  7. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Как вариант, можно и реплику платы будет сделать. Тем более сейчас это более реально.
     
  8. shiru8bit

    shiru8bit

    Регистрация:
    24 июн 2016
    Сообщения:
    57
    Я думаю, способ с резкой и иголкой, помимо очевидных проблем с запретом на вмешательство и лаком на дорожках, имеет невысокие шансы. Во-первых, резать скорее всего надо оба питания, потому что на адресных входах наверняка висят какие-то выходы, а подавать уровень на выход нельзя - не знаю точно, что будет без питания, но едва ли что-то хорошее. Во-вторых, вероятность одновременного хорошего контакта в такой куче иголок в течении нужного времени мне представляется не очень высокой. И меньше иголок не сделать, ША нужна по любому вся, даже если читать по одному биту за раз. Такое однозначно надо пробовать на личном железе, которое не жалко.

    Для реплики платы нужно сдуть вообще все детали с рабочего экземпляра, всё отсканировать и замерить, плюс иметь оригинальную плату в доступе для контроля ошибок. Ну и сделать некоторые вложения. Плюс не факт, что разъёмы и некоторые другие детали доставаемы. Если такое делать, я бы предложил начать с ТИА-МЦ1, с блока ПЗУ.

    Предлагаю пока сосредоточиться на дампе ПЗУ с кодом через панельку процессора, как наиболее реальном на текущий момент действии. Вероятно, там не надо будет соблюдать тайминги обращения к шине, потому что ОЗУ статическое, ПДП нет, видео тоже судя по всему отдельное (а если нет, снег на экране во время дампа не так уж важен), и можно тупо перебирать адреса с удобной скоростью. Но хотелось бы услышать возражения, если в самой идее что-то принципиально не то, прежде чем начинать махать паяльником. У меня есть NN-ое количество AVR, программатор, макетки, всё такое - некий девайс я собрать в принципе могу. Для тестирования под рукой есть РК86 и ПК8000.
     
    Последнее редактирование: 8 июл 2016
    tuliss нравится это.
  9. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    С реплекой конечно все понятно, что нужно как минимум ее хорошо сфотогрфировать. ТИА немного проще, так как минимум есть схема.
    Просто если смотрителям музея интересно, можно начинать клонировать аппараты. правда я не знаю, что там будет с авторскими провами в этом случаи.
     
  10. IgorR76

    IgorR76

    Регистрация:
    29 июн 2016
    Сообщения:
    76
    Идея норм, думаю, плату вставлять в автомат не надо, питать считывателем. Никакого снега не будет :) Только контроллер шины ВК28 смущает: он же между ЦПУ и ПЗУ? Надо ли его настраивать перед доступом к шине? И надо убедиться, что нет страниц ПЗУ, переключаемых регистром. Короче, надо сначала схему понять, потом подключаться...
     
  11. shiru8bit

    shiru8bit

    Регистрация:
    24 июн 2016
    Сообщения:
    57
    Там всего 8К ПЗУ и 2К ОЗУ, страниц точно нет, и скорее всего дешифрация окнами по 8К, если не больше. Контроллер шины не программируемый, он работает сразу и всегда одинаково - иначе бы систему было не запустить, ведь стартовый код в ПЗУ на той же шине, процессору надо его считать, чтобы что-то настроить. Девайс по сути должен работать, как работал бы процессор, только читать он будет все адреса подряд, а не согласно коду в ПЗУ. Получится образ 64К, в первых 8К наверняка будет код, а по остальным данным можно угадать некоторые детали реализации - есть ли мирроринг в памяти, и где примерно там ОЗУ и ВВ55.

    Идея не вставлять плату мне нравится, так удобнее. Но питать плату считывателем затруднительно, это же 580 серия, ей надо +5, +12, -5, и лучше бы найти, куда исходно подать эти напряжения, не в панельку процессора. Нужно тащить целый PC-шный блок питания, или гору батареек с регуляторами напряжения. Запитать девайс от панельки проще, у него и потребление мизерное.
     
  12. IgorR76

    IgorR76

    Регистрация:
    29 июн 2016
    Сообщения:
    76
    Дык, это... Три питания нужно только процессору, а его мы вынимаем...
    5В 1А будет достаточно для такой платы. Я так думаю...
     
  13. shiru8bit

    shiru8bit

    Регистрация:
    24 июн 2016
    Сообщения:
    57
    Там ещё некая ГФ2* есть (не видно). Если это ГФ24 (вроде других нет), ей тоже +12 надо. Но она в панельке. ВК28 и РУ8 12 не надо. Да, должно прокатить. Я просто думал, исходя из тестирования в указанных компьютерах.

    Ещё есть вопрос выяснения частоты кварцев. Теоретически у большого это 9, и это какая-то отдельная частота, генератор на ЛЛ1, рядом ТМ2 - возможно что-то типа 4.5 МГц, пиксель-клок? У мелкого спереди только тип и дата выпуска, и он идёт к ГФ2*, это для процессора. Диапазон возможных частот понятен, учитывая предельную для ВМ80 и делитель, но надо бы узнать точно. Частотомера и осциллографа (да ещё на такую частоту и компактного) у меня нет.
     
  14. IgorR76

    IgorR76

    Регистрация:
    29 июн 2016
    Сообщения:
    76
    :) :) :) Дык, это... А зачем нам ГФ24? Процессора-то нету. Вынимаем и её! Тактируется всё от считывателя... Кварцы тоже для считывания не нужны...
     
  15. shiru8bit

    shiru8bit

    Регистрация:
    24 июн 2016
    Сообщения:
    57
    Ну да, я и говорю - в панельке, подразумевая, что можно вынуть - и тогда должно прокатить.

    Кварцы нужны не для считывания, а для последующей эмуляции, чтобы не на глазок. Чтобы по десять раз не дёргать железо и музей, надо сразу подготовить все вопросы, требующие прояснения, и средства их прояснения.

    Предварительная попытка оценки разрешения по видео (жаль, сняли не в HD). Сразу отмечу, на экране были чётко видны горизонтальные сканлайны, причём снизу они были заметно шире, чем сверху. Видимо, это не просто повёрнутый на бок экран с обычной развёрткой, но и развёртка тоже повёрнута. Буквы, похоже, по 8 пикселей в ширину (7 плюс пустой между ними), и на экране в ширину их помещается примерно 21 - около 168 пикселей. Логичнее ожидать 160 или 176. На ZX при пиксель-клоке 7 МГц видимых 352 пикселя, а всего в строке 448, т.е. ещё должно быть около 20% за экраном. Пиксели букв выглядели квадратными, значит в высоту около 208..228 пикселей. Пока никакие цифры в попытках посчитать не сходятся с тем 9 МГц кварцем. Но есть неизвестные параметры, ведь если развёртка повёрнута, там может быть нестандартное число строк и кадров.
     
  16. IgorR76

    IgorR76

    Регистрация:
    29 июн 2016
    Сообщения:
    76
    @shiru8bit, без полной схемы электрической принципиальной эмуляция не получится. Если на глазок, по видео, будет симуляция. Варианта два: или искать схему, или срисовывать с плат. И измерять важные параметры на рабочем автомате. Тогда возможна эмуляция.
    Вот в "Городках" тоже экран вертикально стоит, а развёртки обычные - 312 строк, 256 пикселей в строке - и без искажений выходит! Пискельклок 4МГц.
    Кстати, кварцы не ставят на частоту работы схем - а берут двойные частоты, чтобы после делителя получить скважность 1:1.
     
  17. shiru8bit

    shiru8bit

    Регистрация:
    24 июн 2016
    Сообщения:
    57
    Ну, пока у всех как-то получалось и без схем, и с гораздо более сложными системами. Можно сколько угодно твердить, что надо на рабочем автомате то и это, что нужна схема, но - ковырять не дадут, схемы нет и не будет, и точка. Можно конечно и не делать ничего.

    Городки - это Городки, я не вглядывался там, есть ли сканлайны и как они ориентированы. А в данном случае сообщаю то, что видел, и высказываю свои предположения. То, что я считаю, исходя из возможного пиксель-клока 4.5 МГц, я упоминал выше.
     
  18. IgorR76

    IgorR76

    Регистрация:
    29 июн 2016
    Сообщения:
    76
    Дорисовал схему "Городков". В Протеусе всё работает (кроме звука), на 4-ядерном 3GHz процессоре выдаёт аж 6 fps !:hmmm:Ну, это чтобы проверить работоспособность.
    Если у кого-то есть желание сделать полноценный эмулятор этого автомата - можно импортировать NetList Протеуса, например, в DICE. Тогда должно заработать на полной скорости.
    Проект для Proteus ISIS 8 во вложении.
     

    Вложения:

    • GORODKI.zip
      Размер файла:
      93,7 КБ
      Просмотров:
      38
    MetalliC, nop и shiru8bit нравится это.
  19. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    @IgorR76, Там синхронная логика? Т.е. там сигнал всегда проходит через тактируемые микросхемы?
     
  20. IgorR76

    IgorR76

    Регистрация:
    29 июн 2016
    Сообщения:
    76
    С одной стороны-да. Пришлось выключить симуляцию задержек прохождения сигналов, чтобы схема заработала. С другой-в схеме есть одновибраторы 155АГ1, которые полностью асинхронны.
     
    shiru8bit нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление