sprite animation testing
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
997B

  1. ;----------------
  2. ; Program Start
  3. ;----------------
  4. INCLUDE "src/actor.asm"
  5. SECTION "Program Start", ROM0[$150]
  6. Start:
  7. ld a, IEF_VBLANK
  8. ld [rIE], a
  9. ei
  10. xor a
  11. ld [hVBlankFlag], a
  12. call Wait_VBlank
  13. xor a
  14. ldh [rLCDC], a
  15. call Clear_Map
  16. call Clear_OAM
  17. call Load_Tiles
  18. ; call Load_Map
  19. ld a, %11100100
  20. ld [rBGP], a
  21. ld [rOBP0], a
  22. ld [rOBP1], a
  23. xor a
  24. ld [rSCY], a
  25. ld [rSCX], a
  26. ld [rNR52], a
  27. call CopyDMARoutine
  28. ld a, 72
  29. ld [Player_YPos], a
  30. ld a, 80
  31. ld [Player_XPos], a
  32. xor a
  33. ld [Player_GFXCounter], a
  34. ld [Player_GFXState], a
  35. ld [Player_TileData], a
  36. ld a, HIGH(ActorROM)
  37. ld [Player_GFXData], a
  38. ld a, LOW(ActorROM)
  39. ld [Player_GFXData + 1], a
  40. ld a, LCDCF_ON | LCDCF_OBJON | LCDCF_BGON
  41. ld [rLCDC], a
  42. game_loop:
  43. call Hide_OAM
  44. call Read_Pad
  45. call PC_Update
  46. call Wait_VBlank
  47. ld de, wShadowOAM
  48. ld hl, Player
  49. call RenderActor
  50. ld a, HIGH(wShadowOAM)
  51. call hOAMDMA
  52. jr game_loop