Автор Тема: Мод китайского картриджа с 4мб до 8мб  (Прочитано 1076 раз)

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

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Дано: Китайский карик на 4мб с распаенной на нем памятью в 8мб
Дополнено: Накинул контакт ноги картриджа B11 до ноги памяти A21 на чипе (через резистор конечно же)
Проверено: Записал ром 8мб, прочитал ром 8мб, сравнил - все 8 мб работают.
Результат: Консоль пишет вот ето при старте демки Titan Overdrive 2 и в хекс редакторе видно, что память недоступна сежке
Задача: Сделать память доступной сежке.
243892-0243894-1243896-2
Я помню, что надо что-то ещё докинуть, но вопрос я изучал наверно год назад, щас уже не помню, что да где.
Паять я профессионально не умею, но пару тройку контактов подключить\прокинуть для меня не проблема.
В заначке имеется пачка разных демультиплексеров.
« Последнее редактирование: 16 Январь 2022, 13:25:24 от Segaman »

Оффлайн quq_CCCP

  • Пользователь
  • Сообщений: 2158
    • Просмотр профиля
Мод китайского картриджа с 4мб до 8мб
« Ответ #1 : 16 Январь 2022, 06:40:32 »
Сега напрямую может адресовать только 4 мегабайта, все остальное делается через переключение старших адресов пзу посредством различной логики, там дже место смотрю есть.

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Мод китайского картриджа с 4мб до 8мб
« Ответ #2 : 16 Январь 2022, 12:57:03 »
Чо то мне подсказывает, что надо DTACK поднимать, но при этом не сажать на ноль.
т.е. если запрос по адресам $400000-$7FFFFF - надо поднять DTACK, но при этом не опускать на других адресах, чтобы нога в воздухе оставалась.

Насколько опасно в таком случае подавать /DTACK через демультиплексор? Например SN74HC138N

Добавлено позже:
И еще вопрос: А какую роль играет A22 (/ASEL   | /LO_MEM) ?
« Последнее редактирование: 16 Январь 2022, 13:25:02 от Segaman »

Оффлайн Rumata

  • Модератор
  • Сообщений: 24485
    • Просмотр профиля
Мод китайского картриджа с 4мб до 8мб
« Ответ #3 : 16 Январь 2022, 13:35:25 »
там дже место смотрю есть.
Место там есть под ОЗУ с батарейкой. И дешифратор под это на 7400.

Чо то мне подсказывает, что надо DTACK поднимать, но при этом не сажать на ноль.
А почему бы не взять мануал на 68000? Там цикл шины очень хорошо расписан.


Добавлено позже:
Консоль пишет вот ето при старте демки Titan Overdrive 2 и в хекс редакторе видно, что память недоступна сежке
Это не консоль пишет, это твоя прога пишет :D
И вполне недвусмысленно намекает: используй SSF2 - STYLE BANK SWITCHING
« Последнее редактирование: 16 Январь 2022, 13:46:10 от Rumata »

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
Мод китайского картриджа с 4мб до 8мб
« Ответ #4 : 16 Январь 2022, 16:17:36 »
нашел ответ тут
попробую декодером подтянуть DTACK
алсоу продублирую сюда пост из ссылки на случай, если интернет исчезнет с лица россии
Цитата

The entire memory map for the 68000 is 16 MBytes. On the Genesis, that 16 MBytes is divided like this:

 

0x000000 - 0x3FFFFF = CART if a cart is inserted, if no cart, this is CD space

0x400000 - 0x7FFFFF = CD space is a cart is insert, otherwise it is cart space (a cart that doesn't assert the /CART line is considered a BRAM cart)

0x800000 - 0x9FFFFF = 32X space - if you have a 32X and it is enabled, this will have the cart rom, frame buffer, and frame overwrite regions

0xA00000 - 0xDFFFFF = IO space

0xE00000 - 0xFFFFFF = Work RAM space - only 64KB, but mirrored through whole 2MB

 

If you do not have a CD or 32X, you CAN use the space for those if the cart does its own decoding and asserts the /DTACK for areas outside the CART space. So you CAN have carts that go to 8 or even 10 MBytes, but only without the CD or 32X. With the CD and/or 32X, 4 MBytes is the max without bank selection.

 

SEGA did define one mapper for the Genesis (which is also supported by the 32X): A cart can have up to 32 MBytes of rom split into 512 KByte segments. There are eight 512 KByte pages in the cart space; page 0 will ALWAYS point to the first segment of the rom; pages 1 to 7 can be set to point to any of the 64 different segments of rom.

 

0xA130F1 controls the save ram

0xA130F3 sets the segment for page 1 (0 to 63)

0xA130F5 sets the segment for page 2 (0 to 63)

0xA130F7 sets the segment for page 3 (0 to 63)

0xA130F9 sets the segment for page 4 (0 to 63)

0xA130FB sets the segment for page 5 (0 to 63)

0xA130FD sets the segment for page 6 (0 to 63)

0xA130FF sets the segment for page 7 (0 to 63)

 

The only game to use the official SEGA mapper is Super Street Fighter 2, so most people call it the SSF2 mapper. SEGA had two different developer carts that implemented the SEGA mapper for developers wishing to make games larger than 4 MBytes. Note that the SH2 processors on the 32X cannot access the page registers on the cart; it must command the 68000 to do it for it. The 32X BIOS for the 68000 has two functions built into it besides the exception jump table - one functions sets one mapper register, and the other sets all the mapper registers. So it's clear SEGA meant to have 32X games that were larger than 4 MBytes, but it died before that happened.

Оффлайн stargazer

  • Пользователь
  • Сообщений: 68
  • Пол: Мужской
    • Просмотр профиля
Мод китайского картриджа с 4мб до 8мб
« Ответ #5 : 16 Январь 2022, 21:49:50 »
Оставь в покое /DTACK. Вот решение этой проблемы:
https://www.emu-land.net/forum/index.php/topic,85108.0.html
Вот готовая схема
https://www.emu-land.net/forum/index.php/topic,82919.0.html