С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Т.е. музыку на прерываниях не играл?
Andrew771, самый простой вариант
при таком вызове гарантированно не будет проблем с проигрыванием музыки
push hl,de,bc,af
exx
ex af,af'
push hl,de,bc,af
push ix,iy
call play_music
pop iy,ix
pop af,bc,de,hl
exx
ex af,af'
pop af,bc,de,hl
С уважением,
Jerri / Red Triangle.
Опять про прерывания.
Объясните, почему это не работает? Вроде всё правильно нафигачил
Код:org 24000 call im_on ret ; процедура в прерывании im_procedure push af push bc push de push hl exx ex af,af' push af push bc push de push hl push ix push iy ld a,3 call 8859 pop iy pop ix pop hl pop de pop bc pop af exx ex af,af' pop hl pop de pop bc pop af jp 56 ; включение 2-го режима прерываний im_on di ld hl,64512 ld de,64513 ld bc,256 ld (hl),253 ldir ld hl,im_procedure ld (65021),hl ld a,252 ld i,a im 2 ei ret
Прерыванию делаются примерно так (у меня в примере на прерываниях висит музыка). Можно без ldir'а, если сразу туда ассемблировать.
Код: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; 08.05.2014 в 14:16.
Свирепый агрессивно-депрессивный мордовец!
Не уверен - не напрягай!
Не сдавайся. Дыши?
Virtual TR-DOS
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)