system.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * =====================================================================================
  3. *
  4. * ________ .__ __ ________ ____ ________
  5. * \_____ \ __ __|__| ____ | | __\______ \ _______ _/_ |/ _____/
  6. * / / \ \| | \ |/ ___\| |/ / | | \_/ __ \ \/ /| / __ \
  7. * / \_/. \ | / \ \___| < | ` \ ___/\ / | \ |__\ \
  8. * \_____\ \_/____/|__|\___ >__|_ \/_______ /\___ >\_/ |___|\_____ /
  9. * \__> \/ \/ \/ \/ \/
  10. *
  11. * www.optixx.org
  12. *
  13. *
  14. * Version: 1.0
  15. * Created: 07/21/2009 03:32:16 PM
  16. * Author: david@optixx.org
  17. *
  18. * =====================================================================================
  19. */
  20. #ifndef __SYSTEM_H__
  21. #define __SYSTEM_H__
  22. #include "requests.h"
  23. typedef struct system_t {
  24. enum bus_mode_e { MODE_AVR, MODE_SNES } bus_mode;
  25. enum rom_mode_e { LOROM, HIROM } rom_mode;
  26. enum reset_line_e { RESET_OFF, RESET_ON } reset_line;
  27. enum irq_line_e { IRQ_ON, IRQ_OFF } irq_line;
  28. enum wr_line_e { WR_DISABLE, WR_ENABLE } wr_line;
  29. enum reset_irq_e { RESET_IRQ_OFF, RESET_IRQ_ON } reset_irq;
  30. uint8_t snes_reset_count;
  31. uint8_t avr_reset_count;
  32. } system_t;
  33. void system_init(void);
  34. void system_init(void);
  35. void system_send_snes_reset(void);
  36. void system_send_snes_irq(void);
  37. void system_set_bus_avr(void);
  38. void system_set_bus_snes(void);
  39. void system_set_rom_mode(usb_transaction_t * usb_trans);
  40. void system_set_rom_hirom(void);
  41. void system_set_rom_lorom(void);
  42. void system_snes_irq_off(void);
  43. void system_set_wr_disable(void);
  44. void system_set_wr_enable(void);
  45. void system_status();
  46. #endif