Categories
CoCo Urbane

load and edit name

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.

Categories
Uncategorized

Stacking Food Cans

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.

Categories
Uncategorized

Karen’s New Computer

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.

Categories
CoCo Urbane

Load or Save

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.

Categories
CoCo Urbane

I’m Back

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.

Categories
CoCo Urbane

Bad Extract.bas

Extract.bas-001A

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.

Categories
CoCo Urbane

IMUrbane.001

ImUrbane.001

The purpose of this project is to make all of the characters in names significant in the Coco 2 basic language. It comes out of the box with just two characters significant. In addition line numbers are replaced by labels. E enters the full screen editor. D toggles debug mode. L loads the urbane file EARL.TXT and S saves it. Reset the coco or emulator before you edit ED2 to change the name. I’ve included all the asm and bas files I used to develop the system on Vcc, a coco3 RGBDos emulator, using EDTASM6309. I debugged as I went by writing one of my favorite programs using this project. go sub, return, on, for, to, step, next, and error messages remain, but I want to take a break so I think I’ll publish this on my blog nuts4cocos.org

Back when the coco 2 was new, a professor in California wrote a KARL program for it. A symbol moved around the screen picking things up and putting them down. He wrote an article about it in the Rainbow magazine, a huge national magazine devoted just to cocos. He showed how to add two distances. He said if anyone could show how to multiply them before the next issue came out he’d give them a copy of his program. It was very fancy. That was back in the days when you saved and loaded your programs on audio cassette players. I wrote a bare bones version and figured out how to multiply distances. I typed up what KARL needed to do to multiply distances. One of his assistants typed it in and made a couple of typos. Of course it didn’t work. I sent a tape in to prove that it worked. He couldn’t load it because the tape had a flaw on it. I never did send it in again. Ever since then have been writing KARL programs. Easy Assembler Robot Language. My name is Earl. If one substitutes b = bra for g = go to. s = bsr for go sub, and r = rts for return then one has an assembly language system, which I did when I wrote my first EARL program.

IMUrbane: arrows move around the screen. shift-left is bksp. shift right is del. enter opens a line. alt is shift-home on Vcc. I seem to have heard that is shift-clear on cocos. alt then enter deletes a line. shift-up toggles insert mode. shift down exits edit mode. alt followed by any key gives you what the coco would normally show for that key. Backup the floppy. RUN”ED”. Type L. It’s slow but well worth the wait. Now when you type RUN it runs the loaded urbane program EARL.TEXT Now you have a menu. L loads the famed add program. R and it runs. E and you can edit it with the same rules as IMUrbane. lines begin with a count byte. lines end with a zero byte. a star-line separates the file and the symbol table. symtab points at the byte count after the star line. there are two zero bytes at the start of the file. eof points at the final zero byte (zero length lines).

Categories
CoCo Urbane

I Fixed Hex and Oct

Sub, return, on, for, to, step, next, restore, read, data, binary save, binary load, and error messages remain to be implemented. A real drawback is before I load my drivers s a m acts like sam or s am. No distinction. I don’t see any easy fix. Maybe I’ll just ignore the problem. for-next and sub-return would be very hard to implement because of my decision to fix the $=” problem by adding a “+” changed where things are in my copy buffer from the file space when I execute things. I would have to have to count the “+” ‘s that I had added every time I came to a sub, return, for, or next. It could be done but I don’t think I want to. When I got done I wouldn’t have much. I would have 30k for the user program, but my EARL program is only 6k. It would fit nicely in the ordinary coco program space. I could use the upper 8k of ram, which is not used by the coco2 or coco 3 I think, for my program and the user leaving me with something worth while. I think I’m going to publish what I have and convert it over to this new system and then I’ll have something good. My next post is going to be the readme file for IMUrbane and a link to the disk holding all the files. Then I’m off and running for the new system.

Categories
CoCo Urbane

A Better Solution

I copy lines from behind the Coco rom as I execute them. Unfortunately the real Cocos take advantage that their user’s file is always in the same place so if you say a$=”sam” it just puts a pointer to the “sam” in a$. When it executes my line it puts a pointer to where “sam” is in the buffer. When it comes time to use a$ it looks in the buffer and it has something else in it. I was going to tell everyone to say a$=””+”sam” to force Coco’s basic to put “sam” into the string area. I increased the size of the buffer and when I come across a $=” if there isn’t a “+” after it I supply it. It’s a little slower and and the buffer has to be a little bigger, but it works. Another problem I have to address is octal and hex numbers. If the Coco comes across an & it expects an octal or hex number. If you print &MEN it prints 0 and the value of the variable MEN. I change multi character variables in two character name. If I happen to make the variable MEN into HA the Coco sees &HA and prints 10. I’m afraid I can’t use A-F H or O. I guess I’ll drop G, too. I used some fancy programming to crunch and uncrunch variable names. I think I’ll rewrite those parts and make it very strait forward. KISS. Keep it simple stupid. And think about it some more. Time spent thinking about it before you start programming is time well spent.

Categories
CoCo Urbane

IMUrbane Implemented

It’s 3am in the morning but I’m glad that I kept at it. All of the assembly language programming is done. When I was working on it before I had decided that I wouldn’t try to do rem and ‘remarks. And colons would come and go willy-nilly. The rem command works. The quote remarks work. No extraneous colons appear. I am so happy. All that’s left is the readme file and the label list for the EARL urbane program. And maybe a read program to help users read the readme file. Well I have a doctor’s appointment tomorrow so maybe I should call it quits and go to bed.