00000000: 0D 20 20 20 20 20 3B 4C 41 42 45 4C 54 41 42 45 |. ;LABELTABE|
00000010: 4C 4C 45 0D 0D 20 20 20 20 20 43 48 52 4F 55 54 |LLE.. CHROUT|
00000020: 20 20 20 20 20 3D 20 24 46 46 44 32 0D 20 20 20 | = $FFD2. |
00000030: 20 20 52 45 53 45 54 20 20 20 20 20 20 3D 20 24 | RESET = $|
00000040: 46 43 45 32 0D 20 20 20 20 20 43 48 43 4B 4F 4D |FCE2. CHCKOM|
00000050: 20 20 20 20 20 3D 20 24 41 45 46 44 0D 20 20 20 | = $AEFD. |
00000060: 20 20 47 45 54 42 59 54 45 20 20 20 20 3D 20 24 | GETBYTE = $|
00000070: 42 37 39 45 0D 20 20 20 20 20 49 52 51 45 4E 44 |B79E. IRQEND|
00000080: 45 20 20 20 20 3D 20 24 45 41 38 31 0D 0D 20 20 |E = $EA81.. |
00000090: 20 20 20 41 55 53 50 55 46 46 20 20 20 20 3D 20 | AUSPUFF = |
000000A0: 24 43 46 30 30 0D 20 20 20 20 20 45 49 4E 50 55 |$CF00. EINPU|
000000B0: 46 46 20 20 20 20 3D 20 24 43 45 30 30 0D 0D 3B |FF = $CE00..;|
000000C0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000000D0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
000000E0: 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 20 20 20 43 54 |-------.. CT|
000000F0: 52 4C 52 45 47 20 20 20 20 3D 20 24 44 45 30 34 |RLREG = $DE04|
00000100: 0D 20 20 20 20 20 4F 55 54 52 45 47 20 20 20 20 |. OUTREG |
00000110: 20 3D 20 24 44 45 30 35 0D 20 20 20 20 20 53 54 | = $DE05. ST|
00000120: 41 54 52 45 47 20 20 20 20 3D 20 24 44 45 30 36 |ATREG = $DE06|
00000130: 0D 20 20 20 20 20 49 4E 52 45 47 20 20 20 20 20 |. INREG |
00000140: 20 3D 20 24 44 45 30 37 0D 0D 0D 20 20 20 20 20 | = $DE07... |
00000150: 2A 20 3D 20 24 43 42 30 30 0D 0D 3B 3D 3D 3D 3D |* = $CB00..;====|
00000160: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D |================|
00000170: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D |================|
00000180: 3D 3D 3D 0D 0D 0D 0D 49 4E 49 54 20 20 20 20 4C |===....INIT L|
00000190: 44 41 20 23 33 20 20 20 20 20 20 20 20 3B 20 4D |DA #3 ; M|
000001A0: 41 53 54 45 52 20 52 45 53 45 54 0D 20 20 20 20 |ASTER RESET. |
000001B0: 20 20 20 20 53 54 41 20 43 54 52 4C 52 45 47 0D | STA CTRLREG.|
000001C0: 0D 20 20 20 20 20 20 20 20 4C 44 41 20 23 25 31 |. LDA #%1|
000001D0: 30 30 31 30 31 31 30 0D 20 20 20 20 20 20 20 20 |0010110. |
000001E0: 53 54 41 20 43 54 52 4C 52 45 47 20 20 3B 54 45 |STA CTRLREG ;TE|
000001F0: 49 4C 45 52 56 45 52 48 2E 31 3A 36 34 0D 20 20 |ILERVERH.1:64. |
00000200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000210: 20 20 20 3B 38 20 C4 41 54 45 4E 42 49 54 0D 20 | ;8 .ATENBIT. |
00000220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000230: 20 20 20 20 3B 31 20 D3 54 4F 50 42 49 54 0D 20 | ;1 .TOPBIT. |
00000240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000250: 20 20 20 20 3B 4B 45 49 4E 45 20 50 41 52 49 54 | ;KEINE PARIT|
00000260: 59 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |Y. |
00000270: 20 20 20 20 20 20 20 3B D3 45 4E 44 45 2D C9 D2 | ;.ENDE-..|
00000280: D1 20 47 45 53 50 45 52 52 54 0D 20 20 20 20 20 |. GESPERRT. |
00000290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000002A0: 3B C5 4D 50 46 41 4E 47 53 2D C9 D2 D1 20 46 52 |;.MPFANGS-... FR|
000002B0: 45 49 0D 0D 0D 20 20 20 20 20 20 20 20 4A 4D 50 |EI... JMP|
000002C0: 20 53 54 41 52 54 0D 0D 0D 56 45 4B 20 20 20 20 | START...VEK |
000002D0: 20 2E 42 59 54 45 20 30 2C 30 0D 45 49 4E 50 54 | .BYTE 0,0.EINPT|
000002E0: 52 31 20 2E 42 59 54 45 20 30 0D 45 49 4E 50 54 |R1 .BYTE 0.EINPT|
000002F0: 52 32 20 2E 42 59 54 45 20 30 0D 41 55 53 50 54 |R2 .BYTE 0.AUSPT|
00000300: 52 31 20 2E 42 59 54 45 20 30 0D 41 55 53 50 54 |R1 .BYTE 0.AUSPT|
00000310: 52 32 20 2E 42 59 54 45 20 30 0D 0D 3B 2D 2D 2D |R2 .BYTE 0..;---|
00000320: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000330: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000340: 2D 2D 2D 2D 0D 0D 20 20 3B 42 41 53 49 43 20 45 |----.. ;BASIC E|
00000350: 49 4E 53 50 52 55 45 4E 47 45 0D 0D 0D 42 59 54 |INSPRUENGE...BYT|
00000360: 45 50 55 54 20 4A 53 52 20 43 48 43 4B 4F 4D 20 |EPUT JSR CHCKOM |
00000370: 20 20 20 3B 5A 55 20 4D 49 44 49 0D 20 20 20 20 | ;ZU MIDI. |
00000380: 20 20 20 20 4A 53 52 20 47 45 54 42 59 54 45 0D | JSR GETBYTE.|
00000390: 20 20 20 20 20 20 20 20 54 58 41 0D 20 20 20 20 | TXA. |
000003A0: 20 20 20 20 4A 4D 50 20 4F 42 42 45 49 4E 0D 0D | JMP OBBEIN..|
000003B0: 3B 2D 2D 2D 2D 2D 2D 0D 0D 42 59 54 45 47 45 54 |;------..BYTEGET|
000003C0: 20 50 48 50 20 20 20 20 20 20 20 20 20 20 20 3B | PHP ;|
000003D0: 56 4F 4E 20 4D 49 44 49 0D 20 20 20 20 20 20 20 |VON MIDI. |
000003E0: 20 53 45 49 0D 20 20 20 20 20 20 20 20 4A 53 52 | SEI. JSR|
000003F0: 20 49 42 42 41 55 53 0D 20 20 20 20 20 20 20 20 | IBBAUS. |
00000400: 50 4C 50 0D 20 20 20 20 20 20 20 20 52 54 53 0D |PLP. RTS.|
00000410: 0D 3B 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D |.;==============|
00000420: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D |================|
00000430: 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 20 20 20 20 20 |=========.. |
00000440: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000450: 20 3B 4D 49 44 49 20 42 59 54 45 20 4F 55 54 0D | ;MIDI BYTE OUT.|
00000460: 42 59 54 45 4F 55 54 20 50 48 41 20 20 20 20 20 |BYTEOUT PHA |
00000470: 20 20 20 20 20 20 3B 20 42 59 54 45 20 52 45 54 | ; BYTE RET|
00000480: 54 45 4E 0D 20 20 20 20 20 20 20 20 4C 44 41 20 |TEN. LDA |
00000490: 53 54 41 54 52 45 47 0D 20 20 20 20 20 20 20 20 |STATREG. |
000004A0: 41 4E 44 20 23 32 0D 20 20 20 20 20 20 20 20 42 |AND #2. B|
000004B0: 45 51 20 42 59 54 45 4F 55 54 2B 31 0D 20 20 20 |EQ BYTEOUT+1. |
000004C0: 20 20 20 20 20 50 4C 41 0D 20 20 20 20 20 20 20 | PLA. |
000004D0: 20 53 54 41 20 4F 55 54 52 45 47 0D 20 20 20 20 | STA OUTREG. |
000004E0: 20 20 20 20 52 54 53 0D 0D 3B 2D 2D 2D 2D 2D 2D | RTS..;------|
000004F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000500: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000510: 2D 0D 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 |-.. |
00000520: 20 20 20 20 20 20 20 20 3B 4D 49 44 49 20 42 59 | ;MIDI BY|
00000530: 54 45 20 49 4E 0D 49 42 42 45 49 4E 20 20 4C 44 |TE IN.IBBEIN LD|
00000540: 41 20 53 54 41 54 52 45 47 0D 20 20 20 20 20 20 |A STATREG. |
00000550: 20 20 4C 53 52 20 41 0D 20 20 20 20 20 20 20 20 | LSR A. |
00000560: 42 43 43 20 4B 45 49 4E 53 44 41 0D 20 20 20 20 |BCC KEINSDA. |
00000570: 20 20 20 20 4C 44 41 20 49 4E 52 45 47 0D 20 20 | LDA INREG. |
00000580: 20 20 20 20 20 20 53 45 49 0D 20 20 20 20 20 20 | SEI. |
00000590: 20 20 4C 44 59 20 45 49 4E 50 54 52 32 0D 20 20 | LDY EINPTR2. |
000005A0: 20 20 20 20 20 20 53 54 41 20 45 49 4E 50 55 46 | STA EINPUF|
000005B0: 46 2C 59 0D 20 20 20 20 20 20 20 20 49 4E 59 0D |F,Y. INY.|
000005C0: 20 20 20 20 20 20 20 20 53 54 59 20 45 49 4E 50 | STY EINP|
000005D0: 54 52 32 0D 4B 45 49 4E 53 44 41 20 52 54 53 0D |TR2.KEINSDA RTS.|
000005E0: 0D 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |.;--------------|
000005F0: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000600: 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 0D 20 20 20 20 |---------... |
00000610: 20 20 20 20 3B 42 59 54 45 20 41 55 53 20 45 49 | ;BYTE AUS EI|
00000620: 4E 50 55 46 46 20 49 4E 20 41 4B 4B 55 20 48 4F |NPUFF IN AKKU HO|
00000630: 4C 45 4E 0D 0D 49 42 42 41 55 53 20 20 50 48 50 |LEN..IBBAUS PHP|
00000640: 0D 20 20 20 20 20 20 20 20 53 45 49 0D 20 20 20 |. SEI. |
00000650: 20 20 20 20 20 4C 44 59 20 45 49 4E 50 54 52 31 | LDY EINPTR1|
00000660: 0D 20 20 20 20 20 20 20 20 43 50 59 20 45 49 4E |. CPY EIN|
00000670: 50 54 52 32 0D 20 20 20 20 20 20 20 20 42 4E 45 |PTR2. BNE|
00000680: 20 4F 4B 0D 20 20 20 20 20 20 20 20 4C 44 59 20 | OK. LDY |
00000690: 23 31 0D 20 20 20 20 20 20 20 20 4A 4D 50 20 4E |#1. JMP N|
000006A0: 49 58 44 41 0D 4F 4B 20 20 20 20 20 20 4C 44 41 |IXDA.OK LDA|
000006B0: 20 45 49 4E 50 55 46 46 2C 59 0D 20 20 20 20 20 | EINPUFF,Y. |
000006C0: 20 20 20 49 4E 59 0D 20 20 20 20 20 20 20 20 53 | INY. S|
000006D0: 54 59 20 45 49 4E 50 54 52 31 0D 20 20 20 20 20 |TY EINPTR1. |
000006E0: 20 20 20 4C 44 59 20 23 30 0D 4E 49 58 44 41 20 | LDY #0.NIXDA |
000006F0: 20 20 50 4C 50 0D 20 20 20 20 20 20 20 20 52 54 | PLP. RT|
00000700: 53 0D 0D 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |S..;------------|
00000710: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000720: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 0D 20 20 |-----------... |
00000730: 20 20 20 20 20 3B 42 59 54 45 20 41 55 53 20 41 | ;BYTE AUS A|
00000740: 4B 4B 55 20 49 4E 20 41 55 53 50 55 46 46 20 53 |KKU IN AUSPUFF S|
00000750: 54 45 43 4B 45 4E 0D 0D 0D 4F 42 42 45 49 4E 20 |TECKEN...OBBEIN |
00000760: 20 50 48 50 0D 20 20 20 20 20 20 20 20 53 45 49 | PHP. SEI|
00000770: 0D 20 20 20 20 20 20 20 20 4C 44 59 20 41 55 53 |. LDY AUS|
00000780: 50 54 52 32 0D 20 20 20 20 20 20 20 20 53 54 41 |PTR2. STA|
00000790: 20 41 55 53 50 55 46 46 2C 59 0D 20 20 20 20 20 | AUSPUFF,Y. |
000007A0: 20 20 20 49 4E 59 0D 20 20 20 20 20 20 20 20 53 | INY. S|
000007B0: 54 59 20 41 55 53 50 54 52 32 0D 20 20 20 20 20 |TY AUSPTR2. |
000007C0: 20 20 20 4A 53 52 20 47 47 46 41 55 53 20 20 20 | JSR GGFAUS |
000007D0: 3B 20 D6 45 52 53 55 43 48 45 4E 2C 0D 20 20 20 |; .ERSUCHEN,. |
000007E0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
000007F0: 20 20 20 20 55 4E 4D 49 54 54 45 4C 42 41 52 0D | UNMITTELBAR.|
00000800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000810: 20 20 20 20 20 20 20 41 55 53 5A 55 47 45 42 45 | AUSZUGEBE|
00000820: 4E 0D 20 20 20 20 20 20 20 20 50 4C 50 0D 20 20 |N. PLP. |
00000830: 20 20 20 20 20 20 52 54 53 0D 3B 2D 2D 2D 2D 2D | RTS.;-----|
00000840: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000850: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000860: 2D 2D 0D 0D 20 20 20 20 20 20 20 3B 42 59 54 45 |--.. ;BYTE|
00000870: 20 41 55 53 20 41 55 53 50 55 46 46 20 55 45 42 | AUS AUSPUFF UEB|
00000880: 45 52 54 52 41 47 45 4E 0D 0D 4F 42 42 41 55 53 |ERTRAGEN..OBBAUS|
00000890: 20 20 50 48 50 0D 20 20 20 20 20 20 20 20 53 45 | PHP. SE|
000008A0: 49 0D 20 20 20 20 20 20 20 20 4C 44 59 20 41 55 |I. LDY AU|
000008B0: 53 50 54 52 31 0D 20 20 20 20 20 20 20 20 4C 44 |SPTR1. LD|
000008C0: 41 20 41 55 53 50 55 46 46 2C 59 0D 20 20 20 20 |A AUSPUFF,Y. |
000008D0: 20 20 20 20 49 4E 59 0D 20 20 20 20 20 20 20 20 | INY. |
000008E0: 53 54 59 20 41 55 53 50 54 52 31 0D 20 20 20 20 |STY AUSPTR1. |
000008F0: 20 20 20 20 4A 53 52 20 42 59 54 45 4F 55 54 0D | JSR BYTEOUT.|
00000900: 20 20 20 20 20 20 20 20 50 4C 50 0D 20 20 20 20 | PLP. |
00000910: 20 20 20 20 52 54 53 0D 0D 3B 2D 2D 2D 2D 2D 2D | RTS..;------|
00000920: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000930: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000940: 2D 0D 20 20 20 20 20 20 20 20 3B D3 45 4E 44 45 |-. ;.ENDE|
00000950: 52 45 47 49 53 54 45 52 20 46 52 45 49 20 3F 20 |REGISTER FREI ? |
00000960: C4 41 4E 4E 0D 20 20 20 20 20 20 20 20 3B 50 52 |.ANN. ;PR|
00000970: 55 45 46 45 4E 20 4F 42 20 C2 59 54 45 20 49 4D |UEFEN OB .YTE IM|
00000980: 20 C1 55 53 47 41 42 45 2D 0D 20 20 20 20 20 20 | .USGABE-. |
00000990: 20 20 3B 50 55 46 46 45 52 2C 20 47 47 46 2E 20 | ;PUFFER, GGF. |
000009A0: 41 55 53 47 45 42 45 4E 0D 0D 47 47 46 41 55 53 |AUSGEBEN..GGFAUS|
000009B0: 20 20 50 48 50 0D 20 20 20 20 20 20 20 20 53 45 | PHP. SE|
000009C0: 49 0D 20 20 20 20 20 20 20 20 4C 44 41 20 53 54 |I. LDA ST|
000009D0: 41 54 52 45 47 0D 20 20 20 20 20 20 20 20 41 4E |ATREG. AN|
000009E0: 44 20 23 32 0D 20 20 20 20 20 20 20 20 42 45 51 |D #2. BEQ|
000009F0: 20 41 55 53 47 41 4E 47 0D 20 20 20 20 20 20 20 | AUSGANG. |
00000A00: 20 4C 44 41 20 41 55 53 50 54 52 31 0D 20 20 20 | LDA AUSPTR1. |
00000A10: 20 20 20 20 20 43 4D 50 20 41 55 53 50 54 52 32 | CMP AUSPTR2|
00000A20: 0D 20 20 20 20 20 20 20 20 42 45 51 20 41 55 53 |. BEQ AUS|
00000A30: 47 41 4E 47 0D 20 20 20 20 20 20 20 20 4A 53 52 |GANG. JSR|
00000A40: 20 4F 42 42 41 55 53 0D 41 55 53 47 41 4E 47 20 | OBBAUS.AUSGANG |
00000A50: 50 4C 50 0D 20 20 20 20 20 20 20 20 52 54 53 0D |PLP. RTS.|
00000A60: 0D 0D 0D 0D 3B 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |....;-----------|
00000A70: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D |----------------|
00000A80: 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0D 0D 20 20 |------------.. |
00000A90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00000AA0: 20 20 20 3B 20 53 54 52 49 4E 47 20 4F 55 54 0D | ; STRING OUT.|
00000AB0: 53 54 52 4F 55 54 20 20 50 4C 41 0D 20 20 20 20 |STROUT PLA. |
00000AC0: 20 20 20 20 53 54 41 20 24 46 37 0D 20 20 20 20 | STA $F7. |
00000AD0: 20 20 20 20 50 4C 41 0D 20 20 20 20 20 20 20 20 | PLA. |
00000AE0: 53 54 41 20 24 46 38 0D 48 4F 43 48 20 20 20 20 |STA $F8.HOCH |
00000AF0: 4C 44 59 20 23 24 30 30 0D 20 20 20 20 20 20 20 |LDY #$00. |
00000B00: 20 49 4E 43 20 24 46 37 0D 20 20 20 20 20 20 20 | INC $F7. |
00000B10: 20 42 4E 45 20 4E 4F 43 41 52 52 59 0D 20 20 20 | BNE NOCARRY. |
00000B20: 20 20 20 20 20 49 4E 43 20 24 46 38 0D 4E 4F 43 | INC $F8.NOC|
00000B30: 41 52 52 59 20 4C 44 41 20 28 24 46 37 29 2C 59 |ARRY LDA ($F7),Y|
00000B40: 0D 20 20 20 20 20 20 20 20 42 45 51 20 45 58 49 |. BEQ EXI|
00000B50: 54 0D 20 20 20 20 20 20 20 20 4A 53 52 20 43 48 |T. JSR CH|
00000B60: 52 4F 55 54 0D 20 20 20 20 20 20 20 20 4A 4D 50 |ROUT. JMP|
00000B70: 20 48 4F 43 48 0D 45 58 49 54 20 20 20 20 4C 44 | HOCH.EXIT LD|
00000B80: 41 20 24 46 38 0D 20 20 20 20 20 20 20 20 50 48 |A $F8. PH|
00000B90: 41 0D 20 20 20 20 20 20 20 20 4C 44 41 20 24 46 |A. LDA $F|
00000BA0: 37 0D 20 20 20 20 20 20 20 20 50 48 41 0D 20 20 |7. PHA. |
00000BB0: 20 20 20 20 20 20 52 54 53 0D 0D 0D 0D 0D 3B 3D | RTS.....;=|
00000BC0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D |================|
00000BD0: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D |================|
00000BE0: 3D 3D 3D 3D 3D 3D 0D 0D 49 52 51 20 20 20 20 20 |======..IRQ |
00000BF0: 4C 44 41 20 53 54 41 54 52 45 47 20 20 20 20 20 |LDA STATREG |
00000C00: 20 3B 4D 49 44 49 20 49 52 51 3F 0D 20 20 20 20 | ;MIDI IRQ?. |
00000C10: 20 20 20 20 42 4D 49 20 4D 49 44 49 52 51 20 20 | BMI MIDIRQ |
00000C20: 20 20 20 20 20 3B 4A 41 20 3D 3E 0D 20 20 20 20 | ;JA =>. |
00000C30: 20 20 20 20 4A 4D 50 20 28 56 45 4B 29 20 20 20 | JMP (VEK) |
00000C40: 20 20 20 20 20 3B 41 4C 54 45 20 49 52 51 0D 4D | ;ALTE IRQ.M|
00000C50: 49 44 49 52 51 20 20 4A 53 52 20 49 42 42 45 49 |IDIRQ JSR IBBEI|
00000C60: 4E 20 20 20 20 20 20 20 3B 42 59 54 45 20 56 4F |N ;BYTE VO|
00000C70: 4E 20 4D 49 44 49 0D 20 20 20 20 20 20 20 20 4A |N MIDI. J|
00000C80: 53 52 20 47 47 46 41 55 53 20 20 20 20 20 20 20 |SR GGFAUS |
00000C90: 3B 42 59 54 45 20 5A 55 20 4D 49 44 49 0D 20 20 |;BYTE ZU MIDI. |
00000CA0: 20 20 20 20 20 20 4A 4D 50 20 49 52 51 45 4E 44 | JMP IRQEND|
00000CB0: 45 20 20 20 20 20 20 3B D2 CF CD 2D D2 4F 55 54 |E ;...-.OUT|
00000CC0: 49 4E 45 0D 0D 48 46 4C 41 47 20 20 20 2E 42 59 |INE..HFLAG .BY|
00000CD0: 54 45 20 30 0D 0D 53 54 41 52 54 20 20 20 53 45 |TE 0..START SE|
00000CE0: 49 0D 20 20 20 20 20 20 20 20 4C 44 58 20 48 46 |I. LDX HF|
00000CF0: 4C 41 47 0D 20 20 20 20 20 20 20 20 42 4E 45 20 |LAG. BNE |
00000D00: 49 4E 49 54 52 45 54 0D 20 20 20 20 20 20 20 20 |INITRET. |
00000D10: 49 4E 58 0D 20 20 20 20 20 20 20 20 53 54 58 20 |INX. STX |
00000D20: 48 46 4C 41 47 0D 20 20 20 20 20 20 20 20 4C 44 |HFLAG. LD|
00000D30: 41 20 24 33 31 34 0D 20 20 20 20 20 20 20 20 53 |A $314. S|
00000D40: 54 41 20 56 45 4B 0D 20 20 20 20 20 20 20 20 4C |TA VEK. L|
00000D50: 44 41 20 24 33 31 35 0D 20 20 20 20 20 20 20 20 |DA $315. |
00000D60: 53 54 41 20 56 45 4B 2B 31 0D 20 20 20 20 20 20 |STA VEK+1. |
00000D70: 20 20 4C 44 41 20 23 3C 49 52 51 0D 20 20 20 20 | LDA #<IRQ. |
00000D80: 20 20 20 20 53 54 41 20 24 33 31 34 0D 20 20 20 | STA $314. |
00000D90: 20 20 20 20 20 4C 44 41 20 23 3E 49 52 51 0D 20 | LDA #>IRQ. |
00000DA0: 20 20 20 20 20 20 20 53 54 41 20 24 33 31 35 0D | STA $315.|
00000DB0: 49 4E 49 54 52 45 54 20 4C 44 41 20 41 55 53 50 |INITRET LDA AUSP|
00000DC0: 54 52 31 0D 20 20 20 20 20 20 20 20 53 54 41 20 |TR1. STA |
00000DD0: 41 55 53 50 54 52 32 0D 20 20 20 20 20 20 20 20 |AUSPTR2. |
00000DE0: 4C 44 41 20 45 49 4E 50 54 52 31 0D 20 20 20 20 |LDA EINPTR1. |
00000DF0: 20 20 20 20 53 54 41 20 45 49 4E 50 54 52 32 0D | STA EINPTR2.|
00000E00: 20 20 20 20 20 20 20 20 43 4C 49 0D 20 20 20 20 | CLI. |
00000E10: 20 20 20 20 52 54 53 0D 0D 3B 3D 3D 3D 3D 3D 3D | RTS..;======|
00000E20: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D |================|
00000E30: 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 0D 0D 0D |=============...|
00000E40: 20 20 20 20 2E 45 4E 44 0D 0D 0D 0D 0D 0D 0D 0D | .END........|
00000E50: 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D |................|
. ;LABELTABELLE.. CHROUT = $
FFD2. RESET = $FCE2. CHCKOM
= $AEFD. GETBYTE = $B79E.
IRQENDE = $EA81.. AUSPUFF =
$CF00. EINPUFF = $CE00..;--------
-------------------------------.. CT
RLREG = $DE04. OUTREG = $DE05
. STATREG = $DE06. INREG
= $DE07... * = $CB00..;============
===========================....INIT L
DA #3 ; MASTER RESET. STA
CTRLREG.. LDA #%10010110.
STA CTRLREG ;TEILERVERH.1:64.
;8 DATENBIT.
;1 STOPBIT. ;KEI
NE PARITY. ;SENDE-IR
Q GESPERRT. ;EMPFANG
S-IRQ FREI... JMP START...VEK
.BYTE 0,0.EINPTR1 .BYTE 0.EINPTR2 .BYTE
0.AUSPTR1 .BYTE 0.AUSPTR2 .BYTE 0..;---
------------------------------------..
;BASIC EINSPRUENGE...BYTEPUT JSR CHCKOM
;ZU MIDI. JSR GETBYTE.
TXA. JMP OBBEIN..;------..BYTEGET
PHP ;VON MIDI. SEI.
JSR IBBAUS. PLP. RTS.
.;======================================
=.. ;MIDI BYTE OUT.
BYTEOUT PHA ; BYTE RETTEN.
LDA STATREG. AND #2. B
EQ BYTEOUT+1. PLA. STA OUT
REG. RTS..;----------------------
-----------------..
;MIDI BYTE IN.IBBEIN LDA STATREG.
LSR A. BCC KEINSDA. LDA
INREG. SEI. LDY EINPTR2.
STA EINPUFF,Y. INY.
STY EINPTR2.KEINSDA RTS..;--------------
-------------------------... ;BYT
E AUS EINPUFF IN AKKU HOLEN..IBBAUS PHP
. SEI. LDY EINPTR1.
CPY EINPTR2. BNE OK. LDY
#1. JMP NIXDA.OK LDA EINPUFF
,Y. INY. STY EINPTR1.
LDY #0.NIXDA PLP. RTS..;----
-----------------------------------...
;BYTE AUS AKKU IN AUSPUFF STECKEN..
.OBBEIN PHP. SEI. LDY AUS
PTR2. STA AUSPUFF,Y. INY.
STY AUSPTR2. JSR GGFAUS
; VERSUCHEN,. UNMI
TTELBAR. AUSZUGEBE
N. PLP. RTS.;-------------
--------------------------.. ;BYTE
AUS AUSPUFF UEBERTRAGEN..OBBAUS PHP.
SEI. LDY AUSPTR1. LD
A AUSPUFF,Y. INY. STY AUSP
TR1. JSR BYTEOUT. PLP.
RTS..;------------------------------
---------. ;SENDEREGISTER FREI ?
DANN. ;PRUEFEN OB BYTE IM AUSGABE
-. ;PUFFER, GGF. AUSGEBEN..GGFAUS
PHP. SEI. LDA STATREG.
AND #2. BEQ AUSGANG.
LDA AUSPTR1. CMP AUSPTR2.
BEQ AUSGANG. JSR OBBAUS.AUSGANG
PLP. RTS.....;-------------------
--------------------..
; STRING OUT.STROUT PLA. STA
$F7. PLA. STA $F8.HOCH
LDY #$00. INC $F7. BNE NOC
ARRY. INC $F8.NOCARRY LDA ($F7),Y
. BEQ EXIT. JSR CHROUT.
JMP HOCH.EXIT LDA $F8. PH
A. LDA $F7. PHA. RT
S.....;=================================
======..IRQ LDA STATREG ;MIDI I
RQ?. BMI MIDIRQ ;JA =>.
JMP (VEK) ;ALTE IRQ.MIDIRQ J
SR IBBEIN ;BYTE VON MIDI. J
SR GGFAUS ;BYTE ZU MIDI. JM
P IRQENDE ;ROM-ROUTINE..HFLAG .BY
TE 0..START SEI. LDX HFLAG.
BNE INITRET. INX. STX
HFLAG. LDA $314. STA VEK.
LDA $315. STA VEK+1.
LDA #<IRQ. STA $314. LDA
#>IRQ. STA $315.INITRET LDA AUSP
TR1. STA AUSPTR2. LDA EINP
TR1. STA EINPTR2. CLI.
RTS..;==============================
=====... .END........................
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL