home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 594b.lha / VectorLibrary / Assembler / vd_me.s < prev    next >
Text File  |  1991-11-09  |  6KB  |  281 lines

  1.  ;  DevPac 2.14 !!
  2.  
  3. SetVBI       = -30
  4. InitVBOBs    = -36
  5. OpenVScreen  = -42
  6. CloseVScreen = -48
  7. UseJoy       = -54
  8. DoAnim       = -60
  9. RotateX      = -66
  10. RotateY      = -72
  11. RotateZ      = -78
  12. FreeVBOBs    = -84
  13. AutoScaleOn  = -90
  14. AutoScaleOff = -96
  15. FreeJoy      = -102
  16. SetColors    = -108
  17.  
  18.  move.l 4.w,a6
  19.  lea    vecname(pc),a1
  20.  jsr    -408(a6)            ; vector.library öffnen
  21.  move.l d0,vecbase
  22.  beq.s  end
  23.  
  24.  lea    NewVScreen(pc),a1
  25.  move.l vecbase(pc),a6
  26.  jsr    OpenVScreen(a6)     ; VScreen öffnen
  27.  move.l d0,viewstruc
  28.  
  29.  move.l viewstruc(pc),a0
  30.  lea    coltab(pc),a1
  31.  jsr    SetColors(a6)       ; Farben setzen
  32.  
  33.  move.w NewVScreen+12(pc),d0
  34.  jsr    AutoScaleOn(a6)     ; Entzerrung für evtl. höhere Auflösungen an
  35.  
  36.  lea    anim(pc),a1
  37.  jsr    SetVBI(a6)          ; VBI-Teil einbinden
  38.  
  39.  lea    World(pc),a1
  40.  jsr    DoAnim(a6)          ; Animation laufen lassen
  41.  
  42.  jsr    CloseVScreen(a6)    ; VScreen schließen
  43.  
  44.  move.l 4.w,a6
  45.  move.l vecbase(pc),a1
  46.  jsr    -414(a6)            ; vector.library schließen
  47.  
  48. end:
  49.  rts
  50.  
  51. vecbase   dc.l 0
  52. viewstruc dc.l 0
  53.  
  54. NewVScreen:
  55.  dc.w 0,0
  56.  dc.w 320,256
  57.  dc.w 3
  58.  dc.b 0,0
  59.  dc.w $00
  60.  dc.l 0
  61.  dc.l title
  62.  
  63.  dc.w 0
  64.  dc.w 0,0
  65.  dc.w 320,256
  66.  dc.w 3
  67.   
  68. title: dc.b "vector.library   ©1991 by A. Lippert"
  69.  even
  70.  
  71. World:
  72.  dc.w 0,1
  73.  dc.l object1
  74.  
  75. object1:
  76.  dc.l mepd
  77.  dc.l mead
  78.  dc.l memv
  79.  dc.w 0
  80.  dc.w 0,0,-13500
  81.  dc.w 0,0,0
  82.  
  83. mepd:           ; Eckpunkt-Tabelle
  84.  dc.w 48+7
  85.  dc.w 115,-15,-18,0
  86.  dc.w 115,15,-18,0
  87.  dc.w 94,15,-18,0
  88.  dc.w 94,-15,-18,0
  89.  dc.w 94,-15,-25,0
  90.  dc.w 94,15,-25,0
  91.  dc.w -20,-15,-25,0
  92.  dc.w -20,15,-25,0
  93.  dc.w -193,0,0,0
  94.  dc.w -135,0,15,0  ;10
  95.  dc.w -26,-7,22,0
  96.  dc.w -26,7,22,0
  97.  dc.w -14,-15,6,0
  98.  dc.w -14,15,6,0
  99.  dc.w 11,-7,22,0
  100.  dc.w 11,7,22,0
  101.  dc.w 11,-15,6,0
  102.  dc.w 11,15,6,0
  103.  dc.w 23,-7,15,0
  104.  dc.w 23,7,15,0    ;20
  105.  dc.w 113,-7,15,0
  106.  dc.w 113,7,15,0
  107.  dc.w 113,-15,0,0
  108.  dc.w 113,15,0,0
  109.  dc.w -155,0,48,0
  110.  dc.w -172,0,48,0
  111.  dc.w 60,15,-25,0
  112.  dc.w 48,15,-13,0
  113.  dc.w 23,15,-13,0
  114.  dc.w 48,190,-13,0
  115.  dc.w 23,190,-13,0
  116.  dc.w 60,-15,-25,0
  117.  dc.w 48,-15,-13,0
  118.  dc.w 23,-15,-13,0
  119.  dc.w 48,-190,-13,0
  120.  dc.w 23,-190,-13,0
  121.  dc.w 137,0,-5,0
  122.  dc.w -145,0,24,0
  123.  dc.w -160,62,24,0
  124.  dc.w -177,62,24,0   ;40
  125.  dc.w -180,13,24,0
  126.  dc.w -170,0,24,0
  127.  dc.w -160,-62,24,0
  128.  dc.w -177,-62,24,0
  129.  dc.w -180,-13,24,0
  130.  dc.w -155,0,27,0
  131.  dc.w -165,0,27,0
  132.  dc.w -185,0,35,0
  133.  dc.w 113,0,0,0
  134. meprop:
  135.  dc.w 113,50,-5,0
  136.  dc.w 113,50,5,0
  137.  dc.w 113,-29,-5,0
  138.  dc.w 113,-21,5,0
  139.  dc.w 113,20,-5,0
  140.  dc.w 113,20,5,0
  141.  
  142.  
  143. mead:    ; Flächentabelle
  144.  dc.w 54
  145.  dc.w 4,1,0*4,1*4,2*4,3*4,0*4,0,0,0,0
  146.  dc.w 4,1,4*4,5*4,7*4,6*4,4*4,0,0,0,0
  147.  dc.w 3,1,6*4,7*4,8*4,6*4,0,0,0,0,0
  148.  dc.w 6,3,1*4,23*4,13*4,7*4,5*4,2*4,1*4,0,0
  149.  dc.w 3,3,7*4,13*4,8*4,7*4,0,0,0,0,0
  150.  dc.w 3,3,8*4,13*4,11*4,8*4,0,0,0,0,0
  151.  dc.w 4,3,0*4,3*4,12*4,22*4,0*4,0,0,0,0
  152.  dc.w 3,3,3*4,8*4,12*4,3*4,0,0,0,0,0
  153.  dc.w 4,3,3*4,4*4,6*4,8*4,3*4,0,0,0,0
  154.  dc.w 4,3,8*4,9*4,10*4,12*4,8*4,0,0,0,0
  155.  dc.w 3,4,8*4,11*4,9*4,8*4,0,0,0,0,0
  156.  dc.w 3,4,8*4,9*4,10*4,8*4,0,0,0,0,0
  157.  dc.w 3,4,9*4,11*4,10*4,9*4,0,0,0,0,0
  158.  dc.w 4,6,10*4,11*4,15*4,14*4,10*4,0,0,0,0
  159.  dc.w 4,7,14*4,15*4,19*4,18*4,14*4,0,0,0,0
  160.  dc.w 4,1,18*4,19*4,21*4,20*4,18*4,0,0,0,0
  161.  dc.w 3,6,15*4,17*4,19*4,15*4,0,0,0,0,0
  162.  dc.w 3,6,14*4,18*4,16*4,14*4,0,0,0,0,0
  163.  dc.w 4,7,11*4,13*4,17*4,15*4,11*4,0,0,0,0
  164.  dc.w 4,7,10*4,14*4,16*4,12*4,10*4,0,0,0,0
  165.  dc.w 5,4,13*4,23*4,21*4,19*4,17*4,13*4,0,0,0
  166.  dc.w 4,4,16*4,18*4,20*4,22*4,16*4,0,0,0,0
  167.  dc.w 3,4,12*4,16*4,22*4,12*4,0,0,0,0,0
  168.  dc.w 5,3,8*4,9*4,24*4,25*4,47*4,8*4,0,0,0
  169.  dc.w 5,3,8*4,47*4,25*4,24*4,9*4,8*4,0,0,0
  170.  dc.w 4,1,7*4,26*4,29*4,30*4,7*4,0,0,0,0
  171.  dc.w 3,5,26*4,27*4,29*4,26*4,0,0,0,0,0
  172.  dc.w 4,3,27*4,28*4,30*4,29*4,27*4,0,0,0,0
  173.  dc.w 3,5,7*4,30*4,28*4,7*4,0,0,0,0,0
  174.  dc.w 4,1,6*4,35*4,34*4,31*4,6*4,0,0,0,0
  175.  dc.w 3,5,31*4,34*4,32*4,31*4,0,0,0,0,0
  176.  dc.w 4,3,32*4,34*4,35*4,33*4,32*4,0,0,0,0
  177.  dc.w 3,5,6*4,33*4,35*4,6*4,0,0,0,0,0
  178.  dc.w 3,1,20*4,21*4,36*4,20*4,0,0,0,0,0
  179.  dc.w 3,4,21*4,23*4,36*4,21*4,0,0,0,0,0
  180.  dc.w 3,4,1*4,36*4,23*4,1*4,0,0,0,0,0
  181.  dc.w 3,1,0*4,36*4,1*4,0*4,0,0,0,0,0
  182.  dc.w 3,4,0*4,22*4,36*4,0*4,0,0,0,0,0
  183.  dc.w 3,4,20*4,36*4,22*4,20*4,0,0,0,0,0
  184.  dc.w 5,1,37*4,41*4,44*4,43*4,42*4,37*4,0,0,0
  185.  dc.w 5,1,37*4,38*4,39*4,40*4,41*4,37*4,0,0,0
  186.  dc.w 3,5,37*4,45*4,38*4,37*4,0,0,0,0,0
  187.  dc.w 4,5,38*4,45*4,46*4,39*4,38*4,0,0,0,0
  188.  dc.w 4,5,39*4,46*4,41*4,40*4,39*4,0,0,0,0
  189.  dc.w 3,5,37*4,42*4,45*4,37*4,0,0,0,0,0
  190.  dc.w 4,5,42*4,43*4,46*4,45*4,42*4,0,0,0,0
  191.  dc.w 4,5,41*4,45*4,43*4,44*4,41*4,0,0,0,0
  192.  dc.w 4,2,2*4,5*4,4*4,3*4,2*4,0,0,0,0
  193.  dc.w 3,1,48*4,50*4,49*4,48*4,0,0,0,0,0
  194.  dc.w 3,1,48*4,52*4,51*4,48*4,0,0,0,0,0
  195.  dc.w 3,1,48*4,54*4,53*4,48*4,0,0,0,0,0
  196.  dc.w 3,1,48*4,49*4,50*4,48*4,0,0,0,0,0
  197.  dc.w 3,1,48*4,51*4,52*4,48*4,0,0,0,0,0
  198.  dc.w 3,1,48*4,53*4,54*4,48*4,0,0,0,0,0
  199.  
  200.  
  201. memv:
  202.  dc.w 1, 0,0,0, -90,0,0
  203.  dc.w 1, 0,0,0, 0,-90,0
  204.  dc.w 150, 0,0,42, 0,0,0
  205.  dc.w 150, 0,0,42, 0,1,0
  206.  dc.w 400, 0,0,0, 0,1,0
  207.  dc.w 300, 0,0,0, 0,1,1
  208.  dc.w 300, 0,0,-42, 1,1,0
  209.  dc.w -1
  210.  
  211. coltab:
  212.  dc.w 0,0,0,0
  213.  dc.w 1,7,7,7
  214.  dc.w 2,2,2,2
  215.  dc.w 3,5,5,5
  216.  dc.w 4,6,6,6
  217.  dc.w 5,4,4,4
  218.  dc.w 6,0,7,9
  219.  dc.w 7,0,8,10
  220.  dc.w -1
  221.  
  222.  
  223. anim:       ; Hier erfolgt die Rotation des Propellers im VBI
  224.  movem.l d2-d6/a2/a6,-(a7)
  225.  move.l vecbase(pc),a6
  226.  lea    meprop(pc),a2
  227.  move.w animcnt(pc),d6
  228.  moveq  #110,d0
  229.  moveq  #50,d1
  230.  moveq  #5,d2
  231.  moveq  #0,d3
  232.  moveq  #0,d4
  233.  moveq  #0,d5
  234.  jsr    RotateX(a6)
  235.  movem.w d0-d2,(a2)
  236.  moveq  #0,d3
  237.  moveq  #0,d4
  238.  moveq  #0,d5
  239.  move.w #120,d6
  240.  jsr    RotateX(a6)
  241.  movem.w d0-d2,16(a2)
  242.  moveq  #0,d3
  243.  moveq  #0,d4
  244.  moveq  #0,d5
  245.  move.w #120,d6
  246.  jsr    RotateX(a6)
  247.  movem.w d0-d2,32(a2)
  248.  move.w animcnt,d6
  249.  moveq  #116,d0
  250.  moveq  #50,d1
  251.  moveq  #-5,d2
  252.  moveq  #0,d3
  253.  moveq  #0,d4
  254.  moveq  #0,d5
  255.  jsr    RotateX(a6)
  256.  movem.w d0-d2,8(a2)
  257.  move.w #120,d6
  258.  moveq  #0,d3
  259.  moveq  #0,d4
  260.  moveq  #0,d5
  261.  jsr    RotateX(a6)
  262.  movem.w d0-d2,24(a2)
  263.  move.w #120,d6
  264.  moveq  #0,d3
  265.  moveq  #0,d4
  266.  moveq  #0,d5
  267.  jsr    RotateX(a6)
  268.  movem.w d0-d2,40(a2)
  269.  subq.w #4,animcnt
  270.  tst.w  animcnt
  271.  bge.s  .ok
  272.  add.w  #360,animcnt
  273. .ok:
  274.  movem.l (a7)+,d2-d6/a2/a6
  275.  rts
  276.  
  277. animcnt dc.w 0
  278.  
  279. vecname dc.b "vector.library",0
  280. gfxname dc.b "graphics.library",0
  281.