@Zbych, post #1
@Phibrizzo, post #2
@Zbych, post #5
@Zbych, post #1
@Don_Adan, post #10
A co za trudnosc zamienic przerwanie z CIA na VBI? Jedyny problem, ze nie wszystkie mody Ci wtedy pojda z dobra szybkoscia, tzn. o ile dobrze pamietam, wszystkie ktore uzywaja czegos innego in 125 BPM, beda odtwarzane na zlej szybkosci. Wiec wywal wszystkie odwolania do timerow i ich wylaczanie/wlaczanie. I powinno zadzialac Ok. Lub o ile nie uzywasz systemu, to mozesz zamienic wszystkie odwolania CIAB na CIAA, z tego co pamietam to przerwanie CIAA ma nizszy priorytet niz VBI, tylko CIAB ma wyzszy priorytet niz VBI.
@Zbych, post #13
@Don_Adan, post #15
@Don_Adan, post #11
OctaMed tez uzywa CIAB, o ile dobrze pamietam.
@teh_KaiN, post #18
move.b #$83,CIAICR(a0)na
move.b #$82,CIAICR(a0)co powstrzymuje uruchomienie timera A oraz dodałem procedurę, która wygląda prawie tak samo jak oryginalna wołana w timerze (mt_TimerAInt) z tym że usunąłem potwierdzenie przerwania i instrukcje powrotu RTE zamieniłem na RTS:
VBintPlay: movem.l d0-d7/a0-a6,-(sp) lea CUSTOM,a6 ifd SDATA lea _LinkerDB,a4 else lea mt_data(pc),a4 endc tst.b mt_Enable(a4) beq .1 bsr _mt_music ; music with sfx inserted movem.l (sp)+,d0-d7/a0-a6 nop rts .1: bsr mt_sfxonly ; no music, only sfx .2: movem.l (sp)+,d0-d7/a0-a6 nop rts