diff options
author | Robert Schwebel <r.schwebel@pengutronix.de> | 2009-12-10 21:37:51 +0100 |
---|---|---|
committer | Robert Schwebel <r.schwebel@pengutronix.de> | 2009-12-10 21:37:51 +0100 |
commit | 25c7762a7bb29c7d3cf5ed8b298575cf46a5a0a7 (patch) | |
tree | 01c0dd520efc3515d7f2c7e855f78260117f094d /patches/cbmbasic/add_iobase.diff | |
parent | 770325ab4f082d408f8177a55a57f5c443fbb89f (diff) | |
download | ptxdist-25c7762a7bb29c7d3cf5ed8b298575cf46a5a0a7.tar.gz ptxdist-25c7762a7bb29c7d3cf5ed8b298575cf46a5a0a7.tar.xz |
[cbmbasic] improve patch comment and name
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
Diffstat (limited to 'patches/cbmbasic/add_iobase.diff')
-rw-r--r-- | patches/cbmbasic/add_iobase.diff | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/patches/cbmbasic/add_iobase.diff b/patches/cbmbasic/add_iobase.diff new file mode 100644 index 000000000..55e86adf1 --- /dev/null +++ b/patches/cbmbasic/add_iobase.diff @@ -0,0 +1,47 @@ +Subject: Add IOBASE and pseudo-timer (will give RND-functionality) +From: Wolfram Sang <ninja@the-dreams.de> + +Signed-off-by: Wolfram Sang <ninja@the-dreams.de> + +# --- +# Already sent mainline and accepted. + +Index: basic/runtime.c +=================================================================== +--- basic.orig/runtime.c 2008-11-17 05:16:31.000000000 +0100 ++++ basic/runtime.c 2008-11-17 05:43:31.000000000 +0100 +@@ -29,6 +29,7 @@ + #include <stdlib.h> + #include <stdio.h> + #include <string.h> ++#include <time.h> + + unsigned char RAM[65536]; + +@@ -155,6 +156,7 @@ + interactive = 1; + f = NULL; + } ++ srand(time(NULL)); + } + + static void +@@ -565,8 +567,16 @@ + /* IOBASE */ + static void + IOBASE() { +- printf("UNIMPL: IOBASE\n"); +- exit(1); ++ /* ++ * IOBASE is just used inside RND to get a timer value. ++ * So, let's fake this here, too. ++ */ ++ int pseudo_timer = rand(); ++ RAM[0xDC04] = pseudo_timer&0xff; ++ RAM[0xDC05] = pseudo_timer>>8; ++ ++ X = 0x00; ++ Y = 0xDC; + } + + int |