А, чем плох "родной", получающийся после компиляции? Или вам нужен "универсальный", для нескольких мелодий??
Вид для печати
Я даже не знаю. Но я так понимаю что если проигрывать несколько мелодий то лучше универсальный. А если одну то и "родной" отлично работает.
Лучше родным если одну. Особенно АСМ. Но если нужна скорость и проигрывание разных мелодий pt2 pt3 asm st, то есть универсальный плеер. Хотя обязательно надо проверять после сборки. VNN на этом собаку уже съел, спроси его в личку или почту, он тебе все объяснит и пришлет.
3 мегадемы все таки написал и в каждой части по 5-10 мелодий разных сувал. Глюков было немеряно. Мелодия играет, а орнаменты сбиты и не сразу, а где нить в конце что то не так играет. Если такое не заметить музакер может обидеться что его шедевр не так звучит.
Вот тут пример программы обработки прерываний в режиме IM2. Там же где-то образ с "наглядным" примером, как это должно работать на основе мелодии STP.
Замучался уже.
Подскажите на конкретном примере как проиграть мелодию в im2?
мелодия с плеером pt3.
Т.е такой цикл
10 call 49152
20 n1 call 49157
30 halt
40 jp n1
50 ret
А вместе с прерываниями im2 как это будет выглядеть?
Хочу отдельно повесть музон на прерывания.
Enigmatic, в 14 посте, была дана ссылка на обработчик прерываний, в котором можно играть музыку (а также, листинги для "подготовки" и запуска скомпилированной мелодии и вторых прерываний их последующей "остановки").
Мелодию с проигрывателем - "в студию"! (или адреса инициализации, проигрывателя и остановки).
----
Простейшая "мулька" для создания im2-обработчика..
Компиляция из кусков:
Код:CALL 49152
CALL SETIM2
LOOP:
LD A,191
IN A,(254)
RRA
JR NC,EXIT
HALT
JR LOOP
EXIT:
JP SETIM1
SETIM2 LD HL,INTTAB
LD DE,INTTAB+1
LD (HL),PLAYER
LD BC,256
LDIR
DI
LD A,'INTTAB
LD I,A
IM 2
EI
RET
SETIM1 DI
LD A,63
LD I,A
IM 1
EI
RET
ORG '$*257
PLAYER PUSH AF,BC,DE,HL
EXX
EX AF,AF'
PUSH AF,BC,DE,HL
PUSH IX,IY
CALL MUSIC+5 ;MUSIC+6 for old players
POP IY,IX
POP HL,DE,BC,AF
EXX
EX AF,AF'
POP HL,DE,BC,AF
EI
RET
INTTAB EQU #B000 ;257 bytes at #xx00
MUSIC INCBIN "music.C"
Спасибо!!