summaryrefslogtreecommitdiffstats
path: root/scripts/presyn/firmware.c
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/presyn/firmware.c')
-rw-r--r--scripts/presyn/firmware.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/scripts/presyn/firmware.c b/scripts/presyn/firmware.c
new file mode 100644
index 0000000..6c62169
--- /dev/null
+++ b/scripts/presyn/firmware.c
@@ -0,0 +1,43 @@
+void putc(char c)
+{
+ *(volatile char*)0x10000000 = c;
+}
+
+void puts(const char *s)
+{
+ while (*s) putc(*s++);
+}
+
+void *memcpy(void *dest, const void *src, int n)
+{
+ while (n) {
+ n--;
+ ((char*)dest)[n] = ((char*)src)[n];
+ }
+ return dest;
+}
+
+void main()
+{
+ char message[] = "$Uryyb+Jbeyq!+Vs+lbh+pna+ernq+guvf+zrffntr+gura$gur+CvpbEI32+PCH"
+ "+frrzf+gb+or+jbexvat+whfg+svar.$$++++++++++++++++GRFG+CNFFRQ!$$";
+ for (int i = 0; message[i]; i++)
+ switch (message[i])
+ {
+ case 'a' ... 'm':
+ case 'A' ... 'M':
+ message[i] += 13;
+ break;
+ case 'n' ... 'z':
+ case 'N' ... 'Z':
+ message[i] -= 13;
+ break;
+ case '$':
+ message[i] = '\n';
+ break;
+ case '+':
+ message[i] = ' ';
+ break;
+ }
+ puts(message);
+}