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

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

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #30 : 13 Июнь 2023, 21:05:04 »
да вааааще без понятия что такое стек. и даже знать не хочу. с точки зрения Незнайки из Солнечного Города эта дикая ахинея лепить одни и те-же параметры по сути, но разного написания, разводя не нужную путанницу (и панику, как в моем случае).

по поводу того мануала - я листал. и расстройства были не из-за незнакомой команды, а их, я полагаю, еще прилично всплывет уже непосредственно на практике - меня расстроило больше наличие замудреного параметра d1/a1, который ранее не попадался. плюс сама научная писанина для меня не понятна. визуально бы, как на том сайте https://info.sonicretro.org/SCHG:68000_ASM-to-Hex_Code_Reference чтоб как для детей было - вот тогда дааа :) а пока придется пихать всевозможные варианты в ASM68K.exe смотреть что он рожает и пытаться увидеть там схему как это выстраивается. либо на совсем крайний случай - сразу запилить всевозможные готовые варианты. но это моветон... желательно бы осмыслить как это выстраивается.

по поводу pc - я рад, что у меня оказывается верно. хотя и несколько расстроен, что Иде доверять оказывается полностью нельзя...

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8076
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #31 : 13 Июнь 2023, 21:56:43 »
SeregaZ, В твоём случае следовало бы сперва потренироваться на более простом и логичном ассемблере для SH2 (Сатурн) или MIPS r3000A (PS1). Там все инструкции постоянного размера и без таких жёстких ограничений, как (регистр для адреса или регистр для значения). Да и генерировать их проще, так как есть проги для этого (SSIG и PSIG).

265111-0 265113-1

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #32 : 14 Июнь 2023, 18:31:48 »
только только что-то вроде стало выяснятся... и на тебе. это самое d1/a1 вылезло опять :) я так понимаю что это просто своеобразное перечисление по порядку? типа запятую нельзя ставить - не так поймет, а вот дробь или минус (точнее тире) - как бы запятая...
       asm68k.exe                      ida
movem.l a1/a2, (a6)          movem.l a1-a2,(a6)
movem.l a2/a1, (a6)          movem.l a1-a2,(a6)
movem.l a1-a2, (a6)          movem.l a1-a2,(a6)

movem.l a3/a2, (a6)          movem.l a2-a3,(a6)
movem.l a2/a3, (a6)          movem.l a2-a3,(a6)
;movem.l a3-a2, (a6) ; ошибка

movem.l d1/a2, (a6)          movem.l d1/a2,(a6)
movem.l a2/d1, (a6)          movem.l d1/a2,(a6)

movem.l a1/a2/a3, (a6)       movem.l a1-a3,(a6)
movem.l a1/a2/a3/d4, (a6)    movem.l d4/a1-a3,(a6)
movem.l d4/a1-a3,(a6)        movem.l d4/a1-a3,(a6)
movem.l a1/a5/a3, (a6)       movem.l a1/a3/a5,(a6)

не говоря уже про movem.l a1, -(a4), где определение a или d и их номера идут задом наперед по отношению к остальным вариантам (a4), (a4)+ и так далее. вот жеж проблемы на ровном месте придумывают :)

Добавлено позже:
paul_met, тренироваться конечно хорошо... но я бы хотел практическое применение. поскольку фанат SMD, то хотелось бы сразу в неё упоротся.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8076
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #33 : 14 Июнь 2023, 19:13:23 »
SeregaZ, Значит, будешь дольше разбираться с не самым нелёгким процем ввиду отсутствия должного опыта.
Лучше отслеживать результат исполнения инструкций непосредственно в отладчике. Тогда синтаксис станет понятнее.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #34 : 17 Июнь 2023, 14:21:56 »
доделал первую часть с декомпиляцией и все... второй день аппатия напала. хотя думаю надо теперь обратную операцию из текста в код переводить. а к ней еще надо окошко редактора, но чот все что форуме моего языка подсмотрел - все не совсем то. да, близко, круто... но не совсем то :) есть на канвасе, есть на синтриле. и текст вводится, и красится цветами, и автозамена, и сохранение табуляций при прыге ентыром на новую строку... но кода километры и хрен в нем разберешься. мне то все свистоперделки, что там есть - нафиг не нужны. мне надо что-то типа 3 колонки. в первой номерация строк, во второй метки, как ИДА ставит, и третье уже сами команды. пока просто стандартное окошко ввода текста... начну наверное потихоньку добавлять разбор текстовых команд... но тут еще мои секс игрушки с алиэкспреса начали приходить. значит осталось времени от силы дня 2-3, а потом упрусь с этими игрушками надоооооооооолго...

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1144
    • ВКонтакте
    • Steam
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #35 : 17 Июнь 2023, 15:41:31 »
Вот тебе ещё один вариант таблицы всех опкодов. Правда, они тут в бинарном порядке.

Оффлайн qq108201645

  • Пользователь
  • Сообщений: 10
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #36 : 18 Июнь 2023, 23:23:50 »
easy68k source code

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1284
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #37 : 23 Июнь 2023, 15:31:50 »
Был ещё такой вариант, пояснения смотреть на обоих листах.
https://www.emu-land.net/forum/index.php/topic,42330.msg567560.html#msg567560

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #38 : 23 Июнь 2023, 17:56:01 »
дааааа вторая часть пока так и зависла... как бы с регулярками вроде разобрался - осталось нудятина: вбить эти команды, чтоб система парсила команды и параметры и рожала бин файл на выходе... а по первой части то все в принципе уже отлажено. осталось только неизвестные команды нарыть и научить метки ставить как в иде. там еще пару мыслей есть.

но затык то в чем: вчера с алиэкспресса последние игрушки долетели - сижу вот играюсь... думаю как бы их на плате разместить, чтоб красиво и функционально было :)

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1144
    • ВКонтакте
    • Steam
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #39 : 23 Июнь 2023, 23:21:06 »
GManiac, сравнил с вариантом от Segaman'а, и твоя версия будто дополненная, уточнённая.

Оффлайн SPOT

  • Пользователь
  • Сообщений: 574
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #40 : 19 Июль 2023, 22:10:35 »
Кто поможет разобраться с асмом 6502
Есть две команды CLC и SEC, они включают и выключают флаг переноса (Carry Flag).
Допустим есть значение
CLC
ADC #$10
и
SEC
ADC #$10

Какая между ними разница?

Оффлайн Rumata

  • Супермодератор
  • Сообщений: 24658
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #41 : 19 Июль 2023, 22:35:17 »
Какая между ними разница?
они включают и выключают флаг переноса
CLC = Clear Carry, C -> 0
SEC = Set Carry, C -> 1

Оффлайн SPOT

  • Пользователь
  • Сообщений: 574
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #42 : 20 Июль 2023, 09:42:01 »
Я не понимаю, что происходит с числом при применение этих флагов.
Допустим у нас есть 250, мы его загружаем в "аккумулятор"

LDA #$FA

После чего, хотим добавить к нему 10

ADC #$0A

Таким образом у нас должно получится число 260, но поскольку, как я думаю, "аккумулятор" 8-битный, то мы получим 4.

Но как я понимаю, если использовать SEC то результат будет 16-битным, но как он сохранится в 8-битный аккумулятор?

Оффлайн Марат

  • Пользователь
  • Сообщений: 556
  • Пол: Мужской
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #43 : 20 Июль 2023, 11:55:13 »
Если вы выставляете флаг C (carry flag) с помощью команды SEC, то при сложении командой ADC, к итоговому числу добавляется 1. Никакое 16 битное число не получается. Все старшие биты отпадут просто напросто, так как не поместятся в аккумулятор. Максимум будет выставлен overflow flag (флаг переполнения).
Просто при работе с числами больше 8 бит, которые хранятся в памяти, вы должны учитывать carry flag. И если carry flag выставлен в результате сложения, вы должны добавить единицу к старшему разряду в памяти. Или отнять, если делаете вычитание

Добавлено позже:
Это как в школе учили сложение столбиком 14 + 17. Сначала складываем младшие разряды 7+4 = 11. 1 пишем, 1 в уме. Вот этот carry flag и выполняет функцию запоминания "1 в уме". Дальше мы складываем 1 + 1 + "1 в уме".
А на языке ассемблера последняя команда записывается как adc.
« Последнее редактирование: 20 Июль 2023, 12:05:37 от Марат »

Оффлайн SPOT

  • Пользователь
  • Сообщений: 574
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #44 : 20 Июль 2023, 12:31:20 »
Марат, спасибо, кажется я понял.

Оффлайн Cyneprepou4uk

  • Пользователь
  • Сообщений: 205
  • Пол: Мужской
  • Самый лысый ромхакер
    • ВКонтакте
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #45 : 25 Июль 2023, 16:59:15 »
SPOT, поскольку предыдущий выполненный код может поменять состояние флага C на неопределенное, в большинстве случаев тебе надо записывать CLC перед ADC, и SEC перед SBC, чтобы гарантированно ничего лишнего не прибавилось/не отнялось, а было прямолинейное сложение/вычитание.

Во всех остальных случаях ты специально не делаешь CLC/SEC, рассчитывая на то, что предыдущий код поставит тебе нужное состояние флага C. Например при сложении 16-битных чисел, когда остаток от сложения младших байтов переносится на сложение старших байтов.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #46 : 23 Сентябрь 2023, 23:08:35 »
так ладно. все забыл правда уже и не доделал... ну это как я всегда делаю и бросаю на половине. хочу тут кой чо другое сделать :) в начале понятно нужен заголовок и вроде как он 512 байт... это я потом иденить накопаю что там в заголовке должно быть. а вот дальше хотелось бы рисовать картинку и наверное из 2 слоев. что-то типа:
512 байт заголовка

pal:                           ; запоминаем адрес где лежит палитра
incbin "pal.bin" ; загрузить палитру
tileset:
incbin "ts.bin"  ; тайловый сет
tilemap1:
incbin "tm1.bin" ; тайловая карта 1 слоя
tilemap2:
incbin "tm2.bin" ; тайловая карта 2 слоя

; некая процедура
procedure
перевести режим экрана в какой-то там                   ; 320×224 хотелось бы
загрузить палитру из адреса pal
загрузить тайловый сет из адреса tileset
загрузить 1 тайловую карту из адреса tilemap1
загрузить 2 тайловую карту из адреса tilemap2
отрисовать на экране

rts ; rts - видимо конец процедуры

; произвести вызов процедуры
call procedure

если с загрузкой файлов все понятно. как забабахать указанную логику, чтоб ASM68K.EXE её понял? конец процедуры вроде понятно - rts . прочее как сделать? и наверное нужна пауза, чтоб эта картинка удерживалась на экране?

а вызов процедуры видимо jsr ?

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #47 : 24 Сентябрь 2023, 09:56:40 »
если с загрузкой файлов все понятно. как забабахать указанную логику, чтоб ASM68K.EXE её понял? конец процедуры вроде понятно - rts . прочее как сделать? и наверное нужна пауза, чтоб эта картинка удерживалась на экране?
Ну это уже не вопрос про асм, а про то как создать ром sega md с картинкой используя асм?

Например, можно так:

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #48 : 24 Сентябрь 2023, 15:37:51 »
тут, я так понимаю, только один слой загружается? и не понятно насчет палитры. то место, где она вроде как загружается - закомменчено, что несколько сбивает с толку :)
;lea pic_palette,a0
ну и возвращаясь ко второму слою - надо будет расскоментить эти строки и тогда второй слой заработает?
; lea pic_map1,a0
; move.l #$40000003,(a2) ; VDP PORT ADDRESS VRAM $C000 - MAP1
; move.w #$0001,d3
; bsr.s load_map_40x28
да, заработало. руль.

вот тут тоже вроде бы понятно - ожидание 5 секунд, пока отрисована картинка:
move.w #5*60,d0 ; 5 seconds
wait
bsr wait_next_frame
dbf d0,wait
60 типа герц в секунду, поэтому 5 * 60. дальше идет видимо отключение экрана.


а как можно включить следующий кадр? скопировать всю часть выше начиная с @load_vdp_params и до dbf   d0,wait с добавлением новых меток из датасекции снизу с данными второго кадра?

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #49 : 04 Февраль 2024, 00:09:26 »
я так понимаю, что код, рожаемый IDA'ой мягко говоря не совсем совместим с ASM68K.EXE ? то есть нужно еще дополнительно парсер сделать, чтобы из идовского асм кода текст переформатировал в ASM68K.EXE совместимый?

а то я тут мальца запнулся:
move    a6,usp ; 0x4E66

в моей недосистеме 0х4E66 расшифровывает как:
4E66 movem.l -(a6), a7/a6/a5/a3/d6/d3/d2/d1
понятно что где-то видимо накосячил. IDA и еще одна досовская приблуда показывает как move    a6,usp
но на этот usp - ругается ASM68K.EXE и не хочет собирать.

оказалось надо не голый move, а move.l
move.l   a6,usp

еще брыкается на всякие типа:
align $10
но там видимо ошибочное распознавание и надо видимо пропускать, без дизасма - типа как данные какие-то. графика там к примеру.

дальше IDA, скатина, видимо недописывает FF к значению:
clr.w   ($FFF006).w - ASM68K.EXE ругается. правильно должно быть:
clr.w   ($FFFFF006).w
« Последнее редактирование: 04 Февраль 2024, 03:18:13 от SeregaZ »

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #50 : 04 Февраль 2024, 07:36:06 »


проблема в том, что иногда в комментах проскальзывают спецсимволы и в результате файл выгрузки асм файла в моем случае читается не верно. то есть должно читать построчно, а по факту бывает берет и жрет две строки, как одну... из-за чего путанница частенько происходит. вот есть ли возможность в иде (6.8 в моем случае) оставить комментарии, где прям много текста, и прибить где односимвольные комментарии ида добавляет. типа '?' вот такого рода комменты портят мне все дело :(

Добавлено позже:
хы... и оно даже запустилось после всех измывательств :)))) правда повисло сразу после нажатия старт...
« Последнее редактирование: 04 Февраль 2024, 08:55:16 от SeregaZ »

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #51 : 04 Февраль 2024, 12:19:52 »
я так понимаю, что код, рожаемый IDA'ой мягко говоря не совсем совместим с ASM68K.EXE ? то есть нужно еще дополнительно парсер сделать, чтобы из идовского асм кода текст переформатировал в ASM68K.EXE совместимый?

а то я тут мальца запнулся:
move    a6,usp ; 0x4E66

в моей недосистеме 0х4E66 расшифровывает как:
4E66 movem.l -(a6), a7/a6/a5/a3/d6/d3/d2/d1
понятно что где-то видимо накосячил. IDA и еще одна досовская приблуда показывает как move    a6,usp
но на этот usp - ругается ASM68K.EXE и не хочет собирать.

оказалось надо не голый move, а move.l
move.l   a6,usp

еще брыкается на всякие типа:
align $10
но там видимо ошибочное распознавание и надо видимо пропускать, без дизасма - типа как данные какие-то. графика там к примеру.

дальше IDA, скатина, видимо недописывает FF к значению:
clr.w   ($FFF006).w - ASM68K.EXE ругается. правильно должно быть:
clr.w   ($FFFFF006).w
В smd_ida_tools_v2 есть экспортёр в код, собираемый различными ассемблерами m68k.

271671-0

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #52 : 04 Февраль 2024, 19:27:04 »
так. ладно, с начала.

1. запускать надо 32 битную версию ИДЫ я так понял.
2. предварительно засунув в нужные папки из архива tools v2 - loaders и plugins
3. при загрузке рома выбирать нужно варианты:
Sega Genesis/MegaDrive Rom v.2
Motorola MC68xxx universal emulator (или все-таки обычный MC68000 а не универсальный?)

при этом выборе будет выбивать сообщения х32 и CD сегменты - шлем их нафиг и отказываемся? там третий еще диалог будет FDC и Time сегменты какие-то. тоже слать их лесом и отказываться?

4. когда уже окно программы иды откроется - надо будет выбрать окошко дебаггера. и я так понимаю надо выбрать пункт GensIDA Debugger plugin. и тогда вылезет окошко, что типа ожидается Gens... который я понятное дело не смог куда надо установить. хотя там вроде мелькало какое-то сообщение, что дескать надо в exceptions.cfg что-то там добавить, но я его открыл, посмотрел бараньими глазами и закрыл. не понятно как туда добавлять...


вот значится на пока остаются следующие вопросы:
как доустановить эти папки gens и script из архива с тулсами v2
нахрена нужен питон, на который ида все время ругается
почему выбор варианта выгрузки в LCT рожает файл три часа, выписывая по байтно в строчку. понятно видимо сначала код нужно было разобрать... но все равно бред. выгрузка в ASM работает практически моментально. другое дело что там бывают ошибки...
« Последнее редактирование: 05 Февраль 2024, 00:41:44 от SeregaZ »

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #53 : 05 Февраль 2024, 18:00:49 »
1. Да
2. Да
3. Rom, он сам выберен нужный проц. На остальные вопрос отвечать в зависимости от того, использует ли ром эти регионы. Если ром не 32X и не SegaCD, или ты не уверен, можно выбирать Yes на все.
4. Отладчик идёт в архиве с остальным. Но для экспорта тебе он не нужен. Можно и статично всё разметить, после чего выгрузить.

Добавлено позже:
3-й питон нужен иде.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #54 : 05 Февраль 2024, 21:57:05 »
Цитата
4. Отладчик идёт в архиве с остальным. Но для экспорта тебе он не нужен. Можно и статично всё разметить, после чего выгрузить.
а есть инструкция четко по пунктам на пальцах куда что добавить, исправить и вписать, чтобы этот самый отладчик Gens заработал? в 6.8 то работает и эмулятор запускается. причем походу версия круче или новее, чем та которая у меня - звук сэмплов там получше. а вот в 7.7 или 8.3 ничего не запускается. надо как-то втолковать Иде где лежит этот самый Gens.

Цитата
3-й питон нужен иде.
насколько критично его отсутствие? я просто не пользуюсь этим питоном... вроде ж старая 6.8 все разбирает в роме и без него. это 7.7 и 8.3 брыкаются. если таевский баттл сити все разбирает вроде бы нормально, то вот немезисовский мк3 в 6.8 разбирается и видит кучу кода, а в новых идах не хочет. в начале только чуток разберет и бросает.



я так полагаю надо запустить отладчик и там поиграть чтобы код увиделся и добавился?


Цитата
No i/o port definitions for device 'sega_md' are found
Feel free to add them to exceptions.cfg

Добавлено позже:
ааааа... то есть она не умеет запускать эмулятор сама, как 6.8 ида? понятно теперь.

Добавлено позже:
и в этой v2 видимо эмулятор говнее, так как в v1 звук лучше чем в этой версии.

Добавлено позже:
и все-таки что-то у меня видимо работает не так. выгрузка lst работает меееееедленно. три часа так может выгружать. впрочем asm тоже. в 6.8 такого не было. быстро выгружало.
« Последнее редактирование: 05 Февраль 2024, 22:40:55 от SeregaZ »

Оффлайн perfect_genius

  • Пользователь
  • Сообщений: 1144
    • ВКонтакте
    • Steam
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #55 : 06 Февраль 2024, 00:30:59 »
SeregaZ, у тебя Винда 32-х битная или 64? Вроде бы на 32 что-то не идёт или глючит.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #56 : 06 Февраль 2024, 03:30:39 »
64 Win 7.

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #57 : 06 Февраль 2024, 12:14:56 »
Эмулятор тот же самый, один в один. Настройки звука можешь поиграться.
Ты же говорил, что выгрузка работает нормально.
Выгружать нужно не под отладкой, а после или до.
Запускать gens нужно из папки, которую ты качал. Качал ты с github же?

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #58 : 07 Февраль 2024, 02:11:21 »
ну черт знает. надписи в эмуляторах чуть различаются. настройки звука одинаковые в них обоих. но в одном прям ярко звучит (из старой иды 6.8), а во втором (и в той версии что у меня эмулятор генс для игр на компе) как будто из бочки. плюс стартовая мелодия на выборе бойца бьет с ошибкой барабан. примерно как в комикс зоне одна из мелодий играет не верно - вот та-же фигня и тут со звуком. помню мы решали в GEMS эмуляторе такую-же проблему... ну как решали... я там присутствовал :) там какой-то множитель кароче "не тот" типа он выставлен под какую-то там сеговскую частоту... а на компе то 44100. и поэтому звучит отвратно. а чтобы звучало правильно - надо эту там какую-то циферку влепить другую. то есть по отношению к приставке код будет не точным, но зато на компе будет играть более сочно. https://www.emu-land.net/forum/index.php/topic,83239.msg1444575.html#msg1444575

ничего я не понял с этой отладкой чего отключать где как... ничего не включая чистую иду открою, загрузить готовый idb файл, выбираю LST... и понеслась моча по трубам три часа выгружает при сохранении. ASM сохранение чуть быстрее, но все равно один фиг три часа ждать. 6.8 ида выгружала ASM почти молниеносно.

запускал из папки, которую я скачал. v2.
v1 в старой иде он сам там откуда-то эмулятор запускает...
« Последнее редактирование: 07 Февраль 2024, 02:42:07 от SeregaZ »

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1294
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Ребенок изучает asm [SMD]
« Ответ #59 : 07 Февраль 2024, 11:39:24 »
ну черт знает. надписи в эмуляторах чуть различаются. настройки звука одинаковые в них обоих. но в одном прям ярко звучит (из старой иды 6.8), а во втором (и в той версии что у меня эмулятор генс для игр на компе) как будто из бочки. плюс стартовая мелодия на выборе бойца бьет с ошибкой барабан. примерно как в комикс зоне одна из мелодий играет не верно - вот та-же фигня и тут со звуком. помню мы решали в GEMS эмуляторе такую-же проблему... ну как решали... я там присутствовал :) там какой-то множитель кароче "не тот" типа он выставлен под какую-то там сеговскую частоту... а на компе то 44100. и поэтому звучит отвратно. а чтобы звучало правильно - надо эту там какую-то циферку влепить другую. то есть по отношению к приставке код будет не точным, но зато на компе будет играть более сочно. https://www.emu-land.net/forum/index.php/topic,83239.msg1444575.html#msg1444575

ничего я не понял с этой отладкой чего отключать где как... ничего не включая чистую иду открою, загрузить готовый idb файл, выбираю LST... и понеслась моча по трубам три часа выгружает при сохранении. ASM сохранение чуть быстрее, но все равно один фиг три часа ждать. 6.8 ида выгружала ASM почти молниеносно.

запускал из папки, которую я скачал. v2.
v1 в старой иде он сам там откуда-то эмулятор запускает...
Можешь заснять видео, в котором долгий экспорт показан?

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