Ну вот например. Это я кусок кода 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-модуль с плеером




Ответить с цитированием
