got everything working at 1.5Mbaud (woohoo!!)
diff --git a/bbb_cape/src/cape/cows.c b/bbb_cape/src/cape/cows.c
index bad2b30..cdabaac 100644
--- a/bbb_cape/src/cape/cows.c
+++ b/bbb_cape/src/cape/cows.c
@@ -42,7 +42,7 @@
 
   while (source_index < ((source_length - 1) / 4) + 1) {
     code = source[source_index];
-    if (source_index + code > source_length && code != 1) {
+    if (source_index + code > source_length / 4 && code != 1) {
       return 0;
     }