Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Томахомэ

Страницы: Назад 1 2 3 4 [5] 6 7 8 9 ... 36 Далее
121
Чтобы не плодить новую тему, спрошу здесь.
При запуске игры (скачана и закинута в папку roms) появляется сообщение m48t35 - не найден. Поиск выдаёт физическую микросхему, такой файл найти не могу.
Знает кто, где найти и откуда можно скачать этот m48t35?  И куда его потом засунуть, чтобы не ругалось?

Что именно за ром вы скачали?

122
Разное / Ваше творчество
« : 06 Апрель 2025, 14:10:47 »
Какие кто может посоветовать именно офф-лайн нейросети для генерации музыки, которым можно вместо традиционного промпта можно просто скормить набор референсных треков плюс собственный текст?

123
ZSNES рекомендовать сейчас - это если кто-то сидит на чём-то типа Pentium 2 :lol: Да и BSNES должен нормально работать на любом нормальном процессоре 15-летней давности.

Для одной игры я ZSNES пока что всё-таки держу про запас - для русского перевода Star Ocean, у которого на остальных эмуляторах - чудовищные гличи.

124
Извлёк 2, на мой взгляд, самых лучших трека (остальные - просто, как говорится, ни уму ни сердцу) из Gaia: The Last Choice of Earth - пойдут на музыкальное сопровождение для парочки псевдотрёхмерных трасс (переделанных из финальных уровней Solite Spirits) в гладиаторских гонках по мотивам "Войны на Венере".

Затестить на слух можно, опять же, с помощью Audacity - кодек выбирать VOX ADPCM, частоту дискретизации - 6061 Гц.

Доброго времени суток!

Подобной темы нет... Поэтому пишу сюда

Кто может извлечь музыку из хака The Misfortunes of Little Denise?

Предложение платное?

125
Программирование / Ассемблер для PS2.
« : 27 Март 2025, 14:08:22 »
Решил тут в ассемблерном модуле для PowerPC реализовать полноценную поддержку постфиксов o, ., a, l, и т. д., чтобы сэкономить размер на базе опкодов и немножечко даже на коде. Однако, почему-то если без постфикса собранный ассемблер ещё нужную инструкцию воспринимает, то с постфиксом - один сплошной Illegal opcode.
Пробовал я реализовать поддержку постфиксов разными способами, начиная с этого - oldLine=linePtr;
             if (GetWord(word) == 'O') parm=parm|0x400;
             else linePtr=oldLine;
             if (GetWord(word) == '.') parm=parm|1;
             else linePtr=oldLine;
- однако ни один по итогу не сработал.

В текущем своём сильно промежуточном состоянии ассемблерный модуль PPC прикреплён ниже.

126
5 поколение / Особенности SCSP.
« : 25 Март 2025, 07:50:26 »
Я правильно понимаю, что частота дискретизации у него фиксированная, и даунсэмплить CD-трэки из FM Towns-версии Mad Stalker или из Gate of Thunder, чтобы те вместились в SCSP-ромы для Sega Model 3, бессмысленно?

127
наверно, имелся ввиду ромсет, то здесь: https://pleasuredome.github.io/pleasuredome/mame/index.html

Добавлено позже:
кто-то мне любезно писал названия ромов советских клонов game&watch для mame, не сможете продублировать еще раз? не могу найти тот ответ... спасибо!

Например,
nupogodi
kvakazad
elbaskb
auslalom

128
Сабж на днях словил тяжелющий хук, откуда, как говорится, не ждали (сарказм). Казалось бы, несколько крохотненьких и малоприметных инструкциек процессора Fujitsu "TGP" MB86233 - но стоило лишь повнимательнее приглядеться к подлинному ходу процедуры их выполнения, как исчезли парочка весьма неприятных багов в нескольких гоночных играх, делавшие некоторые трассы (например, натурально сыпавшуюся на середине Laxey Coast в Manx TT) в принципе непроходимыми.
Сюда я заскочил как раз после того, как на той самой Laxey Coast пришёл к финишу первым и теперь счастлив как слон.

Хоть и, конечно, всё-таки не с каждым днём, но, тем не менее, постепенно standalone-эмулятор Model 2 становится нужен объективно всё меньше и меньше. И, может быть, и не скоро, но постигнет его судьба многих эмуляторов, которые были на коне, однако на беду свою почили на лаврах и произошедшие перемены проглядели.

129
У разных нейронок - разные требования. RVC-GUI, например, и на 1050 Ti неплохо идёт.

130
Разное / Об аниме и Японии...
« : 20 Март 2025, 06:20:20 »
Известно, что в 90-х - начале 2000-х некоторое количество NEC PC-98 всё же попало в Россию благодаря ушлым барыгам с ранних интернет-магазинов (20 лет прошло, а проблемы всё те же), пользовавшимся технической неграмотностью среднего российского юзера, впаривая ему более дешёвые, чем IBM PC, 98-е, на японских Windows'ах для которых не пойдёт 90% привычного всему миру виндового софта. И до сих пор ещё сохранились давным-давно заброшенные странички на полудохлом хостинге Narod, посвящённые практическому руководству по русификации PC-98.

Так вот, были ли случаи, когда через случайно подцепленный где-то столь экзотический товар кто-то знакомился и с анимэшными играми для этого компьютера? Примерно так же, как, например, со многими образцами DOSовской бессмертной классики страна в начале 90-х познакомилась именно через свезённые откуда ни попадя б/у-шные IBMки, на винчах которых лежали уже установленные кем-то игры.

131
Сделал бы всё в одном, просто аргументом чтоб переключать формат :)

По итогу именно так и сделал.

Добавлено позже:
Как бы так правильно оформить базу аргументов примерно такого вида?
const ...    argsBase[] = {NULL, "-psikyo_g1_h", "-mincorp", "-tc0180vcu_8x8_12b_pal", "-tc0180vcu_16x16_12b_pal", "-tc0180vcu_8x8_flip_12b_pal", "-tc0180vcu_16x16_flip_12b_pal"};

132
Возникла проблема со строчкой if((strcmp(argv[2],"-edi")==0)||argc<3) format=0;Если аргумент -edi будущее обновление NeoPlan понимает ещё правильно, то отсутствие аргументов (при котором в качестве дефолтного формата графического рома на конвертацию должен выбираться формат бэк- и мидграундов для железа Steel Force) - уже чё-то нет.

133
Общий / Игры про медицину
« : 09 Март 2025, 05:33:39 »
В игровоавтоматском flying/shooter'е X-Multiply от Irem (1, 2) всё действие происходит, по сути, внутри человеческого организма, а управляем мы медицинским наноботом, зачищающим организм от неведомого космовируса.

134
Ты сравниваешь адреса двух строк.  :)

А сами строки - как?

135
Сделал бы всё в одном, просто аргументом чтоб переключать формат :)
Чо софтины то плодить одинаковые?

А как считывание аргументов правильно оформлять?

Например, вот эти строчки
if(argv[2]=="-v") orientation=1;
else orientation=0;

почему-то не работают вообще никак - значение orientation при любом раскладе остаётся нулём.

136
Пришло время сказать, что, по-хорошему, следовало бы ещё в конце февраля - поскольку железо Excelsior, в отличие от Game Boy Advance, лишено своего DMA, программный скроллинг (который нужен, чтобы пока битмэпный задний фон скроллился, интерфейсная битмэповая же рамочка оставалась на месте - с аппаратным скроллингом такой номер не выгорит) сделать достаточно плавным, на "честные" 60FPS (точнее, 58, учитывая реальную герцовку железа) не получится даже в заметно визуально ужатом виде.
В связи с этим, прежний проект будет интегрирован в Sails of Charon на правах бонусной мини-игры, а от Excelsior'а же будет взят код RLE-подобного алгоритма сжатия, которому найдётся применение в проектах под Neo-Geo (главным образом, в CD-инкарнации).

137
Аналогичная для конвертации на этот раз уже в 8-битные тайлы 4x4 (во веки веков не надивлюсь безумию древнекорейской инженерии!), использовавшиеся для формирования юзерского интерфейса и псевдоспрайтов в игре Double Point.

Добавлено позже:
Последний формат графики пойдёт на Sails of Charon - конретно на моменты тома 7 "Всё, что было после" уже во время миссий, действие которых происходит не раньше Второй Иракской, когда игроку даётся немного подрасслабиться через геймплейное чередование стратегии с эротической 1+2-подобной головоломкой, посвящённой уютной семейной жизни одного из "Хароновых парусов".

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

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

140
Ну а вот и сам инструментик готов! У кого есть аккаунт на Romhacking.net, прошу заодно залить туда - а то меня, видимо, при попытке регистрации администрация так и не одобрила.

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

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

142
Не сильно в код углубился, но ты походу пытаешь читать конец файла, а там уже ничего нет.

Спасибо! Именно так оно и оказалось.

143
Собираюсь я тута написать небольшую совсем-совсем простенькую утилитку для конвертации BMPшек глубиной цвета в 4 бита в набор 4-битных linear тайлов размером 16 на 16 - формат, использовавшийся в некоторых игровых автоматах (например, Strikes of 1945 и парочке корейских железячек с сильными подозрениями на его клонизм). Однако почему-то даже проверка по сигнатуре не работает как надо - вместо стоящих первыми 2-мя байтами букв B и M утилитка в любой скормленной BMPшечке видит нули. Как так получается?

#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>


FILE         *fpin, *fpout;
long            len;
long            i,n;

int main(int argc, char *argv[])
{

if (argc != 2 ) {
printf("Bitmap converter to 4bpp 16x16 tile data.\n");
fprintf(stdout,"Usage: %s [srcfile].bmp\n",argv[0]);
exit(1);
}


if ( (fpin=fopen(argv[1],"rb") ) == NULL ) {

printf("Can't open input file\n");
exit(1);
}


/*
 * Now we try to determine the size of the file
 * to be converted
 */
if (fseek(fpin,0,SEEK_END)) {
printf("Couldn't determine size of file\n");
fclose(fpin);
exit(1);
}

len=ftell(fpin);

unsigned short   bytStr[len];

fread(bytStr, 1, len, fpin);
   
  printf("The first byte is %x.\n",bytStr[0]);
fclose(fpin);
exit(1);
}

144
Программирование / Ребенок изучает asm [SMD]
« : 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;

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

145
Программирование / Ребенок изучает asm [SMD]
« : 22 Февраль 2025, 05:07:42 »
Ещё одна проблема - почему-то 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;

146
Программирование / Ребенок изучает asm [SMD]
« : 21 Февраль 2025, 15:03:40 »
Решил я тут начать пилить небольшую демку для Playmark'овского железа Excelsior, и тут вырисовалась небольшая проблема - вроде прерывание №2 для данной железки я уже разрешил, однако самого перескока к соответствующему адресу, когда приходит время прерывания, не происходит - только значение 3-го нибла регистра SR меняется с 1 на 2, и MAME'овский дебаггер тоже никакого прерывания не регистрирует.
Внизу прикреплены иллюстрирующий странность в работе M68000 тестовый набросок кода и полученный в результате его сборки ром (запускать через командную строку - mame excelsr -d). Что же я всё-таки упустил?

А знаете, в чём самая-самая смехотура оказалась? В том, что я поставил в SSP самый последний байт оперативы - т. е., по сути, нечётный адрес. Как сменил на чётный, так прерывания сразу и заработали - а для верности проверил ещё на нескольких M68k-based - машинах. И не нужно оказалось ни к кому обращаться за помощью.
Хотя мне, надо сказать, повезло, что программирую я только как хобби, а не работаю по найму в какой-нибудь IT-фирме, занимающейся низкоуровневым программированием - а то за такой ламерский косяк летел бы сейчас с пронзительным свистом под действием начальственного пинка под жопу, как высокомерный долбодятел, нагло насвистевший работодателю о своей профпригодности.

147
Программирование / Ребенок изучает asm [SMD]
« : 14 Февраль 2025, 06:55:06 »
Организовал небольшой праздничек всех, кто хочет программировать и ромхачить для 32X, а может, даже для Saturn и Dreamcast. Впервые за долгое время мне наконец-то удалось довести хоть что-то до конца - конкретно модуль архитектурной поддержки SH2 (см. первое прикрепление) для ASMX (того, между прочим, самого, который в BasiEgaXorz'е за конечную компиляцию рома отвечает).

Сам исходный код ASMX качать лучше всего здесь. Чтобы заинтегрировать свежескаченный source-файл asmsh.c в ASMX, просто пропишите строчку ASSEMBLER(SH); в файл asmx.c - туда, где у него список архитектур. Кому лень собирать самому или не знает как - во втором прикреплении готовый exe.

148
Программирование / Ассемблер для PS2.
« : 01 Февраль 2025, 04:55:25 »
Пошуровав немного по официальной документации по PS2 (см. прикрепления), решил проверить на работоспособность код отрисовки простейшего прямоугольника.
org $bfc00000
lui t0, $1000
ori t0, t0, $3000
addi t1, t1, $6
sb t1, 0(t0)
addi t1, zero, $ffff
lui t1, $ff
addi t3, t3, $100
lui t4, $100
sb t1, 1(t0)
sb t2, 5(t0) ; 1st vertex
or t5, t4, t3
sb t1, 1(t0)
sb t5, 5(t0) ; 2nd vertex
sb t1, 1(t0)
sb t4, 5(t0) ; 3rd vertex
sb t1, 1(t0)
sb t3, 5(t0) ; 4th vertex
j $

Поскольку формировать исполняемые файлы я ещё не научился, скормить код решил попробовать через подставной псевдобиос. При таком раскладе экран почему-то (проверял на PCSX2) как был, так и остаётся чёрным. Никаких предварительных действий для активации экрана делать не надо?

149
Спрашиваю потому, что почесал на днях немного репу - а не релизнуть ли мне на несколько различных ретро-платформ электронное издание "Гостей от Люцифера"? 4 цвета в моём случае - как раз способ подуменьшить себе работу за счёт отсутствия необходимости жонглировать разными палитрами и заморачиваться с оптимизацией тайлмэпа.

150
А теперь по-русски :lol:

Картмаг - это от cartridge и magazine. Есть же ведь такие устоявшиеся в мире 8/16-битных домашних компьютеров термины, как disk- или tapemag.

Так вот, хватит ли NES места в роме и в видеопамяти на хотя бы сильно даунскейленные и редуцированные до 4-х цветов скроллящиеся цифровые страницы чёрно-белой манги?

Страницы: Назад 1 2 3 4 [5] 6 7 8 9 ... 36 Далее