/* SwissBetty-TV-Fernbedienung: setup.h */

#ifndef SETUPINCLUDED
#define SETUPINCLUDED

/**** Dinge, die im Startup-Code vorhanden sind ****/

/* Restart-Gründe in 'Errors' */
#define isSoftreset  1
#define isDAbort     2
#define isPAbort     4
#define isUndef      8

extern volatile dword Errors;
extern volatile dword ErrAddr;
extern dword  CS_Area0, CS_Area1, CS_Area2, CS_Area3;

extern void abort_me(word reason);
extern void Soft_Reset (void);
extern void Hard_Reset (void);

/************** Grafik-Strukturen ***************/
#define lcdbreite 128
#define lcdhoehe  160

extern byte  PixLane1[2560];
extern byte  PixLane2[2560];
extern volatile dword DirtyPages;
extern volatile byte  LCD_CMD;
extern volatile byte  LCD_DATA;


/************** sonstiges ***********************/
extern const  char FirmwareRev[];
extern const  char CompileDatum[];
extern const  char Manifest[];

#define CCLK  30000000  /* CPU-Takt 30 MHz         */
#define PCLK  15000000  /* 15 MHz Peripherie-Clock */

extern void setup (void);

#endif
