home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 13 / AACD13.ISO / AACD / Games / WHDLoad / Src / gci / whddump.h < prev    next >
C/C++ Source or Header  |  2000-06-04  |  4KB  |  140 lines

  1. /*****************************************************************************
  2. ;  :Module.    whddump.h
  3. ;  :Author.    Bert Jahn
  4. ;  :EMail.    jah@fh-zwickau.de
  5. ;  :Address.    Franz-Liszt-Straße 16, Rudolstadt, 07404, Germany
  6. ;  :Version.    $Id: whddump.h 0.4 2000/05/23 17:13:02 jah Exp $
  7. ;  :History.    18.07.98 started
  8. ;        28.03.00 TERM chunk added
  9. ;  :Copyright.    All Rights Reserved
  10. ;  :Language.    C
  11. ;  :Tabsize.    4
  12. ;  :Translator.    GCC
  13. *****************************************************************************/
  14.  
  15. #ifndef DOS_DATETIME_H
  16. #include <dos/datetime.h>
  17. #endif
  18.  
  19. #define ID_WHDD MAKE_ID('W','H','D','D')
  20.  
  21. #define ID_HEAD MAKE_ID('H','E','A','D')
  22.  
  23. struct whddump_header
  24. {
  25.     ULONG    wdh_BaseMemSize;
  26.     APTR    wdh_ShadowMem;
  27.     ULONG    wdh_TermReason;
  28.     ULONG    wdh_TermPrimary;
  29.     ULONG    wdh_TermSecondary;
  30. #define TERMSTRINGLEN 256
  31.     char    wdh_TermString[TERMSTRINGLEN];
  32.     ULONG    wdh_LastBlitPC;
  33.     ULONG    wdh_ExpMemLog;
  34.     ULONG    wdh_ExpMemPhy;
  35.     ULONG    wdh_ExpMemLen;
  36.     ULONG    wdh_ResLoadLog;
  37.     ULONG    wdh_ResLoadPhy;
  38.     ULONG    wdh_ResLoadLen;
  39.     ULONG    wdh_SlaveLog;
  40.     ULONG    wdh_SlavePhy;
  41.     ULONG    wdh_SlaveLen;
  42. #define SLAVENAMELEN 256
  43.     char    wdh_SlaveName[SLAVENAMELEN];
  44.     struct    DateStamp wdh_DateStamp;
  45.     ULONG    wdh_kn;
  46.     ULONG    wdh_rw;
  47.     UWORD    wdh_cs;
  48.     UWORD    wdh_CPU;
  49.     WORD    wdh_WVer;
  50.     WORD    wdh_WRev;
  51.     WORD    wdh_WBuild;
  52.     BYTE    wdh_fc;
  53.     BYTE    wdh_zpt;
  54. };
  55.  
  56. #define ID_TERM    MAKE_ID('T','E','R','M')    /* starting whdload v11 */
  57.  
  58. #define ID_CPU    MAKE_ID('C','P','U',' ')
  59.  
  60. struct whddump_cpu
  61. {
  62.     ULONG    wdc_regs[15];
  63.     ULONG    wdc_pc;
  64.     ULONG    wdc_usp;
  65.     ULONG    wdc_ssp;        /* isp on 20-40 */
  66.     ULONG    wdc_msp;        /* 20-40 */
  67.     UWORD    wdc_sr;
  68.     UBYTE    wdc_sfc;        /* 10-60 */
  69.     UBYTE    wdc_dfc;        /* 10-60 */
  70.     ULONG    wdc_vbr;        /* 10-60 */
  71.     ULONG    wdc_caar;        /* 20-30 */
  72.     ULONG    wdc_cacr;        /* 20-60 */
  73.     ULONG    wdc_tt0;        /* 30 */
  74.     ULONG    wdc_tt1;        /* 30 */
  75.     ULONG    wdc_dtt0;        /* 40-60 */
  76.     ULONG    wdc_dtt1;        /* 40-60 */
  77.     ULONG    wdc_itt0;        /* 40-60 */
  78.     ULONG    wdc_itt1;        /* 40-60 */
  79.     ULONG    wdc_pcr;        /* 60 */
  80.     ULONG    wdc_buscr;        /* 60 */
  81.     ULONG    wdc_srp[2];        /* 30(64bit) 40-60(32bit) */
  82.     ULONG    wdc_crp[2];        /* 30 */
  83.     ULONG    wdc_drp[2];        /* 51 */
  84.     ULONG    wdc_tc;            /* 30(32bit) 40-60(16bit) */
  85.     ULONG    wdc_mmusr;        /* 30(16bit) 40(32bit) */
  86.     ULONG    wdc_urp;        /* 40-60 */
  87.     ULONG    wdc_fpregs[8*3];
  88.     ULONG    wdc_fpcr;
  89.     ULONG    wdc_fpsr;
  90.     ULONG    wdc_fpiar;
  91. };
  92.  
  93. #define ID_CUST MAKE_ID('C','U','S','T')
  94.  
  95. struct wdcu_flag
  96. {
  97.     unsigned int modi:1;
  98.     unsigned int :5;
  99.     unsigned int write:1;
  100.     unsigned int read:1;
  101. };
  102.  
  103. struct whddump_custom
  104. {
  105.     UWORD            wdcu_regs[256];
  106.     struct wdcu_flag    wdcu_flags[512];
  107. };
  108.  
  109. #define ID_CIAA MAKE_ID('C','I','A','A')
  110. #define ID_CIAB MAKE_ID('C','I','A','B')
  111.  
  112. struct whddump_cia
  113. {
  114.     UBYTE    wdci_prai;        /* Port Register A Input */
  115.     UBYTE    wdci_prbi;        /* Port Register B Input */
  116.     UBYTE    wdci_prao;        /* Port Register A Output */
  117.     UBYTE    wdci_prbo;        /* Port Register B Output */
  118.     UBYTE    wdci_ddra;        /* Data Direction Register A */
  119.     UBYTE    wdci_ddrb;        /* Data Direction Register B */
  120.     UWORD    wdci_ta;        /* actual Timer A */
  121.     UWORD    wdci_tb;        /* actual Timer B */
  122.     UWORD    wdci_pa;        /* Latch Timer A */
  123.     UWORD    wdci_pb;        /* Latch Timer B */
  124.     ULONG    wdci_event;        /* event counter */
  125.     ULONG    wdci_alarm;        /* alarm of event counter */
  126.     UBYTE    wdci_sdr;        /* seriell port register */
  127.     UBYTE    wdci_icr;        /* Interrupt Control Request */
  128.     UBYTE    wdci_icm;        /* Interrupt Control Mask */
  129.     UBYTE    wdci_cra;        /* Control Register A */
  130.     UBYTE    wdci_crb;        /* Control Register B */
  131.     UBYTE    wdci_pad[3];
  132. };
  133.  
  134. #define ID_SLAV MAKE_ID('S','L','A','V')
  135.  
  136. #define ID_MEM    MAKE_ID('M','E','M',' ')
  137.  
  138. #define ID_EMEM    MAKE_ID('E','M','E','M')
  139.  
  140.