Автор Тема: Ребенок изучает asm [SMD]  (Прочитано 6088 раз)

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

Оффлайн Bjankins1

  • Пользователь
  • Сообщений: 30
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #120 : 22 Февраль 2025, 12:26:44 »
Im learning how to change H32 and H40 modes, im honestly a little stumped where im at

The example im using is saturday night slam masters, uses H40 and switches to H32, i cannot find the offset where it switches, the vdp debugger on regen will not show offset but the value (0x00) the only other context i have is at offset 555A (33 FC 8C 00 00 C0 00 04) grok is telling me this is the switch to H40 but the breakpoint happens after the licensed by capcom credits, and that is set already to H32

I would love to learn more about this, ive been at this for hours, im not giving up

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2562
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #121 : 22 Февраль 2025, 17:35:27 »
Ti knows :) he knows everything! :)

dont know sure, but probably this is it, but i have no idea where to put it into code to make it work:
move.w  #$8C00,$C00004   ;  256 pix mode
move.w  #$8C81,$C00004   ;  320 pix mode

Оффлайн Bjankins1

  • Пользователь
  • Сообщений: 30
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #122 : 22 Февраль 2025, 20:56:06 »
Thank you!

Добавлено позже:
Usually what im finding on some roms are dynamic writes before it writes to C00004

« Последнее редактирование: 22 Февраль 2025, 23:44:07 от Bjankins1 »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2562
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #123 : 23 Февраль 2025, 00:43:20 »
unfortunatelly - i am not romhacker :( that is why you need Ti. as i say - he knows everything!

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 835
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #124 : 23 Февраль 2025, 09:51:26 »
Ещё одна проблема - почему-то ASMX неверно определяет размер каждого загружаемого бинарника. Например, прикреплённую 512-байтовую палитру он определил как файл весом всего в 174 Б. Может, в самом коде команды incbin какой-то косячок кроется?

       case o_Incbin:
            DefSym(labl,locPtr,FALSE,FALSE);

            GetFName(word);

            val = 0;

            // open binary file
            incbin = fopen(word, "r");

            if (incbin)
            {
                // while not EOF
                do {
                    //   n = count of read up to MAX_BYTSTR bytes into bytStr
                    n = fread(bytStr, 1, MAX_BYTSTR, incbin);
                    if (n>0)
                    {
                        // write data out to the object file
                        for (i=0; i<n; i++)
                            CodeOut(bytStr[i]);
                        val = val + n;
                    }
                } while (n>0);
                if (n<0)
                    sprintf(s,"Error reading INCBIN file '%s'",word);

                if (pass == 2)
                {
                    // "XXXX  (XXXX)"
                    p = ListLoc(locPtr-val);
                    *p++ = ' ';
                    *p++ = '(';
                    p = ListAddr(p,val);
                    *p++ = ')';
                }

            }
            else
            {
                sprintf(s,"Unable to open INCBIN file '%s'",word);
                Error(s);
            }

            // close binary file
            if (incbin) fclose(incbin);
            incbin = NULL;

            break;

Ну таки в чём тут на самом деле дело?

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4490
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #125 : 23 Февраль 2025, 11:05:43 »
Ну таки в чём тут на самом деле дело?
А ты уверен, что для fopen по умолчанию r это rb, а не rt? А то открыл файл как текст и прочитал до первого не читаемого символа, собственно.

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 835
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #126 : 23 Февраль 2025, 17:49:56 »
А ты уверен, что для fopen по умолчанию r это rb, а не rt? А то открыл файл как текст и прочитал до первого не читаемого символа, собственно.

Ааааа, так это походу Рене Ришар что-то в доставшемся ему исходном коде нахимичил. А может, и сам Томлин такой вот нелепый косячелло оставил... Кстати, какой бы клован и рукожоп ни был Джозеф "DevSter" Норман, надо отдать ему должное - если уж он и лез в исходники ASMX (а он почти наверняка лез, судя по тому, как в сборке, собственно, и генерирующей ромы в BEX'е, поддержка всех архитектур, кроме M68k, каким-то непостижимым образом отключена), то и баг этот, скорее всего, именно он в своей полузакрытой сборке и исправил.

Оффлайн Bjankins1

  • Пользователь
  • Сообщений: 30
    • Просмотр профиля
Re: Ребенок изучает asm [SMD]
« Ответ #127 : 24 Февраль 2025, 06:11:37 »
I accidentally posted this in the wrong topic but i have been searching 3 days straight on what opcode controls the VDP write for H32, im currently looking into street fighter 2 and cannot find a vdp write with 8C00, theres only a small handful of VDP writes to 00C00004, so i should be able to narrow it down but nothing is exactly static and uses long addresses like its using DMA for Vram

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 835
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #128 : 27 Февраль 2025, 13:06:56 »
Хе-хе-хе-хе, всё-таки молодец я, что гонконгский клон Excelsior'а сберёг, никуда от большого отчаяния выкидывать не стал, и даже на самой дальней полке продержал не особо долго! Как видите, тут у меня плюсминус то же самое, что и для GBA, только несравнимо ёмче и элегантнее.

Оффлайн Томахомэ

  • Пользователь
  • Сообщений: 835
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #129 : 27 Февраль 2025, 18:12:08 »
Добавил рамочку, на месте которой потом расположу игровой интерфейс - в частности, анимированный таймер в виде вьющегося по всему периметру экрана до самой динамитной шашки (вид сверху) в правом верхнем углу экрана горящего фитиля. Если для каких-то элементов интерфейса места будет не хватать, рамочку можно и сузить.
Правда, от аппаратного скроллинга, боюсь, придётся отказаться, иначе рамочка, как часть слоя битмэпа, будет двигаться вместе с остальной картинкой.