Advertisement
Nightseeker

Sonic 1 prototype FCOL3.ASM source code fragment fixed

Dec 12th, 2022 (edited)
2,052
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
M68000 Assembler 1.26 KB | Source Code | 0 0
  1.     ??????? fcol,fcolj,fcole
  2.  
  3. *cd_walk        equ 0*2
  4. *cd_jump        equ 1*2
  5. *cd_up          equ 2*2
  6. *cd_down        equ 3*2
  7.  
  8. updotmax    equ -4
  9. downdotmax  equ 4
  10. jumpdotmax  equ 8
  11.  
  12. ;sprvo      equ $1c     ;1
  13. ;sprho      equ $1d     ;1
  14. ;sprvs      equ $1e     ;1
  15. ;sprhs      equ $1f     ;1
  16. ;------------------------------------------------------------------------------
  17. ;   foot colition
  18. ;
  19. ;col:
  20.     move.w  yposi(a0),d4
  21.     move.b  sprvo(a0),d1
  22.     add.b   sprvs(a0),d1
  23.     ext.w   d1
  24.     add.w   d1,d4
  25.     move.w  xposi(a0),d5
  26.     move.b  sprho(a0),d1
  27.     ext.w   d1
  28.     add.w   d1,d5
  29.     move.w  xspeed(a0),scrhithz
  30. .loop:
  31.     move.w  d4,d2           ;
  32.     move.w  d5,d3           ;
  33.     moveq   #0,d0
  34.     move.b  sprhs(a0),d0
  35.     tst.w   xspeed(a0)
  36.     bpl.b   .jump
  37. *   btst.b  #cd_right,cddot(a0)
  38. *   beq.b   .jump
  39.     neg.w   d0
  40. .jump:
  41.     add.w   d0,d3
  42.     bsr.w   scdchk          ;
  43.     tst.w   d1
  44.     beq.b   .end
  45.     bpl.b   .down
  46. .up:
  47.     cmp.w   #updotmax,d1
  48.     blt.b   .nomove
  49.     add.w   d1,yposi(a0)
  50. .end:
  51.     rts
  52. .nomove:
  53.     bsr.b   hoseihsub
  54.     bra.b   .loop
  55.     move.w  #0,xspeed(a0)
  56.     rts
  57. .down:
  58.     move.w  d1,d6
  59.     swap    d6
  60. .down2:
  61.     move.w  d4,d2
  62.     move.w  d6,d3
  63.     moveq   #0,d0
  64.     move.b  sprhs(a0),d0
  65.     tst.w   xspeed(a0)
  66.     bpl.b   .jump3
  67. *   btst    #cd_left,cddot(a0)
  68. *   bne.s   .jump3
  69.     neg.w   d0
  70. .jump3:
  71.     add.w   d0,d3
  72.     bsr.w   scdchk
  73.     tst.w   d1
  74.     beq.b   .end2
  75.     bpl.b   .down1
  76. .up2:
  77.     cmp.w   #updotmax,d1
  78.     blt.b   .nomove2
  79.     add.w   d1,yposi(a0)
  80. .end2:
  81.     rts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement