Автор Тема: Нужна помощь с дампом карика REALTEC  (Прочитано 3723 раз)

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

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1292
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Нужна помощь с дампом карика REALTEC
« : 22 Апрель 2015, 23:17:16 »
Дамп прикладываю. Всем желающим помочь, читать:
https://code.google.com/p/genplus-gx/source/browse/trunk/docs/REALTEC+Cart+Mapper+-+description+v1.txt?r=31
https://github.com/ekeeke/Genesis-Plus-GX/blob/341f093fb1847793846585c51324ab6d718a8534/core/cart_hw/md_cart.c (поиск по слову realtec)

Пробовал писать так же как в роме для переключения банка (скрипт на Lua, для моей дампилки):
for m = 0, 0xFF do
    rom.write_byte(0x402000, 4);
end
for m = 0, 0xFF do
    rom.write_byte(0x404000, 0);
end
for m = 0, 0xFF do
    rom.write_byte(0x400000, 1);
end
не помогло. С адреса 0x2000 все равно зеркалятся первые 0x2000 байт.
« Последнее редактирование: 22 Апрель 2015, 23:23:35 от DrMefistO »

Оффлайн Rumata

  • Модератор
  • Сообщений: 24496
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #1 : 22 Апрель 2015, 23:59:58 »
Что хоть дампишь-то? Анализ схемы картриджа делал? Может там другое переключение  :-\

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1292
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #2 : 23 Апрель 2015, 00:02:50 »
Rumata, игруля зовется Tom Clown. Схему не анализировал, только дамп (по нему, собственно и делал анализ), ну и плюс доку по мапперу читал. На схеме только две капли, и один кондер (не понимаю, что там можно высмотреть без распиливания капли).

Оффлайн Rumata

  • Модератор
  • Сообщений: 24496
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #3 : 23 Апрель 2015, 00:25:18 »
Капли - это хуже. Просто просмотр адресных линий помогает хотя бы оценить объём и всё такое. Хорошо, если маппер такой же. Хотя по коду похоже.

Tom Clown - это этот?

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1292
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #4 : 23 Апрель 2015, 00:31:56 »
Rumata, да, это он.

только вместо микрухи капля. даже дырки остались под нее.

Оффлайн Rumata

  • Модератор
  • Сообщений: 24496
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #5 : 23 Апрель 2015, 00:43:18 »
Да, бывают с двойной разводкой. Кстати, на этой плате для записи используется /UWR (B29). У тебя в дампере он задействован? И сброс /VRES (B27).

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1292
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #6 : 23 Апрель 2015, 00:46:53 »
Rumata, /UWR задействовали буквально сегодня) а вот /VRES не делал. Когда именно его нужно дергать?
void byteWrite(unsigned long addr, byte value, int CARTState) {
    int i;

    CEHigh();
    OEHigh();
    LWRHigh();
    UWRHigh();

    shiftOut24bit(addrClockPin, addrLatchPin, addrDataPin, addr >> 1);

    if((CARTState && addr <= 0x3FFFFF) || (!CARTState && addr >= 0x400000 && addr <= 0x7FFFFF)) {
        CELow();
    }

    if(addr >= 0xA13000 && addr <= 0xA130FF) {
        TIMELow();
    }

    ASLow();

    value = ((value & 0xFF) | ((value & 0xFF) << 8));

    for(i = 0; i <= DATA_PINS; i++) {
        pinMode(dataPin[i], OUTPUT);

        if(value & (1 << i)) {
            digitalWrite(dataPin[i], HIGH);
        } else {
            digitalWrite(dataPin[i], LOW);
        }
    }

    if(addr % 2) {
        LWRLow();
    } else {
        UWRLow();
    }

    delayMicroseconds(opDelay);

    LWRHigh();
    UWRHigh();
    TIMEHigh();
    ASHigh();
    CEHigh();
}
word wordRead(unsigned long addr, int CARTState) {
    word data = 0;
    int i;

    for(i = 0; i < DATA_PINS; i++) {
        pinMode(dataPin[i], INPUT);
    }

    CEHigh();
    OEHigh();
    LWRHigh();
    UWRHigh();

    shiftOut24bit(addrClockPin, addrLatchPin, addrDataPin, addr >> 1);

    if((CARTState && addr <= 0x3FFFFF) || (!CARTState && addr >= 0x400000 && addr <= 0x7FFFFF)) {
        CELow();
    }

    if(addr <= 0xDFFFFF) {
        OELow();
    }

    if(addr >= 0xA13000 && addr <= 0xA130FF) {
        TIMELow();
    }

    ASLow();

    delayMicroseconds(opDelay);

    for(i = 0; i < DATA_PINS; i++) {
        if(digitalRead(dataPin[i])) {
            data |= (1 << i);
        }
    }

    TIMEHigh();
    ASHigh();
    LWRHigh();
    UWRHigh();
    CEHigh();
    OEHigh();

    return data;
}

Оффлайн Rumata

  • Модератор
  • Сообщений: 24496
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #7 : 23 Апрель 2015, 00:51:44 »
Ну мне эти коды мало что говорят  :) На /UWR я обратил внимание потому, что в картриджах обычно задействован /LWR. Приставка-то при записи словом будет генерить оба

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1292
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #8 : 23 Апрель 2015, 00:55:28 »
Rumata, ну, код я кинул, чтобы ты глянул, правильно ли я устанавливаю и сбрасываю пины перед чтением/записью.
А когда должна дергаться нога /VRES?

Оффлайн Rumata

  • Модератор
  • Сообщений: 24496
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #9 : 23 Апрель 2015, 01:04:15 »
/VRES - это вообще сброс по кнопке. Но и при начальном включении тоже должен формироваться. Он же сброс процессора

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 7393
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #10 : 23 Апрель 2015, 05:40:32 »
/VRES - это вообще сброс по кнопке. Но и при начальном включении тоже должен формироваться. Он же сброс процессора
Он еще может быть сгенерирован самим процессором на 64 такта по команде.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1292
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #11 : 23 Апрель 2015, 08:43:21 »
Ну тогда это все есть уже.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1292
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Re: Нужна помощь с дампом карика REALTEC
« Ответ #12 : 28 Апрель 2015, 10:29:08 »
Просьба удалить тему за ненадобностью более!
« Последнее редактирование: 29 Апрель 2015, 01:43:57 от DrMefistO »