irqtest.asm 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. ;============================================================================
  2. ; Includes
  3. ;============================================================================
  4. ;== Include MemoryMap, Vector Table, and HeaderInfo ==
  5. .INCLUDE "header.inc"
  6. ;== Include SNES Initialization routines ==
  7. .INCLUDE "init.inc"
  8. .INCLUDE "LoadGraphics.asm"
  9. .INCLUDE "debug.asm"
  10. ;============================================================================
  11. ; Main Code
  12. ;============================================================================
  13. .BANK 0 SLOT 0
  14. .ORG 0
  15. .SECTION "MainCode"
  16. Start:
  17. InitSNES ; Clear registers, etc.
  18. ; Load Palette for our tiles
  19. LoadPalette OptixxPalette, 0, 16
  20. ; Load Tile data to VRAM
  21. ;LoadBlockToVRAM TilesData, $0000, $0020 ; 2 tiles, 2bpp, = 32 bytes
  22. ;LoadBlockToVRAM OptixxData, $0000, 0xa00 ; 160 tiles, 2bpp, = 2560 bytes
  23. ;LoadBlockToVRAM OptixxData, $0000, 0x1e00 ; 480 tiles, 2bpp, = 7680 bytes
  24. LoadBlockToVRAM OptixxData, $0000, 0x3c00 ; 960 tiles, 2bpp, = 15360 bytes
  25. lda #$80
  26. sta $2115
  27. ;ldx #$0800 ; 5AF
  28. ldx #$4000 ; 5AF
  29. stx $2116
  30. ldx #$0
  31. Start_do:
  32. stx $2118
  33. inx
  34. cpx #960
  35. bne Start_do
  36. ; Setup Video modes and other stuff, then turn on the screen
  37. jsr SetupVideo
  38. sei
  39. cop
  40. prints "Init done"
  41. stz $3001
  42. cop
  43. lda #$81
  44. sta $4200
  45. Infinity:
  46. jmp Infinity ; bwa hahahahaha
  47. ;============================================================================
  48. ; SetupVideo -- Sets up the video mode and tile-related registers
  49. ;----------------------------------------------------------------------------
  50. ; In: None
  51. ;----------------------------------------------------------------------------
  52. ; Out: None
  53. ;----------------------------------------------------------------------------
  54. SetupVideo:
  55. php
  56. lda #$00
  57. sta $2105 ; Set Video mode 0, 8x8 tiles, 4 color BG1/BG2/BG3/BG4
  58. ;lda #$08 ; Set BG1's Tile Map offset to $0800 (Word address)
  59. lda #$40 ; Set BG1's Tile Map offset to $2000 (Word address)
  60. sta $2107 ; And the Tile Map size to 32x32
  61. stz $210B ; Set BG1's Character VRAM offset to $0000 (word address)
  62. lda #$01 ; Enable BG1
  63. sta $212C
  64. lda #$FF
  65. sta $210E
  66. sta $210E
  67. lda #$0F
  68. sta $2100 ; Turn on screen, full Brightness
  69. plp
  70. rts
  71. ;.ENDS
  72. ;.SECTION "IRQHandlers"
  73. COPHandler:
  74. prints "COPHandler"
  75. rti
  76. BRKHandler:
  77. prints "BRKHandler"
  78. rti
  79. ABRTHandler:
  80. prints "ABRTHandler"
  81. rti
  82. NMIHandler:
  83. ;prints "NMIHandler"
  84. rti
  85. IRQHandler:
  86. prints "IRQHandler"
  87. rti
  88. str_COP:
  89. .db "COP",10,0
  90. str_ABORT:
  91. .db "ABORT",10,0
  92. str_NMI:
  93. .db "NMI",10,0
  94. str_RESET:
  95. .db "RESET",10,0
  96. str_IRQBRK:
  97. .db "IRQBRK",10,0
  98. ;============================================================================
  99. .ENDS
  100. ;============================================================================
  101. ; Character Data
  102. ;============================================================================
  103. .BANK 0 SLOT 0
  104. .SECTION "CharacterData02"
  105. .INCLUDE "optixx.inc"
  106. .ENDS