I’ve spent about a week working on my urbane project to get it to show empty lines in the editor. Coco Basic’s list command has a flaw. If there are blank lines in the file it repeats the last non blank line. If my user enters an empty line in the urbane editor I replace it with a quote mark in the basic file. That’s the comment signifier. So the program lists with quote marks and runs fine. My son suggested that I should let my user enter a quote mark by itself if he wants to. So I replace his quote mark with a pair in the basic file. My editor shows the user his single quote mark where he put it. My editor passes normal comment lines right through. The last problem I had was when I uncrunched a line from the basic file it showed the extra quote if any. I changed the line buffer and the line length count, but the extra quote mark was already on the screen. I fixed it with a kludge. I knew where the quote mark was on the screen so I poked the screen memory with the appropriate value to make it a space. Four instructions and it was fixed. What a kludge.
I couldn’t wait to try it out. I carefully replaced all the stores with subroutine calls and cleaned it up a little. When I first tried it afterwards it didn’t work. I opened the editor and started looking around in the file. Then I noticed the save icon was red. I had forgotten to save the file before assembling and loading it. I saved it, assembled it and loaded it. Lo and behold it worked with no further changes. Now I’ll never be able to get to sleep. Oh well. It was worth it.
I’m working on my immediate version of urbane which runs on the coco2. With only a few changes it will run on the coco3 I hope. I was getting all kinds of weird results when I tried to open a new line at the end of the file. I remembered that I had done a complete rewrite of the uncrunch routine. Turns out I didn’t get the improvement that I had hoped for. I still needed to use a 256 byte buffer. I had these strange results, too. I went back to this uncrunch routine that I had rewritten. I spent a lot of time making it clean. One minor overlook, I pushed one more register than I pulled. When I fixed that it ran perfectly. I had to hold on tight to keep myself from charging ahead and attacking more features. I’m going to put out next weeks pills and balance our checkbook which I was supposed to do last weekend and maybe read in my kindle. Hopefully I’ll be relaxed enough then to go to sleep easily. I just thought of how I can get the results I wanted to with the new uncrunch routine. The coco2 and the coco3 when running in 32 column video mode let one read and write directly to the video memory. It will be a little harder, but I’ll be able to use less memory which might be an issue. I can hardly wait for tomorrow to come so I can try it out.
When the user loads or saves a file he is prompted with the last name loaded or saved successfully. F now loads a find screen of lines with labels. Shift-up does a page-up. Shift-down does a page-down. Up-arrow does a line-up. Down-arrow does a line-down. Enter returns to the editor at the selected label. I now plan to use the system to improve my EARL (Easy Assembler Robot Language) program which has a greater-than or less-than symbol moving back and forth on a line and increasing and decreasing numbers occasionally. The goal is to add or multiply distances on the line. A one is placed at each distance. When done the character stops at the added distance.
When I had trouble calling the kbd routine in my crunch program I solved the problem by inserting the kbd routine from my version 002 system into the version 001c that I’m working on now. I wanted to check to be sure it worked all right. I discovered that when I backed up the entire floppy image to the hard drive after inserting the new files, the cursor blinked just once each time I hit a key. I noticed that if I reset the system and then ran the program again I had the blinking cursor that I had worked so hard to get in version 002. I tried making a batch file to copy each file I was using, so I could find out which file was causing the problem. It worked just fine. I never did find out what was causing the single blink. Who cares. If I only copy the files I use it’s faster than backing up the whole floppy image. Now when I update my files and insert them into the floppy image I just run my batch file and I’m in business. I think that I’ll go back to just copying the files that I’ve changed. Maybe run the batch file once in a while. I’m just working on two file right now: ed2 and crunch. I have a name file. If when I run ed2 the name file isn’t there I tell the user to run line 3 to initialize that file to temp.txt and initialize temp.txt to be print “sam”. The load routine loads the name in the name file into to top of ed2. The load routine adds $40 to the length of the name and stores it just before the name The top line is just a long comment. My edit function copies that name into a later spot in the line. Then backspace works on this new name. If there are no characters in the line it ignores the backspace. If there are 12 characters in it already the edit routine ignores the new character. When the user presses the carriage return the edit routine returns the new name in the same descriptor as it was called with. Next comes saving the new name in the name file.
Continuing disappointment. Cans of vegetables and fruit don’t stack. Today I found some that stacked at Price Chopper. When I was putting them away in the pantry, I dropped some. Usually when I drop some the edges bend so the can opener doesn’t work. This time not a single bent edge. Almost too good to be true. I had only written this down than I discovered a can that had fallen and bent. But only on the side. I think it will still open all right. I forgot to put the flashlight away after using it last night to look at Karen’s computer. I searched to no avail. I slipped and knocked over her crystal light glass. It’s almost never empty. This time it was. Lo and behold the flashlight was behind it. Meant to be. I get much better shaves when I shave every day.
Karen’s new computer wouldn’t shut down properly. It kept restarting. I signed up for McAfee on my laptop. Now Karen’s new computer shuts down properly. It always restarted I coudn’t set my alarm clock. I assumed it was broken. I was going to buy another just like it. Fotunately I couldn’t get Amazon to work either. I remembered how to set the time. I read the instructions and saw how to turn the alarm off. McAfee. Dark web. Dangerous site. I vacuumed our room. I do better when I read before but rather than work on my project.
I’m trying to use GitHub. At one place my project saved properly but didn’t load. At another it loaded properly but didn’t save. The save and load are taken care of in two files. I copied the last versions of the two files into a folder to look at later. I moved the two files from the version that loaded properly into the last version. Lo and behold the load worked. The save didn’t work in the version I copied the files from, but once I copied the files to the latest version, the load and the save both worked. Hooray. I’m working on keeping the user filename in a file. Right now it prints the old filename, prompts for a new name then automatically loads the old user file.
Right now my wife’s exercise machine is in the communal living room. The parents want it out of there. We’re the grandparents. I moved furniture around to have a space for the machine in our room. I was just going to move the machine in. My wife wanted me to vacuum the space and spray vinegar on it so the cats wouldn’t be as likely to pee there. I vacuumed most of the room while I was about it. Just before I finished, the canister filled up clear to the top. I had the ask how to empty it. It was still making a noise. I cleaned off the rollers. It still made a noise. I cleaned a lot of cat hair out of the tubes. At that point it sounded like it did at the start. Our floor looks so fine. Well the exercise machine is too big for our door. We’re going to put it in the pantry. It’s quite big. Now I’m clearing out a space for the machine there. I find that when I work a while at chores then a while at my computer project I have the best results.
The weather is very cold right now here. It won’t be much above freezing until Saturday. No riding on my adult pedal tricycle. I miss doing that. I hope to be able to use my wife’s exercise machine in the future. Oh well, more time to work on my programs and projects.
I haven’t worked on my project for quite a while. My son has got me working with GitHub.. I plan to use it to publish my IMUrbane project when I get it back to working again. It was working when I quit working on it. Now the user can’t save his file. Oh well I’m having fun. As you may recall there is a full screen editor. It uses labels instead of line numbers and all the characters in variable names and labels are significant. I use lwasm from lwtools. I still use decb from toolbox. I still use Vcc, a coco emulator with a virtual hard drive. I guess I had better call it quits for tonight and get some sleep.
It seems like I had a bad extract.bas program in release.001 I think it won’t matter. No one will use my program. Let alone try to work on the system. Oh well. Here is a working version.