;
; VARIABELEN DEFINIEREN
;
ExecBase=     4
OpenLibrary=  -$228
CloseLibrary= -$19E
Open=         -$1E
Close=        -$24
OpenWindow=   -$CC
CloseWindow=  -$48
WaitPort=     -$0180

;
; HET HOOFDPROGRAMMA. HIER ROEPEN WE ALLE ROUTINES AAN.
;
MOVEM.L  D0-D7/A0-A6,-(A7)
JSR      OpenDos
CMP.L    #0,D0
BEQ      Einde
MOVE.L   D0,DosBase
JSR      OpenIntuition
CMP.L    #0,D0
BEQ      CloseDos
MOVE.L   D0,IntuiBase
JSR      OpenWin
CMP.L    #0,D0
BEQ      CloseIntui
MOVE.L   D0,WinHandle
JSR      Wachten
JMP      CloseWin

;
; OPENEN VAN DE DOS.LIBRARY
;
OpenDos:
MOVE.L   ExecBase,A6
MOVE.L   #DosNaam,A1
MOVE.L   #0,D0
JSR      OpenLibrary(A6)
RTS

;
; OPENEN VAN DE INTUITION.LIBRARY
;
OpenIntuition:
MOVE.L   ExecBase,A6
MOVE.L   #IntuiNaam,A1
MOVE.L   #0,D0
JSR      OpenLibrary(A6)
RTS

;
; OPEN VAN HET WINDOW
;
OpenWin:
MOVE.L   IntuiBase,A6
LEA      NewWindow,A0
JSR      OpenWindow(A6)
RTS

;
; SLUITEN VAN HET WINDOW
;
CloseWin:
MOVE.L   IntuiBase,A6
MOVE.L   WinHandle,A0
JSR      CloseWindow(A6)

;
; SLUITEN VAN DE INTUITION.LIBRARY
;
CloseIntui:
MOVE.L   ExecBase,A6
MOVE.L   #IntuiBase,A1
JSR      CloseLibrary(A6)

;
; SLUITEN VAN DE DOS.LIBRARY
;
CloseDos:
MOVE.L   ExecBase,A6
MOVE.L   #DosBase,A1
JSR      CloseLibrary(A6)

;
; HET EINDE VAN HET PROGRAMMA
;
Einde:
MOVEM.L  (SP)+,D0-D7/A0-A6
RTS

;
; DE WACHTLUS
;
Wachten:
MOVE.L   WinHandle,A0     ; Adres van de window-tabel.
MOVE.L   86(A0),A0        ; De plaats van de berichten-poort.
MOVE.L   ExecBase,A6      ; Adres van de Exec.library.
JSR      WaitPort(A6)     ; Wacht op een bericht uit de poort.
MOVE.L   D0,A1            ; Antwoord van D0 naar A1 verplaatsen.
MOVE.L   20(A1),D1        ; Soort gebeurtenis in D1 zetten.
RTS

;
; GEHEUGENRESERVERING VOOR DE WINDOW-STRUKTUUR
;
EVEN
NewWindow:
DC.W     10               ; X
DC.W     10               ; Y
DC.W     100              ; Breedte
DC.W     100              ; Hoogte
DC.B     1                ; Letterkleur 1
DC.B     3                ; Achtergrondkleur 3
DC.L     $10200           ; CLOSEWINDOW + DISKREMOVED
DC.L     $1000!1!2!4!8    ; Window-mogelijkheden
DC.L     0                ; Gadgets
DC.L     0                ; Grafisch
DC.L     WindowTitel      ; Adres van de titel van het window
DC.L     0                ; Adres van het screen (0=WorkBench)
DC.L     0                ; Adres van de bitmap (geen)
DC.W     20               ; Breedte minimaal
DC.W     20               ; Hoogte minimaal
DC.W     629              ; Breedte maximaal
DC.W     246              ; Hoogte maximaal
DC.W     1                ; Scherm-type WorkBench.

;
; VARIABELEN
;
DosBase:
DC.L     0

IntuiBase:
DC.L     0

WinHandle:
DC.L     0

DosNaam:
DC.B     'dos.library',0

IntuiNaam:
DC.B     'intuition.library',0

WindowTitel:
DC.B     'Intuition-Venster',0
