//super8.h
//definition of the super8-hardware
//the peripheral-registers as structure
//19940811/wjvg

#asm
 register 0xd0  //the peripheral-registers of bank 0 start here
#endasm

register
struct sregs {
  unsigned char  p0;      //0xd0
  unsigned char  p1;      //0xd1
  unsigned char  p2;      //0xd2
  unsigned char  p3;      //0xd3
  unsigned char  p4;      //0xd4
  unsigned char  flags;   //0xd5
  unsigned char  rp0;     //0xd6
  unsigned char  rp1;     //0xd7
  unsigned short sp;      //0xd8
  unsigned short ip;      //0xda
  unsigned char  irq;     //0xdc
  unsigned char  imr;     //0xdd
  unsigned char  sym;     //0xde
  unsigned char  res_df;  //0xdf

  unsigned char  c0ct;    //0xe0
  unsigned char  c1ct;    //0xe1
  unsigned short c0c;     //0xe2
  unsigned short c1c;     //0xe4
  unsigned char  stc;     //0xe6
  unsigned char  srca;    //0xe7
  unsigned char  srcb;    //0xe8
  unsigned char  sie;     //0xe9
  unsigned char  sio;     //0xea
  unsigned char  utc;     //0xeb
  unsigned char  urc;     //0xec
  unsigned char  uie;     //0xed
  unsigned char  res_ee;  //0xee
  unsigned char  uio;     //0xef

  unsigned char  p0m;     //0xf0
  unsigned char  pm;      //0xf1
  unsigned short res_f2;  //0xf2
  unsigned char  h0c;     //0xf4
  unsigned char  h1c;     //0xf5
  unsigned char  p4d;     //0xf6
  unsigned char  p4od;    //0xf7
  unsigned char  p2am;    //0xf8
  unsigned char  p2bm;    //0xf9
  unsigned char  p2cm;    //0xfa
  unsigned char  p2dm;    //0xfb
  unsigned char  p2aip;   //0xfc
  unsigned char  p2bip;   //0xfd
  unsigned char  emt;     //0xfe
  unsigned char  ipr;     //0xff
} Sregs;

#asm
 register 0xe0      //the peripheral-registers of bank 1 start here
#endasm

register
struct sregs_b1 {
  unsigned char  c0m;     //0xe0
  unsigned char  c1m;     //0xe1
  unsigned short c0tc;    //0xe2
  unsigned short c1tc;    //0xe4
  unsigned short res_e6;  //0xe6
  unsigned short sbg;     //0xe8
  unsigned char  sma;     //0xea
  unsigned char  smb;     //0xeb
  unsigned char  smc;     //0xec
  unsigned char  smd;     //0xed
  unsigned short syn;     //0xee

  unsigned short dc;      //0xf0
  unsigned short res_f2;  //0xf2
  unsigned short res_f4;  //0xf4
  unsigned short res_f6;  //0xf6
  unsigned short ubg;     //0xf8
  unsigned char  uma;     //0xfa
  unsigned char  umb;     //0xfb
  unsigned short res_fc;  //0xfc
  unsigned char  wumch;   //0xfe
  unsigned char  wumsk;   //0xff
} Sregs_b1;

//end
