User Tag List

Страница 10 из 35 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя
Показано с 91 по 100 из 354

Тема: Корвет: ExtROM Open Source extender

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дачный воздух пошел мне явно на пользу - я разобрался с BDOS ERROR в игрушке.

    Опишу последовательность поиска, если кому интересно. Как мы тут уже заметили, BDOS error вылезает на ровном месте - к контроллеру обращений никаких нет. Я взял в зубы отладчик, поставил в биосе бряк и стал смотреть. Вижу - пришло обращение на чтение сектора. Форимруется запрос, пакет отсылается в порт. В логе эмулятора - тишина. Блин. Прикручиваю к эмулятору лог обращений к каналу А. Все 5 байт команды в порт уходят - и тишина. Уже думал, баг в эмуляторе. Но оказалось все проще. Опустился сигнал control. Это ППИ2 С7. Мы его используем для синхронизации начальной загрузки и отлова перезагрузки. Когда сигнал опущен - контроллер на команды не реагирует. Данные, идущие в порт А, просто тихо игнорируются, и все.
    Приделал в лог трассировку этого сигнала. Оказалось, что через 5 примерно секунд после запуска игры он начинает делгаться туда-сюда с интервалом примерно полсекунды.
    Теперь осталось найти, кто его дергает. Эмулятор с исходниками - великая вещь. Дописываю в лог вывод текущего PC в момент обращения к порту. Выявилось 2 точки - по адресу 2d1 и 33с. Обе точки, естественно, входят в адресное пространство программы. Смотрю туда в отладчике - точно. mov m,a. В HL - адрес ППИ2С.

    Вот так. Придурок, писавший эту игрушку, решил, что срать от балды в произвольный порт - это прикольно.Я понимаю, когда лезут, например, к таймеру, или контроллеру прерываний. Но сюда-то зачем? Единственная функция этого сигнала - управление внешним ПЗУ.
    И это только первая ласточка. Как я вижу, в мире корвета разгильляйство - норма жизни. Во всем - от ОПТС и журнальных статей до игрушек.
    Самое поганое, что это не лечится. В эмуляторе можно, конечно, после загрузки системы игнорировать этот сигнал. А в железке - нельзя. По этому сигналу отслеживается момент перезагрузки системы. Еще одно, кстати, разгильдяйство - не вывести на боковой разъем сигнал RESET.

    Исправить ситуацию можно, только пропатчив игрушку, забив 00 на место этих 2 команд. Но это тоже непросто - на диске runner.com выглядит совсем не так, как после загрузки в память. Упакован он там, что ли?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    немного запоздалых ответов
    Цитата Сообщение от forth32 Посмотреть сообщение
    Исправить ситуацию можно, только пропатчив игрушку, забив 00 на место этих 2 команд. Но это тоже непросто - на диске runner.com выглядит совсем не так, как после загрузки в память. Упакован он там, что ли?
    тот вариант что на диске действительно упакован gold soft Executive files packer V1.0
    та в конце написано
    несжатая 34816, сжататя 16896
    несжатая есть в архиве

    ---------- Post added at 12:02 ---------- Previous post was at 11:56 ----------

    Цитата Сообщение от eugeniusz Посмотреть сообщение
    А может атавизм портирования?
    такое практичесски нереально
    портирования были
    1) с MSX (все порты НИИСЧЁТМАШ) (+ моя Atheletic Land aka Park)
    2) c ZX (Dandare,Dandare 2, Deflector, Karate)
    3) специалиста (целая одна ZOO)

    все порты кроме специалистовскго - это полный дизасм, и адоптация
    там хвостов не может быть

    у порта со спеца - в теории может быть, это даже не порт а адоптация.

    условно
    3) с Commodore 16
    тут вообзе только графика сдернута.

    ---------- Post added at 12:04 ---------- Previous post was at 12:02 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    А что, эту игрушку откуда-то портировали? Я просто в игрушках мало разбираюсь, хотя название - runner - что-то мне напоминает.
    Это легенда
    http://ru.wikipedia.org/wiki/Lode_Runner
    но это написанная специально для Корвета версия.

    ---------- Post added at 12:12 ---------- Previous post was at 12:04 ----------

    Цитата Сообщение от Serebriakov Посмотреть сообщение
    В Китае стоит 2.5$ всего, вроде дефицита пока нет. Только ждать пару месяцев пока доедет.
    или вот вариант
    http://www.banggood.com/IIC-Or-I2C-O...o-p-88316.html
    16x2 по spi
    можно и без spi тогда ног больше надо, чуть чуть .
    но его если и делать то опционально, чтоб без его наличия всё работало
    а если он есть то в качестве бонуса ....

    ---------- Post added at 12:14 ---------- Previous post was at 12:12 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Я сейчас на этом С80 пытаюсь писать - это прост АД. Такой древний диалект языка С уже лет 20 мне не встречался.
    дык
    The Software toolworks
    C80 compiler V3.1 4/11/84


    ---------- Post added at 12:17 ---------- Previous post was at 12:14 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Но сейчас я стараюсь придерживаться условия максимальной простоты устройства. То есть схема делается как можно проще, а все что можно реализуется программно. То есть схема планируется для сборки кем угодно - вплоть до домохозяек, если может держать в руке паяльник.
    Это точно должна быть основная цель, по крайней мере до релизной версии
    а уже потом можно изголяться

    ---------- Post added at 12:19 ---------- Previous post was at 12:17 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Так я ее еще пару недель назад нарисовал и в архив с прошивкой положил. И номиналы вроде все указал в этот раз.
    диоды не подписаны...
    а для меня слово "любой" не подходит, как я в магазине это скажу

    ---------- Post added at 12:24 ---------- Previous post was at 12:19 ----------

    Цитата Сообщение от forth32 Посмотреть сообщение
    Не, ну ведь тумблер - это не эстетично Проще сделать вызов API, запрещающий реакцию на Control. При этом в железке я просто отключу прерывание Int0, а в эмуляторе - добавишь еще один флаг к проверке при записи в PPI3 А. Ну и утилитку control с ключами -e и -d. При этом понимать, что при отключенном control перезагрузка возможна только отключением питания.
    одно другому не противоречит
    просто тумблер может просто отключить этот порт от контроллера, т.е. он всегда останется в режиме API, на всякий пожарный случай

    еще из кнопок появилась такая идея

    нам надо где-то держать софт "менеджер EXTROM"
    завести кнопку "смонтировать диск с софтом в драйв"

    например
    три кнопки
    A,B и SELECT
    при нажатии A+SELECT монитруем насильно образ как бы
    B+SELECT соответсвенно
    A+B - отключить выход в режим boot
    etc, etc ...

    но такие кнопки уже в "расширенную" версию просятся в комплекте с индикатором.

    а то как монитровать, не копировать же всё на софтину на все диски

    или не так, а при нажатии кнопки монитровать как D всегда,
    Последний раз редактировалось esl; 11.07.2014 в 13:26.

  4. #3
    SaintTurnip
    Гость

    По умолчанию

    Это не может быть опросом джойстика?

  5. #4

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я считал, что джойстик висит на канале В ППИ 3. Зачем ему сигнал control?
    Если же этот сигнал и правда для чего-то реально использовали, то мы имеем глубкую жопу. Ну или надо программно отключать реакцию контроллера на этот сигнал. Следствием чего будет невозможность перезагрузки корвета без ручной перезагрузки контроллера.

  6. #5
    SaintTurnip
    Гость

    По умолчанию

    А может атавизм портирования?

  7. #6

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А что, эту игрушку откуда-то портировали? Я просто в игрушках мало разбираюсь, хотя название - runner - что-то мне напоминает.

    Все может быть, даже то, что на исходной платформе по этому адресу был какой-то полезный порт. Но попасть так прицельно именно на сигнал control...

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

    В воскресенье приделаю к контроллеру желтый светоодиод, отображающий состояние сигнала control. Чтобы больше не вляпаться в такую же ситуацию.[COLOR="Silver"]

  8. #7
    SaintTurnip
    Гость

    По умолчанию

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

  9. #8

    Регистрация
    17.04.2011
    Адрес
    Санкт-Петербург
    Сообщений
    328
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    209
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В смысле - сигнал на этом проводе заставит контролеер забить на сигнал Control? Это можно и без провода сделать, просто вызовом api. Только что будем делать, когда юзер нажмет кнопку Reset? Ведь тут же получим сообщение ОШИБКА ШИНЫ.

  10. #9
    SaintTurnip
    Гость

    По умолчанию

    а при ресете выводы вв55 не сбросятся в ноль?

  11. #10

    Регистрация
    06.04.2013
    Адрес
    г. Могилев, Беларусь
    Сообщений
    254
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    110
    Спасибо Благодарностей получено 
    62
    Поблагодарили
    28 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Лучше, действительно, добавить индикацию.
    Может сделать ее и для каких-нибудь других непредвиденных операций?
    Понятно, что нет смысла вешать диоды на каждую ногу или порт =), но, к примеру, показывать чтение-запись на флеш-память.
    Заодно мигать при включении, инициализации (флешка нашлась и определилась) и другом разном.
    Устройство, как я понял, планируется самодостаточное (без участия пк), пусть бы сигналило, что происходит.
    Может даже отладку на железе несколько упростит.
    Ну или если есть свободные ноги, какой-нибудь простой цифровой индикатор повесить.
    Парой индикаторов, да даже и одним, можно было бы показать много интересного онлайн, без необходимости лезть за логами на флешку.
    Только, пожалуйста, без "LCD от Нокии" =), усложнит схему до безобразия.
    Простые смертные то же хотят потом это собрать =)
    Последний раз редактировалось Serebriakov; 10.07.2014 в 23:49.

Страница 10 из 35 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя

Информация о теме

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

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Open source firmware for the Spectrum
    от zx-kit в разделе Разный софт
    Ответов: 60
    Последнее: 29.05.2014, 13:53
  2. open-source эмуляторы под .NET
    от Sawyer в разделе Эмуляторы
    Ответов: 1
    Последнее: 04.01.2011, 17:47
  3. GP2X F100 Open Source Gaming Console
    от CodeMaster в разделе Зарубежные компьютеры
    Ответов: 3
    Последнее: 12.06.2010, 23:51
  4. Open Source эмуль...
    от rg_software в разделе Эмуляторы
    Ответов: 50
    Последнее: 06.12.2006, 11:57

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •