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

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

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2536
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #90 : 26 Февраль 2024, 05:45:15 »
видимо в тот момент я думал о голых женщинах и все пропустил. значит будем прикручивать четность, чо уж...

Добавлено позже:
хныыыыыыыы... никогда такого не было и вот опять! поскольку у нас тут теперича религия четности, то хотелось бы чтоб нераспарсенный код всегда начинался с четного. а то сейчас селектица криво, если метка пришлась на нечет... вот значит я думаю надо добавить проверку на метки. если метка летит на нечетный адрес - сдвигать метку на 1 байт влево, а в той команде где она использовалась, добавлять плюсиком +$1, так-же как в других мутных местах уже делаю. хотя визуальная ценность сего решения весьма сомнительная... в том плане, что жмакнув на такой ссылке с плюсом - окно перекинет именно что без плюса, то есть будет не точная адресация для глаз пользователя... голова то дырявая и не удержит заметку, что там на самом деле +1.



Добавлено позже:
либо ладно хрен с ним. подумаю над селектом, чтобы он через строку прыгал и правильно подсвечивал зеленым два разных кусочка предполагаемого опкода - два байта.
« Последнее редактирование: 26 Февраль 2024, 08:45:23 от SeregaZ »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2536
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #91 : 26 Февраль 2024, 11:39:16 »
теперь дает заселектить только четные байты, и подсвечивает оба байта возможного опкода, если он разбит на строки или даже между ними метка. в случае если был нажат горячий дизасм - метка сама поменяется на метка+1 в том месте, откуда она ссылалась на этот адрес.

Добавлено позже:
однако затуп при горячем дизасме меня расстраивает :) я сделал так:
1. первоначальный парсинг. собирается только код и вносится в лист.
2. происходит копия этого листа в некую базовую копию.
3. происходит добавление в лист "бэшек" - то есть нераспарсенного кода. (получается дописывает в конец листа все блоки бэшек)
4. сортировка листа по адресу в роме. тут все становится на свои места. блоки кода правильно чередуются с блоками бэшек.

тут приспичило пользователю жмакнуть С - горячий дизасм на какой-то бэшке.
1. происходит восстановление копии первоначального парсинга кода в основной лист.
2. происходит добавление нового адреса, или даже адресов, что родились при горячем дизасме.
3. происходит добавление в лист бэшек.
4. сортировка листа по адресу.

пользователь остался недоволен и жмет R - reset, сброс, возврат к предыдущему состоянию.
1. происходит восстановление копии первоначального парсинга кода в основной лист.
2. происходит добавление в лист бэшек.
3. сортировка листа по адресу.
хотя пока писал и подумал что наверное надо делать копию текущего листа со всеми бэшками до нажатия C и восстанавливать её, если пользователь нажал R.

пользователь решил сохранить результат и жмет S - save.
1. к первоначальной копии листа "только код" добавляется новый адрес и код с этого адреса.
2. делается копия в базовую копию
3. происходит добавление в лист бэшек.
4. сортировка листа по адресу.
поэтому то и отмена, если пользователь все-таки сохранил результат - не возможна. то есть уже в сохраненную базовую копию были внесены изменения.

самое долгое во всем этом - добавление бэшек. это занимает 95% времени затупа. во время этого добавления происходит коллекционирование бэшек в 16 в ряд, печать, и если встречается метка - метка или код - делит блоки бэшек. и вот эта катавасия жрет основное время и портит мне все настроение, и портит впечатление от программы.
« Последнее редактирование: 26 Февраль 2024, 11:51:22 от SeregaZ »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2536
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #92 : 27 Февраль 2024, 21:11:09 »
вроде буржуй там что-то начал подсказывать, я ничего не понял, но вроде родил идею подготавливать не все строки за раз как строки, а наверное пихать в эти ячейки кусочки памяти, после конвертить их в текст только в момент рисования на канвасе и только в пределах видимого диапазона, и причем сохранять результат в ячейке. то есть будет проверка: есть ли текстовой вариант, если есть - показать его, если нет, то конвертануть кусман памяти в текст, сохранить в строке, которую сейчас показываю. что-то типа такого. завтра буду пробывать и смотреть как это скажется на быстродействии.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2536
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Re: Ребенок изучает asm [SMD]
« Ответ #93 : 28 Февраль 2024, 07:45:15 »
неть, не помогло :) как тупил мk3uhack так и тупит... стало конечно быстрее, а с маленькими ромами так и вовсе почти как в иде шустро, но хотелось бы чтоб хоть 10 мегабайт ром загрузи - так-же молниеносно обрабатывало. еще наверное надо сохранение будет переработать. сейчас при сохранении опять перерасчет идет :)

да и если много баловаться С и R - вылетает, зараза :)

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2536
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #94 : 01 Март 2024, 10:41:43 »
пока тупик и продвижение в моих задумках нет - подумываю сделать сохранение ручного парсинга. наверное это будет текстовой файл, типа "название рома.adr", куда будут складываться все найденные адреса первый раз и добавленные вручную через С. соответственно при загрузке рома сначала будет произведена проверка: а не загружался ли данный ром ранее? если да, то загрузить лист адресов из этого файла. правда остается вопрос - исправленные адреса туда пихать, или все-таки оригинальные... то есть когда адрес прыгает не на начало команды, а на параметр.

а докучи бы еще цветовую подсветку. типа эти адреса были найдены друг за другом, при первоначальной загрузке рома, а эти вручную через С...

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #95 : 13 Декабрь 2024, 16:08:08 »
Решил я тут начать пилить небольшую демку для Playmark'овского железа Excelsior, и тут вырисовалась небольшая проблема - вроде прерывание №2 для данной железки я уже разрешил, однако самого перескока к соответствующему адресу, когда приходит время прерывания, не происходит - только значение 3-го нибла регистра SR меняется с 1 на 2, и MAME'овский дебаггер тоже никакого прерывания не регистрирует.
Внизу прикреплены иллюстрирующий странность в работе M68000 тестовый набросок кода и полученный в результате его сборки ром (запускать через командную строку - mame excelsr -d). Что же я всё-таки упустил?

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2536
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #96 : 14 Декабрь 2024, 01:35:54 »
а чем собиралось? есть ли альтернатива? типа несколькими сборщиками один и тот-же код собрать и посмотреть?

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #97 : 14 Декабрь 2024, 04:46:12 »
а чем собиралось? есть ли альтернатива? типа несколькими сборщиками один и тот-же код собрать и посмотреть?

Всё тем же нашим общим "старым знакомым" - asmx. И собрал он, судя по тому, как слабо разнятся исходник с листингом MAMEовского дебаггера, правильно.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2536
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #98 : 14 Декабрь 2024, 05:39:41 »
а что значит
bra $не должно ли было быть после доллара какое-то значение?

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Re: Ребенок изучает asm [SMD]
« Ответ #99 : 14 Декабрь 2024, 06:28:49 »
а что значит
bra $не должно ли было быть после доллара какое-то значение?

В синтаксисе asmx это - текущий адрес. По идее, программка должна тихонько стоять на месте в ожидании прерывания, вот только чё-то последнего не поступает. Точнее, поступает, но на него нет должной реакции.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2536
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #100 : 14 Декабрь 2024, 06:46:44 »
ну я бы предложил написать некоему, по всей видимости, итальянцу Pierpaolo Prazzoli https://twitter.com/pprazzoli?lang=en и спросить у него, получить инфу из первых уст :)

Оффлайн Docm@n

  • Пользователь
  • Сообщений: 651
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #101 : 14 Декабрь 2024, 10:17:08 »
Я тут встряну немного.

Первый раз такое вижу.
bra $

 BRA - это же аналог JMP, разница лишь в размере инструкции. То есть это более быстрый способ перейти на короткие ветвления, если мне память не отшибло bra.s это скачок на 7E вперёд или назад, а bra.w на 7FFE. Во первых надо было короткий переход использовать, а во вторых - переход без адреса, как может вообще работать? И какая задача? зациклить текущий узел кода или хде?

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #102 : 14 Декабрь 2024, 11:43:57 »
Я тут встряну немного.

Первый раз такое вижу.
 BRA - это же аналог JMP, разница лишь в размере инструкции. То есть это более быстрый способ перейти на короткие ветвления, если мне память не отшибло bra.s это скачок на 7E вперёд или назад, а bra.w на 7FFE. Во первых надо было короткий переход использовать, а во вторых - переход без адреса, как может вообще работать? И какая задача? зациклить текущий узел кода или хде?

Именно как-раз таки зациклить. Про "отсутствующий адрес" - вот исчерпывающе всё объясняющая вырезка из руководства от самого разработчика того ассемблера, которым я пользуюсь (см. прикрепления). Что интересно, когда адрес не указан, то к bra даже постфикс s добавлять не требуется - она уже автоматом транслируется как $60fe.

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #103 : 02 Январь 2025, 13:31:23 »
Ну, вот, пришла пора рассказать, зачем таки, собсна, спрашивал за железо Excelsior. История будет долгая и о-о-о-оо-ооочень пахомистая, так что приготовьтесь.

Незадолго до этого один мой знакомый привёз из Гонконга одну презанятную вещь. Дело в том, что Гонконг уже давно имеет славу настоящего сталкерского (не в смысле преследования и слежки за людьми, а в смысле бродьбы по разного рода заброшкам) рая из-за парадоксального, учитывая тамошний жёсткий перманентный дефицит свободную жилплощадь и совершенно логично вытекающих из него неадекватных цен на жильё, обилия, по факту, бесхозной, находящейся в подвисшем юридическом состоянии недвижимости, до сих пор принадлежащей разным мелким фирмам-призракам, хрен знает, чем занимавшимся, и куда и когда девшимся. Так вот, на одном из средних этажей совершенно неприметного высотного здания в самой глубине города, заходит он как-то в одну такую квартирку, переоборудованную под офис (внутри, по словам моего знакомого, похожий на школьный клуб "Подвиг", приписанный к иркутской 39-й школе - не спрашивайте, я не в курсе даже, когда и каким ветром его в этот клуб, что бы тот собой ни представлял, заносило) некоей Haak Lin Faa (黑蓮花, "Чёрный Лотос") Industries. Впрочем, Industries для них слишком громкое слово: настоящие собственные промышленные мощности им вряд ли даже в самом сладком сне снились - обычная, как это у нас называют, полуподвальная IT-фирма, чей потолок - ручная кустарная сборка платок из самых стандартных компонентов, которые можно купить в любом ближайшем магазине радиоэлектроники.

Чтобы войти внутрь офиса, обращаться пришлось к услугам фирмы по аварийному взлому замков. Все окна квартиры были давно зажалюзены, так что воздух внутри был настолько спёрт, будто бы её лет сто не проветривали. Особо ценного ничего в запертом на протяжении десятков лет офисе найти не удалось - кругом были лишь длинный книжный шкаф во всю ширину одной из стен следующей за прихожей комнаты, до отказа забитый какими-то пожелтевшими пыльными, возможно, даже плесневелыми папочками на китайском, да всё какие-то картонные коробки с очевиднейшим электронным мусором. И лишь в одной из таких картонок лежала полусгнившая датированная 2003 годом unpopulated ROM-микросхемами плата, служившая, по всей видимости, для сугубо отладочных целей.

Её-то мой знакомый, будучи, кроме любителя сталкинга, ещё и электронным гиком, с собой и привёз. Уже подысследовав её дома, он с удивлением обнаружил, что железячка-то - ни что иное, как цельнотянутый (с поправкой, конечно, на "местную", характерную именно для гонконгских реалий 2003 г., элементную базу) Excelsior - видимо, итальянская технология долго ходила по рукам, прежде чем по итогам своего 8 (если считать от от указанной в официальных флайерах даты 1995)-летних скитаний осесть в Гонконге. Что, впрочем, неудивительно - среди стран-"подбиральщиков объедков" за флагманами мирового игростроя на момент 2003 г. имелась своя иерархия: на первом месте была Южная Корея, чьи фирмы, которые у нас обычно, долго не раздумывая, именуют пиратскими, на самом деле трудились на этаком юридическом пограничье (например, Yun Sung) - в продукции таких практически обязательно были откуда-то по мелочи свистнуты или часть кода, или ресурсы, или геймплейная механика, или железо, и всё равно игра в общем и целом смотрелась их собственным продуктом, а не пиратской копией или хаком чьей-то чужой. Далее шли как раз Гонконг с Тайванем, подъедавшие в т. ч. и за Кореей. "Редуцентом 3-го порядка", как это называется в школьном курсе биологии, был материковый Китай. Ну, и совсем уж днище днищенское - это Юго-Восточная Азия и прочий третий мир. И чем ниже ты был в этой пищевой цепочке, тем более как до жирафа до тебя доходили чьи-то поюзанные технологии. Особую, кстати, пикантность картинке придаёт тот факт, что Playmark большую часть своей истории была именно классической бутлеггерской фирмой, которая перешла на клепание своего продукта достаточно поздно - то есть в масштабах уже не одной лишь Азии, а мира в целом Гонконг спускается со 2-го порядка на 3-й.

Впрочем, небольшое отличие от железа Excelsior у таинственной платки всё же было - порт для джойстика у неё был намертво подсоединён к световой указке (увы, обскака японцев с их Wii китайцами не случилось - по сути, это был всё тот же старый добрый пистолет). Неясно, кстати, было, а действительно ли эта Haak Lin Faa на аркадный рынок нацеливалась - их железка могла с примерно равной вероятностью служить сердцем и банкоматов (хотя нет, вряд ли - они в свой модели управления довольно консервативны и предпочитают привычный нампад), и мультимедийных цифровых информационных стендов, и интерактивных школьных досок (хотя тоже сомнительно - вряд ли цифровизация образования в Гонконге в 2003 году была так же высока, как сейчас), и больничных тестеров зрения либо координации, и Plug&Play-телеигр - да мало ли чего ещё. Однако, сколько ни гадай о возможном предназначении устройства, ясности это не внесёт ни грамма.

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #104 : 02 Январь 2025, 13:52:08 »
Теперь конец предисловию, переходим к сути - поначалу я хотел написать демку для "чистого" Excelsior, и лишь потом начать добавлять в MAME архитектурные нюансы именно железки от Haak Lin Faa, переписывая постепенно код уже под них. Про ассемблер ARM я начал впрашивать, уже когда совсем-совсем отчаялся решить проблему с прерываниями для M68k и решил, что "да ну его таки на хрен, задолбало", и вспомнил, что есть на свете ещё одна платформа, тоже с поддержкой битмапов, но уже не палитрованных 8-битных, как у Excelsior'а (у которого, самое смешное, что каждый пиксель всё равно занимает 2 байта - чудовищно неэкономное решение), а задействующих сразу все те 32 с лишним тысячи цветов, которыми она оперирует - речь, конечно же, о GBA.

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

Ну а что же до Excelsior'а, то оттуда можно взять чисто "на добрую память" и переписать под ARM алгоритм сжатия картинок.

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1185
    • ВКонтакте
    • Steam
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #105 : 02 Январь 2025, 17:15:51 »
Такой графомании я ещё не встречал, было физически больно читать :lol:

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #106 : 02 Январь 2025, 17:51:59 »
Такой графомании я ещё не встречал, было физически больно читать :lol:

Предыстория требовала, для понятности общего контекста, большого количества деталей.

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1185
    • ВКонтакте
    • Steam
    • Просмотр профиля
Re: Ребенок изучает asm [SMD]
« Ответ #107 : 03 Январь 2025, 00:13:15 »
Я перегнул, ты уж не обижайся, читать было всё-равно интересно, но воды лишней многовато.
Вот вариант от Яндекса:
Цитата
История находки
• Знакомый привёз из Гонконга плату Excelsior
• В Гонконге много заброшенной недвижимости, принадлежащей мелким фирмам
• В одной из квартир нашли офис фирмы Haak Lin Faa Industries
Описание офиса
• Офис был переоборудован под школьный клуб "Подвиг"
• Внутри были пыльные папки и картонные коробки с электронным мусором
• В одной из коробок нашли плату Excelsior 2003 года
Происхождение платы
• Плата была цельнотянутой, с местной элементной базой
• Технология Excelsior долго использовалась в Гонконге
• Гонконг и Тайвань были "подбирателями объедков" за мировыми игровыми компаниями
Иерархия стран-подбирателей
• Южная Корея была на первом месте
• Гонконг и Тайвань следовали за Кореей
• Материковый Китай был "редуцентом 3-го порядка"
• Юго-Восточная Азия и третий мир были на дне
Особенности платы
• Порт для джойстика был подсоединён к световой указке
• Неясно, для какого рынка предназначалась плата
• Возможные варианты использования: банкоматы, мультимедийные стенды, интерактивные доски, больничные тестеры, Plug&Play-телеигры

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1185
    • ВКонтакте
    • Steam
    • Просмотр профиля
Re: Ребенок изучает asm [SMD]
« Ответ #108 : 11 Январь 2025, 17:08:27 »
Русскоязычный чел написал эмулятор Сеги на С++.
Оказывается, и дизассемблер писал он сам, вот это жесть :ohmy:
Не использовал Capstone, так как некоторые инструкции m68k он понимает неправильно, что совсем неприемлемо :ohmy:
Поискал в сети другие дизассемблеры, но и их оказалось много, а надёжного нет. У каждого свои баги, наверно.
Так что думаю тоже как ты парсить выхлоп Иды, для сверки. Но попробую искать готовые парсеры.
Не знаю, забросил ли ты это дело, но вот нашёл схемы как разбирать инструкции: github.com/AW6587/M68K-Decoder
С ними явно проще, чем ломать глаза о таблицы:

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Re: Ребенок изучает asm [SMD]
« Ответ #109 : 14 Январь 2025, 19:16:18 »
Я перегнул, ты уж не обижайся, читать было всё-равно интересно, но воды лишней многовато.
Вот вариант от Яндекса:

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

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #110 : 15 Январь 2025, 11:03:33 »
Нет, ну правда же ведь анимэшная тян с картинки - настоящая лапочка?  @}->--
Теперь нужен для этой картинки полупрозрачный серо-коричневый фильтр, который бы стирался по мере очистки игрового поля от костяшек - пора бы уже наконец посвятить вас в суть моей идеи: это будет клон Double Point/1+2/Pharaoh's Match/Twins/Tamtex'овской дилогии Match It с игровых автоматов. Собственно, когда я как раз-таки узнал про таинственный гонконгский клон железа Excelsior со световой указкой в качестве устройства управления, идея и зародилась - соединять 2 одинаковые костяшки предполагалось вручную с помощью той самой указки. Но, в принципе, старый добрый джойпэд GBA как устройство управления тоже сойдёт.

Так вот, никто не знает, как бы мне этот самый фильтр написать на всё том же ассемблере ARM?

Добавлено позже:
Та же самая картинка, но в оригинальном размере, неуменьшенная.
« Последнее редактирование: 28 Январь 2025, 21:58:47 от ghostdog3 »

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #111 : 16 Январь 2025, 14:20:03 »
С тем самым фильтром. Когда дойдут руки до добавления полноценных игровых механик, пропорция между оригинальным значением каждого пикселя и фильтром будет зависеть от того, насколько свободно игровое поле.

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #112 : 22 Январь 2025, 06:16:25 »
Кстати, раз уж с GBA дела начали потихоньку идти на лад - никто не знает, например, есть ли что-то наподобие конечного фреймбуфера у PS2, и есть ли к нему доступ непосредственно у CPU? Решил я туточки попробовать "расшевелить" проект Sails of Charon.

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

  • Пользователь
  • Сообщений: 823
  • Пол: Мужской
    • Просмотр профиля
Re: Ребенок изучает asm [SMD]
« Ответ #113 : 27 Январь 2025, 17:29:05 »
Пошуровав немного по официальной документации по 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) как был, так и остаётся чёрным. Никаких предварительных действий для активации экрана делать не надо?

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1185
    • ВКонтакте
    • Steam
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #114 : 29 Январь 2025, 23:39:11 »
Тема ведь про Сегу. Да и по PS2 вряд ли тебе подскажут.
Nickita, мне удалось скомпилировать несколько примеров и даже одну из последних версий wLaunchELF не без проблем, когда установил последний прекомпилированный тулчейн: https://github.com/ps2dev/ps2toolchain/releases/download/2018-10-19/ps2toolchain-20181019.7z
Не смог много чего - OPL, ps2link, другие простые программы.

Как я понял, у этого SDK нет номера версии, он постоянно меняется/ломается и поэтому использующий никогда не уверен в том, получится ли что-то скомпилировать. Дикость какая-то, вечная альфа.
Т.е. я тоже не подскажу, так как не писал с нуля, а лишь редактировал готовое.