+ else if (!strcmp(buffer, "pmr"))
+ {
+ printf("PMR: %x\n", PMR);
+ }
+ else if (!strcmp(buffer, "exif"))
+ {
+ printf("EXIF: %x\n", EXIF);
+ }
+ else if (!strcmp(buffer, "blink"))
+ {
+ blinker();
+ }
+ else if (!strcmp(buffer, "t0"))
+ {
+ printf("TH0:TL0 %x:%x\n", TH0, TL0);
+ }
+ else if (!strcmp(buffer, "t2"))
+ {
+ printf("TH2:TL2 %x:%x\n", TH2, TH2);
+ }
+ else if (!strcmp(buffer, "faster"))
+ {
+ printf("going really fast...\n");
+ P5 |= 4; // LED off.
+
+ PMR = 0x82;
+ PMR = 0x8a; // 8a for REAL fast
+ PMR = 0x9a; // 9a for REAL fast.
+
+ while (!(EXIF & 8))
+ ;
+
+ PMR = 0x1a; // 1a for REAL fast.
+
+_asm
+ nop
+_endasm;
+
+ P5 &= ~5; // LED on.
+ }