короче работает оно, но ваши хаки пашут только с японским биосом
в твоем RRR музычка играет, то я видно сначала криво твой ром похакал, на предмет правки адресов
Добавлено позже:сделай что-то подобное, и оно будет работать на всех сегах ЦД
/*
* Check for CD BIOS
* When a cart is inserted in the MD, the CD hardware is mapped to
* 0x400000 instead of 0x000000. So the BIOS ROM is at 0x400000, the
* Program RAM bank is at 0x420000, and the Word RAM is at 0x600000.
*/
bios = (uint8_t *)0x415800;
if (memcmp(bios + 0x6D, "SEGA", 4))
{
bios = (uint8_t *)0x416000;
if (memcmp(bios + 0x6D, "SEGA", 4))
{
// check for WonderMega/X'Eye
if (memcmp(bios + 0x6D, "WONDER", 6))
{
bios = (uint8_t *)0x41AD00; // might also be 0x40D500
// check for LaserActive
if (memcmp(bios + 0x6D, "SEGA", 4))
{
put_str("No CD detected!", RED_TEXT, 20-7, 12);
while (1) ;
}
}
}
}
sprintf(text, "CD Sub-CPU BIOS detected at 0x%6X", (uint32_t)bios);
put_str(text, GREEN_TEXT, 2, 2);
Добавлено позже:Тогда остается вопрос в том, как потом проверить? Вавы то в исо не засунуть, или всё таки будет обновлённая ревизия ретроарча?
уфф, поковырялся я в коде и новости не совсем хорошие - в эмуляторе в куче мест жоско заточено, что первый трек всегда DATA, так что будет пока так как есть(
но сделал загрузку .cue в моде1, как этим пользоваться:
- изменить первые 4 символа названия игры в роме по офсету 0x120 на "FLUX"
- изменить первые символы первого трека образа на "SEGADISCSYSTEM"
- переименовать .cue так же как ром, например RocknRoll.cue, трек(и) могут называться как угодно, поддерживается cue+bin, cue+wav-ы, cue+ogg
- запустить ром как обычно
Добавлено позже:прикрутил кое-как парсинг аудио-цд в моде1, пробуйте
как пользоваться:
- изменить первые 4 символа названия игры в роме по офсету 0x120 на "FLUX"
- переименовать .cue так же как ром, например RocknRoll.cue, трек(и) могут называться как угодно, поддерживаются cue+bin, cue+wav-ы, cue+ogg
- запустить ром игры