FUNCTION make_c_string(a$)
  LOCAL str%,c%
  IF LEN(a$)
  c% = MALLOC(LEN(a$),&H10000)
  IF c%
    str%=V:a$
  FOR i% = 0 to LEN(a$)
     BYTE{c%+i%}=BYTE{str%+i%}
      NEXT i%
      RETURN c%
   ENDIF
  ENDIF
  RETURN 0
ENDFUNC
PROCEDUR initrct
  REM Initialisierung der Textattribut Structuren
  txtattr%=MALLOC(72,&H10000)
  IF txtattr%
LONG{txtattr%+0}=@make_c_string("topaz.font") ! Adresse des Fontnames
CARD{txtattr%+4}=8 ! ta_YSize
BYTE{txtattr%+6}=0 ! ta_Style
BYTE{txtattr%+7}=65 ! ta_Flags
LONG{txtattr%+8}=@make_c_string("topaz.font") ! Adresse des Fontnames
CARD{txtattr%+12}=8 ! ta_YSize
BYTE{txtattr%+14}=0 ! ta_Style
BYTE{txtattr%+15}=65 ! ta_Flags
LONG{txtattr%+16}=@make_c_string("topaz.font") ! Adresse des Fontnames
CARD{txtattr%+20}=8 ! ta_YSize
BYTE{txtattr%+22}=0 ! ta_Style
BYTE{txtattr%+23}=65 ! ta_Flags
LONG{txtattr%+24}=@make_c_string("topaz.font") ! Adresse des Fontnames
CARD{txtattr%+28}=8 ! ta_YSize
BYTE{txtattr%+30}=0 ! ta_Style
BYTE{txtattr%+31}=65 ! ta_Flags
LONG{txtattr%+32}=@make_c_string("topaz.font") ! Adresse des Fontnames
CARD{txtattr%+36}=8 ! ta_YSize
BYTE{txtattr%+38}=0 ! ta_Style
BYTE{txtattr%+39}=65 ! ta_Flags
LONG{txtattr%+40}=@make_c_string("topaz.font") ! Adresse des Fontnames
CARD{txtattr%+44}=8 ! ta_YSize
BYTE{txtattr%+46}=0 ! ta_Style
BYTE{txtattr%+47}=65 ! ta_Flags
LONG{txtattr%+48}=@make_c_string("topaz.font") ! Adresse des Fontnames
CARD{txtattr%+52}=8 ! ta_YSize
BYTE{txtattr%+54}=0 ! ta_Style
BYTE{txtattr%+55}=65 ! ta_Flags
LONG{txtattr%+56}=@make_c_string("topaz.font") ! Adresse des Fontnames
CARD{txtattr%+60}=8 ! ta_YSize
BYTE{txtattr%+62}=0 ! ta_Style
BYTE{txtattr%+63}=65 ! ta_Flags
LONG{txtattr%+64}=@make_c_string("topaz.font") ! Adresse des Fontnames
CARD{txtattr%+68}=8 ! ta_YSize
BYTE{txtattr%+70}=0 ! ta_Style
BYTE{txtattr%+71}=65 ! ta_Flags
  ENDIF
  REM Initialisierung der IntuiText Structuren
  itxt%=MALLOC(216,&H10000)
  IF itxt%
BYTE{itxt%+0}=1 ! FrontPen
BYTE{itxt%+1}=0 ! BackPen
BYTE{itxt%+2}=2 ! DrawMode
INT{itxt%+4}=19 ! LeftEdge
INT{itxt%+6}=5 ! TopEdge
LONG{itxt%+8}=ADD(txtattr%,0) ! Adresse der TextAttr Structur
LONG{itxt%+12}=@make_c_string("Abbruch") ! *IText
    LONG{itxt%+16}=0 ! NextText
BYTE{itxt%+24}=1 ! FrontPen
BYTE{itxt%+25}=0 ! BackPen
BYTE{itxt%+26}=2 ! DrawMode
INT{itxt%+28}=8 ! LeftEdge
INT{itxt%+30}=3 ! TopEdge
LONG{itxt%+32}=ADD(txtattr%,8) ! Adresse der TextAttr Structur
LONG{itxt%+36}=@make_c_string("B. Gadget") ! *IText
    LONG{itxt%+40}=0 ! NextText
BYTE{itxt%+48}=1 ! FrontPen
BYTE{itxt%+49}=0 ! BackPen
BYTE{itxt%+50}=2 ! DrawMode
INT{itxt%+52}=0 ! LeftEdge
INT{itxt%+54}=-9 ! TopEdge
LONG{itxt%+56}=ADD(txtattr%,16) ! Adresse der TextAttr Structur
LONG{itxt%+60}=@make_c_string("Slider") ! *IText
    LONG{itxt%+64}=0 ! NextText
BYTE{itxt%+72}=0 ! FrontPen
BYTE{itxt%+73}=0 ! BackPen
BYTE{itxt%+74}=0 ! DrawMode
INT{itxt%+76}=-70 ! LeftEdge
INT{itxt%+78}=0 ! TopEdge
LONG{itxt%+80}=ADD(txtattr%,24) ! Adresse der TextAttr Structur
LONG{itxt%+84}=@make_c_string("Eingabe:") ! *IText
    LONG{itxt%+88}=0 ! NextText
BYTE{itxt%+96}=1 ! FrontPen
BYTE{itxt%+97}=0 ! BackPen
BYTE{itxt%+98}=2 ! DrawMode
INT{itxt%+100}=39 ! LeftEdge
INT{itxt%+102}=5 ! TopEdge
LONG{itxt%+104}=ADD(txtattr%,32) ! Adresse der TextAttr Structur
LONG{itxt%+108}=@make_c_string("OK") ! *IText
    LONG{itxt%+112}=0 ! NextText
BYTE{itxt%+120}=1 ! FrontPen
BYTE{itxt%+121}=0 ! BackPen
BYTE{itxt%+122}=2 ! DrawMode
INT{itxt%+124}=8 ! LeftEdge
INT{itxt%+126}=3 ! TopEdge
LONG{itxt%+128}=ADD(txtattr%,40) ! Adresse der TextAttr Structur
LONG{itxt%+132}=@make_c_string("") ! *IText
    LONG{itxt%+136}=0 ! NextText
BYTE{itxt%+144}=1 ! FrontPen
BYTE{itxt%+145}=0 ! BackPen
BYTE{itxt%+146}=2 ! DrawMode
INT{itxt%+148}=8 ! LeftEdge
INT{itxt%+150}=3 ! TopEdge
LONG{itxt%+152}=ADD(txtattr%,48) ! Adresse der TextAttr Structur
LONG{itxt%+156}=@make_c_string("") ! *IText
    LONG{itxt%+160}=0 ! NextText
BYTE{itxt%+168}=1 ! FrontPen
BYTE{itxt%+169}=0 ! BackPen
BYTE{itxt%+170}=2 ! DrawMode
INT{itxt%+172}=8 ! LeftEdge
INT{itxt%+174}=3 ! TopEdge
LONG{itxt%+176}=ADD(txtattr%,56) ! Adresse der TextAttr Structur
LONG{itxt%+180}=@make_c_string("") ! *IText
    LONG{itxt%+184}=0 ! NextText
BYTE{itxt%+192}=1 ! FrontPen
BYTE{itxt%+193}=0 ! BackPen
BYTE{itxt%+194}=2 ! DrawMode
INT{itxt%+196}=8 ! LeftEdge
INT{itxt%+198}=3 ! TopEdge
LONG{itxt%+200}=ADD(txtattr%,64) ! Adresse der TextAttr Structur
LONG{itxt%+204}=@make_c_string("") ! *IText
    LONG{itxt%+208}=0 ! NextText
  ENDIF
  REM Initialisierung der StringInfo Structuren
  strinf%=MALLOC(40,&H10000)
  IF strinf%
  LONG{strinf%+0}=@make_c_string("                                        ")  ! Buffer
  LONG{strinf%+4}=@make_c_string("                                        ")  ! UndoBuffer
  INT{strinf%+8}=0  ! BufferPos
  INT{strinf%+10}=40  !  MaxChars
  INT{strinf%+12}=0  !  DispPos
  ENDIF
  REM Initialisierung der PropInfo Structuren
  propinf%=MALLOC(24,&H10000)
  IF propinf%
  CARD{propinf%+0}=259  ! Flags
  CARD{propinf%+2}=28372  ! HorizPot
  CARD{propinf%+4}=65535  ! VertPot
  CARD{propinf%+6}=30000  ! HorizBody
  CARD{propinf%+8}=0  ! VertBody
  ENDIF
  REM Initialisierung der Image Daten
  bitblk%=MALLOC(3808,&H10002)
  IF bitblk%
 imagedat:
  DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 1023, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 1023, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 1023, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 2047, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 2047, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 2046, 0, 0, 0, 0, 0, 3, 61440
 DATA 0, 0, 0, 0, 0, 0, 2046, 0, 0, 0
 DATA 0, 0, 31, 63488, 0, 0, 0, 16380, 1, 65408
 DATA 2046, 0, 0, 0, 0, 0, 31, 65024, 1023, 32771
 DATA 65475, 65535, 49153, 65472, 4092, 0, 0, 0, 0, 0
 DATA 63, 65280, 511, 49159, 65423, 65535, 61441, 65504, 4092, 0
 DATA 0, 0, 0, 0, 63, 65280, 255, 57375, 65087, 65535
 DATA 64513, 65520, 4092, 0, 0, 0, 0, 0, 127, 65472
 DATA 127, 61503, 64639, 64575, 65025, 65528, 4092, 0, 0, 0
 DATA 0, 0, 127, 65472, 63, 63615, 63743, 49155, 65411, 65532
 DATA 4092, 0, 0, 0, 0, 0, 255, 65520, 31, 64767
 DATA 57855, 32768, 65475, 65534, 8188, 0, 0, 0, 0, 0
 DATA 255, 65528, 7, 65535, 50174, 0, 32707, 65535, 40952, 0
 DATA 0, 0, 0, 0, 511, 40956, 3, 65535, 1020, 0
 DATA 16355, 65535, 57336, 0, 0, 0, 0, 0, 511, 36862
 DATA 1, 65534, 1020, 0, 16355, 65535, 65528, 0, 0, 0
 DATA 0, 0, 511, 2047, 0, 65532, 1020, 0, 16359, 65151
 DATA 65528, 0, 0, 0, 0, 0, 1023, 1023, 32768, 65528
 DATA 1020, 0, 16359, 65087, 65528, 0, 0, 0, 0, 0
 DATA 1022, 511, 49153, 65532, 1020, 0, 16359, 65055, 65528, 0
 DATA 0, 0, 0, 0, 2046, 255, 57351, 65534, 1022, 0
 DATA 32711, 65039, 65520, 0, 0, 0, 0, 0, 2047, 65535
 DATA 63503, 65535, 511, 32768, 65487, 65031, 65520, 0, 0, 0
 DATA 0, 0, 4095, 65535, 64543, 65535, 49407, 49155, 65423, 65027
 DATA 65520, 0, 0, 0, 0, 0, 4095, 65535, 65151, 63999
 DATA 57471, 64543, 65295, 64513, 65520, 0, 0, 0, 0, 0
 DATA 8184, 15, 64767, 61567, 61471, 65535, 64527, 64512, 65504, 0
 DATA 0, 0, 0, 0, 8176, 7, 61951, 49215, 63503, 65535
 DATA 63503, 64512, 32736, 0, 0, 0, 0, 0, 8176, 3
 DATA 59391, 32799, 64513, 65535, 49167, 64512, 16352, 0, 0, 0
 DATA 0, 0, 16352, 1, 36862, 7, 65024, 8188, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 16352, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 7168, 28672, 0, 0, 0, 0, 0, 0, 0
 DATA 1, 49152, 0, 0, 0, 7168, 28672, 0, 0, 0
 DATA 0, 0, 0, 0, 1, 49152, 0, 0, 0, 7168
 DATA 28672, 0, 0, 0, 1016, 16355, 65534, 8184, 28899, 61695
 DATA 2016, 16371, 65535, 8184, 32736, 0, 0, 0, 1820, 28787
 DATA 51151, 7228, 28899, 62401, 36656, 28915, 51151, 39966, 28912, 0
 DATA 0, 0, 3072, 28787, 50055, 7196, 28897, 50175, 52736, 57459
 DATA 50055, 39950, 28912, 0, 0, 0, 3072, 28787, 50055, 7196
 DATA 28897, 49920, 3584, 28915, 50055, 39950, 28912, 0, 0, 0
 DATA 1820, 28787, 50055, 7228, 28897, 49601, 52736, 16371, 50055, 39966
 DATA 28912, 0, 0, 0, 1016, 16355, 50055, 8184, 32705, 61695
 DATA 36352, 115, 50055, 40952, 28912, 0, 0, 0, 0, 0
 DATA 0, 7168, 0, 0, 0, 24816, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 7168, 0, 0, 0, 16256
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 7168
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 192, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 240, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 216, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 396, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 391, 65408, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 3, 65280, 1536, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 1, 49152, 14336
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 30720, 57344, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 3584, 24576, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 512, 12288, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 1567, 38912, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 1760, 64512
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 3840, 3584, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 3072, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 1
 DATA 65280, 2046, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 1, 65408, 4094, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 3, 65408, 4094
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 3, 65472, 8190, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 7, 65472, 16383, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 7
 DATA 65472, 16383, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 15, 65504, 32767, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 15, 65504, 32767
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 31, 65521, 65535, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 31, 65521, 65535, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 31
 DATA 65531, 65535, 32768, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 63, 65535, 65535, 32768, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 63, 63487, 65023
 DATA 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 127, 63487, 63999, 32768, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 127, 59391, 63999, 32768, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 255
 DATA 58367, 61951, 32768, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 255, 50175, 57599, 32768, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 511, 50175, 57599
 DATA 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 511, 33279, 49407, 32768, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 1023, 33279, 33023, 49152, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 1023
 DATA 32768, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 2047, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 4094, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 4094, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 8188, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 8188
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 6, 8188, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 7, 33016, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 6, 49152, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 12, 49152, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 8, 16380
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 65528, 112, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 30720, 448, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 3584, 1536, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 480, 3584, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 112, 33536
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 99, 57600, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 110, 8064, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 248, 448, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 448, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 384, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 DATA 0, 0, 0, 0,
RESTORE imagedat
  FOR i%=0 TO 3807 STEP 2
  READ x%
    INT{bitblk%+i%}=x%
  NEXT i%
  ENDIF
  REM Initialisierung der Image Strukturen
  image%=MALLOC(24,&H10000)
  IF image%
  INT{image%+0}=0  !  LeftEdge
  INT{image%+2}=0  !  TopEdge
  INT{image%+4}=219  !  Width
  INT{image%+6}=68  !  Height
  INT{image%+8}=2  !  Depth
  LONG{image%+10}=ADD(bitblk%,0)  !  ImageData
  BYTE{image%+14}=3  !  PlanePick
  BYTE{image%+15}=0  !  PlaneOnOff
  ENDIF
  REM Initialisierung der Borderdaten
  brddat%=MALLOC(448,&H10000)
  IF brddat%
borderdat:
  DATA -4, 4, -1, -1, 11, -2, 82, -2, 94, -1, 97, 4, 97, 13, 94, 18, 82, 19, 11, 19, -1
 DATA 18, -4, 13, -4, 4, 4, -4, 89, -4, 89, 21, 4, 21, 4, -4, -1, -1, 88, -1, 11
 DATA 14, -1, 14, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4
 DATA 0, -1, -1, 240, -1, 240, 8, -1, 8, -1, -1, -4, 4, -1, -1, 11, -2, 82, -2, 94
 DATA -1, 97, 4, 97, 13, 94, 18, 82, 19, 11, 19, -1, 18, -4, 13, -4, 4, 4, -4, -1
 DATA -4, 89, 21, 4, 21, 4, -4, 0, 0, 3, -6, 7, -10, 14, -14, 21, -17, 34, -19, 97
 DATA -20, 51, -20, 59, -19, 72, -17, 79, -14, 86, -10, 90, -6, 93, 0, 93, 10, 90, 16, 0
 DATA 20, 79, 24, 72, 27, 59, 29, 51, 30, 42, 30, 34, 29, 21, 27, 14, 24, 7, 20, 0
 DATA 16, 0, 10, 0, 0, 0, 0, 3, -6, 7, -10, 14, -14, 21, -17, 34, -19, 42, -20, 94
 DATA -20, 59, -19, 72, -17, 79, -14, 86, -10, 90, -6, 93, 0, 93, 10, 90, 16, 86, 20, 0
 DATA 24, 72, 27, 59, 29, 51, 30, 42, 30, 34, 29, 21, 27, 14, 24, 7, 20, 3, 16, 0
 DATA 10, 0,0
RESTORE borderdat
  FOR i%=0 TO 223
  READ x%
    INT{brddat%+i%*2}=x%
  NEXT i%
  ENDIF
  REM Initialisierung der Border Structuren
  border%=MALLOC(128,&H10000)
  IF border%
  INT{border%+0}=0 ! LeftEdge
  INT{border%+2}=0 ! TopEdge
  BYTE{border%+4}=3 ! FrontPen
  BYTE{border%+5}=0 ! BackPen
  BYTE{border%+6}=0 ! DrawMode
  BYTE{border%+7}=13 ! Count
  LONG{border%+8}=ADD(brddat%,0) ! *XY
  LONG{border%+12}=ADD(border%,16) ! NextBorder
  INT{border%+16}=0 ! LeftEdge
  INT{border%+18}=0 ! TopEdge
  BYTE{border%+20}=0 ! FrontPen
  BYTE{border%+21}=0 ! BackPen
  BYTE{border%+22}=0 ! DrawMode
  BYTE{border%+23}=5 ! Count
  LONG{border%+24}=ADD(brddat%,52) ! *XY
  LONG{border%+28}=0 ! NextBorder
  INT{border%+32}=71 ! LeftEdge
  INT{border%+34}=0 ! TopEdge
  BYTE{border%+36}=0 ! FrontPen
  BYTE{border%+37}=139 ! BackPen
  BYTE{border%+38}=0 ! DrawMode
  BYTE{border%+39}=13 ! Count
  LONG{border%+40}=ADD(brddat%,72) ! *XY
  LONG{border%+44}=0 ! NextBorder
  INT{border%+48}=0 ! LeftEdge
  INT{border%+50}=0 ! TopEdge
  BYTE{border%+52}=0 ! FrontPen
  BYTE{border%+53}=0 ! BackPen
  BYTE{border%+54}=0 ! DrawMode
  BYTE{border%+55}=5 ! Count
  LONG{border%+56}=ADD(brddat%,124) ! *XY
  LONG{border%+60}=0 ! NextBorder
  INT{border%+64}=0 ! LeftEdge
  INT{border%+66}=0 ! TopEdge
  BYTE{border%+68}=3 ! FrontPen
  BYTE{border%+69}=0 ! BackPen
  BYTE{border%+70}=0 ! DrawMode
  BYTE{border%+71}=13 ! Count
  LONG{border%+72}=ADD(brddat%,144) ! *XY
  LONG{border%+76}=ADD(border%,80) ! NextBorder
  INT{border%+80}=0 ! LeftEdge
  INT{border%+82}=0 ! TopEdge
  BYTE{border%+84}=0 ! FrontPen
  BYTE{border%+85}=0 ! BackPen
  BYTE{border%+86}=0 ! DrawMode
  BYTE{border%+87}=5 ! Count
  LONG{border%+88}=ADD(brddat%,196) ! *XY
  LONG{border%+92}=0 ! NextBorder
  INT{border%+96}=39 ! LeftEdge
  INT{border%+98}=43 ! TopEdge
  BYTE{border%+100}=3 ! FrontPen
  BYTE{border%+101}=0 ! BackPen
  BYTE{border%+102}=0 ! DrawMode
  BYTE{border%+103}=29 ! Count
  LONG{border%+104}=ADD(brddat%,216) ! *XY
  LONG{border%+108}=ADD(border%,112) ! NextBorder
  INT{border%+112}=293 ! LeftEdge
  INT{border%+114}=43 ! TopEdge
  BYTE{border%+116}=3 ! FrontPen
  BYTE{border%+117}=0 ! BackPen
  BYTE{border%+118}=0 ! DrawMode
  BYTE{border%+119}=29 ! Count
  LONG{border%+120}=ADD(brddat%,332) ! *XY
  LONG{border%+124}=0 ! NextBorder
  ENDIF
  REM Initialisierung der Gadget Structuren
  gadget%=MALLOC(432,&H10000)
  IF gadget%
  LONG{gadget%+0}=ADD(gadget%,48) ! NextGadget
  INT{gadget%+4}=263 ! LeftEdge
  INT{gadget%+6}=145 ! TopEdge
  INT{gadget%+8}=94 ! Width
  INT{gadget%+10}=18 ! Height
  CARD{gadget%+12}=0 ! Flags
  CARD{gadget%+14}=3 ! Activation
  CARD{gadget%+16}=4097 ! GadgetType
  LONG{gadget%+18}=border%+0 ! GadgetRender
  LONG{gadget%+26}=ADD(itxt%,0) ! GadgetText
  CARD{gadget%+38}=0 ! GadgetID
  LONG{gadget%+48}=ADD(gadget%,96) ! NextGadget
  INT{gadget%+52}=105 ! LeftEdge
  INT{gadget%+54}=14 ! TopEdge
  INT{gadget%+56}=219 ! Width
  INT{gadget%+58}=68 ! Height
  CARD{gadget%+60}=4 ! Flags
  CARD{gadget%+62}=3 ! Activation
  CARD{gadget%+64}=4097 ! GadgetType
LONG{gadget%+66}=ADD(image%,0)  !  GadgetImage
  LONG{gadget%+74}=ADD(itxt%,24) ! GadgetText
  CARD{gadget%+86}=1 ! GadgetID
  LONG{gadget%+96}=ADD(gadget%,144) ! NextGadget
  INT{gadget%+100}=56 ! LeftEdge
  INT{gadget%+102}=97 ! TopEdge
  INT{gadget%+104}=311 ! Width
  INT{gadget%+106}=17 ! Height
  CARD{gadget%+108}=0 ! Flags
  CARD{gadget%+110}=3 ! Activation
  CARD{gadget%+112}=4099 ! GadgetType
  LONG{gadget%+130}=ADD(propinf%,0)  !  PropInfo
  LONG{gadget%+114}=border%+32 ! GadgetRender
  LONG{gadget%+122}=ADD(itxt%,48) ! GadgetText
  CARD{gadget%+134}=2 ! GadgetID
  LONG{gadget%+144}=ADD(gadget%,192) ! NextGadget
  INT{gadget%+148}=125 ! LeftEdge
  INT{gadget%+150}=120 ! TopEdge
  INT{gadget%+152}=242 ! Width
  INT{gadget%+154}=8 ! Height
  CARD{gadget%+156}=0 ! Flags
  CARD{gadget%+158}=3 ! Activation
  CARD{gadget%+160}=4100 ! GadgetType
  LONG{gadget%+178}=ADD(strinf%,0)  !  StringInfo
  LONG{gadget%+162}=border%+48 ! GadgetRender
  LONG{gadget%+170}=ADD(itxt%,72) ! GadgetText
  CARD{gadget%+182}=3 ! GadgetID
  LONG{gadget%+192}=ADD(gadget%,240) ! NextGadget
  INT{gadget%+196}=41 ! LeftEdge
  INT{gadget%+198}=145 ! TopEdge
  INT{gadget%+200}=94 ! Width
  INT{gadget%+202}=18 ! Height
  CARD{gadget%+204}=0 ! Flags
  CARD{gadget%+206}=3 ! Activation
  CARD{gadget%+208}=4097 ! GadgetType
  LONG{gadget%+210}=border%+64 ! GadgetRender
  LONG{gadget%+218}=ADD(itxt%,96) ! GadgetText
  CARD{gadget%+230}=4 ! GadgetID
  LONG{gadget%+240}=ADD(gadget%,288) ! NextGadget
  INT{gadget%+244}=417 ! LeftEdge
  INT{gadget%+246}=6 ! TopEdge
  INT{gadget%+248}=13 ! Width
  INT{gadget%+250}=172 ! Height
  CARD{gadget%+252}=0 ! Flags
  CARD{gadget%+254}=3 ! Activation
  CARD{gadget%+256}=4097 ! GadgetType
  LONG{gadget%+240}=0 ! GadgetRender
  LONG{gadget%+266}=ADD(itxt%,120) ! GadgetText
  CARD{gadget%+278}=5 ! GadgetID
  LONG{gadget%+288}=ADD(gadget%,336) ! NextGadget
  INT{gadget%+292}=0 ! LeftEdge
  INT{gadget%+294}=5 ! TopEdge
  INT{gadget%+296}=13 ! Width
  INT{gadget%+298}=173 ! Height
  CARD{gadget%+300}=0 ! Flags
  CARD{gadget%+302}=3 ! Activation
  CARD{gadget%+304}=4097 ! GadgetType
  LONG{gadget%+288}=0 ! GadgetRender
  LONG{gadget%+314}=ADD(itxt%,144) ! GadgetText
  CARD{gadget%+326}=6 ! GadgetID
  LONG{gadget%+336}=ADD(gadget%,384) ! NextGadget
  INT{gadget%+340}=0 ! LeftEdge
  INT{gadget%+342}=177 ! TopEdge
  INT{gadget%+344}=430 ! Width
  INT{gadget%+346}=8 ! Height
  CARD{gadget%+348}=0 ! Flags
  CARD{gadget%+350}=3 ! Activation
  CARD{gadget%+352}=4097 ! GadgetType
  LONG{gadget%+336}=0 ! GadgetRender
  LONG{gadget%+362}=ADD(itxt%,168) ! GadgetText
  CARD{gadget%+374}=7 ! GadgetID
  LONG{gadget%+384}=0 ! NextGadget
  INT{gadget%+388}=0 ! LeftEdge
  INT{gadget%+390}=0 ! TopEdge
  INT{gadget%+392}=430 ! Width
  INT{gadget%+394}=8 ! Height
  CARD{gadget%+396}=0 ! Flags
  CARD{gadget%+398}=3 ! Activation
  CARD{gadget%+400}=4097 ! GadgetType
  LONG{gadget%+384}=0 ! GadgetRender
  LONG{gadget%+410}=ADD(itxt%,192) ! GadgetText
  CARD{gadget%+422}=8 ! GadgetID
  ENDIF
RETURN
PROCEDUR reqa(wind%)
  reqa%=MALLOC(120,&H10000)
  if reqA%
    INT{reqa%+4}=0 ! LeftEdge
    INT{reqa%+6}=0 ! TopEdge
    INT{reqa%+8}=430 ! Width
    INT{reqa%+10}=185 ! Height
    LONG{reqa%+16}=ADD(gadget%,0) ! ReqGadget
    LONG{reqa%+24}=0 ! ReqText
    LONG{reqa%+20}=ADD(border%,96) ! ReqBorder
    CARD{reqa%+28}=0 ! Flags
    BYTE{reqa%+30}=1 ! BackFill
    ~Request(reqa%,wind%)
  ENDIF
RETURN
PROCEDUR reqaend
  IF reqa%
  ~EndRequest(reqa%,LONG{reqa%+72})
  ~MFREE(reqa%,120)
  ENDIF
RETURN
PROCEDUR rctfree
  ~MFREE(LONG{txtattr%+0},10)
  ~MFREE(LONG{itxt%+12},7)
  ~MFREE(LONG{txtattr%+8},10)
  ~MFREE(LONG{itxt%+36},9)
  ~MFREE(LONG{txtattr%+16},10)
  ~MFREE(LONG{itxt%+60},6)
  ~MFREE(LONG{txtattr%+24},10)
  ~MFREE(LONG{itxt%+84},8)
  ~MFREE(LONG{txtattr%+32},10)
  ~MFREE(LONG{itxt%+108},2)
  ~MFREE(LONG{txtattr%+40},10)
  ~MFREE(LONG{txtattr%+48},10)
  ~MFREE(LONG{txtattr%+56},10)
  ~MFREE(LONG{txtattr%+64},10)
  ~MFREE(LONG{strinf%+0},40)
  ~MFREE(LONG{strinf%+4},40)
IF txtattr%
  ~MFREE(txtattr%,72)
  ENDIF
IF itxt%
  ~MFREE(itxt%,216)
  ENDIF
IF strinf%
  ~MFREE(strinf%,40)
  ENDIF
IF propinf%
  ~MFREE(propinf%,24)
  ENDIF
IF bitblk%
  ~MFREE(bitblk%,3808)
  ENDIF
IF image%
  ~MFREE(image%,24)
  ENDIF
IF brddat%
  ~MFREE(brddat%,448)
  ENDIF
IF border%
  ~MFREE(border%,128)
  ENDIF
IF gadget%
  ~MFREE(gadget%,432)
  ENDIF
RETURN
