home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Amiga 5 / MA_Cover_5.iso / ppc / atari / atari800-0.8.6 / cpu.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-05-10  |  1.1 KB  |  54 lines

  1. #ifndef __CPU_INCLUDED__
  2. #define __CPU_INCLUDED__
  3.  
  4. #include "atari.h"
  5.  
  6. #define N_FLAG 0x80
  7. #define V_FLAG 0x40
  8. #define G_FLAG 0x20
  9. #define B_FLAG 0x10
  10. #define D_FLAG 0x08
  11. #define I_FLAG 0x04
  12. #define Z_FLAG 0x02
  13. #define C_FLAG 0x01
  14.  
  15. void CPU_GetStatus(void);
  16. void CPU_PutStatus(void);
  17. void CPU_Reset(void);
  18. void SetRAM(int addr1, int addr2);
  19. void SetROM(int addr1, int addr2);
  20. void SetHARDWARE(int addr1, int addr2);
  21. void NMI(void);
  22. void GO(int cycles);
  23.  
  24. extern UWORD regPC;
  25. extern UBYTE regA;
  26. extern UBYTE regP;
  27. extern UBYTE regS;
  28. extern UBYTE regY;
  29. extern UBYTE regX;
  30.  
  31. #define SetN regP|=N_FLAG
  32. #define ClrN regP&=(~N_FLAG)
  33. #define SetV regP|=V_FLAG
  34. #define ClrV regP&=(~V_FLAG)
  35. #define SetB regP|=B_FLAG
  36. #define ClrB regP&=(~B_FLAG)
  37. #define SetD regP|=D_FLAG
  38. #define ClrD regP&=(~D_FLAG)
  39. #define SetI regP|=I_FLAG
  40. #define ClrI regP&=(~I_FLAG)
  41. #define SetZ regP|=Z_FLAG
  42. #define ClrZ regP&=(~Z_FLAG)
  43. #define SetC regP|=C_FLAG
  44. #define ClrC regP&=(~C_FLAG)
  45.  
  46. extern UBYTE memory[65536];
  47.  
  48. extern UBYTE IRQ;
  49.  
  50. #define REMEMBER_PC_STEPS 16
  51. extern UWORD remember_PC[REMEMBER_PC_STEPS];
  52.  
  53. #endif
  54.