Advertisement
lilggamegenuis

Load sonic's dplcs

Dec 12th, 2015
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; loc_1B848:
  2. LoadSonicDynPLC:
  3.     moveq   #0,d0
  4.     move.b  mapping_frame(a0),d0    ; load frame number
  5. ; loc_1B84E:
  6. LoadSonicDynPLC_Part2:
  7.     cmp.b   (Sonic_LastLoadedDPLC).w,d0
  8.     beq.s   return_1B89A
  9.     move.b  d0,(Sonic_LastLoadedDPLC).w
  10.     lea (MapRUnc_Sonic).l,a2
  11.     tst.b   (Super_Sonic_flag).w
  12.     beq.s   +  
  13.     lea (MapRUnc_SupSonic).l,a2
  14. +
  15.     add.w   d0,d0
  16.     adda.w  (a2,d0.w),a2
  17.     move.w  (a2)+,d5
  18.     subq.w  #1,d5
  19.     bmi.s   return_1B89A
  20.     move.w  #tiles_to_bytes(ArtTile_ArtUnc_Sonic),d4
  21. ; loc_1B86E:
  22. SPLC_ReadEntry:
  23.     moveq   #0,d1
  24.     move.w  (a2)+,d1
  25.     move.w  d1,d3
  26.     lsr.w   #8,d3
  27.     andi.w  #$F0,d3
  28.     addi.w  #$10,d3
  29.     andi.w  #$FFF,d1
  30.     lsl.l   #5,d1
  31.     tst.b   (Super_Sonic_flag).w
  32.     beq.s   +
  33.     addi.l  #ArtUnc_SupSonic,d1
  34.     bra.s   ++
  35. +  
  36.     addi.l  #ArtUnc_Sonic,d1
  37. +
  38.     move.w  d4,d2
  39.     add.w   d3,d4
  40.     add.w   d3,d4
  41.     jsr (QueueDMATransfer).l
  42.     dbf d5,SPLC_ReadEntry   ; repeat for number of entries
  43.  
  44. return_1B89A:
  45.     rts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement