Saturday, January 25, 2020

33209: Possible Uses for the Micro Chroma 68

Chapter 4: Micro Chroma 68 Lives

Chapter 5: Possible Uses for the Micro Chroma 68


(I should note that the farther we proceed in the story, the farther the me in the story is from the real me, and the events from the real events. The me in the story is already several months ahead of where I was in February of 1981. The family in the story is somehow different, too.)

After classes on Monday, for family home evening, I decided to show Giselle and my parents a few useful things we could do with the Micro Chroma 68 as it was, using the Tiny BASIC interpreter as a calculator.

Mom leaned back and pursed her lips, looking at the screen where Tiny BASIC had replaced the monitor ROM's title screen with its own, after I had given the monitor the command to start Tiny BASIC. "What's 'Copyleft' mean?"

"It means they explicitly give people permission to copy and modify it."

Her expression remained doubtful.

Giselle gave me a curious look. "Wouldn't Microsoft have something to say about that?"

I nodded. "I'm sure they would have lots to say, if they could. Bill Gates and Paul Allen really would love to have everyone to think they own BASIC, but they don't. Give them time, when they think everyone has forgotten Dartmouth and all the independent implementations of BASIC that trace back to the original Dartmouth BASIC of the previous decade, and further back to ForTran, instead of to Microsoft's re-implementation, and I'm sure they will get around to claiming they invented BASIC."

"Then what is it they claim?" Dad asked.

"Right now, they are working hard to convince everyone that their version is, or should be, The Standard because they sort of beat a lot of others putting Dartmouth's language on a microcomputer, and that therefore everyone should contribute to their efforts to innovate their way into a computer empire to rival IBM."

Dad raised his eyebrows. "IBM's pretty big."

"Apparently, so's Bill Gates's ego. But IBM is also way behind the curve on the personal computer revolution, so it isn't exactly an unreasonable ambition."

Mom shook her head in bewilderment. "Okay. So you were showing us what this can do," she prompted.

"Oh, yeah. Calculator mode. Say I want to know how fast I need to average in the car, to get to Austin in five hours. It's 338 miles to Austin." I typed in
PRINT 338/5
and it printed out
67.6 OK
"So I gotta break the speed limit to do that." Back then, we still had the double-nickle, 55 MPH speed limit on all public roads in the US. We were still a few years away from the Texas legislature's realization that Texans needed to relieve the tedium of driving Texas distances at 55 more than they needed the federal funding that the national legislature had made dependent on toeing the 55 MPH line.

"True," Dad nodded. "Can I try it out?"

"Go ahead." I stood up and let him sit down at the keyboard. "Be careful not to move the mainboard. I really need to put this in its own box."

Dad played around with calculator mode for a few minutes while Mom and Giselle watched. Then he nodded and stood up. "I see. It calculates," he said with a smile and a nod.

Giselle looked like she wanted to try it.

"Your turn." I gave her an encouraging nod.

She sat down and tried a few calculations of her own, then stood up and turned around, her brow knit. "Oh ... kay, it could be fun. Your turn, Mom."

"I'm duly impressed that it's a calculator."

"Oh, try it," I urged.

Mom hesitantly sat down at the keyboard and thought for a moment, then said, "Okay, 4 cups of flour for three dozen cookies, and I want to make only twenty. So, divide is the slash, and times is ..."

"Asterisk."

"Okay."
 4/(3*12)*20=
SYNTAX ERROR
"Well, I know what syntax is, but what is it trying to tell me?"

"Instead of writing it like a math homework problem, just tell it to print, and give it the formula without the equals. Type 'print' and then the formula."

"Oh. That's why Dad and Giselle were typing it that way." She tried it:
PRINT 4/(3*12)*20
2.22221 OK
"Okay, I can believe that. What else can it do?"

"We can put that in a loop:" I traded places with her and typed in a short program
10 PRINT "COUNT OF COOKIES";
20 INPUT C
30 PRINT 4/(3*12)*C;  " CUPS OF FLOUR"
40 GOTO 10
RUN
COUNT OF COOKIES? 50
5.55556 CUPS OF FLOUR
COUNT OF COOKIES? 15
1.66667 CUPS OF FLOUR
COUNT OF COOKIES?
"Well, that's interesting. Can it do that with a whole recipe?"

"Let's see a recipe."

I hit the break key to stop it while she found her recipe cards.

"Let's try these biscuits." She showed me the card.

I read it and mumbled to myself while typing:
10 A=8 REM BASE COUNT
20 F=2/A REM CUPS FLOUR
30 P=4/A REM TSP BAK POWDER
40 S=(1/2)/A REM TSP SALT
50 B=4/A REM TBLSP BUTTER
60 M=1/A REM CUPS MILK
100 PRINT "COUNT OF BISCUITS";
110 INPUT C
120 IF C = 0 THEN GOTO 200
130 PRINT F*C; " CUPS FLOUR"
140 PRINT P*C; " TSP BAKING POWDER"
150 PRINT S*C; " TSP SALT"
160 PRINT B*C; " TBLSP BUTTER"
170 PRINT M*C; " CUPS MILK"
180 GOTO 110
200 STOP
The top line scrolled off the screen when I entered the last one.

I typed "RUN" and hit the enter key, and it came back with
COUNT OF BISCUITS?
So I typed in 100, and it immediately spat out 
 25 CUPS FLOUR
 50 TSP BAKING POWDER
 6.25 TSP SALT
 50 TBLSP BUTTER
 12.5 CUPS MILK
?       
Mom laughed. "That's a lot of flour."

I looked at the last line, with its lone question mark. "Woops. There's a bug. That should have been GOTO 100." I pressed the break key and retyped line 180 and ran it again to check.

"Runs nicely. So this is what you do when you want to save a program." I hit the break key again and typed in commands to save the program to tape, putting a tape in the tape recorder and fast forwarding to where there were no sounds of recorded data before I hit the record button on the recorder and the return key on the keyboard.

"I get the point. But, actually, you generally adjust the amounts slightly for large or small batches. Can the program do that?"

"I can add the rules for it in the places where I'm multiplying by the count to make. But the cook also usually adjusts things to the weather, too, right?"

Mom nodded.

"The computer doesn't know anything about the weather unless we tell it, and that's another complexity. But BASIC is missing features to help deal with complexity. Tiny BASIC only has a very limited number of variables, anyway, and that can make it harder to work with. And if there are a lot of rules, this small computer can run out of memory to handle them all. Running out of memory for just this one recipe won't happen, but if we try to put a whole recipe book in the computer, we might."

"I see, said the blind lady," Mom laughed wryly. "Don't bother trying to explain, I understand it might be possible, and that's about good enough."

Dad looked thoughtful. "Now, I saw you playing some kind of game on this a bit ago. Where did that come from?"

Mom looked up at him. "Dad, there's no need for bringing that up."

"Oh, that? I was testing the graphics modes out. with a quick program in BASIC. It's a silly game, took me maybe an hour to write, doesn't do much." I pulled out the tape I had saved it to, loaded it in, and ran it. It had an object like a gun that the cursor keys moved along the bottom of the screen, and when you pressed the space bar it shot beams towards objects at the top, erasing them.

Giselle looked interested. Mom and Dad just looked puzzled.

"Pretty boring, really." I pressed the Q key to stop the game. "But it gives me an idea what I can do with graphics. I also wrote a program to make a sine curve." I loaded that one up and ran it, too. It just displayed the sine curve on the screen with two axes, and didn't do anything else.

Dad nodded. "That's more impressive, to me."

Mom nodded in agreement.

Then Dad asked, "So what about just typing?" 

"Word processing. There are text editors that I could tweak to run on this, and text processors, or formatting programs. I could wire a port up to attach a printer to put the text on paper, but printers are kind of expensive, six hundred bucks and up if you want the output to look at all good."

"You can buy a decent typewriter for a lot less."

On the screen, the computer reported that it was finished saving the program, and I stopped the cassette.

"True, but revising text on paper is not nearly as easy as on the computer screen."

"Okay, so how would it work? What would it look like?"

"Sort of like," I typed at the keyboard:
210 REM THIS IS A LINE OF TEXT.
220 REM I COULD TYPE ABOUT MANY T
HINGS.
230 REM REM NOT NECESSARY.
"Most word processors I could get for this computer require typing in a line at a time, and the lines have line numbers like the BASIC program does. But I'm only typing 'R-E-M' here to keep BASIC happy. General purpose line editors wouldn't need that for word processing text."

Three pairs of eyes gave me blank looks.

"And formatting requires commands, like '.CE' to center a line."

Blank looks were replaced by clear doubt.

"That sounds a lot more complicated than the typewriter." Dad grinned. 

"There are screen editors for some computers ..." I thought for a little bit, then got out the datasheet for the 6800, and reset the computer.

Instead of the monitor prompt, the screen flashed random characters and BASIC commands mixed with random low-resolution character-level graphics.

"Pretty," Giselle commented.

I reset it again and got the monitor prompt.

"Trouble with the reset circuit and power supply. It's not supposed to do that."

"That wasn't the computer calculating something?" Mom asked.

"Nothing useful, anyway. If the computer had more peripheral equipment, that uncontrolled operation could do harm."

"It looked like it might mean something?" Giselle's statement was a question more than an assertion.

"Naw. Random operation. The stuff that looked like words is just stuff randomly pulled out of the BASIC ROM."

Dad tilted his head. "If you left it like that long enough, would it eventually come back to BASIC?"

"It might, but you wouldn't dare trust it. I've done that before, and it sometimes just freezes after you type in 50 lines of code."

"No natural evolution?" Giselle worried the skin between her eyes.

"Randomness only begets intelligence when intelligence has left something there for the randomness to bump into, and even then there is no way to know what state it is in. You have to bring it back up in a controlled way if you want to trust it. Hang on a minute."

I hand assembled a little input loop that did nothing but look for input characters.
1000 BE EE E1 JSR $FEE1
1003 20 FB       BRA *-3
Mom shook her head. "No way do I understand what you just did."

"There's an assembler that could do that for me. Denny wanted to send it home with me, but I'm wanting to be cooperative about copyright, and I'm not sure I'm quite ready to buy it yet. I'm not sure you'd understand the assembler any better."

The four of us chuckled.

My hack worked, and I could move the cursor around and type anywhere on the screen.

"Let me try it."

"Okay."

Dad typed
1: HOW DO YOU SAY, "WHAT IS THIS?"
IN SPANISH?
"Now, if we had a printer, I could print that?"

"Not with just the code that is there. I'd have to write more code to output it to the printer. But the screen's only 32 columns wide, and that's going to make it hard to see how it will look on the page."

"How did you figure out it would do that?"

"Well, that was actually inspired by behavior i observed once on a bad reset." I laughed.

"So randomness can produce useful results."

"Only when there is something intelligent that the randomness bumps into, and then only when the whole thing is stable enough for it to start interpreting the intelligent stuff in a meaningful way."

"Hmm. Can I save this on a cassette tape?"

"Not really. The commands to save it would mess it up in screen memory. Saving on tape will need more code, too."

Giselle was looking puzzled now. "You talk about code a lot."

"Program code. Without programs the computer doesn't do much."

"Where do you get the code?"

"If what you need already exists and is being sold, you can buy it. If not, you make it yourself."

"Would you have to write it all yourself?" Mom asked. "I guess that takes a lot of time."

"If it doesn't already exist, yeah, you would write it yourself or pay someone to write it."

"So, does this word processor exist?" Dad pressed.

"Well, the manual for this kit mentions Technical Systems Consultants, and indicates they have a text editor and a text processor that can be easily modified for it. I'm not sure how much they want, and I'm sure it's a line oriented editor rather than a screen editor."

Giselle took a deep breath. "So this computer is not going to be easy to use?"

"Not really. Apple IIs will be a bit more tame. And Radio Shack's Color Computer gets some ease-of-use points in some circles."

Dad raised his eyebrows. "So, what about those?"

"What about them?"

"Wouldn't it be more productive to buy one of those?"

"Well, that's no fun, using something someone else made."

"You don't put food on the table with fun."

"Some people do."

Dad's brow wrinkled.

"Well, yeah, if I had the money for the other computers, I might want to have fun doing something else."

"So could you make money as a typist with this?" Mom asked.

"Somebody might, but that's not what I plan on doing. I don't type very fast, and I don't want to use what money I have for a printer just yet."

"So what do you plan on doing with it?" Dad's voice betrayed a bit of exasperation. "Is it ever going to make you money?"

"Right now it's just for the microprocessors class I'll be taking, and for a calculator for physics and math classes. It's not about making money directly, it's about opening doors to better paying jobs, if you have to look at it that way."

"Do you need the calculator for those classes? What happened to your TI?"

"The TI calculator died, Dad. I shouldn't have taken it to Japan with me."

"How much would a new one cost?"

"Less than the floppy disk drives and the software I need to get this computer running right, Dad. But the calculator won't teach me how to program microprocessors."

"But the microprocessor lab for your class will, when you take it."

"The 8080 practice kits in the lab won't teach me how to work with the 6800. Engineers use the 6800. Accountants use the 8080. And if I wanted to make a living as a computer accountant, I'd be taking classes in the EDP department, from Professors Crane and Bright, along with certified public accountant coursework." (They both had PhDs, but preferred to go by professor, rather than doctor. The assertion about the 8080 was perhaps a bit excessive.)

(Now, at the time, the real me could not put this into words, and, in fact, ended up letting himself get sidetracked into getting his two year Associate's degree from the Electronic Data Processing department, after taking classes in Pascal, ForTran, and CoBOL, RPG, database programming, and such while waiting for the assembly language class to become available because he had skipped too many electronics classes and had run out of classes. He did not take the CPA coursework, however.)

"I just don't want you eating dirt and going naked ..."

"Like Doctor Brown says inventors do. I know. You didn't want me to be a starving artist, either."

We looked at each other in frustration. It had been a while since either of us had allowed the wall to go back up, and both of us were now trying to figure out a way to get it down without compromising the wrong points.

"Dad, the vultures gather at the carcass to get scraps after the bigger beasts take their share. They do their part for the economy. But the eagles are the ones who take the prey and get their pick of the meat. This is my chance to be an eagle."

"Being an eagle is lonely work."

"Being an eagle who doesn't fly is even lonelier."

"Dad," Mom interrupted, "Joe needs to do this. If nothing else, let him get it out of his system."

Just get it out of my system. The lack of faith in that expression shook me enough that I must have missed Mom's intent.

Hallmarks of the criticism of the world, coming from my own parents.

I wanted to be brave, to appreciate that they were worried about me, about my future. But the perceived criticism ate at me.

The prototyping kit was beginning to look like the fruit of knowledge of truth and evil in the Garden of Eden. Or maybe the snake in the garden. At any rate, it was becoming the focus of the disparity I felt between my parents expectations, society's expectations, and my own about the course I felt I should pursue in life.

I could not put my finger on the exact nature of the course I thought I should be taking, and the adversary of my soul was using that fact against me, as well.

The me in this story said, "Excuse me, I'm going for a walk," and went outside to cool down.

When I came back maybe half an hour and a couple of miles later, Dad was grading his students' homework. I went into his study.

"Dad, can we talk?"

"Sure, Son." He refrained from his usual jokes.

"One day soon, everyone will have at least one computer. What we, what the industry is doing now is inventing the ways people will use them. The big companies want to use them to harness the power of the masses. I want to make it possible for individuals to escape the harness."

"That's a powerful ideal."

"Yeah, and powerful ideals can burn you when mishandled. I know."

Dad gave me a sharp look.

"Yeah, Dad, I figured that out all by myself. But there is also the parable of the talents. I don't want to be the guy who buried his talent."

Dad picked up his Bible and turned to Matthew 25 and reviewed silently for a few minutes.

Mom came in.

Dad began again. "Have you considered what Fred Burns suggested about IBM?"

"Well, yeah."

"I think you need the money."

Mom interrupted. "I can take the paper route back over for summer, so you don't have to give it up to do the internship. But isn't there something else you want to do this summer?"

Dad and I looked at each other.

Mom continued, "There's a picture of a cute Japanese girl on your desk."

"Satomi's engaged."

"That's not nice of her." Giselle had come in by now, and looked rather put out.

"Or she's just being sensible." I shrugged. "Cross-cultural marriages are hard."

Dad nodded in agreement.

Mom's face became a mask. "Your ma doesn't particularly want you moving to Japan, but you need to follow your heart."

"Max, ..." Dad started to say something, then stopped. Then started again. "Maxine, I think Joe needs to know about something we really haven't mentioned to the kids."

Mom and Dad exchanged looks and communicated silently, the differences of opinion reflecting on their faces. Mom broke the silence. "That was different."

"Women usually prefer their own country."

Mom sighed. "Okay. Giselle, you may find this a little distressing."

Giselle was indignant. "I think should know if Joe should."

"Okay, go ahead, Ted."

Dad took a breath. "You know I spent time after the war in Italy."

"Yeah." He had told me a little of his experiences after the war, translating for treaty negotiations all over Europe. "You've mentioned driving through minefields with live ordnance rounds flying overhead."

"There were a lot of people over there going hungry."

"I know about that."

"Many of the soldiers would find ways to help."

"You said you did, too."

"There was a woman I helped."

Giselle's sudden intake of breath was loud in the silence. I didn't know what to say, either, so I just waited for him to continue

"And?"

"Dad, you would never do anything wrong." Giselle was somewhat distressed.

Dad looked aside and nodded, "I had feelings for her, but she didn't want to leave Italy."

Dad and Mom exchanged glances again, Mom encouraging Dad.

"In wartime, you mostly worry about whether you can help each other to survive." Again he paused. "I did tell your mother before I asked her to marry me."

Mom nodded.

After considerable thought, I ventured. "So, what you're telling me is that I should be sure I can handle living over there if I go making commitments over there, right?"

Dad sighed. "Something like that. I did not want life to be hard for you Joseph, but it looks like it may end up hard anyway."

"Hey, I wrote Satomi and told her congratulations. It's not like things are going to go anywhere further for me there."

That was almost as far as I had thought about it at the time.

"Are you sure?" Mom gave me a tilt of the head. "When you marry, it's best to be able to give your whole heart."

"Well, I settled my feelings about Beryl, I think. And I'm not sure what I felt for Satomi goes beyond just a big crush. She helped me in much the same way Beryl did, encouraged me to try at something I was balking at. Love, but not marrying love."

The furrows in Dad's brow deepened.

"I think I was wrong to not let Denny send software home with me," I muttered, half to myself. "Test drive before you buy. Oh, well, I'll get what I can working, and I'll be going down to Austin again pretty soon. And I can just call and order the software, too."

I looked up at Dad. "And I'll look into the internship thing." Then I turned to Mom. "And I'll think about going back to Japan to see if there is something there I need to look more carefully at."

Dad and Mom hesitated. I waited for a half a minute.

"Dad, could we go look at the Apples and the Tandys? It might help us all get a better view of what I can do with this computer I'm building."

"Sure. This week?"

"Friday afternoon?"

"It's a date, Dad." We gave each other awkward smiles.

Giselle was still fretting.

"Giselle, what counts is what Dad is doing now. Right, Mom?"

Mom nodded.

Giselle took a few gulps of air. "This is something else I have to figure out."


[Backed up at https://joel-rees-economics.blogspot.com/2020/01/bk-33209-possible-uses-for-micro-chroma-68.html.]

No comments:

Post a Comment

33209: Discovering the 6800 -- Parents and Polygamy

A Look at the 8080/TOC "Whoa, Merry, look who's here!" Jim said, sotto voce. He, Roderick, and I were at our lab table ...