main.c 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #include "data.h";
  2. #include "pad.h";
  3. #include "event.h";
  4. #include "myEvents.h";
  5. #include "ressource.h";
  6. #include "PPU.h"
  7. #include "debug.h"
  8. #include <stdlib.h>
  9. padStatus pad1;
  10. void initInternalRegisters(void) {
  11. characterLocation[0] = 0x0000;
  12. characterLocation[1] = 0x0000;
  13. characterLocation[2] = 0x0000;
  14. characterLocation[3] = 0x0000;
  15. debug_init();
  16. }
  17. void preInit(void) {
  18. // For testing purpose ...
  19. // Insert code here to be executed before register init
  20. }
  21. void wait(void)
  22. {
  23. enablePad();
  24. pad1 = readPad((byte) 0);
  25. while (!pad1.A) {
  26. waitForVBlank();
  27. pad1 = readPad((byte) 0);
  28. }
  29. }
  30. void main(void) {
  31. word x,y;
  32. unsigned long addr;
  33. initInternalRegisters();
  34. *(byte *) 0x2105 = 0x01; // MODE 1 value
  35. *(byte *) 0x212c = 0x01; // Plane 0 (bit one) enable register
  36. *(byte *) 0x212d = 0x00; // All subPlane disable
  37. *(byte *) 0x2100 = 0x0f; // enable background
  38. debug_enable();
  39. addr = 0x21400;
  40. x = 0;
  41. y = 0;
  42. //printfs(26,"PRESS A");
  43. //wait();
  44. //clears();
  45. for (addr = 0x2100 ; addr < 0x21C0; addr+=8){
  46. waitForVBlank();
  47. printfs(y,"%lX: %02X %02X %02X %02X %02X %02X %02X %02X",addr,
  48. *(byte *) addr,*(byte *) (addr +1),*(byte *) (addr+2),*(byte *) (addr+3),
  49. *(byte *) (addr+4),*(byte *) (addr +5),*(byte *) (addr+6),*(byte *) (addr+7));
  50. y++;
  51. }
  52. while(1);
  53. printfs(26,"PRESS A");
  54. //wait();
  55. clears();
  56. y = 0;
  57. for (addr = 0x4100 ; addr < 0x41C0; addr+=8){
  58. waitForVBlank();
  59. printfs(y,"%lX: %02X %02X %02X %02X %02X %02X %02X %02X",addr,
  60. *(byte *) addr,*(byte *) (addr +1),*(byte *) (addr+2),*(byte *) (addr+3),
  61. *(byte *) (addr+4),*(byte *) (addr +5),*(byte *) (addr+6),*(byte *) (addr+7));
  62. y++;
  63. }
  64. printfs(26,"PRESS A");
  65. wait();
  66. clears();
  67. while(1){
  68. while(!pad1.start) {
  69. waitForVBlank();
  70. pad1 = readPad((byte) 0);
  71. }
  72. }
  73. while(1);
  74. }
  75. void IRQHandler(void) {
  76. }
  77. void NMIHandler(void) {
  78. //processEvents();
  79. }