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.

66 lines
819 B

2 years ago
  1. INCLUDE "hardware.inc"
  2. SECTION "Header", ROM0[$100]
  3. _entry:
  4. di
  5. jp start
  6. rept $150 - _entry
  7. db 0
  8. endr
  9. SECTION "Frame", WRAM0
  10. frame:: db
  11. SECTION "VBlank", ROM0[$40]
  12. handle_vblank:
  13. reti
  14. SECTION "Code", ROM0
  15. start:
  16. ld hl, rLCDC
  17. res 7, [hl]
  18. res 2, [hl]
  19. ld hl, rIE
  20. ld [hl], IEF_VBLANK
  21. call OAM_Init
  22. ; call Keys_Init
  23. ; call Player_Init
  24. ld hl, intro_Data
  25. call Map_Load
  26. ; set palette
  27. ld a, %11100100
  28. ld hl, rOBP0
  29. ld [hl], a
  30. ld hl, rBGP
  31. ld [hl], a
  32. ; enable lcd, sprites and interrupts
  33. ld hl, rLCDC
  34. set 7, [hl]
  35. set 1, [hl]
  36. ei
  37. .loop:
  38. ld hl, frame
  39. inc [hl]
  40. call Keys_Update
  41. ; call Player_Update
  42. ; wait for vblank
  43. halt
  44. ; ~160 cycles
  45. ld a, HIGH(_OAM)
  46. call DMA_Start
  47. jp .loop