home *** CD-ROM | disk | FTP | other *** search
/ Falcon 030 Power 2 / F030_POWER2.iso / ST_STE / MAGS / UCM9.ARJ / ucm9 / SOURCES.LZH / VOXEL / KONJUNK.S next >
Text File  |  1997-06-25  |  2KB  |  65 lines

  1. ********** Source: Umsetzen des Junk Puffers in den ST Bildschirmspeicher ***********
  2.  
  3.  
  4. scanner:        
  5.  
  6.                 movea.l screen_adr(PC),A0        ; Bildschirmspeicheradresse
  7.  
  8.                 lea     mammut_table,A1        ; Konvertierungstabelle Adresse
  9.  
  10.                 lea     junk_puffer(PC),A2        ; Junk Puffer Adresse
  11.  
  12.                 move.w  #highs-1,D0            ; wieviele Zeilen im Junk Puffer
  13.  
  14. copy_lines:     movea.w D0,A3
  15.  
  16.                 moveq   #0,D0
  17.                 moveq   #0,D2
  18.                 moveq   #0,D4
  19.                 moveq   #0,D6
  20.                 move.w  (A2)+,D0            ; Wort mit 4 Voxel Farben holen
  21.                 move.w  (A2)+,D2
  22.                 move.w  (A2)+,D4
  23.                 move.w  (A2)+,D6
  24.                 lsl.l   #3,D0                ; 4 Plane W÷rter = 8 Byte
  25.                 lsl.l   #3,D2
  26.                 lsl.l   #3,D4
  27.                 lsl.l   #3,D6
  28.  
  29.                 movem.l 0(A1,D0.l),D0-D1        ; Konvertierte W÷rter holen
  30.                 movem.l 0(A1,D2.l),D2-D3
  31.                 movem.l 0(A1,D4.l),D4-D5
  32.                 movem.l 0(A1,D6.l),D6-D7
  33.                 movem.l D0-D7,(A0)              * 64 Pixel schreiben
  34.                 movem.l D0-D7,160(A0)        * Zeile verdoppeln (y double pix)
  35.  
  36. off             SET 16*4/2
  37.                 REPT 3
  38.  
  39.                 moveq   #0,D0
  40.                 moveq   #0,D2
  41.                 moveq   #0,D4
  42.                 moveq   #0,D6
  43.                 move.w  (A2)+,D0
  44.                 move.w  (A2)+,D2
  45.                 move.w  (A2)+,D4
  46.                 move.w  (A2)+,D6
  47.                 lsl.l   #3,D0
  48.                 lsl.l   #3,D2
  49.                 lsl.l   #3,D4
  50.                 lsl.l   #3,D6
  51.  
  52.                 movem.l 0(A1,D0.l),D0-D1
  53.                 movem.l 0(A1,D2.l),D2-D3
  54.                 movem.l 0(A1,D4.l),D4-D5
  55.                 movem.l 0(A1,D6.l),D6-D7
  56.                 movem.l D0-D7,off(A0)   * 64 pixel
  57.                 movem.l D0-D7,off+160(A0)
  58. off             SET off+16*4/2
  59.                 ENDR
  60.  
  61.                 lea     320(A0),A0
  62.                 move.w  A3,D0
  63.                 dbra    D0,copy_lines
  64.                 rts
  65.