Reduced movemap, the keyboard lookup table, from 256 to 128 bytes.
authornealcrook <neal@pippaluk.org.uk>
Mon, 7 Nov 2016 18:00:56 +0000 (18:00 +0000)
committernealcrook <neal@pippaluk.org.uk>
Mon, 7 Nov 2016 18:00:56 +0000 (18:00 +0000)
The upper half was never used. To make sure, knocked off the top
bit of input characters. Reduces executable size by 128 bytes - but
still not enough for Tormod :-(

Applications/levee/editcor.c
Applications/levee/globals.c

index a116e3e..bff59ce 100644 (file)
@@ -20,7 +20,7 @@
 #include "extern.h"
 
 #include <string.h>
-#include <ctype.h>    
+#include <ctype.h>
 /* do some undoable modification */
 
 /* These variables make docommand nonrecursive */
@@ -88,7 +88,7 @@ join(int count)
 {
     bool ok;
     int lp, first;
-    
+
     if (lend < bufmax) {       /* are we in the buffer? */
        disp = lend;                            /* start redraw here */
        newc = lend;
@@ -116,7 +116,7 @@ PROC
 squiggle(int endp, char c, bool dorepl)
 {
     int i;
-    
+
     if (endp >= curr) {
        ok = move_to_undo(&undo,curr,endp-curr+1);
        if (ok) {
@@ -139,7 +139,7 @@ PROC
 bigreplace(void)
 {
     int len, tsiz;
-    
+
     tsiz = lend-curr;
     if (move_to_undo(&undo, curr, tsiz))
        if (SIZE - bufmax > tsiz) {     /* enough room for temp copy? */
@@ -241,7 +241,7 @@ docommand(cmdtype cmd)
                goto killredo;
            }
        }
-       
+
        endY = setY(endp);
        newend = curr;
        disp = curr;
@@ -494,7 +494,7 @@ editcore(void)
 {
     cmdtype cmd;
     extern bool s_wrapped;
-    
+
     /* rcb[0] = 0; rcp = rcb; */
 
     if (diddled) {
@@ -507,7 +507,7 @@ editcore(void)
 
     for (;;) {
        s_wrapped = 0;
-       ch = readchar();                        /* get a char */
+       ch = 0x7f & readchar();                 /* get 7-bits of a char */
        gcount();                       /* ... a possible count */
        switch (cmd = movemap[ch]) {
          case FILE_C:
index 0921f25..074f335 100644 (file)
@@ -287,7 +287,7 @@ int  macro = -1;                    /* Index into MCR */
 char nlsearch = 0;             /* for N and n'ing... */
 
 /* Movement, command codes */
-cmdtype movemap[256]={
+cmdtype movemap[128]={
     /*^@*/ BAD_COMMAND,
     /*^A*/ DEBUG_C,
     /*^B*/ HARDMACRO,
@@ -415,133 +415,5 @@ cmdtype movemap[256]={
     /*| */ TO_COL,
     /*} */ PARA_FWD,
     /*~ */ TWIDDLE_C,
-    /*^?*/ BAD_COMMAND,
-    /*80*/ BAD_COMMAND,
-    /*81*/ BAD_COMMAND,
-    /*82*/ BAD_COMMAND,
-    /*83*/ BAD_COMMAND,
-    /*84*/ BAD_COMMAND,
-    /*85*/ BAD_COMMAND,
-    /*86*/ BAD_COMMAND,
-    /*87*/ BAD_COMMAND,
-    /*88*/ BAD_COMMAND,
-    /*89*/ BAD_COMMAND,
-    /*xA*/ BAD_COMMAND,
-    /*xB*/ BAD_COMMAND,
-    /*xC*/ BAD_COMMAND,
-    /*xD*/ BAD_COMMAND,
-    /*xE*/ BAD_COMMAND,
-    /*xF*/ BAD_COMMAND,
-    /*90*/ BAD_COMMAND,
-    /*x1*/ BAD_COMMAND,
-    /*x2*/ BAD_COMMAND,
-    /*x3*/ BAD_COMMAND,
-    /*x4*/ BAD_COMMAND,
-    /*x5*/ BAD_COMMAND,
-    /*x6*/ BAD_COMMAND,
-    /*x7*/ BAD_COMMAND,
-    /*x8*/ BAD_COMMAND,
-    /*x9*/ BAD_COMMAND,
-    /*xA*/ BAD_COMMAND,
-    /*xB*/ BAD_COMMAND,
-    /*xC*/ BAD_COMMAND,
-    /*xD*/ BAD_COMMAND,
-    /*xE*/ BAD_COMMAND,
-    /*xF*/ BAD_COMMAND,
-    /*A0*/ BAD_COMMAND,
-    /*x1*/ BAD_COMMAND,
-    /*x2*/ BAD_COMMAND,
-    /*x3*/ BAD_COMMAND,
-    /*x4*/ BAD_COMMAND,
-    /*x5*/ BAD_COMMAND,
-    /*x6*/ BAD_COMMAND,
-    /*x7*/ BAD_COMMAND,
-    /*x8*/ BAD_COMMAND,
-    /*x9*/ BAD_COMMAND,
-    /*xA*/ BAD_COMMAND,
-    /*xB*/ BAD_COMMAND,
-    /*xC*/ BAD_COMMAND,
-    /*xD*/ BAD_COMMAND,
-    /*xE*/ BAD_COMMAND,
-    /*xF*/ BAD_COMMAND,
-    /*B0*/ BAD_COMMAND,
-    /*x1*/ BAD_COMMAND,
-    /*x2*/ BAD_COMMAND,
-    /*x3*/ BAD_COMMAND,
-    /*x4*/ BAD_COMMAND,
-    /*x5*/ BAD_COMMAND,
-    /*x6*/ BAD_COMMAND,
-    /*x7*/ BAD_COMMAND,
-    /*x8*/ BAD_COMMAND,
-    /*x9*/ BAD_COMMAND,
-    /*xA*/ BAD_COMMAND,
-    /*xB*/ BAD_COMMAND,
-    /*xC*/ BAD_COMMAND,
-    /*xD*/ BAD_COMMAND,
-    /*xE*/ BAD_COMMAND,
-    /*xF*/ BAD_COMMAND,
-    /*C0*/ BAD_COMMAND,
-    /*x1*/ BAD_COMMAND,
-    /*x2*/ BAD_COMMAND,
-    /*x3*/ BAD_COMMAND,
-    /*x4*/ BAD_COMMAND,
-    /*x5*/ BAD_COMMAND,
-    /*x6*/ BAD_COMMAND,
-    /*x7*/ BAD_COMMAND,
-    /*x8*/ BAD_COMMAND,
-    /*x9*/ BAD_COMMAND,
-    /*xA*/ BAD_COMMAND,
-    /*xB*/ BAD_COMMAND,
-    /*xC*/ BAD_COMMAND,
-    /*xD*/ BAD_COMMAND,
-    /*xE*/ BAD_COMMAND,
-    /*xF*/ BAD_COMMAND,
-    /*D0*/ BAD_COMMAND,
-    /*x1*/ BAD_COMMAND,
-    /*x2*/ BAD_COMMAND,
-    /*x3*/ BAD_COMMAND,
-    /*x4*/ BAD_COMMAND,
-    /*x5*/ BAD_COMMAND,
-    /*x6*/ BAD_COMMAND,
-    /*x7*/ BAD_COMMAND,
-    /*x8*/ BAD_COMMAND,
-    /*x9*/ BAD_COMMAND,
-    /*xA*/ BAD_COMMAND,
-    /*xB*/ BAD_COMMAND,
-    /*xC*/ BAD_COMMAND,
-    /*xD*/ BAD_COMMAND,
-    /*xE*/ BAD_COMMAND,
-    /*xF*/ BAD_COMMAND,
-    /*E0*/ BAD_COMMAND,
-    /*x1*/ BAD_COMMAND,
-    /*x2*/ BAD_COMMAND,
-    /*x3*/ BAD_COMMAND,
-    /*x4*/ BAD_COMMAND,
-    /*x5*/ BAD_COMMAND,
-    /*x6*/ BAD_COMMAND,
-    /*x7*/ BAD_COMMAND,
-    /*x8*/ BAD_COMMAND,
-    /*x9*/ BAD_COMMAND,
-    /*xA*/ BAD_COMMAND,
-    /*xB*/ BAD_COMMAND,
-    /*xC*/ BAD_COMMAND,
-    /*xD*/ BAD_COMMAND,
-    /*xE*/ BAD_COMMAND,
-    /*xF*/ BAD_COMMAND,
-    /*F0*/ BAD_COMMAND,
-    /*x1*/ BAD_COMMAND,
-    /*x2*/ BAD_COMMAND,
-    /*x3*/ BAD_COMMAND,
-    /*x4*/ BAD_COMMAND,
-    /*x5*/ BAD_COMMAND,
-    /*x6*/ BAD_COMMAND,
-    /*x7*/ BAD_COMMAND,
-    /*x8*/ BAD_COMMAND,
-    /*x9*/ BAD_COMMAND,
-    /*xA*/ BAD_COMMAND,
-    /*xB*/ BAD_COMMAND,
-    /*xC*/ BAD_COMMAND,
-    /*xD*/ BAD_COMMAND,
-    /*xE*/ BAD_COMMAND,
-    /*xF*/ BAD_COMMAND
+    /*^?*/ BAD_COMMAND
     };