So etwa würde das mit CPEEK aussehen. 
Statt "g" ist nun ein WORD-Zeiger "posit".   
Ich weiss nicht, ob du in der ausgaberoutine das "G"  brauchst ?  
	Code:
	Dim Fontadr As Word                                         'current font base
Dim Posit As Word                                           'sendout pointer
'-------------------- bitmap die 2te -------------------------------------------
bmp:
   X = X1 : Y = Y1                                          ' pos für set cursor
' ---------- Set Font (nur, wenn geändert)  -------------------
   Select Case Bmp
   Case 1
      Fontadr = Loadlabel(logoavr)
   Case 2
      Fontadr = Loadlabel(rahmen)
   End Select
' ---------- Sendout -------------------
   Posit = Fontadr
   Hh = Cpeek(posit)                                        ' dimension horiz
   Incr Posit
   Vv = Cpeek(posit)                                        ' dimension vertik
   Incr Posit                                               '
   For V = 1 To Vv
      Gosub S1d_csr_rw                                      ' mit x, y startpos setzen
      Cmd = &H42                                            ' comando speicher schreiben
      gosub s1d_send_cmd
      For H = 1 To Hh                                       ' eine zeile schreiben
         Par = Cpeek(posit)                                 ' FlashMem lesen
         Gosub S1d_send_par                                 ' das G raus zum s1d
         Incr Posit                                         ' nächste position
      Next H                                                '
      X = X1
      Incr Y
   Next V
return
 
Ich weiss nicht, wie du die Zeigenauswahl machst. Eigentlich wär besser, statt bmp = "0" oder "1"  gleich direkt die fontadresse zu verwenden
also :
	Code:
	Dim Fontadr As Word                                         'current font base
Dim Posit As Word                                           'sendout pointer
'-------------------------------------------
      Fontadr = Loadlabel(logoavr)  
      gosub send_bmp
'------------------ ODER EBEN ----------
      Fontadr = Loadlabel(rahmen)   ' oder "Rahmen"
      gosub send_bmp
'-------------------- bitmap die 2te -------------------------------------------
send_bmp:
   X = X1 : Y = Y1                                          ' pos für set cursor
' ---------- Sendout -------------------
   Posit = Fontadr
   Hh = Cpeek(posit)                         ' dimension horiz
   Incr Posit                                      ' next
   Vv = Cpeek(posit)                         ' dimension vertik
   Incr Posit                                      ' next
   For V = 1 To Vv
      Gosub S1d_csr_rw                       ' mit x, y startpos setzen
      Cmd = &H42                               ' comando speicher schreiben
      gosub s1d_send_cmd
      For H = 1 To Hh                          ' eine zeile schreiben
         Par = Cpeek(posit)                           ' FlashMem lesen
         Gosub S1d_send_par                        ' das G raus zum s1d
         Incr Posit                                 ' nächste position
      Next H                                        ' schleife
      X = X1
      Incr Y
   Next V
return
 Was im Einzelnen besser ist, hängt vom Programm-konzept ab, logo 
Die Schleifen schreien eigentlich nach Inline-Assembler, aber das kannst du immer noch machen. 
						
					
Lesezeichen