KonstanT Признанный телефонист Откуда: UA, Kyiv, UMC С нами с: 20.09.2002 Плодовитость: 544
Рейтинг
Подано 69 (48/21) голосов
|
И меняем, и добавляем!
|
цитата: Mad_Unlucker пишет:Пока я не разобрался с адресацией окончательно...
Кажись, разобрался!
Адреса мелодий (см. выше) указаны абсолютно точно. Нашел массив ссылок на эти мелодии, он находится по адресу 0F8B4E. Формат таков: 4 байта - номер мелодии, 4 байта - длинный адрес. То есть, можно зафигачить мелодию в любой свободный блок и выставить на неё ссылку. Все адреса записаны по 4000h - базе.
Свободные места я нашёл по адресам:
13234 - 13FFF (3k);
7FB00 - 7FC00 (1k);
BFC00 - BFFFF (1k);
FE280 - FFFFF (7.5k).
Итак, процедура вставки мелодии:
1) Считываем с пом. Cristmas блок1, куда будем вставлять музыку (например, 70000h-7FFFFh) размером 10000h, и блок2 с ссылками F0000-FFFFF на эти мелодии.
2) Спом. этой проги конвертируешь MIDI в BIN.
3) Вставляешь полученый бин в блок1, например, по адресу 7FB00; Следи, чтобы музыка не вышла за границы блока!
4) Вычисляешь адрес мелодии в 16к-сегментах:
- прибавляешь к адресу 100000h, сумму делишь на 4000h, получается база, например 005Fh. Остаток от деления - это смещение (3B00h):
(100000h+07FB00h)/4000h=005Fh;
(100000h+07FB00h)-005Fh*4000h=3B00h;
получился адрес 005F:3B00
5) Записываешь адрес в обратном порядке (003B5F00) в блок2 на место ссылки непонравившейся мелодии (например, №13- F8BBA: C8057E00-->003B5F00).
6) Заливаем обратно эти блоки по своим адресам.
7) Наслаждаемся звучанием новых мелодий!
Несколько замечаний:
Чтобы не угробить свой аппарат, корректно пользуйтесь Cristmas - там есть свои тонкости.
Старайтесь использовать маленькие блоки (по 1к) - большой в конце может понадобиться для других апгрейвов (например, русский Т9 )
P.S. Только что залил себе мелодию, как написал выше - намного лучше прежней! Если бы ещё можно было нормально сконвертить MP3 в MIDI! |
____________________________
... |
|