switch Cyclone to submodule on it's own git repo
[picodrive.git] / cpu / Cyclone / tests / test_misc2_gen.c
diff --git a/cpu/Cyclone/tests/test_misc2_gen.c b/cpu/Cyclone/tests/test_misc2_gen.c
deleted file mode 100644 (file)
index 108156b..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-
-
-static FILE *f;
-
-#define bswap16(x) (x=(unsigned short)((x<<8)|(x>>8)))
-#define bswap32(x) (x=((x<<24)|((x<<8)&0xff0000)|((x>>8)&0x00ff00)|((unsigned)x>>24)))
-
-static void write_op(unsigned short op, unsigned short word0, unsigned short word1, unsigned short word2)
-{
-       bswap16(op);
-       bswap16(word0);
-       bswap16(word1);
-       bswap16(word2);
-
-       fwrite(&op,    1, sizeof(op), f);
-       fwrite(&word0, 1, sizeof(word0), f);
-       fwrite(&word1, 1, sizeof(word1), f);
-       fwrite(&word2, 1, sizeof(word2), f);
-}
-
-static void write32(unsigned int a)
-{
-       bswap32(a);
-       fwrite(&a,     1, sizeof(a),  f);
-}
-
-static int op_check(unsigned short op)
-{
-       if ((op&0xf000) == 0x6000) return 0; // Bxx
-       if ((op&0xf0f8) == 0x50c8) return 0; // DBxx
-       if ((op&0xff80) == 0x4e80) return 0; // Jsr
-       if ((op&0xf000) == 0xa000) return 0; // a-line
-       if ((op&0xf000) == 0xf000) return 0; // f-line
-       if ((op&0xfff8)==0x4e70&&op!=0x4e71&&op!=0x4e76) return 0; // reset, rte, rts
-
-       if ((op&0x3f) >= 0x28) op = (op&~0x3f) | (rand() % 0x28);
-       return 1;
-}
-
-static unsigned short safe_rand(void)
-{
-       unsigned short op;
-
-       /* avoid branch opcodes */
-       do
-       {
-               op = rand();
-       }
-       while (!op_check(op));
-
-       return op;
-}
-
-int main()
-{
-       int i, op;
-
-       srand(time(0));
-
-       f = fopen("test_misc2.bin", "wb");
-       if (!f) return 1;
-
-       write32(0x00ff8000); // stack
-       write32(0x300); // IP
-
-       for (i=0x100/4-2; i; i--)
-       {
-               write32(0x200+i*4); // exception vectors
-       }
-
-       for (i=0x100/4; i; i--)
-       {
-               write32(0); // pad
-       }
-
-       for (i=0x100/4; i; i--)
-       {
-               write32(0x4e734e73); // fill with rte instructions
-       }
-
-       for (op = 0; op < 0x10000; op++)
-       {
-               if ((op&0xf000) == 0x6000) // Bxx
-               {
-                       if ((op&0x00ff) == 0)
-                               write_op(op, 6, 0, 0);
-               }
-               else if ((op&0xf0f8)==0x50c8) // DBxx
-               {
-                       write_op(op, 6, 0, 0);
-               }
-               else if ((op&0xff80)==0x4e80) // Jsr
-               {
-                       int addr = 0x300 + op*8 + 8;
-                       if ((op&0x3f) == 0x39)
-                               write_op(op, addr >> 16, addr & 0xffff, 0);
-               }
-               else if ((op&0xf000)==0xa000 || (op&0xf000)==0xf000) // a-line, f-line
-               {
-                       if (op != 0xa000 && op != 0xf000) continue;
-               }
-               else if ((op&0xfff8)==0x4e70&&op!=0x4e71&&op!=0x4e76); // rte, rts, stop, reset
-               else
-               {
-                       write_op(op, safe_rand(), safe_rand(), safe_rand());
-               }
-       }
-
-       // jump to the beginning
-       write_op(0x4ef8, 0x300, 0x4ef8, 0x300);
-       write_op(0x4ef8, 0x300, 0x4ef8, 0x300);
-
-       fclose(f);
-       return 0;
-}
-