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

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


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

Страницы: [1] 2 3 4 5 ... 34 Далее
1
Задумал я как-то собрать из нескольких разных Taito-вских автоматов 1 frankencade, самая архитектурная сердцевина которому должна достаться от Champion Wrestler (Taito System L), вся графическая подсистема - от Violence Fight (System B), а вся звуковая - от Final Blow (System F2). Однако, прежде чем воплощать эту идею в железо, неплохо бы иметь хорошо обкатанную программную эмуляцию, через которую написанный для будущей железке софт будет предварительно протестирован на работоспособность.
Ниже прикреплён черновик драйвера для самосборной MAME.

Ключевой вопрос - как огранизовать доступ через "окошко" по адресам $c000-$fdff основного процессора доступ ко всей карте памяти видеочипа TC0180VCU?

2
printf("Destination is %x\n",val); вывод в hex.

printf("Destination is %02X\n",val); вывод в hex с ограничением длины.

printf("Destination is %d\n",val); вывод в знаковое десятичное. (%i)

printf("Destination is %u\n",val); вывод в беззнаковое десятичное.

если сейчас у тебя выводится как 32 битная переменная, то попробуй конкретно указать тип для компилятора
printf("Destination is %04x\n", (uint16_t)val); должно выводить два младших байта в hex.

Имеется в виду, само смещение, получаемое в результате вычитания locPtr и 4  из val - оно 16-битное, каким быть и должно, или всё-таки 32-битное получается?

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

типа сама переменная фактически 4 байта 00 12 34 56
а пишешь в файл как word к примеру. тогда в файл попадет только 00 12.

Через вот это.

int EvalShift(short size)
{
    int16 val;

    val = Eval();
    val = val - locPtr - 4;
    [b]printf("Destination is %x\n",val);[/b]
    if (!errFlag && (((size==1) && (val & 1)) || ((size==2) && (val & 3)) || val < ~LIMIT || val >= LIMIT))
        Error("Long branch out of range");

    val = val >> size;
    return val;
}

На практике выглядит, например, вот так:

Destination is fffffffc
Destination is ffffffee
Destination is ffffffd0
Destination is fffffffc

4
или переопредели int на int16 (int16_t)

Сменил на последнее, для чего пришлось даже включить библиотеку stdint. Должно ли после этого выводимое в сообщении отрицательное число всё так же состоять из 8 16-ричных цифр?

5
Вопрос по ASMX - никто не сталкивался с проблемой того, что для компиляторов нового поколения, которыми ASMX собирается из исходников, тип int расширен уже до 32 бит? Из-за этого в моём модуле поддержки семейства SH бьются джампбэки (в частности, функции BRA, BSR и т.д.).

#define LIMIT 0xFFF

<...>

int EvalShift(short size)
{
    int val;

    val = Eval();
    val = val - locPtr - 4;
    if (!errFlag && (((size==1) && (val & 1)) || ((size==2) && (val & 3)) || val < ~LIMIT || val >= LIMIT))
        Error("Long branch out of range");

    val = val >> size;
    return val;
}

<...>

        case o_Branch:
            oldLine = linePtr;
            if (GetWord(word) == '/')
            {
             if(curCPU<CPU_SH2||(parm!=0x8B00&&parm!=0x8900)) break;
             if (Expect("S")) break;
             parm=parm|0x400;
            }
            else linePtr = oldLine;
           
            val = EvalShift(1);
           
            if (!errFlag&&(parm!=0xA000&&parm!=0xB000)&&(val < -128 || val > 127)) Error("Offset out of range");
           
            InstrW(parm|val);
            break;

Если при вычислении первичного оффсета число получается 32-битным, то 16-битное -$fff с 32-битной точки зрения остаётся числом положительным, и тогда ошибка Long branch out of range не срабатывает. По итогу единицы разрядами старше 12 наслаиваются на коммандообразующую часть опкода.
Пробовал сменить тип val на short - делу вообще не помогло: отрицательный результат так и остался 32-битным (как показало введённая временно чисто с целью дебага сообщение printf("Destination is %x\n",val); следующей за val = val - locPtr - 4; строкой).
Собирал я ASMX, если что, с помощью сборки MSYS64 от MAME Team, проапдейченной по их же методу:

Цитата
pacman -Sy
pacman -S bash pacman msys2-runtime --noconfirm --needed

pacman -Su --noconfirm

6
а оно хоть кому-то нужно?  :lol:

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

Как показали недавние казусы с Namco System 23 и Hyper Neo-Geo 64, логика тут практически обратная - вокруг свежезаэмуленной малопопулярной платформы практически вся фанбаза, как правило, нарастает практически из ниоткуда задним числом - уже после того, как всё больше и больше игроков с удивлением обнаруживают, сколько же всё-таки замечательных игр с этой платформы всё это время проходило мимо них. Когда-то то и про Saturn считали, что "да кому он на хрен" нужен, и про XBOX Original, и про GameCube...

7
На old-dames лежит не полная версия диска..

То есть, не проверив, какой-то непонятный самосборный образ, что ли, выложили?

8
А может ещё одну сможете подсказать? Из того же зала с аппаратами. Игра арканойд где платформа отбивает шарик но игра сделана была с сюжетом. Мужичок бегает держа руками платформу над головой в низу экрана и отбивает шарик, всё что помню он спасает кажись какую то девушку вроде похищенную проходя уровень за уровнем, что ли. Игра вроде была насыщена задними пейзажами и что запомнил, там были на каком то этапе улии если шарик в них попадал, а не в кубики из них вылетали осы 🐝 и двигались на него, кажись если наткнуться на осу он замерал но точно не помню. Игра арканойд была на аппарате в том же месте что низдя командо. Но так же осталось не пройденной и мучающий меня, а что же там в конце было?) Где то 33 года прошло с тех игровых моментов. То были 90х  :cool:

Видимо, Ghox либо же Thunder & Lighting.

9
Не только в PCBox, но и в MAME есть проблема с игрой NAM (FPS на движке Build) - установленная игра, даже если CD и так уже внутри, всё равно его просит. Причём нет разницы, с Windows игру запускаешь или с чистого DOSа.

10
Чем больше успехов и подвижек в эмуляции Hyper Neo-Geo 64, тем за эту платформу реально обиднее. Ибо, как чётко показал пример уже имеющихся там игр, если за разработку под неё взялись люди мозговитые, с развитым вкусом в играх, прямыми и растущими из нужного место руками (а примеров обратного за короткую жизнь HNG64 самым ироничным образом так и не случилось), получится конфетка. Вне зависимости от жанра, игры оттуда не уступают по качеству сверстникам от флагманских компаний аркадного рынка, вроде Namco, Sega, Konami и Taito - и это притом, что SNK была компанией без особого опыта в трёхмерке. В гонках же для HNG64 и вовсе дана жизнь инновационнейшей на тот момент концепции двусторонней трассы.
То есть провалом HNG64 была не инженерным или гемдизайнерским, а маркетинговым. Как же так получилось, что хорошую в общем-то концепцию SNK не смогли нормально развить?

11
В чате Bannister'а выяснилась любопытная вещь - оказывается, система пространственного позиционирования в дилогии Keisatsukan, Tsurugi, Mocap Boxing и Boxing Mania: Ashita no Joe всё-таки не как у Wii, а основанная на ультразвуке. Это, с одной стороны, потенциально усложняет эмуляцию управления там, а с другой, вроде уже начинают потихоньку появляться готовые взяться за это дело энтузиасты.

12
Эмуляторы компьютеров / ZX Эмуляторы
« : 17 Сентябрь 2025, 05:49:11 »
Попробовал в MAME загрузить на ZX Evolution (TS-Conf) через TR-DOS отконверченный из .scl (который эмулятором пока не поддерживается) в .trd образ Nomad'а. По завершению загрузки - пустой чёрный экран. Это баг эмуляции ZX Evolution или я что-то неправильно сделал?

13

Если верить видосине выше, Ryzen 9 9950X3D способен на фулспиде потянуть в 86Box 533-мегагерцовый Mendocino в фьюзе с Voodoo 3500 SI. Не уточняются, правда, такие важные нюансы, как включены ли softfloat и динамический рекомпилятор для Voodoo, а также число задействованных для эмуляции Voodoo ядер.

14
В принципе, чисто посмотреть демо-ролик в игре, пусть и криво-косо, со всякими графическими багами, можно уже сейчас, однако без заэмуленного управления (а схема его там сложная - по сути, один из первых в более-менее потребительском сегменте геймдева прецедентов использования устройств с датчиком позиционирования в пространстве а-ля WiiMote) по-настоящему поиграть в неё не получится.

15
Перед вами - вся до последнего пикселя графика из Lethal Justice. Именно этот imagesheet как раз и представляет собой весь графический ром игры целиком - одно сплошное "сырое" 16-битное изображение, к которому достаточно было присобачить подставной BMP-заголовок с нужными свойствами. Правда, не обошлось без некоторого пердолинга - чтобы файл адекватно распознавался у всех, его пришлось открывать через IrfanView, затем перевернуть по вертикали, а в конце концов сохранять с заменой (попутно невольно преобразовав из 16- в 24-битный формат, ибо 16 бит IrfanView, увы, не поддерживает).

16
Насчёт пистолета - какие под неё есть тиры?

17
кто-то скорешился с кем-то из бывших сотрудников Gaelco и получил доступ к куче старого хлама, теперь это всё потихоньку дампится

Теперь, я так понимаю, та же история происходит с Astro Corp.?

18
А что там всё-таки на самом деле оказался за чудо-чип, и как он взаимодействовал с другими компонентами консоли - да и с какими, кстати, именно?

19
(Ссылка на вложение)
В одном шаге от победы! :biggrin:

Вот ещё скрины игр NES, с прокачанной графикой! :jumpy:

На последнем скрине иероглифы точно китайские, а не какие-нибудь там тангутские?

20
Да, конечно, скидывай, интересны факты об игре.

Обсуждение в Твиттере Акио. Вроде выдвинувший приведённую мной версию получил свой лайк именно от него.

Я, кстати, в своих теориях о лоре Наскаверса держусь той позиции, что если события Metal Slug - это по большей части этакий футуризированный аналог нашей Второй Мировой в некоей альтернативной реальности, то дилогия Gun Force, In the Hunt и Air Duel - уже Первой там же, а Air Assault, Gallop и Undercover Cops - тамошний Интербеллум, и реалии последних 2-х из перечисленных игр - это проявления разгулявшегося во время Великой Депрессии в тамошних США гангстеризма.

21
Undercover Cops на Снес - самый лучший beat-em-up на постапокалиптическую тематику. Версия на Снес сильно урезана по сравнению с версией на аркадных автоматах, но по меркам 16 бит смотрится хорошо. Единственный серьезный недостаток - отсутствие режима для двух игроков.
(Ссылка на вложение)

На мой взгляд, там больше не на постап похоже, а на кибер- или экопанк. Визуальный стиль так вообще в ряде отношений к "Зелёному Сойленту" восходит (чего товарищ Акио, в принципе, не отрицает - пруфлинк могу скинуть попозже).

22
после часов 3-4 общения с чатом GPT пришел к выводу, что он идиот и не учится :) каждый раз тыкаешь его носом в очевидные ошибки: да, ты прав это так-то и так-то... так если это так-то и так-то, то нахрена ты мне из раза в раз не так-то и не так-то код формируешь?
абы как что-то там по итогу родили, но на маленьком изображении вроде все здорово. загружаю своего грендайзера... все. швах. или упарывается в синий цвет. или в зеленый. или еще куда. но не туда куда tiledpalettequant делает. я прямо в расстройстве. столько сидел, уговаривал этого недотёпу GPT, а он... ночь улетела в мусорку.

Welcome to my world - Grok вроде считается поумнее, но даже из него помощник в этом деле глубочайше такой себе.

23
NES / Dendy / [Dendy] Горизонтальный шмап
« : 21 Июнь 2025, 05:22:50 »
Помогите вспомнить шутемап на Денди, встречался на многоигровке под названием Fire Bird. Мы играем за некий корабль или робота имеющего тело (не гуманоидное, а меньше) и круглую голову похожую на шлем космонавта. Действие происходит вроде в космических локациях, но есть и ландшафт, причем если мы приземляемся на ландшафт, то наш робот по нему идет (едет). Вроде была чарджевая атака и точно были поединки на отдельных экранах с такими же роботами за приз.

Необычная форма тела и возможность ходить пешком есть у робота в Metal Fighter μ.

24
нужно еще изменение. конвертанул интро Грейндайзер, поорал с результата  :debile: доволен по самые помидоры... НО! нужна галка, чтобы можно было переключать звук:
1. рестартовать проигрывание мелодии при появлении 1 кадра (тогда в GEMS можно не зацикливать) - так хоть как-то будет синхронироваться в начале.
2. оставить как есть, то есть звук стартует при старте и играет сам по себе.

А я-то всё недоумевал, почему у Cobra Command и Road Blaster с Sega CD картинка так непохожа на оригинальные LD-версии? Думал, уж не перерисовали ли Wolf Team'овцы всё заново, вместо того, чтобы тупо одолжить у Data East хранящуюся в их загашниках source-плёнку, отсканировать её и просто преобразовать кадры в понятный Sega CD формат? А оказалось, если преобразовать видео из современного качества, результат будет ровно такой же.

25
Т. е. те, где всё необходимое для выживания игрока преспокойно добывается или в раскиданных по карте "ларцах" либо же выбивается из противников, и такой показатель игрока, как "голда" отсутствует тупо за ненадобностью что-то покупать. Навскидку я из таких могу назвать разве что Parasite Eve и Xenosaga Episode II (в последней, впрочем, есть сайдквест с погашением какой-то совершенно сумасшедшей суммы долга у капитана Мэтью, но там всё равно выдавать приходится "натурой", опустошая свой инвентарь).

26
Разное / Об аниме и Японии...
« : 12 Июнь 2025, 10:30:41 »
Обратил тута внимание на альбом Judas Priest Defenders of Faith (1984). Есть ли вляние на обложку альбома чисто японской зооморфной мехи, типа GoLion? И мог ли художник-оформитель в принципе где-то с образцами таковой познакомиться? Хоть в те годы возможности в принципе любого анимэ попасть на Запад и были несопоставимо скромнее, чем сейчас, но прецеденты всё же имелись - например, антологии Robotech и Macron One.

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

"Разжать" - это скорей условно. Просто открываешь в Audacity: "Импорт -> Raw данных", затем выбираешь VOX ADPCM (моно) и выставляешь его "родную" частоту дискретизации 6061 Гц (естественно, что с такого днища без нейротеха качество не поднять). Когда откроется, выбирай "Экспорт -> Экспорт на компьютер".

28
Встречались ли такие FPS, где в целом окружение было полностью, без оговорок (в отличие, например, от игр с id Tech 1, Build Engine или проприетарного движка Fenris Wolf) полигональное, однако персонажи или даже в дополнение к ним ещё часть некоторых объектов всё ещё оставались спрайтовыми - с целью увеличить одновременное число противников на арене либо же потому, что разрабы сочли, что в модельном виде они бы выдались слишком требовательными к числу полигонов, а попытки сэкономить на последних уж очень резали бы глаз (в особенности это касается человеческих фигур)?

29
Я так понял задача в том чтобы извлечь музыку из одной игры, сжать ее, импортировать в другую игру. Но видимо у тебя при сжатии появляется шипение и ты хочешь нейронку заставить корректировать данный файл чтобы звучало по лучше. Так может тогда лучше попросить GROK чтоб он написал конвертер, который сразу конвертирует звук в тот который захочешь. И не совсем понятно, получится ли импортировать уже корректный звук в игру.

Нееее, не сжать. Я исходный трек, наоборот, разжал из ADPCM-формата, преобразовав в стандартный VAW-файл. И это, если что, уже не для Operation Fireweb, а для другого проекта.

30
Томахомэ, я, конечно, за разработку, может, и не шарю по мнению некоторых, но выглядит так, что ты одного заставил наговнокодить, а других пытаешься заставить выполнить код ревью. Мой тебе совет, изучи азы питона, прочитай пару книжек про МЛ, а не вываливай на всех свои хотелки. Твоего участия не видно, ферштейн? :)

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

Страницы: [1] 2 3 4 5 ... 34 Далее