Автор Тема: снять дамп картриджа через порт джойстика (SEGA MD)  (Прочитано 19314 раз)

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

Оффлайн totin

  • Пользователь
  • Сообщений: 339
  • Пол: Мужской
    • Просмотр профиля
собрал  железку, которая подключается к порту джойстика и держит связь с персоналкой. вообще можно было бы и без железки, но тогда не так интересно и к тому же нужен LPT порт, а так все цивилизовано,  через усб.
работает это так: для сеги написана маленькая програмка, которая загружает себя в озу и дальше способна там автономно работать без картриджа, принимая команды с персоналки, таким образом можно вытащить флеш картридж, не выключая приставку, вставить любой другой, запустить на персоналке управляющую софтину, и программка которая висит в озу будет считывать картридж и передавать на персоналку данные. единственная сложность, это необходимость акуратно вынимать и вставлять картридж, иначе приставка может повиснуть, но после 10 минут тренировок это начинает получаться очень хорошо (:
скорость передачи примерно 30 килобайт/с.
можно не только дампить, всего есть несколько основных команд:
записать
прочитать
установить адрес
в общем можно по любому адресу прочитать или записать что то.
по большому счету можно получить полный контроль над приставкой, к примеру можно отправить картинку и заставить приставку показать её, или  можно прямо с персоналки отправлять минипрограмки в озу приставки и запускать их без всякой записи на картриидж.

идея в общем то не нова, на мысль о создании такого девайса меня натолкнул GManiac, он показал нечто подобное но с участием сега сиди и LPT кабеля.
такое вот

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Так это продвинутый дампер Sega ? Может прикрепишь схемку железки и инструкцию как собрать и дампить ?

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
Так это продвинутый дампер Sega ? Может прикрепишь схемку железки и инструкцию как собрать и дампить ?
Где тут продвинутый? Продвинутый, это как минимум вот так:

С другой стороны, проектов с линком было много, а я даже PS/2 клавиатуру и мышку подключал к сеге (как напрямую проводками так и через контроллер). Очень хороший плюс порта джойстика в том, что он может генерировать прерывание. ;) И я его исполльзовал при работе с клавиатурой.
« Последнее редактирование: 01 Сентябрь 2009, 10:04:38 от HardWareMan »

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Дампер от totin более удобный вроде, приставку просто подключаешь к PC через USB и всё. Это круто. :thumbup:

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
Дампер от totin более удобный вроде, приставку просто подключаешь к PC через USB и всё. Это круто. :thumbup:
Удобнее, чем прийти к другу с карточкой, сдампить на карту/залить на плешкарт с карты? И потом, не требуется близкого расположения компьютера, у меня телевизор в другой комнате вообще. ;) Но, в общем, идея хорошая, особенно для геймдева, так что имеет право на жизнь.

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
вообще можно было бы и без железки, но тогда не так интересно и к тому же нужен LPT порт
Ну можно вообще без ЛПТ-порта, через звуковую карту :D :D :D С кодированием 4B/5B или Манчестер. Но это очень медленно.

Где тут продвинутый? Продвинутый, это как минимум вот так:
Опять начинается :lol: И много надо собирать эту бандуру?

С линком с сегой можно сделать ещё много чего интересного ;), я тебе уже намекал на это. И не надо забивать разъём Сеги СД, к тому же не у всех есть нормальная приставка.

Добавлено позже:
Я не помню, имеет ли Z80 доступ к I/O 68к. Если имеет, то можно дампер и для него написать, т.к. при вынимании картриджа он не виснет.

Оффлайн totin

  • Пользователь
  • Сообщений: 339
  • Пол: Мужской
    • Просмотр профиля
Так это продвинутый дампер Sega ? Может прикрепишь схемку железки и инструкцию как собрать и дампить ?

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

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


Добавлено позже:
Я не помню, имеет ли Z80 доступ к I/O 68к. Если имеет, то можно дампер и для него написать, т.к. при вынимании картриджа он не виснет.
M68K тоже не виснет, как выяснилось.
« Последнее редактирование: 01 Сентябрь 2009, 12:31:06 от totin »

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
мой вариант не требует близкого расположения телевизора, да и вообще, его наличия  ;)
А мой наличия компьютера. Так что мы квиты. %)
M68K тоже не виснет, как выяснилось.
Виснет. А еще, чревато выносом ТА04, это уже пройденный этап. ;) И вообще, старайтесь не делать телодвижений туда-сюда на рабочей шине. К тому же, у фирменных приставок замок есть, который не даст вытащить картридж (прорезь слева на картриджах все видели?). Уж лучше сделать переходник и в него втыкать, а верх развязать буферами.

Оффлайн totin

  • Пользователь
  • Сообщений: 339
  • Пол: Мужской
    • Просмотр профиля
Виснет. .... Уж лучше сделать переходник и в него втыкать, а верх развязать буферами.
ну так не виснет же! насчет переходника ты верно говоришь

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
ну так не виснет же! насчет переходника ты верно говоришь
Я же такой делал как-то. На основе МегаКея. У него в башке как раз разъем. ;)
PS Этот УСБ мост делается из одной FT245BM. Надо будет сделать платку быструю и поюзать. %)
« Последнее редактирование: 01 Сентябрь 2009, 15:53:14 от HardWareMan »

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Как я уже говорил, можно дампить игры, имея только флеш-картридж. Извращённый метод. Нужна звуковая карта и возможность записи на неё с сеги (с наушников или тюльпана). Но скорость будет очень низкая, 1.3 кб/с максимум.
Если кому-то не лень маяться ерундой :) и есть что сдампить, я могу доработать этот метод :D

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24652
    • Просмотр профиля
можно вытащить флеш картридж, не выключая приставку, вставить любой другой
Это не есть гуд. Можно просто приставку загробить.
Цитата
можно не только дампить, всего есть несколько основных команд:
А нету скриншотов каких?
Цитата
можно прямо с персоналки отправлять минипрограмки в озу приставки и запускать их без всякой записи на картриидж.
Скорее, микро.  :)
Цитата
идея в общем то не нова, на мысль о создании такого девайса меня натолкнул GManiac, он показал нечто подобное но с участием сега сиди и LPT кабеля.
А там разве не COM был?

Оффлайн Damian

  • Пользователь
  • Сообщений: 417
    • Просмотр профиля
Помню видел похожий способ, но вместо флеш-карта использовался МСД для запуска проги.

Оффлайн totin

  • Пользователь
  • Сообщений: 339
  • Пол: Мужской
    • Просмотр профиля

Rumata, там именно ЛПТ был. можно и через ком сделать, но скорость будет смешная - 600 бакйт/сек. насчет скриншотов не совсем понял,  скриншоты чего?

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
А нету скриншотов каких?
Консольное подключение не требует экрана со стороны Сеги. Никаких скриншотов. :)
А там разве не COM был?
У Сеги СОМ, но можно и как параллель в программном режиме.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24652
    • Просмотр профиля
Никаких скриншотов. :)
Что, вообще? Ни одной картинки? Всё из командной строки?

Откопал на винте вот такой serial i/o:

Оффлайн totin

  • Пользователь
  • Сообщений: 339
  • Пол: Мужской
    • Просмотр профиля
вобще без картинок (: прога на компе просто запускается и "вшитым" алгоритмом без каких либо команд с консоли начинает работать. а на сеге даже VDP отключен, чтоб небыло никаких прирываний, иначе нельзя будет картридж на ходу вынимать + телик у меня, как и у хардвермена, в другой комнате (:

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24652
    • Просмотр профиля
Вообще именно это горячее перетыкание меня больше всего смущает. Во-первых, так нельзя, картридж не p-n-p. Во-вторых, это вероятный источник сбоев, в первую очередь на тех сегах, что без разъема CD

Оффлайн totin

  • Пользователь
  • Сообщений: 339
  • Пол: Мужской
    • Просмотр профиля
понятно что эту штуку назвать полноценным дампером нельзя, скорее это интересный мне эксперемент,  идея с дампом попала под руку, так сказать.
особенно интересно было видить приставку которая работает без картриджа и сидирома

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
понятно что эту штуку назвать полноценным дампером нельзя, скорее это интересный мне эксперемент,  идея с дампом попала под руку, так сказать.
Опасный эксперимент. Все же, я склоняюсь над картриджем-переходником, схема которого может быть очень проста (из-за отсутствия графики, ПЗУ можно поставить вообще 2КБ-8КБ, а нужно "подгружать" в ОЗУ). Я могу накидать даже схемку. Точнее, она у меня уже есть. ;)
особенно интересно было видить приставку которая работает без картриджа и сидирома
Включи приставку с TMMS без картриджа. Тоже мне экзотика...

Оффлайн romanich

  • Пользователь
  • Сообщений: 26
  • Пол: Мужской
  • пришёл
    • Просмотр профиля
что опаснее - выдирать карик из работающей СЕГи или вставлять карик в работающую СЕГу?

на корпусе ТВ и БП гуляет 110В, CPU M68HC000

P.S. ощущаю небольшую трясучку когда руками вставляю плату картриджа в разъём, когда выключатель в положении OFF (шнур питания и ТВ естесно подключены)
« Последнее редактирование: 02 Сентябрь 2009, 09:27:44 от romanich »

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
что опаснее - выдирать карик из работающей СЕГи или вставлять карик в работающую СЕГу?
Точно, если на CS карта вдруг будет гуляющий "0" (элементарная 50ГЦ наводка от рук), то ты вставляешь конкурирующее устройство на шине. Конфликт неизбежен.

Как я это все вижу. Собираем в корпусе от мегакея такую схему:

Карта памяти будет следующая:
$000000-$3FFFFF - рабочее окно;
$400000-$7FFFFF - окно внутреннего ПЗУ.
По сбросу, триггер устанавливается в "0" и соответственно, активирует RSEL в лог.0, а CSEL в лог.1. При этом, внутреннее ПЗУ будет выбираться во всем диапазоне $000000-$7FFFFF (действие сигнала ASEL). Внутренний загрузчик стартует, разблокирует VDP и прыгает в окно $400000-$7FFFFF (бут часть компилируется для старта в области $000000-$3FFFFF, остальной код - для области $400000-$7FFFFF, однако я проверял на своей Сеге и он нормально стартует код сразу с $400000, так что это надо просто тестировать). После этого, код делает запись в себя (желательно в область $400000-$7FFFFF, но сработает и $000000-$3FFFFF, когда активно внутреннее ПЗУ) с установленным D0=лог.1 (например move.b #$01,$400000) и в окне $000000-$3FFFFF появляется картридж (если воткнут), а само внутренее ПЗУ остается доступным во втором окне $400000-$7FFFFF. Само ПЗУ подключено так, чтобы можно было заливать в него прошивку не делая байтсваппинг. Схема спроектирована так, чтобы обеспечить совместимость с любым оборудованием (разные версии MD), однако я не гарантирую работоспособность с аддонами, т.к. SegaCD использует ROM сигнал на разъеме EXT, а он свапится в $400000-$7FFFFF (с ограничением по объему) когда сигнал CART на разъеме картриджа активен (лог.0), а карта 32х мне не известна вообще.
Собственно, вот и все, какие мысли? Я уже собирал на макетке, у меня работает.

Оффлайн romanich

  • Пользователь
  • Сообщений: 26
  • Пол: Мужской
  • пришёл
    • Просмотр профиля
Собственно, вот и все, какие мысли? Я уже собирал на макетке, у меня работает.

Всё замечательно! :)

Правда сейчас повторить не могу из-за нехватки времени, так как занимаюсь программированием под СЕГу.

Про карик спрашивал, так как не проинитил VRAM (в реальной СЕГЕ из-за случайного содержимого VSRAM плейны съезжают, а в Gens'е в VSRAM нули), а программатор на работе, поэтому инитил VRAM другим кариком игры %)
Но это было давно...

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
А реально ли собрать дампер, подключаемый от порта джойстика к usb, с возможностью дампить напрямую ? То-есть без необходимости вытаскивания картриджа из приставки, чтобы не-возиться с платой и кучей железок, вроде же в сборке такого переходника-дампера есть преимущество по доступности нужных частей ?

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
А реально ли собрать дампер, подключаемый от порта джойстика к usb, с возможностью дампить напрямую ? То-есть без необходимости вытаскивания картриджа из приставки, чтобы не-возиться с платой и кучей железок, вроде же в сборке такого переходника-дампера есть преимущество по доступности нужных частей ?
Нет.

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
нет это не ответ, наверное возможность есть какая-то, ведь идея именно с таким дампером просто супер. :)

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
нет это не ответ, наверное возможность есть какая-то, ведь идея именно с таким дампером просто супер. :)
А что для тебя ответ? Если ты включишь приставку с картриджем, то она стартанет этот картридж. А там игра и нислова про слив через порт джойстика. Это для тебя ответ?

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24652
    • Просмотр профиля
$000000-$3FFFFF - рабочее окно;
$400000-$7FFFFF - окно внутреннего ПЗУ.
Собственно, вот и все, какие мысли?
Вроде мы это когда-то обсуждали.  ;)
Я думаю, можно проще. boot loader постоянно  держать в $000000-$3FFFFF, а с картриджем работать в $400000-$7FFFFF. Как минимум это дает нормальную работу с исключениями, т.к. таблица их векторов будет всегда на месте. А если после работы с картриджем нужно его запустить, то переключаем банки и делаем холодный старт (/MRES)

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7422
    • Просмотр профиля
Вроде мы это когда-то обсуждали.  ;)
Я думаю, можно проще. boot loader постоянно  держать в $000000-$3FFFFF, а с картриджем работать в $400000-$7FFFFF. Как минимум это дает нормальную работу с исключениями, т.к. таблица их векторов будет всегда на месте. А если после работы с картриджем нужно его запустить, то переключаем банки и делаем холодный старт (/MRES)
Опять же, как при этом усложниться девайс? Если бутром всегда держать в начале то схема упрощается на 1 триггер, а второй чип все равно держать, т.к. все равно нужно инвертировать CAS2. Так зачем избегать такого удобства? Ведь этот переходник можно и не вытаскивать из приставки и так играться. И/или дампить по ходу.

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24652
    • Просмотр профиля
С нулевого адреса удобнее держать то, код чего на данный момент исполняется.