          OPT       A+,O+
          INCDIR    :Talen/Devpac/include/
          include   libraries/arpbase.i
          include   exec/exec_lib.i
          include   exec/memory.i
          include   graphics/graphics_lib.i
          include   intuition/intuition.i
          include   intuition/intuition_lib.i
          cmp.b     #$0a,(a0)           geen filenaam ingevuld ?
          seq       error               vlag zetten
          beq.s     begin
          cmp.b     #'?',(a0)           ? ingevuld ?
          seq       error               vlag zetten
begin     move.l    a0,a2               beginadres van de filenaam
          clr.b     -1(a0,d0)           nulstring van maken
          cmp.b     #34,(a2)            staat de naam tussen ""
          bne.s     openlib
          addq.l    #1,a2               sla het eerste " over
          clr.b     -2(a0,d0)           verwijder de laatste "
openlib   move.l    #ARPname,a1
          CALLEXEC  OldOpenLibrary      ARP.library openen
          beq       geenlib
          move.l    d0,_ARPBase
          tst.b     error               is de vlag gezet ?
          bne       geennaam            laat het gebruik zien
          move.l    a2,d1
          move.l    #MODE_OLDFILE,d2
          CALLARP   Open                file openen
          beq       geenfile
          move.l    d0,filehandle
          moveq.b   #12,d3              12 bytes lezen
header    bsr       readx
          bmi       leesfout
          move.l    buffer,d5
          cmp.l     #'FORM',d5          Is het een IFF file ?
          bne       geeniff
          move.l    buffer+8,d5
          cmp.l     #'SMUS',d5          Is het een SMUS file ?
          beq.s     smus
          cmp.l     #'DMCS',d5          Is het een DMCS file ?
          bne       geensmus
          bsr       linefeed
          lea       textdmcs,a1
          jsr       _LVOPuts(a6)
          bra.s     lezen
smus      bsr       linefeed
          lea       tsmus,a1
          jsr       _LVOPuts(a6)
lezen     moveq.b   #8,d3               Chunks lezen
          bsr       readx
          bmi       leesfout            leesfout
          beq       wachten             end of file
          move.l    buffer,d5
          cmp.l     #'NAME',d5          Naam van het muziekstuk
          beq.s     naam
          cmp.l     #'(c) ',d5          Copyright boodschap
          beq.s     copy
          cmp.l     #'AUTH',d5          Auteur van het muziekstuk
          beq.s     auth
          cmp.l     #'ANNO',d5          Opmerkingen
          beq.s     anno
          cmp.l     #'INS1',d5          Instrument
          beq       gegevens
          cmp.l     #'USC1',d5          Naam van het muziekstuk
          beq.s     usc1
          cmp.l     #'UIID',d5          Instrument
          beq       uiid
          move.l    buffer+4,d2         Onbelangrijke chunk, overslaan.
          addq.l    #1,d2
          bclr      #0,d2
          clr.l     d3
          move.l    filehandle,d1
          CALLARP   Seek                Op zoek naar de volgende.
          bra.s     lezen
naam      lea       tnaam,a1
          jsr       _LVOPuts(a6)
          bsr.s     leesinfo
          bsr       linefeed
          bra.s     lezen
copy      lea       tcopy,a1
          jsr       _LVOPuts(a6)
          bsr.s     leesinfo
          bsr       linefeed
          bra       lezen
auth      lea       tauth,a1
          jsr       _LVOPuts(a6)
          bsr.s     leesinfo
          bsr       linefeed
          bra       lezen
anno      lea       tanno,a1
          jsr       _LVOPuts(a6)
          bsr.s     leesinfo
          bsr       linefeed
          bra       lezen
usc1      lea       tnaam,a1
          jsr       _LVOPuts(a6)
          move.l    buffer+4,d3
          addq.l    #1,d3
          bclr      #0,d3
          bsr.s     readx
          bmi       leesfout
          move.l    #buffer+149,a1
          jsr       _LVOPuts(a6)
          bsr       linefeed
          bsr       linefeed
          bra       lezen
uiid      lea       tinstr,a1
          jsr       _LVOPuts(a6)
          bsr.s     leesinfo
          bra       lezen
leesinfo  move.l    buffer+4,d3
          addq.l    #1,d3
          bclr      #0,d3
          bsr.s     readx               Lees de gegevens
          bmi       leesfout
          move.l    #buffer,a1
          clr.b     (a1,d3)
          jsr       _LVOPuts(a6)
          bsr       linefeed
          rts
gegevens  lea       tinstr,a1
          jsr       _LVOPuts(a6)
          move.l    buffer+4,d3
          addq.l    #1,d3
          bclr      #0,d3
          bsr.s     readx               Lees de gegevens v/h instrument
          bmi.s     leesfout
          move.l    #buffer+4,a1
          clr.b     -4(a1,d3)
          jsr       _LVOPuts(a6)
          bsr       linefeed
          bra       lezen
readx     move.l    filehandle,d1
          move.l    #buffer,d2
          CALLARP   Read
          rts
geennaam  bsr.s     linefeed
          lea       textnaam,a1
          jsr       _LVOPuts(a6)
          bra.s     wachten
geenlib   bsr.s     linefeed
          lea       textlib,a1
          jsr       _LVOPuts(a6)
          bra.s     wachten
geenfile  bsr.s     linefeed
          lea       textfile,a1
          jsr       _LVOPuts(a6)
          bra.s     wachten
geeniff   bsr.s     linefeed
          lea       textiff,a1
          jsr       _LVOPuts(a6)
          bra.s     wachten
geensmus  bsr.s     linefeed
          lea       textsmus,a1
          jsr       _LVOPuts(a6)
          bra.s     wachten
leesfout  bsr.s     linefeed
          lea       textfout,a1
          jsr       _LVOPuts(a6)
wachten   bsr.s     linefeed
          tst.b     error
          bne.s     wegARP              was er een filenaam ?
          move.l    filehandle,d1
          CALLARP   Close               file sluiten
wegARP    move.l    _ARPBase,a1
          cmp.l     #0,a1               is de ARP.library geopend ?
          beq.s     einde
          CALLEXEC  CloseLibrary        library sluiten
einde     rts                           einde
linefeed  lea       return,a1
          jsr       _LVOPuts(a6)
          rts
filehandle dc.l     0
error     dc.b      0
          even
buffer    dcb.b     180,0
ARPname   ArpName
_ARPBase  dc.l      1
textfile  dc.b      'Kan file niet openen',10,0
textiff   dc.b      'Dit is geen IFF-file',10,0
textsmus  dc.b      'Dit is geen muziek-file',10,0
textfout  dc.b      'Er is een leesfout',10,0
textlib   dc.b      'Kan library niet openen',10,0
textnaam  dc.b      'Gebruik: SMUS [IFF-muziekfile]',10,0
tsmus     dc.b      'Dit is een SMUS-file',10,10,0
textdmcs  dc.b      'Dit is een DMCS-file',10,10,0
tnaam     dc.b      'Filenaam  : ',0
tcopy     dc.b      'Copyright : ',0
tauth     dc.b      'Auteur    : ',0
tanno     dc.b      'Opmerking : ',0    
tinstr    dc.b      'Instrument: ',0
return    dc.b      10,0
          even

