The MIDI tx interrupt didn't work, because it was not implemented. I implemented it, see attached file. Tested with svn revision 28076.
mididrv_in_open and mididrv_out_open was called each time when the control register was written, without closing it before. Now it is opened only once, until closed.
the source code is a bit refactored: the interrupt bits of the status register are set in one function, only, the new midi_update_int function, which sets the C64 IRQ based on rx_irq or tx_irq, too.
The changes were tested with the attached file midi-out-irq-test.prg: old VICE: border color black. Patched version: border color white. And I tested it with Steinberg Pro 16, which didn't hang before the patch, because the interrupt was never called. I hope I didn't break any other programs.
Log in to post a comment.