С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
2VNN> Ай ай ай, такой большой, а табличку для прерываний упрощённую используешь...
---------- Post added at 15:02 ---------- Previous post was at 15:01 ----------
Залог надёжного ИМ2. Сокращайте, убирайте, делайте по-своему. А потом будете удивляться, что даже в эмуле через раз работает.
есть разные куски, тут и там - может есть один но полный кусок кода для проигрывания на AY?
неважно насколько много циклов занимает, но важно исходники, что бы себе подключить проще и собрать прогу.
Ну вот например. Это я кусок кода cj покромсал, который он мне когда-то давал. Если такую кучу не надо сохранять на прерываниях - убери. Можно вообще сразу поместить куда надо обработчик и обойтись без ldir. Код для sjasmplus.
Это если я правильно понял, что ты хочешь проигрывать с прерываний. Если просто проигрывать - сделай тупо loop call music+5: jr loop и всё.
Код:imtab equ #be00 //таблица вектора прерываний (257 байт) int_jump equ #bdbd //обработчик start di:ld sp,#6000 xor a:out (#fe),a // прерывания ld hl,imtab:ld a,h,i,a ld a,low int_jump ld (hl),a:inc l:jr nz,$-2 inc h:ld (hl),a ld hl,obrab,e,a,d,a,bc,obrab_len:ldir im 2 call music // init music ei loop halt jr loop obrab //обработчик прерываний (работает с адреса #bdbd) push af,hl,bc,de,ix,iy exx push hl,de,bc ex af,af' push af call music+5 pop af ex af,af' pop bc,de,hl exx pop iy,ix,de,bc,hl,af ei ret obrab_len equ $-obrab music incbin "music.cod" //пт3-модуль с плеером
Последний раз редактировалось Shadow Maker; 15.03.2012 в 09:46.
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
2 Shadow Maker
спасибо, нашел исходники
//пт3-модуль с плеером
щас переделаю для IAR или другого , но на PC ...
Добрый день. Есть такая проблема - ну никак не получается проиграть музыку, экспортированную из Vortex Tracker II. Экспортирую в формате hobeta with player, на адрес #C000. Из Бейсика загружаю на адрес 49152. Длина музыки с плеером из VT немногим меньше 6 КБ. Кодовый кусочек загружаю по адресу 45000, длина... да вот он, собственно, весь (как рекомендует и VT, и в этой теме был такой же кусочек кода):
CALL #C000
EI
LOOP CALL #C005
HALT
JP LOOP
RET
Результат - эмулятор сбрасывается.
Собственно, вопрос: что я делаю не так? Понятно, что причина ошибки на моей стороне, но в чем она заключается - никак не могу понять.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)