memory.hpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /*****
  2. * CPU<>APU communication ports
  3. *****/
  4. uint8 apu_port[4];
  5. uint8 port_read(uint8 port) { return apu_port[port & 3]; }
  6. void port_write(uint8 port, uint8 data) { apu_port[port & 3] = data; }
  7. /*****
  8. * core CPU bus functions
  9. *****/
  10. void op_io();
  11. uint8 op_read(uint32 addr);
  12. void op_write(uint32 addr, uint8 data);
  13. /*****
  14. * helper memory addressing functions used by CPU core
  15. *****/
  16. uint8 op_readpc ();
  17. uint8 op_readstack ();
  18. uint8 op_readstackn();
  19. uint8 op_readaddr (uint32 addr);
  20. uint8 op_readlong (uint32 addr);
  21. uint8 op_readdbr (uint32 addr);
  22. uint8 op_readpbr (uint32 addr);
  23. uint8 op_readdp (uint32 addr);
  24. uint8 op_readsp (uint32 addr);
  25. void op_writestack (uint8 data);
  26. void op_writestackn(uint8 data);
  27. void op_writeaddr (uint32 addr, uint8 data);
  28. void op_writelong (uint32 addr, uint8 data);
  29. void op_writedbr (uint32 addr, uint8 data);
  30. void op_writepbr (uint32 addr, uint8 data);
  31. void op_writedp (uint32 addr, uint8 data);
  32. void op_writesp (uint32 addr, uint8 data);