My dad used to say, “There’s the easy way, there’s the hard way, and then there’s Earl’s way that makes the hard way look easy.” I patched my input driver to replace “E” with ‘RUN”ED2’ in the input buffer. ED2 just says EXEC&H7C00. Hey, it works. lol.
I tried to squeeze the last line out of a bit of code that was rarely used. It didn’t work. I did it as simply as I could. It worked. While I was at it I saw that I had told my program that there were 26 alphanumeric chars instead of 36. Meant to be.
My latest problem was my fancy input driver which changed long names into pairs of characters changed hex numbers like &H7C00 into something like &AA. Boo. I fixed it in a way that fixed the output driver, too. Atta-boy Earl.
My program is designed for a 64k Coco 2. It runs in ROM mode and uses hi-ram and the top K of lo-ram for itself. At present, once you run it, it returns to Direct mode. Now all characters in names are significant. SAM=5:SAUL=6:?SAM returns 5. My next step is to integrate the editor.
Lines going up from the cursor now are shown in their crunched version. Going down they are shown in their uncrunched version.
LEFT ARROW MOVES LEFT. RIGHT MOVES RIGHT. SHIFT-LEFT IS BKSP. SHIFT-RIGHT IS DEL. UP MOVES UP. DOWN MOVES DOWN. SHIFT-UP EXITS. SHIFT-DOWN TOGGLES INSERT. ENTER OPENS A LINE. ALT ENTER DELETES A LINE. ALT IS SHIFT-CLEAR. ON VCC ALT IS SHIFT-HOME. ALT PRINTS NEXT CHARACTER.
So far I have a screen editor loosely based on FLEXIKEY.
LEFT ARROW MOVES LEFT. RIGHT MOVES RIGHT.
SHIFT-LEFT IS BKSP. SHIFT-RIGHT IS DEL.
UP MOVES UP. SHIFT-DOWN TOGGLES INSERT.
DOWN MOVES DOWN. SHIFT-UP EXITS.
ENTER OPENS LINE. ALT THEN ENTER DELETES LINE.
ALT is SHIFT-CLEAR. ON Vcc it is SHIFT-HOME.
ALT THEN SHIFT-RIGHT IS ]. ALT THEN ALT IS \.
ALT THEN SHIFT-DOWN IS [. ALT THEN UP IS up-arrow.
ALT THEN SHIFT-UP IS left-arrow.
My son added a subversion repository to my site. I had added number functions, string functions, power, compares, stop, and end. I got run, goto, then, and else working and plunged on into on i goto a,b,c without committing run, goto, then, and else. The working version crashed. I couldn’t get it to compile no matter what I tried. I checked out the last revision that I had committed and added run, goto, then, and else. Needless to say, I committed them before moving on. Now I commit regularly.
My Android coco app now does arithmetic. Parens, add, sub, unary minus, times, divide, or, and, not. Now on to the string functions.
My simple line oriented editor with a full screen display now inserts and deletes lines and moves up and down in the file. Now to work on my interpreter. So far it does END STOP and PRINT. Next up GOTO. Already an empty enter switches back and forth between editing and direct mode.