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.

59 lines
980B

  1. ;----------------
  2. ; Program Start
  3. ;----------------
  4. INCLUDE "src/actor.asm"
  5. SECTION "Program Start", ROM0[$150]
  6. Start:
  7. ei
  8. ld a, IEF_VBLANK
  9. ld [rIE], a
  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. xor a
  23. ld [rSCY], a
  24. ld [rSCX], a
  25. ld [rNR52], a
  26. call CopyDMARoutine
  27. ld a, 72
  28. ld [Player_YPos], a
  29. ld a, 80
  30. ld [Player_XPos], a
  31. xor a
  32. ld [Player_GFXCounter], a
  33. ld [Player_GFXState], a
  34. ld [Player_TileData], a
  35. ld a, HIGH(ActorROM)
  36. ld [Player_GFXData], a
  37. ld a, LOW(ActorROM)
  38. ld [Player_GFXData + 1], a
  39. ld a, LCDCF_ON | LCDCF_OBJON | LCDCF_BGON
  40. ld [rLCDC], a
  41. game_loop:
  42. call Hide_OAM
  43. call Read_Pad
  44. call PC_Update
  45. call Wait_VBlank
  46. ld de, wShadowOAM
  47. ld hl, Player
  48. call RenderActor
  49. ld a, HIGH(wShadowOAM)
  50. call hOAMDMA
  51. jr game_loop