summaryrefslogtreecommitdiff
path: root/apps/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/main.c')
-rw-r--r--apps/main.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/apps/main.c b/apps/main.c
index e10f9ed5f1..4d329bb658 100644
--- a/apps/main.c
+++ b/apps/main.c
@@ -54,6 +54,16 @@
54#include "screens.h" 54#include "screens.h"
55#include "power.h" 55#include "power.h"
56 56
57/* diagnostic, to be removed later: */
58/* snapshot of the I/O space on startup, to compare initialisations */
59union
60{
61 unsigned char port8 [512];
62 unsigned short port16[256];
63 unsigned port32[128];
64} startup_io;
65
66
57char appsversion[]=APPSVERSION; 67char appsversion[]=APPSVERSION;
58 68
59void init(void); 69void init(void);
@@ -225,6 +235,28 @@ void init(void)
225 235
226int main(void) 236int main(void)
227{ 237{
238 /* diagnostic, to be removed later: dump I/O space */
239 int i;
240 for (i = 0; i < 512; i++)
241 { // most can be read with 8 bit access
242 startup_io.port8[i] = *((volatile unsigned char*)0x5FFFE00 + i);
243 }
244 // some don't allow that, read with 32 bit if aligned
245 startup_io.port32[0x140/4] = *((volatile unsigned char*)0x5FFFF40);
246 startup_io.port32[0x144/4] = *((volatile unsigned char*)0x5FFFF44);
247 startup_io.port32[0x150/4] = *((volatile unsigned char*)0x5FFFF50);
248 startup_io.port32[0x154/4] = *((volatile unsigned char*)0x5FFFF54);
249 startup_io.port32[0x160/4] = *((volatile unsigned char*)0x5FFFF60);
250 startup_io.port32[0x170/4] = *((volatile unsigned char*)0x5FFFF70);
251 startup_io.port32[0x174/4] = *((volatile unsigned char*)0x5FFFF74);
252
253 // read the rest with 16 bit
254 startup_io.port16[0x14A/2] = *((volatile unsigned short*)0x5FFFF4A);
255 startup_io.port16[0x15A/2] = *((volatile unsigned short*)0x5FFFF5A);
256 startup_io.port16[0x16A/2] = *((volatile unsigned short*)0x5FFFF6A);
257 startup_io.port16[0x17A/2] = *((volatile unsigned short*)0x5FFFF7A);
258 /* end of diagnostic */
259
228 app_main(); 260 app_main();
229 261
230 while(1) { 262 while(1) {