execbase = 4
openlibrary = -552
closelibrary = -414
windowtoback = -306
screentoback = -246
windowtofront = -312

;--- Intuition.library öffnen ---
 move.l execbase,a6
 move.l #intname,a1
 clr.l d0
 jsr openlibrary(a6)
 move.l d0,intbase

;---- Actives Fenster nach vorne ----
 move.l intbase,a6
 move.l $34(a6),a0               ; Zeiger auf aktuelles Fenster in a0
 cmp.l #0,a0                     ; Wenn kein Fenster
 beq ende                        ; dann Ende
 move.l a0,active_window         ; Fensteradresse speichern
 jsr windowtofront(a6)           ; Fenster nach vorne


;---- F-Tasten Abfrage ---
main:
 cmp.b #$5f,$bfec01      ; wurde F1 gedrückt?
 bne esc                 ; wenn nicht, dann ESC-abfragen
wait1:                   ; sonst warten
 cmp.b #$5e,$bfec01      ; bis Taste
 bne wait1               ; losgelassen wird
 jsr window              ; nächstes Fenster nach hinten
 jmp main                ; F-Tasten wieder abfragen
esc:
 cmp.b #$75,$bfec01      ; wurde ESC-Taste gedrückt?
 bne main                ; wenn nicht, dann F-Tasten abfragen
 jmp ende                ; sonst Programm beenden

;---- Window nach hinten ----
window:
 move.l intbase,a6
 move.l active_window,a0
 jsr windowtoback(a6)         ; actives Window nach hinten
 move.l active_window,a0
 cmp.l #0,(a0)                ; Zeiger auf nächstes Window vorhanden?
 bne window1                  ; wenn ja, dann speichern
 move.l intbase,a6            ; sonst Zeiger auf erstes Window
 move.l $38(a6),a1            ; holen
 move.l 4(a1),active_window   ; und speichern
 rts
window1:
 move.l (a0),active_window    ; Zeiger auf nächstes Window speichern
 rts

;----- Programmende ----
ende:
 move.l intbase,a1
 move.l execbase,a6
 jsr closelibrary(a6)        ; Intuition.library schliessen
 rts

;--- Parameter ----
intname: dc.b "intuition.library",0
 even
intbase: dc.l 0
active_window: dc.l 0

 END
