Advertisement
Guest User

Animated_FR_Working.asm

a guest
Jan 25th, 2012
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .text
  2. .align 2
  3. .thumb
  4. Branch:
  5.     ldr r1, .New_Routine
  6.     bx r1
  7.     mov r3, #0x0
  8.    
  9. .align 2
  10. .New_Routine:
  11.     .word 0x08800800 + 1
  12.  
  13. Start:
  14.     push {r0-r3}
  15.    
  16.     ldr r3, .RAM_Address
  17.     ldr r1, .Ani_Table
  18.     ldrb r2, [r3, #0x1]     //Load next frame index.
  19.     lsl r2, #0x3            //Multiply is by the size of the structure.
  20.     add r1, r2              //Add it to the base table offset.
  21.     ldrb r0, [r1, #0x4]     //Load the delay for this frame.
  22.     ldrb r2, [r3]           //Load the delay counter.
  23.     cmp r2, r0              //See if the delay has been met.
  24.     bge LoadFrame
  25.     add r2, #0x1            //Add one to the delay counter.
  26.     strb r2, [r3]
  27.    
  28.     b Finish
  29. LoadFrame:
  30.     mov r2, #0x0            //Set delay counter to zero for next frame.
  31.     strb r2, [r3]
  32.     ldrb r2, [r1, #0x5]     //Next frame
  33.     strb r2, [r3, #0x1]
  34.     ldr r3, .Shifter
  35.     ldrb r2, [r1, #0x6]     //X-axis movement for this frame.
  36.     neg r2, r2
  37.     strh r2, [r3]
  38.     ldrb r2, [r1, #0x7]     //Y-axis movement for this frame.
  39.     neg r2, r2
  40.     strh r2, [r3, #0x2]
  41.     ldr r0, [r1]            //The pointer to the new image.
  42.     ldr r1, .VRAM
  43.     swi #0x12
  44. Finish:
  45.     pop {r0-r3}
  46.     ldr r1, [r0]
  47.     ldr r0, .Frame_Count
  48.     ldr r3, .Old_Routine
  49.     bx r3
  50.    
  51. .align 2
  52. .Ani_Table:
  53.     .word 0x087FFF00
  54. .RAM_Address:
  55.     .word 0x020370c0
  56. .VRAM:
  57.     .word 0x06004000
  58. .Frame_Count:
  59.     .word 0x00000A8B
  60. .Old_Routine:
  61.     .word 0x08078C03
  62. .Shifter:
  63.     .word 0x04000014
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement