home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src1.dms / in.adf / Filled_Vector+.s < prev    next >
Encoding:
Text File  |  1991-11-16  |  62.0 KB  |  2,276 lines

  1. ;------------------------------------------------
  2. ;-- AGAIN GANDALF ON YOUR SCREEN WITH A SOURCE --
  3. ;-- OF ACES.                                   --
  4. ;-- THIS SOURCE IS A FILLED VECTOR CODE  !!!   --
  5. ;-- VERY GREAT CODING  !!!                     --
  6. ;------------------------------------------------
  7.  
  8. ;FOR RUN THE INTRO
  9. ;SEKA>a
  10. ;SEKA>jmm
  11. ;AND ENJOY THE RESULTATE !! 
  12.  
  13.     CUSTOM =    $DFF000
  14.     BPLCON0: EQU    $100
  15.     BPLCON1: EQU    $102
  16.     BPLCON2: EQU    $104
  17.     BPL1MOD: EQU    $108
  18.     BPL2MOD: EQU    $10A
  19.     DDFSTRT: EQU    $092
  20.     DDFSTOP: EQU    $094
  21.     DIWSTRT: EQU    $08E
  22.     DIWSTOP: EQU    $090
  23.     VHPOSR:     EQU    $006
  24.     VPOSR:   EQU    $004
  25.     COLOR00: EQU    $180
  26.     COLOR01: EQU    $182
  27.     COLOR02: EQU    $184
  28.     COLOR03: EQU    $186
  29.     COLOR17: EQU    $1A2
  30.     COLOR18: EQU    $1A4
  31.     COLOR19: EQU    $1A6
  32.     DMACON:  EQU    $096
  33.     COP1LCH: EQU    $080
  34.     COPJMP1: EQU    $088
  35.     NONAME:  EQU    $106
  36.     DMACONR: EQU    $002
  37.     BLTDMOD: EQU    $066
  38.     BLTCMOD: EQU    $060
  39.     BLTBMOD: EQU    $062
  40.     BLTAMOD: EQU    $064
  41.     BLTAFWM: EQU    $044
  42.     BLTALWM: EQU    $046
  43.     BLTADAT: EQU    $074
  44.     BLTBDAT: EQU    $072
  45.     BLTCON0: EQU    $040
  46.     BLTCON1: EQU    $042
  47.     BLTAPTH: EQU    $050
  48.     BLTAPTL: EQU    $052
  49.     BLTBPTH: EQU    $04C
  50.     BLTCPTH: EQU    $048
  51.     BLTDPTH: EQU    $054
  52.     BLTSIZE: EQU    $058
  53.     AUDOLCH: EQU    $0A0
  54.     AUDOLEN: EQU    $0A4
  55.     AUDOPER: EQU    $0A6
  56.     AUDOVOL: EQU    $0A8
  57.     AUDODAT: EQU    $0AA
  58.     EXECBASE=    $004
  59.     OPENLIBRARY=    -408
  60.     OPENFILE=    -30
  61.     CLOSEFILE=    -36
  62.     CLOSELIBRARY=    -414
  63.     ALLOCMEMORY=    -198
  64.     FREEMEMORY=    -210
  65.     READFILE=    -42
  66.     WRITEFILE=    -48
  67.     FORBIDTASK=    -132
  68.     PERMITTASK=    -138
  69. ;*************************************************
  70. ;******              MACRO-FONCTIONS    **********
  71. ;*************************************************
  72. OPENLIB:    MACRO                ;*
  73.     MOVE.L    EXECBASE,A6            ;*
  74.     LEA    ?1,A1                ;*
  75.     MOVEQ    #0,D0                ;*
  76.     JSR    OPENLIBRARY(A6)            ;*
  77.     MOVE.L    D0,?2                ;*
  78.     ENDM                    ;*
  79. ALLOCMEM:    MACRO                ;*
  80.     MOVE.L    EXECBASE,A6            ;*
  81.     MOVE.L    ?1,D0                ;*
  82.     MOVE.L    ?2,D1                ;*
  83.     JSR    ALLOCMEMORY(A6)            ;*
  84.     MOVE.L    D0,?3                ;*
  85.     ENDM                    ;*
  86. FREECOP:    MACRO                ;*
  87.     MOVE.L    GFXBASE,A6            ;*
  88.     MOVE.L    $26(A6),CUSTOM+COP1LCH        ;*
  89.     ENDM                    ;*
  90. FREEMEM:    MACRO                ;*
  91.     MOVE.L    EXECBASE,A6            ;*
  92.     MOVE.L    ?1,A1                ;*
  93.     MOVE.L    ?2,D0                ;*
  94.     JSR    FREEMEMORY(A6)            ;*
  95.     ENDM                    ;*
  96. CLOSELIB:    MACRO                ;*
  97.     MOVE.L    EXECBASE,A6            ;*
  98.     MOVE.L    ?1,A1                ;*
  99.     JSR    CLOSELIBRARY(A6)        ;*
  100.     ENDM                    ;*
  101. PERMIT:        MACRO                ;*
  102.     MOVE.L    EXECBASE,A6            ;*
  103.     JSR    PERMITTASK(A6)            ;*
  104.     ENDM                    ;*
  105. FORBID:        MACRO                ;*
  106.     MOVE.L    EXECBASE,A6            ;*
  107.     JSR    FORBIDTASK(A6)            ;*
  108.     ENDM                    ;*
  109. ;-------------------------------------------------
  110. BRA    MM                    ;*
  111. GFXLIB:        DC.B    "graphics.library",0    ;*
  112. even                        ;*
  113. DOSLIB:        DC.B    "dos.library",0        ;*
  114. even                        ;*
  115. DOSBASE:    DC.L 0                ;*
  116. GFXBASE:    DC.L 0                ;*
  117. ;*************************************************
  118. MM:
  119. MOVE.L    #ZERO,$14
  120. ;JMP    RY
  121.     FORBID
  122.     ALLOCMEM #32100,#2,SCREEN1
  123.     ALLOCMEM #32100,#2,SCREEN2
  124.     ALLOCMEM #100,#2,COPLIST
  125.     OPENLIB GFXLIB,GFXBASE
  126.     LEA    CUSTOM,A0
  127.     MOVE    #$4200,BPLCON0(A0)
  128.     MOVE    #0,BPLCON1(A0)
  129.     MOVE    #$38,DDFSTRT(A0)
  130.     MOVE    #$D0,DDFSTOP(A0)
  131.     MOVE    #$2C81,DIWSTRT(A0)
  132.     MOVE    #$F4C1,DIWSTOP(A0)
  133.  
  134.     MOVE.L    SCREEN2,D7
  135.     MOVE.L    SCREEN2,BITMP
  136.     MOVE.L    COPLIST,A1
  137.     MOVE    #$00E0,(A1)+
  138.     SWAP    D7
  139.     MOVE    D7,(A1)+
  140.     MOVE    #$00E2,(A1)+
  141.     SWAP    D7
  142.     MOVE    D7,(A1)+
  143.     ADD.L    #8000,D7
  144.     MOVE    #$00E4,(A1)+
  145.     SWAP    D7
  146.     MOVE    D7,(A1)+
  147.     MOVE    #$00E6,(A1)+
  148.     SWAP    D7
  149.     MOVE    D7,(A1)+
  150.     ADD.L    #8000,D7
  151.     MOVE    #$00E8,(A1)+
  152.     SWAP    D7
  153.     MOVE    D7,(A1)+
  154.     MOVE    #$00EA,(A1)+
  155.     SWAP    D7
  156.     MOVE    D7,(A1)+
  157.     ADD.L    #8000,D7
  158.     MOVE    #$00EC,(A1)+
  159.     SWAP    D7
  160.     MOVE    D7,(A1)+
  161.     MOVE    #$00EE,(A1)+
  162.     SWAP    D7
  163.     MOVE    D7,(A1)+
  164.     MOVE.L    #$01800000,(A1)+
  165.     MOVE.L    #$01810101,(A1)+
  166.     MOVE.L    #$01820202,(A1)+
  167.     MOVE.L    #$01840303,(A1)+
  168.     MOVE.L    #$01860404,(A1)+
  169.     MOVE.L    #$01880505,(A1)+
  170.     MOVE.L    #$018A0606,(A1)+
  171.     MOVE.L    #$018C0707,(A1)+
  172.     MOVE.L    #$018E0808,(A1)+
  173.     MOVE.L    #$01900909,(A1)+
  174.     MOVE.L    #$01920A0A,(A1)+
  175.     MOVE.L    #$01940B0B,(A1)+
  176.     MOVE.L    #$01960C0C,(A1)+
  177.     MOVE.L    #$01980D0D,(A1)+
  178.     MOVE.L    #$019A0E0E,(A1)+
  179.     MOVE.L    #$019C0F0F,(A1)+
  180.     MOVE.L    #$FFFFFFFE,(A1)+
  181.     MOVE.L    COPLIST,COP1LCH(A0)
  182.     MOVE    #0,COPJMP1(A0)
  183.     MOVE    #$8380,DMACON(A0)
  184.     MOVE    #$20,DMACON(A0)
  185. ;©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©
  186. DEB:
  187. MOVE    GA,D0
  188. ADDI    #50,D0
  189. BSR    DEG
  190. MOVE    D0,GA
  191. MOVE    BE,D0
  192. ADDI    #30,D0
  193. BSR    DEG
  194. MOVE    D0,BE
  195. MOVE    AL,D0
  196. ADDI    #6,D0
  197. BSR    DEG
  198. MOVE    D0,AL
  199.     BSR    CLEAR
  200.     MOVE.L    OBJECT,A0
  201.     BSR    DISPLAY
  202. ;©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©
  203. WAIT:    BTST    #1,$BFEC01
  204.     BNE     DEB
  205.     FREEMEM SCREEN1,#32100
  206.     FREEMEM SCREEN2,#32100
  207.     FREEMEM COPLIST,#100
  208.     FREECOP
  209.     CLOSELIB GFXBASE
  210.     PERMIT
  211.     MOVE    #$8020,DMACON+CUSTOM
  212.     RTS
  213. ZERO:    FREECOP
  214.     RTE
  215. ;©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©
  216. DISPLAY:MOVE.B $DFF00B,POSX+1    ;A0: POINTS & FACETTES
  217.     LEA    PTS2D,A4
  218.     LEA    ZPROF,A5
  219.     LEA    PTS3D,A2
  220. ;    MOVE.L    #0,D0        ;POSX
  221. ;    DIVS    #256,D0
  222. ;    MOVE    D0,POSX
  223. ;    MOVE.L    #0,D0        ;POSY
  224. ;    DIVS    #256,D0
  225. ;    MOVE    D0,POSY
  226. ;    MOVE.L    #0,D0        ;POSZ
  227. ;    DIVS    #256,D0
  228. ;    MOVE    D0,POSZ
  229.     MOVE    AL,D2        ;3 ANGLES EN °
  230.     MOVE    BE,D3
  231.     MOVE    GA,D4
  232.     ASR    #2,D3
  233.     ASR    #2,D2
  234.     ASR    #2,D4
  235.     ANDI.L    #$FFFE,D2
  236.     ANDI.L    #$FFFE,D3
  237.     ANDI.L    #$FFFE,D4
  238. DRAW2:    MOVE    (A0)+,D5
  239.     CMPI    #$7FFF,D5
  240.     BNE    JMP1
  241.     BRA    LINK
  242. JMP1:    MOVE    (A0)+,D6
  243.     MOVE    (A0)+,D7
  244.     BSR    ROTOZ
  245.     BSR    ROTOY
  246.     BSR    ROTOX
  247.     ADD    POSX,D5
  248.     ADD    POSY,D6
  249.     ADD    POSZ,D7
  250.     ADDI    #400,D7
  251.     MOVE    D5,(A2)+    ;'X'
  252.     MOVE    D6,(A2)+    ;'Y'
  253.     MOVE    D7,(A5)+    ;'Z'
  254.     JSR    PROJEC
  255.     MOVE    D5,(A4)+    ;X.EC
  256.     MOVE    D6,(A4)+    ;Y.EC
  257.     BRA    DRAW2
  258. ;-----------REMPLIT SURFACES(>= 3 PTS!!) ET SURFLIST. A0:VERS SURFACES
  259. ;-----------    CALC INTENSITE COULEUR+PROFONDEUR+ G
  260. LINK:    LEA    PTS2D,A1
  261.     LEA    PTS3D,A6
  262.     LEA    ZPROF,A4
  263.     LEA    ZFACE,A5
  264.     LEA    SURFLIST,A2
  265.     LEA    SURFACES,A3
  266. AGAIN:    CLR.L    D2        ;INIT. SOMME DES 'Z'
  267.     MOVE    (A0)+,D0    ;NBRE DE PTS (EN COMPTANT '0')
  268.     CMPI    #-1,D0
  269.     BEQ    FINSURF
  270.     MOVE.L    A3,(A2)+    ;*SURFACE -> SURFLIST
  271.     MOVE.L    #1,(A3)+    ;COULEUR
  272. ;-------
  273.     MOVE    (A0)+,D1    ;--------
  274.     ASL    #2,D1        ;POS DS PTS2D DE PT(X,Y)
  275.     MOVE.L    (A1,D1.W),(A3)+    ;X,Y -> (SURFACES)    
  276.     MOVE.L    (A6,D1.W),VAX    ;X->VAX ; Y-> VAY
  277.     LSR    #1,D1
  278.     MOVE.W    (A4,D1.W),VAZ    ;SOMME DES 'Z'-->D2
  279.     ADD.W    VAZ,D2
  280.  
  281.     MOVE    (A0)+,D1    ;2è PT
  282.     ASL    #2,D1        
  283.     MOVE.L    (A1,D1.W),(A3)+
  284.     MOVE.L    (A6,D1.W),D6    ;D6:(X,Y)->Y.W
  285.     MOVE.L    D6,D5
  286.     SWAP    D5        ;D5:X        
  287.     LSR    #1,D1
  288.     MOVE.W    (A4,D1.W),D7    
  289.     ADD.W    D7,D2
  290.     
  291.     MOVE    (A0)+,D1
  292.     ASL    #2,D1        
  293.     MOVE.L    (A1,D1.W),(A3)+        
  294.     MOVE.L    (A6,D1.W),VBX    
  295.     LSR    #1,D1
  296.     MOVE.W    (A4,D1.W),VBZ
  297.     ADD.W    VBZ,D2
  298.     BSR    LUM        ;CALC.P.VECT,P.SCALAIRE,INTENS.LUM
  299.     CMPI    #3,D0
  300.     BEQ    ENOUGH        ;3 PTS DS SURFACE (AU MINIMUM ...)
  301.  
  302.     MOVE    (A0)+,D1    
  303.     ASL    #2,D1        
  304.     MOVE.L    (A1,D1.W),(A3)+        
  305.     LSR    #1,D1
  306.     ADD.W    (A4,D1.W),D2    ;4 PTS DS SURFACE (AU MAXIMUM ...)
  307. ;-------
  308. ENOUGH:    DIVS    D0,D2        ;BARYCENTRE 'Z'
  309.     MOVE    D2,(A5)+    ;TABLE DES BARYCENTRES
  310.     MOVE.L    #-1,(A3)+    ;FIN    SURFACE n
  311.     BRA    AGAIN
  312.     RTS
  313. FINSURF:MOVE.L    #-1,(A2)+    ;FIN SURFLIST
  314.     MOVE    #$7FFF,(A5)+    ;FIN BARYC.LISTE
  315. ;--------------------------- TRI EN F() DE Z:
  316.     LEA    ZFACE,A0
  317.     LEA    SURFLIST,A2
  318. TRI:    MOVE.L    A2,A3
  319.     MOVE.L    A0,A1
  320.     ADDA.L    #2,A1
  321.     ADDA.L    #4,A3
  322. TRI5:    MOVE.L    (A2),D2        ;:PTR
  323.     MOVE    (A0),D0        ;:Z
  324.     CMP    #$7FFF,D0
  325.     BEQ    OUFF        ;FINI.
  326. TRI3:    MOVE.L    (A3)+,D3    ;:PTR
  327.     MOVE    (A1)+,D1    ;:Z
  328.     CMP    #$7FFF,D1
  329.     BNE    TRI4
  330.     ADDA.L    #2,A0
  331.     ADDA.L    #4,A2
  332.     BRA    TRI
  333. TRI4:    CMP    D0,D1
  334.     BLT    TRI3
  335.     MOVE    D1,(A0)        ;EXG LES Z
  336.     MOVE    D0,-2(A1)
  337.     MOVE.L    D3,(A2)        ;EXG POINTEURS
  338.     MOVE.L    D2,-4(A3)
  339.     BRA    TRI5
  340. ;---------------------------
  341. OUFF:    LEA    SURFLIST,A2
  342.     BSR    DRAW
  343.     RTS
  344. ;---------------------------
  345. LUM:    SUB    D5,VAX        ;COORD. DES 2 VECTEURS
  346.     SUB    D6,VAY
  347.     SUB    D7,VAZ
  348.     SUB    D5,VBX
  349.     SUB    D6,VBY
  350.     SUB    D7,VBZ
  351.     MOVE    VAY,D1
  352.     MULS    VBZ,D1
  353.     MOVE    VAZ,D3
  354.     MULS    VBY,D3
  355.     SUB.L    D3,D1
  356.     MOVE    VAZ,D3
  357.     MULS    VBX,D3
  358.     MOVE    VAX,D4
  359.     MULS    VBZ,D4
  360.     SUB.L    D4,D3
  361.     MOVE    VAX,D4
  362.     MULS    VBY,D4
  363.     MOVE    VAY,D5
  364.     MULS    VBX,D5
  365.     SUB.L    D5,D4
  366.  
  367.     MULS    D1,D1
  368.     MULS    D3,D3
  369.     MULS    D4,D4
  370.     ADD.L    D3,D1
  371.     ADD.L    D4,D1
  372.     TST.L    D1
  373.     BEQ    ARG
  374.     LSR.L    #$4,D1
  375. ;-----
  376.     CLR.L    D5
  377.     MOVE.L    D1,D3
  378. DIV:    ADD.L    D3,D1
  379.     ADDI.L    #1,D5
  380.     CMP.L    D4,D1
  381.     BMI    DIV
  382.     
  383.     ANDI.L    #15,D5
  384.     CMPI    #15,D5
  385.     BNE    QSD
  386.     MOVEQ    #$E,D5
  387. QSD:    MOVE.L    D5,-16(A3)
  388.     RTS
  389. ARG:    MOVE.L    #$E,-16(A3)
  390.     RTS
  391. DE1:DC.L 0
  392. DE4:DC.L 0
  393. ;************************************************
  394. ;********** PROJECTION,ROTATIONS(X,Y,Z) *********
  395. ;************************************************
  396. ;------ D5:X D6:Y D7:Z --------------------------
  397. PROJEC:
  398.     MULS    DFOC,D5
  399.     DIVS    D7,D5
  400.     ADDI    #160,D5
  401.     MULS    DFOC,D6
  402.     DIVS    D7,D6
  403.     SUBI    #100,D6
  404.     NEG    D6
  405.     RTS
  406. DFOC:    DC.W    256
  407. ;----- D2:ANGLE D6:Y D7:Z D0 D1 A3 A6  ----------
  408. ROTOX:
  409.     LEA.L    COS,A6
  410.     LEA.L    SIN,A3
  411.     MOVE    D6,D0
  412.     MOVE    D7,D1
  413.     MULS    (A6,D2.W),D0
  414.     MULS    (A3,D2.W),D1
  415.     ADD.L    D1,D0
  416.     MULS    (A6,D2.W),D7
  417.     MULS    (A3,D2.W),D6
  418.     SUB.L    D6,D7
  419.     EXG    D0,D6
  420.     DIVS    #256,D6
  421.     DIVS    #256,D7
  422.     RTS
  423. ;----- D3:ANGLE D5:X D7:Z D0 D1 A6 A3 -----------------
  424. ROTOY:
  425.     LEA.L    COS,A6
  426.     LEA.L    SIN,A3
  427.     MOVE    D5,D0
  428.     MOVE    D7,D1
  429.     MULS    (A6,D3.W),D0
  430.     MULS    (A3,D3.W),D1
  431.     SUB.L    D1,D0
  432.     MULS    (A6,D3.W),D7
  433.     MULS    (A3,D3.W),D5
  434.     ADD.L    D5,D7
  435.     EXG    D0,D5
  436.     DIVS    #256,D5
  437.     DIVS    #256,D7
  438.     RTS
  439. ;-----D4:ANGLE D5:X D6:Y A6 A3 D0 D1 ------------
  440. ROTOZ:
  441.     LEA.L    COS,A6
  442.     LEA.L    SIN,A3
  443.     MOVE    D5,D0
  444.     MOVE    D6,D1
  445.     MULS    (A6,D4.W),D0
  446.     MULS    (A3,D4.W),D1
  447.     ADD.L    D1,D0
  448.     MULS    (A6,D4.W),D6
  449.     MULS    (A3,D4.W),D5
  450.     SUB.L    D5,D6
  451.     EXG    D0,D5
  452.     DIVS    #256,D6
  453.     DIVS    #256,D5
  454.     RTS
  455. ;-------D0:Angle à convertir --------------------
  456. DEG:    CMP    #360*8,D0
  457.     BLT    DEG2
  458.     SUB    #360*8,D0
  459.     BRA    DEG3
  460. DEG2:    TST    D0
  461.     BPL    DEG3
  462.     ADD    #360*8,D0
  463. DEG3:    RTS    
  464. ;************************************************
  465. COS:    DC.W 256,255,255,255,255,255,254
  466.     DC.W 254,253,252,252,251,250,249
  467.     DC.W 248,247,246,244,243,242,240
  468.     DC.W 238,237,235,233,232,230,228
  469.     DC.W 226,223,221,219,217,214,212
  470.     DC.W 209,207,204,201,198,196
  471.     DC.W 193,190,187,186,181,177,174
  472.     DC.W 171,167,164,161,157,154,150
  473.     DC.W 146,143,139,135,131,128,124
  474.     DC.W 120,116,112,108,104,100,95,91
  475.     DC.W 87,83,79,74,70,66,61,57,53
  476.     DC.W 48,44,40,35,31,26,22,17,13,8,4
  477.     DC.W -0,-4,-8,-13,-17,-22,-26,-31,-35,-40
  478.     DC.W -44,-48,-53,-57,-61,-66,-70,-74,-79,-83
  479.     DC.W -87,-91,-95,-100,-104,-108,-112
  480.     DC.W -116,-120,-124,-128,-131,-135,-139,-143
  481.     DC.W -146,-150,-154,-157,-161,-164
  482.     DC.W -167,-171,-174,-177,-181,-184,-187,-190
  483.     DC.W -193,-196,-198,-201,-204,-207
  484.     DC.W -209,-212,-214,-217,-219,-221,-223,-226
  485.     DC.W -228,-230,-232,-233,-235,-237
  486.     DC.W -238,-240,-242,-243,-244,-246,-247,-248
  487.     DC.W -249,-250,-251,-252,-252,-253
  488.     DC.W -254,-254,-255,-255,-255,-255,-255
  489.     DC.W -256,-255,-255,-255,-255,-255,-254
  490.     DC.W -254,-253,-252,-252,-251,-250,-249
  491.     DC.W -248,-247,-246,-244,-243,-242,-240
  492.     DC.W -238,-237,-235,-233,-232,-230,-228
  493.     DC.W -226,-223,-221,-219,-217,-214,-212
  494.     DC.W -209,-207,-204,-201,-198,-196
  495.     DC.W -193,-190,-187,-186,-181,-177,-174
  496.     DC.W -171,-167,-164,-161,-157,-154,-150
  497.     DC.W -146,-143,-139,-135,-131,-128,-124
  498.     DC.W -120,-116,-112,-108,-104,-100,-95,-91
  499.     DC.W -87,-83,-79,-74,-70,-66,-61,-57,-53
  500.     DC.W -48,-44,-40,-35,-31,-26,-22,-17,-13,-8,-4
  501.     DC.W 0,4,8,13,17,22,26,31,35,40
  502.     DC.W 44,48,53,57,61,66,70,74,79,83
  503.     DC.W 87,91,95,100,104,108,112
  504.     DC.W 116,120,124,128,131,135,139,143
  505.     DC.W 146,150,154,157,161,164
  506.     DC.W 167,171,174,177,181,184,187,190
  507.     DC.W 193,196,198,201,204,207
  508.     DC.W 209,212,214,217,219,221,223,226
  509.     DC.W 228,230,232,233,235,237
  510.     DC.W 238,240,242,243,244,246,247,248
  511.     DC.W 249,250,251,252,252,253
  512.     DC.W 254,254,255,255,255,255,255,256
  513.  
  514. SIN:    DC.W 0,4,8,13,17,22,26,31,35,40
  515.     DC.W 44,48,53,57,61,66,70,74,79,83
  516.     DC.W 87,91,95,100,104,108,112
  517.     DC.W 116,120,124,128,131,135,139,143
  518.     DC.W 146,150,154,157,161,164
  519.     DC.W 167,171,174,177,181,184,187,190
  520.     DC.W 193,196,198,201,204,207
  521.     DC.W 209,212,214,217,219,221,223,226
  522.     DC.W 228,230,232,233,235,237
  523.     DC.W 238,240,242,243,244,246,247,248
  524.     DC.W 249,250,251,252,252,253
  525.     DC.W 254,254,255,255,255,255,255
  526.     DC.W 256,255,255,255,255,255,254
  527.     DC.W 254,253,252,252,251,250,249
  528.     DC.W 248,247,246,244,243,242,240
  529.     DC.W 238,237,235,233,232,230,228
  530.     DC.W 226,223,221,219,217,214,212
  531.     DC.W 209,207,204,201,198,196
  532.     DC.W 193,190,187,186,181,177,174
  533.     DC.W 171,167,164,161,157,154,150
  534.     DC.W 146,143,139,135,131,128,124
  535.     DC.W 120,116,112,108,104,100,95,91
  536.     DC.W 87,83,79,74,70,66,61,57,53
  537.     DC.W 48,44,40,35,31,26,22,17,13,8,4
  538.     DC.W -0,-4,-8,-13,-17,-22,-26,-31,-35,-40
  539.     DC.W -44,-48,-53,-57,-61,-66,-70,-74,-79,-83
  540.     DC.W -87,-91,-95,-100,-104,-108,-112
  541.     DC.W -116,-120,-124,-128,-131,-135,-139,-143
  542.     DC.W -146,-150,-154,-157,-161,-164
  543.     DC.W -167,-171,-174,-177,-181,-184,-187,-190
  544.     DC.W -193,-196,-198,-201,-204,-207
  545.     DC.W -209,-212,-214,-217,-219,-221,-223,-226
  546.     DC.W -228,-230,-232,-233,-235,-237
  547.     DC.W -238,-240,-242,-243,-244,-246,-247,-248
  548.     DC.W -249,-250,-251,-252,-252,-253
  549.     DC.W -254,-254,-255,-255,-255,-255,-255
  550.     DC.W -256,-255,-255,-255,-255,-255,-254
  551.     DC.W -254,-253,-252,-252,-251,-250,-249
  552.     DC.W -248,-247,-246,-244,-243,-242,-240
  553.     DC.W -238,-237,-235,-233,-232,-230,-228
  554.     DC.W -226,-223,-221,-219,-217,-214,-212
  555.     DC.W -209,-207,-204,-201,-198,-196
  556.     DC.W -193,-190,-187,-186,-181,-177,-174
  557.     DC.W -171,-167,-164,-161,-157,-154,-150
  558.     DC.W -146,-143,-139,-135,-131,-128,-124
  559.     DC.W -120,-116,-112,-108,-104,-100,-95,-91
  560.     DC.W -87,-83,-79,-74,-70,-66,-61,-57,-53
  561.     DC.W -48,-44,-40,-35,-31,-26,-22,-17,-13,-8,-4,0
  562. ;©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©
  563. CLEAR:
  564.     BCHG    #0,ALTSC
  565.     BEQ    K
  566.     MOVE.L    SCREEN1,BITMP
  567.     MOVE.L    SCREEN2,D0
  568.     BRA    V
  569. K:    MOVE.L    SCREEN2,BITMP
  570.     MOVE.L    SCREEN1,D0
  571. V:    CMPI.B    #-16,CUSTOM+VHPOSR
  572.     BNE    V
  573.     MOVE.L    COPLIST,A6
  574.     SWAP    D0
  575.     MOVE    D0,2(A6)
  576.     SWAP    D0
  577.     MOVE    D0,6(A6)
  578.     ADDI.L    #8000,D0
  579.     SWAP    D0
  580.     MOVE    D0,10(A6)
  581.     SWAP    D0
  582.     MOVE    D0,14(A6)
  583.     ADDI.L    #8000,D0
  584.     SWAP    D0
  585.     MOVE    D0,18(A6)
  586.     SWAP    D0
  587.     MOVE    D0,22(A6)
  588.     ADDI.L    #8000,D0
  589.     SWAP    D0
  590.     MOVE    D0,26(A6)
  591.     SWAP    D0
  592.     MOVE    D0,30(A6)
  593. L:    BTST    #$E,CUSTOM+DMACONR
  594.     BNE     L
  595.     MOVE.L    BITMP,CUSTOM+BLTDPTH
  596.     CLR    CUSTOM+BLTDMOD
  597.     CLR    CUSTOM+BLTCON1
  598.     MOVE    #$100,CUSTOM+BLTCON0
  599.     MOVE    #$3FBF,CUSTOM+BLTSIZE
  600.     RTS
  601. ALTSC:    DC.W    0
  602. SCREEN1:    DC.L 0
  603. SCREEN2:    DC.L 0
  604. COPLIST:    DC.L 0
  605. BITMP:        DC.L 0
  606. ****************************************************************
  607. ******************                      **********
  608. ******************        AFFICHAGE DE SURFACES       **********
  609. ******************                      **********
  610. ****************************************************************
  611.     BITMAP1=    8000
  612.     BITMAP2=    16000
  613.     BITMAP3=    24000
  614. DRAW:;A2=SURFLIST
  615.             lea     SURFACES2(PC),A1
  616.             move.l  A2,A6
  617. SF1:     move.l  (A2),D0
  618.             bmi.s   SF7
  619.             move.l  D0,A0
  620.             move.l  A1,(A2)+
  621.             addq.l  #2,A0
  622.             move.l  A1,A5
  623.             addq.l  #4,A1
  624.             move.w  (A0)+,(A1)+
  625.             move.w  #$0fff,D0
  626.             move.l  A0,A4
  627.             move.l   #$00,D4
  628. SF2:     move.w  (A0)+,D2
  629.             bmi.s   SF3
  630.             move.w  (A0)+,D3
  631.             addq.b  #1,D4
  632.             cmp.w   D3,D0
  633.             bcs.s   SF2
  634.             move.w  D3,D0
  635.             move.w  D4,D5
  636.             move.l  A0,A3
  637.             bra.s   SF2
  638. SF3:     subq.l  #4,A3
  639.             move.l  A3,A0
  640. SF4:     move.l  (A3)+,(A1)+
  641.             bpl.s   SF4
  642.             subq.l  #4,A1
  643.             subq.w  #2,D5
  644.             bmi.s   SF6
  645. SF5:     move.l  (A4)+,(A1)+
  646.             dbf     D5,SF5
  647. SF6:     move.l  A1,(A5)
  648.             clr.l   (A1)+
  649.             bra.s   SF1
  650. SF7:     move.l  A6,-(A7)
  651.             bsr.l   SF8
  652.             move.l  (A7)+,A2
  653.             bra.l   SF33
  654. ***********************************************************
  655. SF8:    lea     SURFACES3(PC),A3
  656.             lea     LINETAB,A4
  657. SF9:     move.l  (A6),D0
  658.             bpl.s   SF10
  659.             rts
  660. SF10:     move.l  D0,A0
  661.             move.l  A3,(A6)+
  662.             move.l  (A0)+,A1
  663.             move.w  (A0)+,(A3)+
  664.             subq.w  #8,A1
  665.             cmpa.l  A0,A1
  666.             beq.l   SF22
  667.             addq.w  #8,A1
  668.             move.l   #$00,D0
  669.             move.w  (A0)+,D0
  670.             move.l  D0,D1
  671.             move.w  (A0)+,A2
  672.             move.w  A2,(A3)+
  673.             move.w  A2,A5
  674.             move.l   #$00,D7
  675. SF11:     move.w  (A0)+,D4
  676.             move.w  D4,V1
  677.             move.w  (A0)+,D3
  678.             move.w  D3,V4
  679.             sub.w   A2,D3
  680.             bmi.l   SF21
  681.             bne.s   SF12
  682.             move.w  D4,D0
  683.             bra.s   SF11
  684. SF12:     sub.w   D0,D4
  685.             move.w  D3,A2
  686.             adda.w  A2,A2
  687.             muls    2(A4,A2.W),D4
  688.             add.l   D4,D4
  689.             move.w  D4,A2
  690.             swap    D4
  691. SF13:     move.w  -(A1),D6
  692.             move.w  -(A1),D5
  693.             move.w  D6,V3
  694.             move.w  D5,V2
  695.             sub.w   A5,D6
  696.             bmi.l   SF21
  697.             bne.s   SF14
  698.             move.w  D5,D1
  699.             bra.s   SF13
  700. SF14:     sub.w   D1,D5
  701.             move.w  D6,A5
  702.             adda.w  A5,A5
  703.             muls    2(A4,A5.W),D5
  704.             add.l   D5,D5
  705.             move.w  D5,A5
  706.             swap    D5
  707. SF15:     add.w   A2,D7
  708.             addx.w  D4,D0
  709.             add.w   A5,D2
  710.             addx.w  D5,D1
  711.             move.w  D0,(A3)+
  712.             move.w  D1,(A3)+
  713.             dbf     D3,SF18
  714.             move.w  V1,D0
  715.             clr.w   D7
  716.             move.w  V4,A2
  717. SF16:     move.w  (A0)+,D4
  718.             move.w  D4,V1
  719.             move.w  (A0)+,D3
  720.             move.w  D3,V4
  721.             sub.w   A2,D3
  722.             bmi.s   SF21
  723.             bne.s   SF17
  724.             move.w  D4,D0
  725.             bra.s   SF16
  726. SF17:     sub.w   D0,D4
  727.             move.w  D3,A2
  728.             adda.w  A2,A2
  729.             muls    0(A4,A2.W),D4
  730.             add.l   D4,D4
  731.             move.w  D4,A2
  732.             swap    D4
  733.             subq.w  #1,D3
  734. SF18:     dbf     D6,SF15
  735.             move.w  V2,D1
  736.             ext.l   D1
  737.             move.w  V3,A5
  738. SF19:     move.w  -(A1),D6
  739.             move.w  -(A1),D5
  740.             move.w  D6,V3
  741.             move.w  D5,V2
  742.             sub.w   A5,D6
  743.             bmi.s   SF21
  744.             bne.s   SF20
  745.             move.w  D5,D1
  746.             bra.s   SF19
  747. SF20:     sub.w   D1,D5
  748.             move.w  D6,A5
  749.             adda.w  A5,A5
  750.             muls    0(A4,A5.W),D5
  751.             add.l   D5,D5
  752.             move.w  D5,A5
  753.             swap    D5
  754.             subq.w  #1,D6
  755.             bra.l   SF15
  756. SF21:     move.w  #$ffff,(A3)+
  757.             bra.l   SF9
  758. ;--------------------------------------------------------
  759. SF22:     movem.w (A0)+,D3/D2/D1/D0
  760.             move.w  D1,(A3)+
  761.             cmp.w   D1,D3
  762.             bne.s   SF24
  763.             cmp.w   D0,D2
  764.             bcc.s   SF23
  765.             move.w  D2,(A3)+
  766.             move.w  D0,(A3)+
  767.             move.w  #$ffff,(A3)+
  768.             bra.l   SF9
  769. SF23:     move.w  D0,(A3)+
  770.             move.w  D2,(A3)+
  771.             move.w  #$ffff,(A3)+
  772.             bra.l   SF9
  773. SF24:     cmp.w   D0,D2
  774.             bne.l   SF26
  775.             sub.w   D1,D3
  776. SF25:     move.w  D0,(A3)+
  777.             move.w  D0,(A3)+
  778.             dbf     D3,SF25
  779.             move.w  D3,(A3)+
  780.             bra.l   SF9
  781. SF26:     cmp.w   D0,D2
  782.             bcc.s   SF29
  783.             move.w  D0,D5
  784.             sub.w   D2,D0
  785.             sub.w   D1,D3
  786.             add.w   D3,D3
  787.             mulu    0(A4,D3.W),D0
  788.             add.l   D0,D0
  789.             lsr.w   #1,D3
  790.             subi.w  #$0001,D3
  791.             move.w  D5,D4
  792.             move.w  D5,(A3)+
  793.             move.w  D4,(A3)+
  794. SF27:     move.w  D5,D4
  795.             subq.w  #1,D4
  796.             swap    D5
  797.             sub.l   D0,D5
  798.             swap    D5
  799.             cmp.w   D5,D4
  800.             bcc.s   SF28
  801.             addq.w  #1,D4
  802. SF28:     move.w  D5,(A3)+
  803.             move.w  D4,(A3)+
  804.             dbf     D3,SF27
  805.             move.w  D3,(A3)+
  806.             bra.l   SF9
  807. SF29:     sub.w   D0,D2
  808.             sub.w   D1,D3
  809.             add.w   D3,D3
  810.             mulu    0(A4,D3.W),D2
  811.             add.l   D2,D2
  812.             lsr.w   #1,D3
  813.             subi.w  #$0001,D3
  814.             move.w  D0,D4
  815.             move.w  D4,(A3)+
  816.             move.w  D0,(A3)+
  817. SF30:     move.w  D0,D4
  818.             addq.w  #1,D4
  819.             swap    D0
  820.             add.l   D2,D0
  821.             swap    D0
  822.             cmp.w   D4,D0
  823.             bcc.s   SF31
  824.             subq.w  #1,D4
  825. SF31:     move.w  D4,(A3)+
  826.             move.w  D0,(A3)+
  827.             dbf     D3,SF30
  828.             move.w  D3,(A3)+
  829.             bra.l   SF9
  830. *************************************************************
  831. SF32:       move.L    MOUAI,A2
  832.             bra.l   SF35
  833. SF34:     rts
  834. SF33:    MOVe.L   #$00,D6
  835.         move.L   #$-1,D7
  836.         move.L   #$28,D0
  837.         move.L   #$20,D1
  838. SF35:     move.l  (A2)+,D3
  839.             bmi.l   SF34
  840.             move.l  D3,A0
  841.             move.L  A2,MOUAI
  842.             move.w  (A0)+,D3
  843. ;     bmi.l   SF38  PAS ENCORE AU POINT...
  844. ;----------------------------------------
  845.             add.w   D3,D3
  846.             move.w  COLORPT(PC,D3.W),D3
  847.             lea     COLORPT(PC,D3.W),A2
  848.             move.w  (A0)+,D2
  849.             add.w   D2,D2
  850.             LEA.L     POS(PC),A3
  851.             move.l  BITMP,A1
  852.             MOVE.W  0(A3,D2.W),D3    ;D3 EST * PAR 4 !!!
  853.     ASR.W    #2,D3
  854.     ADD.W    D3,A1
  855.             move.w  (A0)+,D2
  856.             bmi.l   SF32
  857. SF41:     move.w  (A0)+,D3
  858.             cmp.w   D2,D3
  859.             bhi.s   SF36
  860.             exg     D2,D3
  861. SF36:     move.l   #$00,D5
  862.             move.l   #$1f,D4
  863.             sub.w   D3,D4
  864.             bset    D4,D5
  865.             subq.l  #1,D5
  866.             move.w  D2,D4
  867.             andi.w  #$001f,D4
  868.             sub.w   D4,D2
  869.             add.w   D4,D4
  870.             add.w   D4,D4
  871.             move.l  BORDERS(PC,D4.W),D4
  872.             sub.w   D2,D3
  873.             lsr.w   #3,D2
  874.             move.l  A1,A3
  875.             adda.w  D2,A3
  876.             adda.w  D0,A1
  877.             sub.w   D1,D3
  878.             jmp     (A2)
  879. ***********************************************************
  880. COLORPT:
  881. DC.W    $0160,$0208,$02b0,$0358,$0400,$04a8,$0550,$05f8
  882. DC.W    $06a0,$0748,$07f0,$0898,$0940,$09e8,$0a90,$0b38
  883. BORDERS:
  884. DC.W    $0000,$0000,$8000,$0000,$c000,$0000,$e000,$0000
  885. DC.W    $f000,$0000,$f800,$0000,$fc00,$0000,$fe00,$0000
  886. DC.W    $ff00,$0000,$ff80,$0000,$ffc0,$0000,$ffe0,$0000
  887. DC.W    $fff0,$0000,$fff8,$0000,$fffc,$0000,$fffe,$0000
  888. DC.W    $ffff,$0000,$fFFf,$8000,$ffff,$c000,$ffff,$e000
  889. DC.W    $ffff,$f000,$ffff,$f800,$ffff,$fc00,$ffff,$fe00
  890. DC.W    $ffff,$ff00,$ffff,$ff80,$ffff,$ffc0,$ffff,$ffe0
  891. DC.W    $ffff,$fff0,$ffff,$fff8,$ffff,$fffc,$ffff,$fffe
  892. DC.W    $7fff,$ffff,$3fff,$ffff,$1fff,$ffff,$0fff,$ffff
  893. DC.W    $07ff,$ffff,$03ff,$ffff,$01ff,$ffff,$00ff,$ffff
  894. DC.W    $007f,$ffff,$003f,$ffff,$001f,$ffff,$000f,$ffff
  895. DC.W    $0007,$ffff,$0003,$ffff,$0001,$ffff,$0000,$ffff
  896. DC.W    $0000,$7fff,$0000,$3fff,$0000,$1fff,$0000,$0fff
  897. DC.W    $0000,$07ff,$0000,$03ff,$0000,$01ff,$0000,$00ff
  898. DC.W    $0000,$007f,$0000,$003f,$0000,$001f,$0000,$000f
  899. DC.W    $0000,$0007,$0000,$0003,$0000,$0001,$0000,$0000
  900. DC.W    $0000,$8000,$c000,$e000,$f000,$f800,$fc00,$fe00
  901. DC.W    $ff00,$ff80,$ffc0,$ffe0,$fff0,$fff8,$fffc,$fffe
  902. DC.W    $7fff,$3fff,$1fff,$0fff,$07ff,$03ff,$01ff,$00ff
  903. DC.W    $007f,$003f,$001f,$000f,$0007,$0003,$0001,$0000
  904. ;**********************************************************
  905.             bpl.s   SF40
  906.             or.l    D4,D5
  907.             and.l   D5,(A3)
  908.             and.l   D5,BITMAP1(A3)
  909.             and.l   D5,BITMAP2(A3)
  910.             and.l   D5,BITMAP3(A3)
  911.             not.l   D5
  912.             move.w  (A0)+,D2
  913.             bpl.l   SF41
  914.             bra.l   SF32
  915. SF40:     lea     BITMAP1(A3),A4
  916.             lea     BITMAP1(A4),A5
  917.             lea     BITMAP1(A5),A6
  918.             and.l   D4,(A3)+
  919.             and.l   D4,(A4)+
  920.             and.l   D4,(A5)+
  921.             and.l   D4,(A6)+
  922.             not.l   D4
  923.             sub.w   D1,D3
  924.             bmi.s   SF42
  925.             move.l  D6,(A3)+
  926.             move.l  D6,(A4)+
  927.             move.l  D6,(A5)+
  928.             move.l  D6,(A6)+
  929.             sub.w   D1,D3
  930.             bmi.s   SF42
  931.             move.l  D6,(A3)+
  932.             move.l  D6,(A4)+
  933.             move.l  D6,(A5)+
  934.             move.l  D6,(A6)+
  935.             sub.w   D1,D3
  936.             bmi.s   SF42
  937.             move.l  D6,(A3)+
  938.             move.l  D6,(A4)+
  939.             move.l  D6,(A5)+
  940.             move.l  D6,(A6)+
  941.             sub.w   D1,D3
  942.             bmi.s   SF42
  943.             move.l  D6,(A3)+
  944.             move.l  D6,(A4)+
  945.             move.l  D6,(A5)+
  946.             move.l  D6,(A6)+
  947.             sub.w   D1,D3
  948.             bmi.s   SF42
  949.             move.l  D6,(A3)+
  950.             move.l  D6,(A4)+
  951.             move.l  D6,(A5)+
  952.             move.l  D6,(A6)+
  953.             sub.w   D1,D3
  954.             bmi.s   SF42
  955.             move.l  D6,(A3)+
  956.             move.l  D6,(A4)+
  957.             move.l  D6,(A5)+
  958.             move.l  D6,(A6)+
  959.             sub.w   D1,D3
  960.             bmi.s   SF42
  961.             move.l  D6,(A3)+
  962.             move.l  D6,(A4)+
  963.             move.l  D6,(A5)+
  964.             move.l  D6,(A6)+
  965.             sub.w   D1,D3
  966.             bmi.s   SF42
  967.             move.l  D6,(A3)+
  968.             move.l  D6,(A4)+
  969.             move.l  D6,(A5)+
  970.             move.l  D6,(A6)+
  971. SF42:     and.l   D5,(A3)+
  972.             and.l   D5,(A4)+
  973.             and.l   D5,(A5)+
  974.             and.l   D5,(A6)+
  975.             not.l   D5
  976.             move.w  (A0)+,D2
  977.             bpl.l   SF41
  978.             bra.l   SF32
  979.             bpl.s   SF43
  980.             or.l    D4,D5
  981.             and.l   D5,BITMAP1(A3)
  982.             and.l   D5,BITMAP2(A3)
  983.             and.l   D5,BITMAP3(A3)
  984.             not.l   D5
  985.             or.l    D5,(A3)
  986.             move.w  (A0)+,D2
  987.             bpl.l   SF41
  988.             bra.l   SF32
  989. SF43:     lea     BITMAP1(A3),A4
  990.             lea     BITMAP1(A4),A5
  991.             lea     BITMAP1(A5),A6
  992.             and.l   D4,(A4)+
  993.             and.l   D4,(A5)+
  994.             and.l   D4,(A6)+
  995.             not.l   D4
  996.             or.l    D4,(A3)+
  997.             sub.w   D1,D3
  998.             bmi.s   SF44
  999.             move.l  D7,(A3)+
  1000.             move.l  D6,(A4)+
  1001.             move.l  D6,(A5)+
  1002.             move.l  D6,(A6)+
  1003.             sub.w   D1,D3
  1004.             bmi.s   SF44
  1005.             move.l  D7,(A3)+
  1006.             move.l  D6,(A4)+
  1007.             move.l  D6,(A5)+
  1008.             move.l  D6,(A6)+
  1009.             sub.w   D1,D3
  1010.             bmi.s   SF44
  1011.             move.l  D7,(A3)+
  1012.             move.l  D6,(A4)+
  1013.             move.l  D6,(A5)+
  1014.             move.l  D6,(A6)+
  1015.             sub.w   D1,D3
  1016.             bmi.s   SF44
  1017.             move.l  D7,(A3)+
  1018.             move.l  D6,(A4)+
  1019.             move.l  D6,(A5)+
  1020.             move.l  D6,(A6)+
  1021.             sub.w   D1,D3
  1022.             bmi.s   SF44
  1023.             move.l  D7,(A3)+
  1024.             move.l  D6,(A4)+
  1025.             move.l  D6,(A5)+
  1026.             move.l  D6,(A6)+
  1027.             sub.w   D1,D3
  1028.             bmi.s   SF44
  1029.             move.l  D7,(A3)+
  1030.             move.l  D6,(A4)+
  1031.             move.l  D6,(A5)+
  1032.             move.l  D6,(A6)+
  1033.             sub.w   D1,D3
  1034.             bmi.s   SF44
  1035.             move.l  D7,(A3)+
  1036.             move.l  D6,(A4)+
  1037.             move.l  D6,(A5)+
  1038.             move.l  D6,(A6)+
  1039.             sub.w   D1,D3
  1040.             bmi.s   SF44
  1041.             move.l  D7,(A3)+
  1042.             move.l  D6,(A4)+
  1043.             move.l  D6,(A5)+
  1044.             move.l  D6,(A6)+
  1045. SF44:     and.l   D5,(A4)+
  1046.             and.l   D5,(A5)+
  1047.             and.l   D5,(A6)+
  1048.             not.l   D5
  1049.             or.l    D5,(A3)+
  1050.             move.w  (A0)+,D2
  1051.             bpl.l   SF41
  1052.             bra.l   SF32
  1053.             bpl.s   SF45
  1054.             or.l    D4,D5
  1055.             and.l   D5,(A3)
  1056.             and.l   D5,BITMAP2(A3)
  1057.             and.l   D5,BITMAP3(A3)
  1058.             not.l   D5
  1059.             or.l    D5,BITMAP1(A3)
  1060.             move.w  (A0)+,D2
  1061.             bpl.l   SF41
  1062.             bra.l   SF32
  1063. SF45:     lea     BITMAP1(A3),A4
  1064.             lea     BITMAP1(A4),A5
  1065.             lea     BITMAP1(A5),A6
  1066.             and.l   D4,(A3)+
  1067.             and.l   D4,(A5)+
  1068.             and.l   D4,(A6)+
  1069.             not.l   D4
  1070.             or.l    D4,(A4)+
  1071.             sub.w   D1,D3
  1072.             bmi.s   SF46
  1073.             move.l  D6,(A3)+
  1074.             move.l  D7,(A4)+
  1075.             move.l  D6,(A5)+
  1076.             move.l  D6,(A6)+
  1077.             sub.w   D1,D3
  1078.             bmi.s   SF46
  1079.             move.l  D6,(A3)+
  1080.             move.l  D7,(A4)+
  1081.             move.l  D6,(A5)+
  1082.             move.l  D6,(A6)+
  1083.             sub.w   D1,D3
  1084.             bmi.s   SF46
  1085.             move.l  D6,(A3)+
  1086.             move.l  D7,(A4)+
  1087.             move.l  D6,(A5)+
  1088.             move.l  D6,(A6)+
  1089.             sub.w   D1,D3
  1090.             bmi.s   SF46
  1091.             move.l  D6,(A3)+
  1092.             move.l  D7,(A4)+
  1093.             move.l  D6,(A5)+
  1094.             move.l  D6,(A6)+
  1095.             sub.w   D1,D3
  1096.             bmi.s   SF46
  1097.             move.l  D6,(A3)+
  1098.             move.l  D7,(A4)+
  1099.             move.l  D6,(A5)+
  1100.             move.l  D6,(A6)+
  1101.             sub.w   D1,D3
  1102.             bmi.s   SF46
  1103.             move.l  D6,(A3)+
  1104.             move.l  D7,(A4)+
  1105.             move.l  D6,(A5)+
  1106.             move.l  D6,(A6)+
  1107.             sub.w   D1,D3
  1108.             bmi.s   SF46
  1109.             move.l  D6,(A3)+
  1110.             move.l  D7,(A4)+
  1111.             move.l  D6,(A5)+
  1112.             move.l  D6,(A6)+
  1113.             sub.w   D1,D3
  1114.             bmi.s   SF46
  1115.             move.l  D6,(A3)+
  1116.             move.l  D7,(A4)+
  1117.             move.l  D6,(A5)+
  1118.             move.l  D6,(A6)+
  1119. SF46:     and.l   D5,(A3)+
  1120.             and.l   D5,(A5)+
  1121.             and.l   D5,(A6)+
  1122.             not.l   D5
  1123.             or.l    D5,(A4)+
  1124.             move.w  (A0)+,D2
  1125.             bpl.l   SF41
  1126.             bra.l   SF32
  1127.             bpl.s   SF47
  1128.             or.l    D4,D5
  1129.             and.l   D5,BITMAP2(A3)
  1130.             and.l   D5,BITMAP3(A3)
  1131.             not.l   D5
  1132.             or.l    D5,(A3)
  1133.             or.l    D5,BITMAP1(A3)
  1134.             move.w  (A0)+,D2
  1135.             bpl.l   SF41
  1136.             bra.l   SF32
  1137. SF47:     lea     BITMAP1(A3),A4
  1138.             lea     BITMAP1(A4),A5
  1139.             lea     BITMAP1(A5),A6
  1140.             and.l   D4,(A5)+
  1141.             and.l   D4,(A6)+
  1142.             not.l   D4
  1143.             or.l    D4,(A3)+
  1144.             or.l    D4,(A4)+
  1145.             sub.w   D1,D3
  1146.             bmi.s   SF48
  1147.             move.l  D7,(A3)+
  1148.             move.l  D7,(A4)+
  1149.             move.l  D6,(A5)+
  1150.             move.l  D6,(A6)+
  1151.             sub.w   D1,D3
  1152.             bmi.s   SF48
  1153.             move.l  D7,(A3)+
  1154.             move.l  D7,(A4)+
  1155.             move.l  D6,(A5)+
  1156.             move.l  D6,(A6)+
  1157.             sub.w   D1,D3
  1158.             bmi.s   SF48
  1159.             move.l  D7,(A3)+
  1160.             move.l  D7,(A4)+
  1161.             move.l  D6,(A5)+
  1162.             move.l  D6,(A6)+
  1163.             sub.w   D1,D3
  1164.             bmi.s   SF48
  1165.             move.l  D7,(A3)+
  1166.             move.l  D7,(A4)+
  1167.             move.l  D6,(A5)+
  1168.             move.l  D6,(A6)+
  1169.             sub.w   D1,D3
  1170.             bmi.s   SF48
  1171.             move.l  D7,(A3)+
  1172.             move.l  D7,(A4)+
  1173.             move.l  D6,(A5)+
  1174.             move.l  D6,(A6)+
  1175.             sub.w   D1,D3
  1176.             bmi.s   SF48
  1177.             move.l  D7,(A3)+
  1178.             move.l  D7,(A4)+
  1179.             move.l  D6,(A5)+
  1180.             move.l  D6,(A6)+
  1181.             sub.w   D1,D3
  1182.             bmi.s   SF48
  1183.             move.l  D7,(A3)+
  1184.             move.l  D7,(A4)+
  1185.             move.l  D6,(A5)+
  1186.             move.l  D6,(A6)+
  1187.             sub.w   D1,D3
  1188.             bmi.s   SF48
  1189.             move.l  D7,(A3)+
  1190.             move.l  D7,(A4)+
  1191.             move.l  D6,(A5)+
  1192.             move.l  D6,(A6)+
  1193. SF48:     and.l   D5,(A5)+
  1194.             and.l   D5,(A6)+
  1195.             not.l   D5
  1196.             or.l    D5,(A3)+
  1197.             or.l    D5,(A4)+
  1198.             move.w  (A0)+,D2
  1199.             bpl.l   SF41
  1200.             bra.l   SF32
  1201.             bpl.s   SF49
  1202.             or.l    D4,D5
  1203.             and.l   D5,(A3)
  1204.             and.l   D5,BITMAP1(A3)
  1205.             and.l   D5,BITMAP3(A3)
  1206.             not.l   D5
  1207.             or.l    D5,BITMAP2(A3)
  1208.             move.w  (A0)+,D2
  1209.             bpl.l   SF41
  1210.             bra.l   SF32
  1211. SF49:     lea     BITMAP1(A3),A4
  1212.             lea     BITMAP1(A4),A5
  1213.             lea     BITMAP1(A5),A6
  1214.             and.l   D4,(A3)+
  1215.             and.l   D4,(A4)+
  1216.             and.l   D4,(A6)+
  1217.             not.l   D4
  1218.             or.l    D4,(A5)+
  1219.             sub.w   D1,D3
  1220.             bmi.s   SF50
  1221.             move.l  D6,(A3)+
  1222.             move.l  D6,(A4)+
  1223.             move.l  D7,(A5)+
  1224.             move.l  D6,(A6)+
  1225.             sub.w   D1,D3
  1226.             bmi.s   SF50
  1227.             move.l  D6,(A3)+
  1228.             move.l  D6,(A4)+
  1229.             move.l  D7,(A5)+
  1230.             move.l  D6,(A6)+
  1231.             sub.w   D1,D3
  1232.             bmi.s   SF50
  1233.             move.l  D6,(A3)+
  1234.             move.l  D6,(A4)+
  1235.             move.l  D7,(A5)+
  1236.             move.l  D6,(A6)+
  1237.             sub.w   D1,D3
  1238.             bmi.s   SF50
  1239.             move.l  D6,(A3)+
  1240.             move.l  D6,(A4)+
  1241.             move.l  D7,(A5)+
  1242.             move.l  D6,(A6)+
  1243.             sub.w   D1,D3
  1244.             bmi.s   SF50
  1245.             move.l  D6,(A3)+
  1246.             move.l  D6,(A4)+
  1247.             move.l  D7,(A5)+
  1248.             move.l  D6,(A6)+
  1249.             sub.w   D1,D3
  1250.             bmi.s   SF50
  1251.             move.l  D6,(A3)+
  1252.             move.l  D6,(A4)+
  1253.             move.l  D7,(A5)+
  1254.             move.l  D6,(A6)+
  1255.             sub.w   D1,D3
  1256.             bmi.s   SF50
  1257.             move.l  D6,(A3)+
  1258.             move.l  D6,(A4)+
  1259.             move.l  D7,(A5)+
  1260.             move.l  D6,(A6)+
  1261.             sub.w   D1,D3
  1262.             bmi.s   SF50
  1263.             move.l  D6,(A3)+
  1264.             move.l  D6,(A4)+
  1265.             move.l  D7,(A5)+
  1266.             move.l  D6,(A6)+
  1267. SF50:     and.l   D5,(A3)+
  1268.             and.l   D5,(A4)+
  1269.             and.l   D5,(A6)+
  1270.             not.l   D5
  1271.             or.l    D5,(A5)+
  1272.             move.w  (A0)+,D2
  1273.             bpl.l   SF41
  1274.             bra.l   SF32
  1275.             bpl.s   SF51
  1276.             or.l    D4,D5
  1277.             and.l   D5,BITMAP1(A3)
  1278.             and.l   D5,BITMAP3(A3)
  1279.             not.l   D5
  1280.             or.l    D5,(A3)
  1281.             or.l    D5,BITMAP2(A3)
  1282.             move.w  (A0)+,D2
  1283.             bpl.l   SF41
  1284.             bra.l   SF32
  1285. SF51:     lea     BITMAP1(A3),A4
  1286.             lea     BITMAP1(A4),A5
  1287.             lea     BITMAP1(A5),A6
  1288.             and.l   D4,(A4)+
  1289.             and.l   D4,(A6)+
  1290.             not.l   D4
  1291.             or.l    D4,(A3)+
  1292.             or.l    D4,(A5)+
  1293.             sub.w   D1,D3
  1294.             bmi.s   SF52
  1295.             move.l  D7,(A3)+
  1296.             move.l  D6,(A4)+
  1297.             move.l  D7,(A5)+
  1298.             move.l  D6,(A6)+
  1299.             sub.w   D1,D3
  1300.             bmi.s   SF52
  1301.             move.l  D7,(A3)+
  1302.             move.l  D6,(A4)+
  1303.             move.l  D7,(A5)+
  1304.             move.l  D6,(A6)+
  1305.             sub.w   D1,D3
  1306.             bmi.s   SF52
  1307.             move.l  D7,(A3)+
  1308.             move.l  D6,(A4)+
  1309.             move.l  D7,(A5)+
  1310.             move.l  D6,(A6)+
  1311.             sub.w   D1,D3
  1312.             bmi.s   SF52
  1313.             move.l  D7,(A3)+
  1314.             move.l  D6,(A4)+
  1315.             move.l  D7,(A5)+
  1316.             move.l  D6,(A6)+
  1317.             sub.w   D1,D3
  1318.             bmi.s   SF52
  1319.             move.l  D7,(A3)+
  1320.             move.l  D6,(A4)+
  1321.             move.l  D7,(A5)+
  1322.             move.l  D6,(A6)+
  1323.             sub.w   D1,D3
  1324.             bmi.s   SF52
  1325.             move.l  D7,(A3)+
  1326.             move.l  D6,(A4)+
  1327.             move.l  D7,(A5)+
  1328.             move.l  D6,(A6)+
  1329.             sub.w   D1,D3
  1330.             bmi.s   SF52
  1331.             move.l  D7,(A3)+
  1332.             move.l  D6,(A4)+
  1333.             move.l  D7,(A5)+
  1334.             move.l  D6,(A6)+
  1335.             sub.w   D1,D3
  1336.             bmi.s   SF52
  1337.             move.l  D7,(A3)+
  1338.             move.l  D6,(A4)+
  1339.             move.l  D7,(A5)+
  1340.             move.l  D6,(A6)+
  1341. SF52:     and.l   D5,(A4)+
  1342.             and.l   D5,(A6)+
  1343.             not.l   D5
  1344.             or.l    D5,(A3)+
  1345.             or.l    D5,(A5)+
  1346.             move.w  (A0)+,D2
  1347.             bpl.l   SF41
  1348.             bra.l   SF32
  1349.             bpl.s   SF53
  1350.             or.l    D4,D5
  1351.             and.l   D5,(A3)
  1352.             and.l   D5,BITMAP3(A3)
  1353.             not.l   D5
  1354.             or.l    D5,BITMAP1(A3)
  1355.             or.l    D5,BITMAP2(A3)
  1356.             move.w  (A0)+,D2
  1357.             bpl.l   SF41
  1358.             bra.l   SF32
  1359. SF53:     lea     BITMAP1(A3),A4
  1360.             lea     BITMAP1(A4),A5
  1361.             lea     BITMAP1(A5),A6
  1362.             and.l   D4,(A3)+
  1363.             and.l   D4,(A6)+
  1364.             not.l   D4
  1365.             or.l    D4,(A4)+
  1366.             or.l    D4,(A5)+
  1367.             sub.w   D1,D3
  1368.             bmi.s   SF54
  1369.             move.l  D6,(A3)+
  1370.             move.l  D7,(A4)+
  1371.             move.l  D7,(A5)+
  1372.             move.l  D6,(A6)+
  1373.             sub.w   D1,D3
  1374.             bmi.s   SF54
  1375.             move.l  D6,(A3)+
  1376.             move.l  D7,(A4)+
  1377.             move.l  D7,(A5)+
  1378.             move.l  D6,(A6)+
  1379.             sub.w   D1,D3
  1380.             bmi.s   SF54
  1381.             move.l  D6,(A3)+
  1382.             move.l  D7,(A4)+
  1383.             move.l  D7,(A5)+
  1384.             move.l  D6,(A6)+
  1385.             sub.w   D1,D3
  1386.             bmi.s   SF54
  1387.             move.l  D6,(A3)+
  1388.             move.l  D7,(A4)+
  1389.             move.l  D7,(A5)+
  1390.             move.l  D6,(A6)+
  1391.             sub.w   D1,D3
  1392.             bmi.s   SF54
  1393.             move.l  D6,(A3)+
  1394.             move.l  D7,(A4)+
  1395.             move.l  D7,(A5)+
  1396.             move.l  D6,(A6)+
  1397.             sub.w   D1,D3
  1398.             bmi.s   SF54
  1399.             move.l  D6,(A3)+
  1400.             move.l  D7,(A4)+
  1401.             move.l  D7,(A5)+
  1402.             move.l  D6,(A6)+
  1403.             sub.w   D1,D3
  1404.             bmi.s   SF54
  1405.             move.l  D6,(A3)+
  1406.             move.l  D7,(A4)+
  1407.             move.l  D7,(A5)+
  1408.             move.l  D6,(A6)+
  1409.             sub.w   D1,D3
  1410.             bmi.s   SF54
  1411.             move.l  D6,(A3)+
  1412.             move.l  D7,(A4)+
  1413.             move.l  D7,(A5)+
  1414.             move.l  D6,(A6)+
  1415. SF54:     and.l   D5,(A3)+
  1416.             and.l   D5,(A6)+
  1417.             not.l   D5
  1418.             or.l    D5,(A4)+
  1419.             or.l    D5,(A5)+
  1420.             move.w  (A0)+,D2
  1421.             bpl.l   SF41
  1422.             bra.l   SF32
  1423.             bpl.s   SF55
  1424.             or.l    D4,D5
  1425.             and.l   D5,BITMAP3(A3)
  1426.             not.l   D5
  1427.             or.l    D5,(A3)
  1428.             or.l    D5,BITMAP1(A3)
  1429.             or.l    D5,BITMAP2(A3)
  1430.             move.w  (A0)+,D2
  1431.             bpl.l   SF41
  1432.             bra.l   SF32
  1433. SF55:     lea     BITMAP1(A3),A4
  1434.             lea     BITMAP1(A4),A5
  1435.             lea     BITMAP1(A5),A6
  1436.             and.l   D4,(A6)+
  1437.             not.l   D4
  1438.             or.l    D4,(A3)+
  1439.             or.l    D4,(A4)+
  1440.             or.l    D4,(A5)+
  1441.             sub.w   D1,D3
  1442.             bmi.s   SF56
  1443.             move.l  D7,(A3)+
  1444.             move.l  D7,(A4)+
  1445.             move.l  D7,(A5)+
  1446.             move.l  D6,(A6)+
  1447.             sub.w   D1,D3
  1448.             bmi.s   SF56
  1449.             move.l  D7,(A3)+
  1450.             move.l  D7,(A4)+
  1451.             move.l  D7,(A5)+
  1452.             move.l  D6,(A6)+
  1453.             sub.w   D1,D3
  1454.             bmi.s   SF56
  1455.             move.l  D7,(A3)+
  1456.             move.l  D7,(A4)+
  1457.             move.l  D7,(A5)+
  1458.             move.l  D6,(A6)+
  1459.             sub.w   D1,D3
  1460.             bmi.s   SF56
  1461.             move.l  D7,(A3)+
  1462.             move.l  D7,(A4)+
  1463.             move.l  D7,(A5)+
  1464.             move.l  D6,(A6)+
  1465.             sub.w   D1,D3
  1466.             bmi.s   SF56
  1467.             move.l  D7,(A3)+
  1468.             move.l  D7,(A4)+
  1469.             move.l  D7,(A5)+
  1470.             move.l  D6,(A6)+
  1471.             sub.w   D1,D3
  1472.             bmi.s   SF56
  1473.             move.l  D7,(A3)+
  1474.             move.l  D7,(A4)+
  1475.             move.l  D7,(A5)+
  1476.             move.l  D6,(A6)+
  1477.             sub.w   D1,D3
  1478.             bmi.s   SF56
  1479.             move.l  D7,(A3)+
  1480.             move.l  D7,(A4)+
  1481.             move.l  D7,(A5)+
  1482.             move.l  D6,(A6)+
  1483.             sub.w   D1,D3
  1484.             bmi.s   SF56
  1485.             move.l  D7,(A3)+
  1486.             move.l  D7,(A4)+
  1487.             move.l  D7,(A5)+
  1488.             move.l  D6,(A6)+
  1489. SF56:     and.l   D5,(A6)+
  1490.             not.l   D5
  1491.             or.l    D5,(A3)+
  1492.             or.l    D5,(A4)+
  1493.             or.l    D5,(A5)+
  1494.             move.w  (A0)+,D2
  1495.             bpl.l   SF41
  1496.             bra.l   SF32
  1497.             bpl.s   SF57
  1498.             or.l    D4,D5
  1499.             and.l   D5,(A3)
  1500.             and.l   D5,BITMAP1(A3)
  1501.             and.l   D5,BITMAP2(A3)
  1502.             not.l   D5
  1503.             or.l    D5,BITMAP3(A3)
  1504.             move.w  (A0)+,D2
  1505.             bpl.l   SF41
  1506.             bra.l   SF32
  1507. SF57:     lea     BITMAP1(A3),A4
  1508.             lea     BITMAP1(A4),A5
  1509.             lea     BITMAP1(A5),A6
  1510.             and.l   D4,(A3)+
  1511.             and.l   D4,(A4)+
  1512.             and.l   D4,(A5)+
  1513.             not.l   D4
  1514.             or.l    D4,(A6)+
  1515.             sub.w   D1,D3
  1516.             bmi.s   SF58
  1517.             move.l  D6,(A3)+
  1518.             move.l  D6,(A4)+
  1519.             move.l  D6,(A5)+
  1520.             move.l  D7,(A6)+
  1521.             sub.w   D1,D3
  1522.             bmi.s   SF58
  1523.             move.l  D6,(A3)+
  1524.             move.l  D6,(A4)+
  1525.             move.l  D6,(A5)+
  1526.             move.l  D7,(A6)+
  1527.             sub.w   D1,D3
  1528.             bmi.s   SF58
  1529.             move.l  D6,(A3)+
  1530.             move.l  D6,(A4)+
  1531.             move.l  D6,(A5)+
  1532.             move.l  D7,(A6)+
  1533.             sub.w   D1,D3
  1534.             bmi.s   SF58
  1535.             move.l  D6,(A3)+
  1536.             move.l  D6,(A4)+
  1537.             move.l  D6,(A5)+
  1538.             move.l  D7,(A6)+
  1539.             sub.w   D1,D3
  1540.             bmi.s   SF58
  1541.             move.l  D6,(A3)+
  1542.             move.l  D6,(A4)+
  1543.             move.l  D6,(A5)+
  1544.             move.l  D7,(A6)+
  1545.             sub.w   D1,D3
  1546.             bmi.s   SF58
  1547.             move.l  D6,(A3)+
  1548.             move.l  D6,(A4)+
  1549.             move.l  D6,(A5)+
  1550.             move.l  D7,(A6)+
  1551.             sub.w   D1,D3
  1552.             bmi.s   SF58
  1553.             move.l  D6,(A3)+
  1554.             move.l  D6,(A4)+
  1555.             move.l  D6,(A5)+
  1556.             move.l  D7,(A6)+
  1557.             sub.w   D1,D3
  1558.             bmi.s   SF58
  1559.             move.l  D6,(A3)+
  1560.             move.l  D6,(A4)+
  1561.             move.l  D6,(A5)+
  1562.             move.l  D7,(A6)+
  1563. SF58:     and.l   D5,(A3)+
  1564.             and.l   D5,(A4)+
  1565.             and.l   D5,(A5)+
  1566.             not.l   D5
  1567.             or.l    D5,(A6)+
  1568.             move.w  (A0)+,D2
  1569.             bpl.l   SF41
  1570.             bra.l   SF32
  1571.             bpl.s   SF59
  1572.             or.l    D4,D5
  1573.             and.l   D5,BITMAP1(A3)
  1574.             and.l   D5,BITMAP2(A3)
  1575.             not.l   D5
  1576.             or.l    D5,(A3)
  1577.             or.l    D5,BITMAP3(A3)
  1578.             move.w  (A0)+,D2
  1579.             bpl.l   SF41
  1580.             bra.l   SF32
  1581. SF59:     lea     BITMAP1(A3),A4
  1582.             lea     BITMAP1(A4),A5
  1583.             lea     BITMAP1(A5),A6
  1584.             and.l   D4,(A4)+
  1585.             and.l   D4,(A5)+
  1586.             not.l   D4
  1587.             or.l    D4,(A3)+
  1588.             or.l    D4,(A6)+
  1589.             sub.w   D1,D3
  1590.             bmi.s   SF60
  1591.             move.l  D7,(A3)+
  1592.             move.l  D6,(A4)+
  1593.             move.l  D6,(A5)+
  1594.             move.l  D7,(A6)+
  1595.             sub.w   D1,D3
  1596.             bmi.s   SF60
  1597.             move.l  D7,(A3)+
  1598.             move.l  D6,(A4)+
  1599.             move.l  D6,(A5)+
  1600.             move.l  D7,(A6)+
  1601.             sub.w   D1,D3
  1602.             bmi.s   SF60
  1603.             move.l  D7,(A3)+
  1604.             move.l  D6,(A4)+
  1605.             move.l  D6,(A5)+
  1606.             move.l  D7,(A6)+
  1607.             sub.w   D1,D3
  1608.             bmi.s   SF60
  1609.             move.l  D7,(A3)+
  1610.             move.l  D6,(A4)+
  1611.             move.l  D6,(A5)+
  1612.             move.l  D7,(A6)+
  1613.             sub.w   D1,D3
  1614.             bmi.s   SF60
  1615.             move.l  D7,(A3)+
  1616.             move.l  D6,(A4)+
  1617.             move.l  D6,(A5)+
  1618.             move.l  D7,(A6)+
  1619.             sub.w   D1,D3
  1620.             bmi.s   SF60
  1621.             move.l  D7,(A3)+
  1622.             move.l  D6,(A4)+
  1623.             move.l  D6,(A5)+
  1624.             move.l  D7,(A6)+
  1625.             sub.w   D1,D3
  1626.             bmi.s   SF60
  1627.             move.l  D7,(A3)+
  1628.             move.l  D6,(A4)+
  1629.             move.l  D6,(A5)+
  1630.             move.l  D7,(A6)+
  1631.             sub.w   D1,D3
  1632.             bmi.s   SF60
  1633.             move.l  D7,(A3)+
  1634.             move.l  D6,(A4)+
  1635.             move.l  D6,(A5)+
  1636.             move.l  D7,(A6)+
  1637. SF60:     and.l   D5,(A4)+
  1638.             and.l   D5,(A5)+
  1639.             not.l   D5
  1640.             or.l    D5,(A3)+
  1641.             or.l    D5,(A6)+
  1642.             move.w  (A0)+,D2
  1643.             bpl.l   SF41
  1644.             bra.l   SF32
  1645.             bpl.s   SF61
  1646.             or.l    D4,D5
  1647.             and.l   D5,(A3)
  1648.             and.l   D5,BITMAP2(A3)
  1649.             not.l   D5
  1650.             or.l    D5,BITMAP1(A3)
  1651.             or.l    D5,BITMAP3(A3)
  1652.             move.w  (A0)+,D2
  1653.             bpl.l   SF41
  1654.             bra.l   SF32
  1655. SF61:     lea     BITMAP1(A3),A4
  1656.             lea     BITMAP1(A4),A5
  1657.             lea     BITMAP1(A5),A6
  1658.             and.l   D4,(A3)+
  1659.             and.l   D4,(A5)+
  1660.             not.l   D4
  1661.             or.l    D4,(A4)+
  1662.             or.l    D4,(A6)+
  1663.             sub.w   D1,D3
  1664.             bmi.s   SF62
  1665.             move.l  D6,(A3)+
  1666.             move.l  D7,(A4)+
  1667.             move.l  D6,(A5)+
  1668.             move.l  D7,(A6)+
  1669.             sub.w   D1,D3
  1670.             bmi.s   SF62
  1671.             move.l  D6,(A3)+
  1672.             move.l  D7,(A4)+
  1673.             move.l  D6,(A5)+
  1674.             move.l  D7,(A6)+
  1675.             sub.w   D1,D3
  1676.             bmi.s   SF62
  1677.             move.l  D6,(A3)+
  1678.             move.l  D7,(A4)+
  1679.             move.l  D6,(A5)+
  1680.             move.l  D7,(A6)+
  1681.             sub.w   D1,D3
  1682.             bmi.s   SF62
  1683.             move.l  D6,(A3)+
  1684.             move.l  D7,(A4)+
  1685.             move.l  D6,(A5)+
  1686.             move.l  D7,(A6)+
  1687.             sub.w   D1,D3
  1688.             bmi.s   SF62
  1689.             move.l  D6,(A3)+
  1690.             move.l  D7,(A4)+
  1691.             move.l  D6,(A5)+
  1692.             move.l  D7,(A6)+
  1693.             sub.w   D1,D3
  1694.             bmi.s   SF62
  1695.             move.l  D6,(A3)+
  1696.             move.l  D7,(A4)+
  1697.             move.l  D6,(A5)+
  1698.             move.l  D7,(A6)+
  1699.             sub.w   D1,D3
  1700.             bmi.s   SF62
  1701.             move.l  D6,(A3)+
  1702.             move.l  D7,(A4)+
  1703.             move.l  D6,(A5)+
  1704.             move.l  D7,(A6)+
  1705.             sub.w   D1,D3
  1706.             bmi.s   SF62
  1707.             move.l  D6,(A3)+
  1708.             move.l  D7,(A4)+
  1709.             move.l  D6,(A5)+
  1710.             move.l  D7,(A6)+
  1711. SF62:     and.l   D5,(A3)+
  1712.             and.l   D5,(A5)+
  1713.             not.l   D5
  1714.             or.l    D5,(A4)+
  1715.             or.l    D5,(A6)+
  1716.             move.w  (A0)+,D2
  1717.             bpl.l   SF41
  1718.             bra.l   SF32
  1719.             bpl.s   SF63
  1720.             or.l    D4,D5
  1721.             and.l   D5,BITMAP2(A3)
  1722.             not.l   D5
  1723.             or.l    D5,(A3)
  1724.             or.l    D5,BITMAP1(A3)
  1725.             or.l    D5,BITMAP3(A3)
  1726.             move.w  (A0)+,D2
  1727.             bpl.l   SF41
  1728.             bra.l   SF32
  1729. SF63:     lea     BITMAP1(A3),A4
  1730.             lea     BITMAP1(A4),A5
  1731.             lea     BITMAP1(A5),A6
  1732.             and.l   D4,(A5)+
  1733.             not.l   D4
  1734.             or.l    D4,(A3)+
  1735.             or.l    D4,(A4)+
  1736.             or.l    D4,(A6)+
  1737.             sub.w   D1,D3
  1738.             bmi.s   SF64
  1739.             move.l  D7,(A3)+
  1740.             move.l  D7,(A4)+
  1741.             move.l  D6,(A5)+
  1742.             move.l  D7,(A6)+
  1743.             sub.w   D1,D3
  1744.             bmi.s   SF64
  1745.             move.l  D7,(A3)+
  1746.             move.l  D7,(A4)+
  1747.             move.l  D6,(A5)+
  1748.             move.l  D7,(A6)+
  1749.             sub.w   D1,D3
  1750.             bmi.s   SF64
  1751.             move.l  D7,(A3)+
  1752.             move.l  D7,(A4)+
  1753.             move.l  D6,(A5)+
  1754.             move.l  D7,(A6)+
  1755.             sub.w   D1,D3
  1756.             bmi.s   SF64
  1757.             move.l  D7,(A3)+
  1758.             move.l  D7,(A4)+
  1759.             move.l  D6,(A5)+
  1760.             move.l  D7,(A6)+
  1761.             sub.w   D1,D3
  1762.             bmi.s   SF64
  1763.             move.l  D7,(A3)+
  1764.             move.l  D7,(A4)+
  1765.             move.l  D6,(A5)+
  1766.             move.l  D7,(A6)+
  1767.             sub.w   D1,D3
  1768.             bmi.s   SF64
  1769.             move.l  D7,(A3)+
  1770.             move.l  D7,(A4)+
  1771.             move.l  D6,(A5)+
  1772.             move.l  D7,(A6)+
  1773.             sub.w   D1,D3
  1774.             bmi.s   SF64
  1775.             move.l  D7,(A3)+
  1776.             move.l  D7,(A4)+
  1777.             move.l  D6,(A5)+
  1778.             move.l  D7,(A6)+
  1779.             sub.w   D1,D3
  1780.             bmi.s   SF64
  1781.             move.l  D7,(A3)+
  1782.             move.l  D7,(A4)+
  1783.             move.l  D6,(A5)+
  1784.             move.l  D7,(A6)+
  1785. SF64:     and.l   D5,(A5)+
  1786.             not.l   D5
  1787.             or.l    D5,(A3)+
  1788.             or.l    D5,(A4)+
  1789.             or.l    D5,(A6)+
  1790.             move.w  (A0)+,D2
  1791.             bpl.l   SF41
  1792.             bra.l   SF32
  1793.             bpl.s   SF65
  1794.             or.l    D4,D5
  1795.             and.l   D5,(A3)
  1796.             and.l   D5,BITMAP1(A3)
  1797.             not.l   D5
  1798.             or.l    D5,BITMAP2(A3)
  1799.             or.l    D5,BITMAP3(A3)
  1800.             move.w  (A0)+,D2
  1801.             bpl.l   SF41
  1802.             bra.l   SF32
  1803. SF65:     lea     BITMAP1(A3),A4
  1804.             lea     BITMAP1(A4),A5
  1805.             lea     BITMAP1(A5),A6
  1806.             and.l   D4,(A3)+
  1807.             and.l   D4,(A4)+
  1808.             not.l   D4
  1809.             or.l    D4,(A5)+
  1810.             or.l    D4,(A6)+
  1811.             sub.w   D1,D3
  1812.             bmi.s   SF66
  1813.             move.l  D6,(A3)+
  1814.             move.l  D6,(A4)+
  1815.             move.l  D7,(A5)+
  1816.             move.l  D7,(A6)+
  1817.             sub.w   D1,D3
  1818.             bmi.s   SF66
  1819.             move.l  D6,(A3)+
  1820.             move.l  D6,(A4)+
  1821.             move.l  D7,(A5)+
  1822.             move.l  D7,(A6)+
  1823.             sub.w   D1,D3
  1824.             bmi.s   SF66
  1825.             move.l  D6,(A3)+
  1826.             move.l  D6,(A4)+
  1827.             move.l  D7,(A5)+
  1828.             move.l  D7,(A6)+
  1829.             sub.w   D1,D3
  1830.             bmi.s   SF66
  1831.             move.l  D6,(A3)+
  1832.             move.l  D6,(A4)+
  1833.             move.l  D7,(A5)+
  1834.             move.l  D7,(A6)+
  1835.             sub.w   D1,D3
  1836.             bmi.s   SF66
  1837.             move.l  D6,(A3)+
  1838.             move.l  D6,(A4)+
  1839.             move.l  D7,(A5)+
  1840.             move.l  D7,(A6)+
  1841.             sub.w   D1,D3
  1842.             bmi.s   SF66
  1843.             move.l  D6,(A3)+
  1844.             move.l  D6,(A4)+
  1845.             move.l  D7,(A5)+
  1846.             move.l  D7,(A6)+
  1847.             sub.w   D1,D3
  1848.             bmi.s   SF66
  1849.             move.l  D6,(A3)+
  1850.             move.l  D6,(A4)+
  1851.             move.l  D7,(A5)+
  1852.             move.l  D7,(A6)+
  1853.             sub.w   D1,D3
  1854.             bmi.s   SF66
  1855.             move.l  D6,(A3)+
  1856.             move.l  D6,(A4)+
  1857.             move.l  D7,(A5)+
  1858.             move.l  D7,(A6)+
  1859. SF66:     and.l   D5,(A3)+
  1860.             and.l   D5,(A4)+
  1861.             not.l   D5
  1862.             or.l    D5,(A5)+
  1863.             or.l    D5,(A6)+
  1864.             move.w  (A0)+,D2
  1865.             bpl.l   SF41
  1866.             bra.l   SF32
  1867.             bpl.s   SF67
  1868.             or.l    D4,D5
  1869.             and.l   D5,BITMAP1(A3)
  1870.             not.l   D5
  1871.             or.l    D5,(A3)
  1872.             or.l    D5,BITMAP2(A3)
  1873.             or.l    D5,BITMAP3(A3)
  1874.             move.w  (A0)+,D2
  1875.             bpl.l   SF41
  1876.             bra.l   SF32
  1877. SF67:     lea     BITMAP1(A3),A4
  1878.             lea     BITMAP1(A4),A5
  1879.             lea     BITMAP1(A5),A6
  1880.             and.l   D4,(A4)+
  1881.             not.l   D4
  1882.             or.l    D4,(A3)+
  1883.             or.l    D4,(A5)+
  1884.             or.l    D4,(A6)+
  1885.             sub.w   D1,D3
  1886.             bmi.s   SF68
  1887.             move.l  D7,(A3)+
  1888.             move.l  D6,(A4)+
  1889.             move.l  D7,(A5)+
  1890.             move.l  D7,(A6)+
  1891.             sub.w   D1,D3
  1892.             bmi.s   SF68
  1893.             move.l  D7,(A3)+
  1894.             move.l  D6,(A4)+
  1895.             move.l  D7,(A5)+
  1896.             move.l  D7,(A6)+
  1897.             sub.w   D1,D3
  1898.             bmi.s   SF68
  1899.             move.l  D7,(A3)+
  1900.             move.l  D6,(A4)+
  1901.             move.l  D7,(A5)+
  1902.             move.l  D7,(A6)+
  1903.             sub.w   D1,D3
  1904.             bmi.s   SF68
  1905.             move.l  D7,(A3)+
  1906.             move.l  D6,(A4)+
  1907.             move.l  D7,(A5)+
  1908.             move.l  D7,(A6)+
  1909.             sub.w   D1,D3
  1910.             bmi.s   SF68
  1911.             move.l  D7,(A3)+
  1912.             move.l  D6,(A4)+
  1913.             move.l  D7,(A5)+
  1914.             move.l  D7,(A6)+
  1915.             sub.w   D1,D3
  1916.             bmi.s   SF68
  1917.             move.l  D7,(A3)+
  1918.             move.l  D6,(A4)+
  1919.             move.l  D7,(A5)+
  1920.             move.l  D7,(A6)+
  1921.             sub.w   D1,D3
  1922.             bmi.s   SF68
  1923.             move.l  D7,(A3)+
  1924.             move.l  D6,(A4)+
  1925.             move.l  D7,(A5)+
  1926.             move.l  D7,(A6)+
  1927.             sub.w   D1,D3
  1928.             bmi.s   SF68
  1929.             move.l  D7,(A3)+
  1930.             move.l  D6,(A4)+
  1931.             move.l  D7,(A5)+
  1932.             move.l  D7,(A6)+
  1933. SF68:     and.l   D5,(A4)+
  1934.             not.l   D5
  1935.             or.l    D5,(A3)+
  1936.             or.l    D5,(A5)+
  1937.             or.l    D5,(A6)+
  1938.             move.w  (A0)+,D2
  1939.             bpl.l   SF41
  1940.             bra.l   SF32
  1941.             bpl.s   SF69
  1942.             or.l    D4,D5
  1943.             and.l   D5,(A3)
  1944.             not.l   D5
  1945.             or.l    D5,BITMAP1(A3)
  1946.             or.l    D5,BITMAP2(A3)
  1947.             or.l    D5,BITMAP3(A3)
  1948.             move.w  (A0)+,D2
  1949.             bpl.l   SF41
  1950.             bra.l   SF32
  1951. SF69:     lea     BITMAP1(A3),A4
  1952.             lea     BITMAP1(A4),A5
  1953.             lea     BITMAP1(A5),A6
  1954.             and.l   D4,(A3)+
  1955.             not.l   D4
  1956.             or.l    D4,(A4)+
  1957.             or.l    D4,(A5)+
  1958.             or.l    D4,(A6)+
  1959.             sub.w   D1,D3
  1960.             bmi.s   SF70
  1961.             move.l  D6,(A3)+
  1962.             move.l  D7,(A4)+
  1963.             move.l  D7,(A5)+
  1964.             move.l  D7,(A6)+
  1965.             sub.w   D1,D3
  1966.             bmi.s   SF70
  1967.             move.l  D6,(A3)+
  1968.             move.l  D7,(A4)+
  1969.             move.l  D7,(A5)+
  1970.             move.l  D7,(A6)+
  1971.             sub.w   D1,D3
  1972.             bmi.s   SF70
  1973.             move.l  D6,(A3)+
  1974.             move.l  D7,(A4)+
  1975.             move.l  D7,(A5)+
  1976.             move.l  D7,(A6)+
  1977.             sub.w   D1,D3
  1978.             bmi.s   SF70
  1979.             move.l  D6,(A3)+
  1980.             move.l  D7,(A4)+
  1981.             move.l  D7,(A5)+
  1982.             move.l  D7,(A6)+
  1983.             sub.w   D1,D3
  1984.             bmi.s   SF70
  1985.             move.l  D6,(A3)+
  1986.             move.l  D7,(A4)+
  1987.             move.l  D7,(A5)+
  1988.             move.l  D7,(A6)+
  1989.             sub.w   D1,D3
  1990.             bmi.s   SF70
  1991.             move.l  D6,(A3)+
  1992.             move.l  D7,(A4)+
  1993.             move.l  D7,(A5)+
  1994.             move.l  D7,(A6)+
  1995.             sub.w   D1,D3
  1996.             bmi.s   SF70
  1997.             move.l  D6,(A3)+
  1998.             move.l  D7,(A4)+
  1999.             move.l  D7,(A5)+
  2000.             move.l  D7,(A6)+
  2001.             sub.w   D1,D3
  2002.             bmi.s   SF70
  2003.             move.l  D6,(A3)+
  2004.             move.l  D7,(A4)+
  2005.             move.l  D7,(A5)+
  2006.             move.l  D7,(A6)+
  2007. SF70:     and.l   D5,(A3)+
  2008.             not.l   D5
  2009.             or.l    D5,(A4)+
  2010.             or.l    D5,(A5)+
  2011.             or.l    D5,(A6)+
  2012.             move.w  (A0)+,D2
  2013.             bpl.l   SF41
  2014.             bra.l   SF32
  2015.             bpl.s   SF71
  2016.             or.l    D4,D5
  2017.             not.l   D5
  2018.             or.l    D5,(A3)
  2019.             or.l    D5,BITMAP1(A3)
  2020.             or.l    D5,BITMAP2(A3)
  2021.             or.l    D5,BITMAP3(A3)
  2022.             move.w  (A0)+,D2
  2023.             bpl.l   SF41
  2024.             bra.l   SF32
  2025. SF71:     lea     BITMAP1(A3),A4
  2026.             lea     BITMAP1(A4),A5
  2027.             lea     BITMAP1(A5),A6
  2028.             not.l   D4
  2029.             or.l    D4,(A3)+
  2030.             or.l    D4,(A4)+
  2031.             or.l    D4,(A5)+
  2032.             or.l    D4,(A6)+
  2033.             sub.w   D1,D3
  2034.             bmi.s   SF72
  2035.             move.l  D7,(A3)+
  2036.             move.l  D7,(A4)+
  2037.             move.l  D7,(A5)+
  2038.             move.l  D7,(A6)+
  2039.             sub.w   D1,D3
  2040.             bmi.s   SF72
  2041.             move.l  D7,(A3)+
  2042.             move.l  D7,(A4)+
  2043.             move.l  D7,(A5)+
  2044.             move.l  D7,(A6)+
  2045.             sub.w   D1,D3
  2046.             bmi.s   SF72
  2047.             move.l  D7,(A3)+
  2048.             move.l  D7,(A4)+
  2049.             move.l  D7,(A5)+
  2050.             move.l  D7,(A6)+
  2051.             sub.w   D1,D3
  2052.             bmi.s   SF72
  2053.             move.l  D7,(A3)+
  2054.             move.l  D7,(A4)+
  2055.             move.l  D7,(A5)+
  2056.             move.l  D7,(A6)+
  2057.             sub.w   D1,D3
  2058.             bmi.s   SF72
  2059.             move.l  D7,(A3)+
  2060.             move.l  D7,(A4)+
  2061.             move.l  D7,(A5)+
  2062.             move.l  D7,(A6)+
  2063.             sub.w   D1,D3
  2064.             bmi.s   SF72
  2065.             move.l  D7,(A3)+
  2066.             move.l  D7,(A4)+
  2067.             move.l  D7,(A5)+
  2068.             move.l  D7,(A6)+
  2069.             sub.w   D1,D3
  2070.             bmi.s   SF72
  2071.             move.l  D7,(A3)+
  2072.             move.l  D7,(A4)+
  2073.             move.l  D7,(A5)+
  2074.             move.l  D7,(A6)+
  2075.             sub.w   D1,D3
  2076.             bmi.s   SF72
  2077.             move.l  D7,(A3)+
  2078.             move.l  D7,(A4)+
  2079.             move.l  D7,(A5)+
  2080.             move.l  D7,(A6)+
  2081. SF72:     not.l   D5
  2082.             or.l    D5,(A3)+
  2083.             or.l    D5,(A4)+
  2084.             or.l    D5,(A5)+
  2085.             or.l    D5,(A6)+
  2086.             move.w  (A0)+,D2
  2087.             bpl.l   SF41
  2088.             bra.l   SF32
  2089. ;---------------------------------------------
  2090. V1:    DC.L 0
  2091. V2:    DC.L 0
  2092. V3:    DC.L 0
  2093. V4:    DC.L 0
  2094. MOUAI:    DC.L 0
  2095. LINETAB:
  2096. DC.W    $0000,$7fff,$4000,$2aaa,$2000,$1999,$1555,$1249
  2097. DC.W    $1000,$0e38,$0ccc,$0ba2,$0aaa,$09d8,$0924,$0888
  2098. DC.W    $0800,$0787,$071c,$06bc,$0666,$0618,$05d1,$0590
  2099. DC.W    $0555,$051e,$04ec,$04bd,$0492,$0469,$0444,$0421
  2100. DC.W    $0400,$03e0,$03c3,$03a8,$038e,$0375,$035e,$0348
  2101. DC.W    $0333,$031f,$030c,$02fa,$02e8,$02d8,$02c8,$02b9
  2102. DC.W    $02aa,$029c,$028f,$0282,$0276,$026a,$025e,$0253
  2103. DC.W    $0249,$023e,$0234,$022b,$0222,$0219,$0210,$0208
  2104. DC.W    $0200,$01f8,$01f0,$01e9,$01e1,$01da,$01d4,$01cd
  2105. DC.W    $01c7,$01c0,$01ba,$01b4,$01af,$01a9,$01a4,$019e
  2106. DC.W    $0199,$0194,$018f,$018a,$0186,$0181,$017d,$0178
  2107. DC.W    $0174,$0170,$016c,$0168,$0164,$0160,$015c,$0158
  2108. DC.W    $0155,$0151,$014e,$014a,$0147,$0144,$0141,$013e
  2109. DC.W    $013b,$0138,$0135,$0132,$012f,$012c,$0129,$0127
  2110. DC.W    $0124,$0121,$011f,$011c,$011a,$0118,$0115,$0113
  2111. DC.W    $0111,$010e,$010c,$010a,$0108,$0106,$0104,$0102
  2112. DC.W    $0100,$00fe,$00fc,$00fa,$00f8,$00f6,$00f4,$00f2
  2113. DC.W    $00f0,$00ef,$00ed,$00eb,$00ea,$00e8,$00e6,$00e5
  2114. DC.W    $00e3,$00e1,$00e0,$00de,$00dd,$00db,$00da,$00d9
  2115. DC.W    $00d7,$00d6,$00d4,$00d3,$00d2,$00d0,$00cf,$00ce
  2116. DC.W    $00cc,$00cb,$00ca,$00c9,$00c7,$00c6,$00c5,$00c4
  2117. DC.W    $00c3,$00c1,$00c0,$00bf,$00be,$00bd,$00bc,$00bb
  2118. DC.W    $00ba,$00b9,$00b8,$00b7,$00b6,$00b5,$00b4,$00b3
  2119. DC.W    $00b2,$00b1,$00b0,$00af,$00ae,$00ad,$00ac,$00ab
  2120. DC.W    $00aa,$00a9,$00a8,$00a8,$00a7,$00a6,$00a5,$00a4
  2121. DC.W    $00a3,$00a3,$00a2,$00a1,$00a0,$009f,$009f,$009e
  2122. DC.W    $009d,$009c,$009c,$009b,$009a,$0099,$0099,$0098
  2123. DC.W    $0097,$0097,$0096,$0095,$0094,$0094,$0093,$0092
  2124. DC.W    $0092,$0091,$0090,$0090,$008f,$008f,$008e,$008d
  2125. DC.W    $008d,$008c,$008c,$008b,$008a,$008a,$0089,$0089
  2126. DC.W    $0088,$0087,$0087,$0086,$0086,$0085,$0085,$0084
  2127. DC.W    $0084,$0083,$0083,$0082,$0082,$0081,$0081,$0080
  2128. DC.W    $0080,$007f,$007f,$007e,$007e,$007d,$007d,$007c
  2129. DC.W    $007c,$007b,$007b,$007a,$007a,$0079,$0079,$0078
  2130. DC.W    $0078,$0078,$0077,$0077,$0076,$0076,$0075,$0075
  2131. DC.W    $0075,$0074,$0074,$0073,$0073,$0072,$0072,$0072
  2132. DC.W    $0071,$0071,$0070,$0070,$0070,$006f,$006f,$006f
  2133. DC.W    $006e,$006e,$006d,$006d,$0000,$0000,$0000,$0000
  2134. *********************************************************
  2135. POS:
  2136. DC.W    $0000,$00a0,$0140,$01e0,$0280,$0320,$03c0,$0460
  2137. DC.W    $0500,$05a0,$0640,$06e0,$0780,$0820,$08c0,$0960
  2138. DC.W    $0a00,$0aa0,$0b40,$0be0,$0c80,$0d20,$0dc0,$0e60
  2139. DC.W    $0f00,$0fa0,$1040,$10e0,$1180,$1220,$12c0,$1360
  2140. DC.W    $1400,$14a0,$1540,$15e0,$1680,$1720,$17c0,$1860
  2141. DC.W    $1900,$19a0,$1a40,$1ae0,$1b80,$1c20,$1cc0,$1d60
  2142. DC.W    $1e00,$1ea0,$1f40,$1fe0,$2080,$2120,$21c0,$2260
  2143. DC.W    $2300,$23a0,$2440,$24e0,$2580,$2620,$26c0,$2760
  2144. DC.W    $2800,$28a0,$2940,$29e0,$2a80,$2b20,$2bc0,$2c60
  2145. DC.W    $2d00,$2da0,$2e40,$2ee0,$2f80,$3020,$30c0,$3160
  2146. DC.W    $3200,$32a0,$3340,$33e0,$3480,$3520,$35c0,$3660
  2147. DC.W    $3700,$37a0,$3840,$38e0,$3980,$3a20,$3ac0,$3b60
  2148. DC.W    $3c00,$3ca0,$3d40,$3de0,$3e80,$3f20,$3fc0,$4060
  2149. DC.W    $4100,$41a0,$4240,$42e0,$4380,$4420,$44c0,$4560
  2150. DC.W    $4600,$46a0,$4740,$47e0,$4880,$4920,$49c0,$4a60
  2151. DC.W    $4b00,$4ba0,$4c40,$4ce0,$4d80,$4e20,$4ec0,$4f60
  2152. DC.W    $5000,$50a0,$5140,$51e0,$5280,$5320,$53c0,$5460
  2153. DC.W    $5500,$55a0,$5640,$56e0,$5780,$5820,$58c0,$5960
  2154. DC.W    $5a00,$5aa0,$5b40,$5be0,$5c80,$5d20,$5dc0,$5e60
  2155. DC.W    $5f00,$5fa0,$6040,$60e0,$6180,$6220,$62c0,$6360
  2156. DC.W    $6400,$64a0,$6540,$65e0,$6680,$6720,$67c0,$6860
  2157. DC.W    $6900,$69a0,$6a40,$6ae0,$6b80,$6c20,$6cc0,$6d60
  2158. DC.W    $6e00,$6ea0,$6f40,$6fe0,$7080,$7120,$71c0,$7260
  2159. DC.W    $7300,$73a0,$7440,$74e0,$7580,$7620,$76c0,$7760
  2160. DC.W    $7800,$78a0,$7940,$79e0,$7a80,$7b20,$7bc0,$7c60
  2161. **********************************************************
  2162. TOTO:    ;A
  2163.     DC.W -95,-25,0,-85,-25,0,-80,25,0,-70,25,0,-55,-25,0,-65,-25,0
  2164.     DC.W -75,7,0,-79,-5,0,-71,-5,0,-81,-10,0,-69,-10,0
  2165.     ;C
  2166.     DC.W -45,-25,0,-45,25,0,-5,25,0,-5,15,0,-35,15,0,-35,-15,0
  2167.     DC.W -5,-15,0,-5,-25,0
  2168.     ;D
  2169.     DC.W 5,-25,0,5,25,0,45,25,0,45,15,0,20,15,0,20,5,0,30,5,0
  2170.     DC.W 30,-5,0,20,-5,0,20,-15,0,45,-15,0,45,-25,0
  2171.     ;S
  2172.     DC.W 55,-25,0,55,-15,0,85,-15,0,85,0,0,60,0,0,60,25,0,85,25,0
  2173.     DC.W 85,15,0,70,15,0,70,10,0,95,10,0,95,-25,0
  2174.     ;A
  2175.     DC.W -95,-25,40,-85,-25,40,-80,25,40
  2176.     DC.W -70,25,40,-55,-25,40,-65,-25,40
  2177.     DC.W -75,7,40,-79,-5,40,-71,-5,40,-81,-10,40,-69,-10,40
  2178.     ;C
  2179.       DC.W -45,-25,40,-45,25,40,-5,25,40,-5,15,40,-35,15,40,-35,-15,40
  2180.     DC.W -5,-15,40,-5,-25,40
  2181.     ;D
  2182.     DC.W 5,-25,40,5,25,40,45,25,40,45,15,40,20,15,40,20,5,40,30,5,40
  2183.     DC.W 30,-5,40,20,-5,40,20,-15,40,45,-15,40,45,-25,40
  2184.     ;S
  2185. DC.W 55,-25,40,55,-15,40,85,-15,40,85,0,40,60,0,40,60,25,40,85,25,40
  2186.     DC.W 85,15,40,70,15,40,70,10,40,95,10,40,95,-25,40
  2187.     DC.W    $7FFF
  2188.     DC.W 4,0,1,3,2, 4,6,3,4,5, 4,7,8,10,9
  2189.     DC.W 4,11,16,15,12, 4,12,15,14,13, 4,11,16,17,18
  2190.     DC.W 4,19,28,23,20, 4,20,23,22,21, 4,24,25,26,27,4,19,28,29,30
  2191. DC.W4,36,39,38,37,4,31,32,33,42,4,33,42,41,34,4,34,41,40,35,4,40,35,36,39
  2192.  
  2193.     DC.W 4,43,44,46,45, 4,49,46,47,48, 4,50,51,53,52
  2194.     DC.W 4,54,43+16,43+15,43+12, 4,43+12,43+15,43+14,43+13
  2195.     DC.W 4,43+11,43+16,43+17,43+18
  2196.     DC.W 4,19+43,28+43,23+43,20+43, 4,20+43,23+43,22+43,21+43
  2197.     DC.W 4,24+43,25+43,26+43,27+43, 4,19+43,28+43,29+43,30+43
  2198. DC.W4,36+43,39+43,38+43,37+43,4,31+43,32+43,33+43,42+43
  2199. DC.W 4,33+43,42+43,41+43,34+43,4,34+43,41+43,40+43,35+43
  2200. DC.W 4,40+43,35+43,36+43,39+43
  2201.     DC.W 4,0,43,45,2 ,4,2,45,46,3, 4,3,4,47,46, 4,5,10,53,48
  2202.     DC.W 4,1,9,52,44, 4,9,10,53,52,4,0,1,44,43,4,4,5,48,47
  2203.     DC.W 4,11,12,55,54,4,12,13,13+43,12+43,4,13,14,14+43,13+43
  2204.     DC.W 4,14,15,15+43,14+43,4,15,16,16+43,15+43
  2205.     DC.W 4,16,17,17+43,16+43,4,17,18,18+43,17+43,4,11,18,18+43,11+43
  2206.     DC.W 4,20,21,21+43,20+43,4,21,22,22+43,21+43,4,22,23,23+43,22+43
  2207.     DC.W 4,23,24,24+43,23+43,4,24,25,25+43,24+43,4,25,26,26+43,25+43
  2208.     DC.W 4,26,27,27+43,26+43,4,27,28,28+43,27+43,4,28,29,29+43,29+43
  2209.     DC.W 4,29,30,30+43,29+43,4,19,30,30+43,19+43,4,19,20,20+43,19+43
  2210.     DC.W 4,31,32,32+43,31+43,4,32,33,33+43,32+43,4,33,34,34+43,33+43
  2211.     DC.W 4,34,35,35+43,34+43,4,35,36,36+43,35+43,4,36,37,37+43,36+43
  2212.     DC.W 4,37,38,38+43,37+43,4,38,39,39+43,38+43,4,39,40,40+43,39+43
  2213.     DC.W 4,40,41,41+43,40+43,4,41,42,42+43,41+43,4,42,31,31+43,42+43
  2214.     DC.W    -1
  2215. ;----------------------------------
  2216. BIBI:    DC.W 0,100,0, 50,86,0, 86,50,0, 100,0,0, 86,-50,0,50,-86,0
  2217. DC.W 0,-100,0, -50,-86,0, -86,-50,0, -100,0,0, -86,50,0 ,-50,86,0
  2218. DC.W 0,100,30, 50,86,30, 86,50,30, 100,0,30, 86,-50,30,50,-86,30
  2219. DC.W 0,-100,30, -50,-86,30, -86,-50,30, -100,0,30, -86,50,30,-50,86,30
  2220. DC.W -10,0,-100, 10,0,-100, 10,0,100, -10,0,100
  2221. DC.W $7FFF
  2222. DC.W 4,0,1,13,12, 4,1,2,14,13, 4,2,3,15,14, 4,3,4,16,15, 4,4,5,17,16
  2223. DC.W 4,5,6,18,17, 4,6,7,19,18, 4,7,8,20,19, 4,8,9,21,20
  2224. DC.W 4,9,10,22,21, 4,10,11,23,22 ,4,11,0,12,23, 4,24,25,26,27
  2225. DC.W 4,0,1,25,24, 4,17,18,27,26
  2226. DC.W -1
  2227. ;------------
  2228. HELICO:
  2229.     DC.W    0,0,0,-135,0,5,-135,0,-5,135,0,5,135,0,-5
  2230.     DC.W    -15,-5,30,15,-5,30,15,-5,-20,-15,-5,-20
  2231.     DC.W    -35,-25,20,-15,-30,70,15,-30,70,35,-25,20
  2232.     DC.W    30,-25,-20,10,-15,-60,-10,-15,-60,-30,-25,-20
  2233.     DC.W    -35,-45,20,-15,-45,70,15,-45,70,35,-45,20,30,-45,-20
  2234.     DC.W    0,-35,-60,-30,-45,-20
  2235.     DC.W    -15,-55,50,15,-55,50,15,-55,-20,-15,-55,-20
  2236.     DC.W -30,-60,55,-25,-65,50,-35,-65,50,-35,-65,-40,-25,-65,-40
  2237.     DC.W 30,-60,55,25,-65,50,35,-65,50,35,-65,-40,25,-65,-40
  2238.     DC.W     0,-15,-160,0,-15,-130,0,15,-150,0,15,-165
  2239.     DC.W    -25,-50,20,-30,-65,20,-25,-50,-10,-30,-65,-10
  2240.     DC.W    25,-50,20,30,-65,20,25,-50,-10,30,-65,-10,0,-5,0,$7FFF
  2241.  
  2242. DC.W 4,10,11,19,18,4,9,10,18,17,4,11,19,20,12,4,10,11,6,5
  2243. DC.W 4,18,19,25,24,4,24,25,26,27,4,9,17,23,16,4,12,20,21,13
  2244. DC.W 4,13,21,22,14,4,16,23,22,15,4,5,6,7,8,4,1,2,3,4
  2245. DC.W 4,17,23,27,24,4,20,21,26,25, 3,18,24,17,3,19,25,20
  2246. DC.W 4,5,8,16,9,4,6,7,13,12,4,7,8,15,14,3,7,14,13,3,8,16,15
  2247. DC.W 3,26,27,22,3,26,21,22,3,27,23,22,3,22,15,38,3,22,14,38
  2248. DC.W 3,14,15,38,4,38,39,40,41,4,29,32,31,30,3,30,28,29
  2249. DC.W 3,33,34,35,4,34,35,36,37
  2250. DC.W -1
  2251. ;-------------- FIN DE DEFINITION DES OBJETS ------
  2252. ;--------------------------------------------------
  2253. VAX:    DC.W    0
  2254. VAY:    DC.W    0
  2255. VAZ:    DC.W    0
  2256. VBX:    DC.W    0
  2257. VBY:    DC.W    0
  2258. VBZ:    DC.W    0
  2259.  
  2260. AL:    DC.W    0
  2261. BE:    DC.W    0
  2262. GA:    DC.W    0
  2263. POSX:    DC.L    0
  2264. POSY:    DC.L    0
  2265. POSZ:    DC.L    0
  2266. OBJECT:    DC.L    BIBI
  2267. PTS2D:    BLK.W    2000,$7FFF
  2268. PTS3D:    BLK.W    2000,$7FFF
  2269. ZPROF:    BLK.W    2000,$7FFF
  2270. ;©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©©
  2271. SURFLIST:    BLK.L    100,-1
  2272. SURFACES:    BLK.L    1000,-1
  2273. SURFACES2:    BLK.L    1000,-1
  2274. SURFACES3:    BLK.L    1000,-1
  2275. ZFACE:    BLK.W    1000,$-1
  2276.