Le sugeriría que pudiera usar un ARM para emular todo el Mockingboard con un ARM en un bucle muy estrecho, especialmente si sabe en qué funciones se basará. Es probable que sea necesario escribir todo en lenguaje ensamblador, pero algunos chips ARM7-TDMI pueden ejecutar más de 64 ciclos por cada ciclo de bus 6502. Si bien la emulación perfecta de los chips en cuestión podría no ser posible dentro de esas limitaciones de tiempo, debería ser lo suficientemente cerca como para satisfacer al software Apple II que desea hablar con el Mockingboard.
Por cierto, la hélice puede ser una buena opción para la generación de tonos, pero un ARM7-TDMI también podría funcionar bastante bien. El código para emular tres voces sería:
; Assume R8 points to voice information; R1 will be the total amplitude of all voices
; R9 points to a table of volume values
ldrm r8,{r4,r5,r6} ; Load info for three voices
; Code for each voice:
adds r4,#0x80000 ; Upper 13 bits are phase
addcs r4,r4,asl #19 ; Bottom 13 bits are frequency
eorcs r4,#0x02000 ; Bit 13 is square wave
and r0,r4,#0x0003C000 ; Extract volume
ldrbs r0,[r9,r4 lsr #14] ; Square wave into carry
addcs r1,r0
; Repeat above six instructions for R5 and R6. Then...
strmia r8,{r4,r5,r6}
; One may repeat the above sequence for as many groups of three voices as desired,
; at a cost of 33 cycles per group (about half a microsecond at 70MHz).