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.
I’m back to working on my ml Urbane. I keep going back and rewriting what I have done so I don’t get very far. Oh well.
I was using urbane for the disk io in my machine language editor, and I decided that it was overkill, so i wrote light (light urbane). Labels are all lower case, have to end lines, and variable names stay the same. That way you can have meaningful variable names that don’t change. Usage is light file. You can add lines drop lines and move lines, run it through light and the line numbers are all fixed. You can also use light in out, but I found that I never used it that way. Light.zip
I’m writing an editor in machine language for Urbane in machine language. I wanted to use urbane for the decb portion of the program to work with the disk portion of the program. My copy of urbane wouldn’t work so I figured that it just got corrupted. So I went back to the forum to get the original version, and discovered much to my dismay that the distribution didn’t include an executable. Not to be daunted I downloaded MinGW and the source and compiled it again. Bonkers. It still didn’t work. With a little work i managed to figure out that the problem was carriage return line separators instead of line feeds. So I rewrote urbane to handle carriage returns, line feeds, and even carriage return line feed pairs for good measure. While I was about it I cleaned up the code. Got rid of most of extra files, and made it ANSI compliant. I even cleaned up the parameters. urbane infile -o=outfle -v -l -l=listfile -e=errorfile -x=xref. No parameters lists the parameters. I even included an executable. urbaneBD.zip