;
;		Allgemeine Variablen
font = 0
; 
;		Offsets Graphics
;
InitBitMap      = -30 -360
InitRastPort    = -30 -168
;
;		Offsets Exec
;
OldOpenLibrary  = -30 -378
CloseLibrary    = -30 -384
;
;		Offsets Intuition
;
OpenScreen      = -30 -168
CloseScreen     = -30 -36
;
;		Einzige absolute Adr.
ExecBase = 4
;
even
;
start:
 jsr initlibrarys
 jsr setnewscreen
 jsr setbitmap
 jsr waitmouse
 jsr restorescreen
 jsr restorelibrarys
 illegal
; 
setbitmap:
 lea.l bitmap,a0
 moveq #5,d0
 move.l #320,d1
 move.l #200,d2
 jsr initbitmap(a6)
 lea.l rastport,a1
 jsr initrastport(a6)
 move.l #bitmap,r_bitmap
 rts
;
waitmouse:
 andi.b #64,$bfe001             ; Bit 7 linke Mousetaste
 bne waitmouse
 rts
;
restorescreen:
 move.l intuitionbase,a6
 move.l screen,a0
 jsr closescreen(a6)
 rts
;
setnewscreen:
 move.l intuitionbase,a6
 lea.l newscreen,a0
 jsr openscreen(a6)
 move.l d0,screen
 rts
;
initlibrarys:
 clr.l d0
 move.l execbase,a6
 lea.l gfxname,a1		; Graphics - Library
 jsr oldopenlibrary(a6) 
 move.l d0,gfxbase

 move.l execbase,a6
 lea.l intname,a1               ; Intuition - Library
 jsr oldopenlibrary(a6)
 move.l d0,a6
 move.l d0,intuitionbase
 rts
;
restorelibrarys:
 move.l execbase,a6

 move.l gfxbase,a1              ; Graphic Library 
 jsr closelibrary               ; schließen

 move.l intuitionbase,a1        ; Intuition Library
 jsr closelibrary               ; scließen
rts
;		Library - Names & Adr.
;
gfxname: dc.b "graphics.library",0
align 4
intname: dc.b "intuition.library",0
align 4
gfxbase: dc.l 1,0
intuitionbase: dc.l 1,0
;
;		Screen - Daten
;
Newscreen:
 dc.w 0,0               ; x & y position
 dc.w 320               ; Breite
 dc.w 200               ; Höhe
 dc.w 5                 ; anzahl der Bitplanes
 dc.b 0,1               ; Detail Pen, Block Pen
 dc.w 0,15              ; View Modes, Screen Type
 dc.l font              ; Adr des Zeichensatzes
 dc.l title             ; Adr des Screentitles
 dc.l 0,0               ; Adr Gag., Bitmap
;
;		Allgemaeine Daten
;
title: dc.b "The C.C.G. in 1987",0
align 4
;
screen: dc.l 0          ; Adresse Der Screen-Datenliste
;
bitmap:
bytesperrow:blk.w 1,0
bytes:  blk.w 1,0
flags:  blk.b 1,0
depth:  blk.b 1,0
pad:    blk.w 1,0
plane1: blk.l 1,0
plane2: blk.l 1,0
plane3: blk.l 1,0
plane4: blk.l 1,0
plane5: blk.l 1,0
planes: blk.l 1,0
;
rastport:
          blk.l 1,0
r_bitmap: blk.l 1,0
          blk.b 22,0
          blk.b 4,0
cp_x:     blk.w 1,0
cp_y:     blk.w 1,0
          blk.b 60,0
          blk.w 6,0
          even
;
