dump.h 988 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. class GDTransport {
  2. FILE *dumpfile;
  3. public:
  4. void begin(void) {
  5. dumpfile = fopen("dump", "wb");
  6. if (!dumpfile) {
  7. perror("dump");
  8. exit(1);
  9. }
  10. }
  11. void cmdbyte(byte x) {
  12. putc(x, dumpfile);
  13. }
  14. void cmd32(uint32_t x) {
  15. putc(x & 0xff, dumpfile);
  16. putc((x >> 8) & 0xff, dumpfile);
  17. putc((x >> 16) & 0xff, dumpfile);
  18. putc((x >> 24) & 0xff, dumpfile);
  19. }
  20. void cmd_n(byte *s, size_t n) {
  21. while (n--)
  22. putc(*s++, dumpfile);
  23. }
  24. uint8_t rd(uint32_t a) { return 0xff; }
  25. void wr(uint32_t a, uint8_t v) { }
  26. uint16_t rd16(uint32_t a) { return 0xff; }
  27. void wr16(uint32_t a, uint16_t v) { }
  28. uint32_t rd32(uint32_t a) { return 0xff; }
  29. void rd_n(byte *dst, uint32_t addr, uint16_t n) { }
  30. void wr_n(uint32_t addr, byte *src, uint16_t n) { }
  31. void wr32(uint32_t a, uint32_t v) { }
  32. void flush() { }
  33. void finish() { }
  34. void __end() { }
  35. uint32_t getwp(void) { return 0; }
  36. void bulk(uint32_t addr) {}
  37. void resume(void) {}
  38. };