Saturday, November 5, 2022

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 working on more assembly language code.

Everybody looked up and then looked at the door, except me and Jim. I gave Jim a look, and he tilted his head towards the door and grinned.

"Hi guys." Beryl walked in.

"Hi!"

"Hey."

"Yo."

"Hi, Beryl." I stood up and reached for an empty stool, but Roderick grabbed it first and slid it over next to me.

Beryl came in and came over to our lab table, greeting Trina with a touch of the fingertips and a "Hi" before sitting down on the offered stool.

"How was practice?" I asked.

"Good enough. Whacha doin'?" Beryl looked at our scratch paper, where we had diagrammed what we understood of the problem and were writing tentative sequences of code.

"Working out how to add big numbers," Roderick answered before I could.

"Bigger than what fits in the eight bits we showed you yesterday," I added.

She looked at the diagrams with a bit of interest, then shrugged. "Geek to me." 

Chuckles came from various directions. 

"Got time to wait while we test this?"

"Sure. If it's not more than half an hour."

Todd looked up from where he and his group were helping Mr. Forrest test the serial I/O board in the computer. "Should we yield the field and let them try their code?" he asked.

Mr. Forrest nodded. "Time to take a break and see if we've figured anything out, anyway."

I gave Jim and Roderick a query with my eyes, and they both shook their heads. 

"Not my code," Roderick responded.

"Let's use yours," Jim said.

Todd, Chuck, Moose, and Mr. Forrest stood up and yielded place for us at the Altair's table.

I sat in front of the Altair 8800 and used the front panel interface to toggle in the code.

Beryl came over and stood behind me, resting her hands on my shoulders. I stopped working the switches long enough to give one of her hands a squeeze, using the time to squelching the nervous thrill that tried to stop my brain from working. I also ignored the snickers and murmurs around me. 

"So what are these numbers in real num -- uhm, decimal?" Beryl asked.

"123 million 456 thousand 789 plus 987 million 654 thousand 321."

"Ah. One billion, one hundred eleven million, one hundred eleven thousand, one hundred ten." 

More murmurs around us.

I turned and grinned at her. "And you pretend you don't know what we're doing here."

"Just an easy arithmetic problem." She grinned back.

Chuckles and quiet groans. Trina snickered. "Genius attracts genius?"

Beryl turned and they exchanged finger waves.

I looked at the ceiling. "How am I supposed to respond to that?" I muttered. I looked back at the computer.

Beryl gave my shoulders a squeeze. My stomach jumped, ever so slightly.

"Okay, let's see if it flies." I stepped through, reading the input numbers and results aloud.

00010101 plus
10110001 equals
11000110

I checked the status register LEDs. "-- with no carry. Good," I breathed.

11001101 plus
01101000 equals
00110101

"-- again, with no carry. Okay," I nodded, cautious.

01011011 plus
11011110 equals
00111010,

The carry bit in the status register array of LEDs lit up. 

"-- with a carry. So far, so good. Okay," 

The carry, plus
00000111 plus
00111010 equals
01000010

And everybody clapped.

"Let's see your code." Mr. Forrest checked my work. "Lots of repeated instructions. That's faster than a loop, but it takes more program space, and we only have 4K that we know is working just yet. Try a loop?" 

"Well, that's what Jim and Roderick were working on, but we weren't comfortable with where we put the loop count or with what happened to the carry while counting the loop."

"Let me see that, Jim." 

Jim handed Mr. Forrest his work, and he checked through it, nodded, and handed it back. "Want to give it a try?"

"No confidence."

"Results might be interesting?"

"I'm not sure I'd have any idea what went wrong."

"We can all think about it. Joe, write your code up on the board for everyone to look at. And Jim, you can write yours on the board next to Joe's. Try to line up instructions that do the same things."

Jim and I went to the board and put our code up. We consulted about what lined up where, leaving some empty lines in my code where the loop control went and putting the repeated code from his loop in parenthesis to show where it matched my code.

"Still hesitant to try it, Jim?" Mr. Forrest asked.

Jim went back to our lab desk and looked through the summary of 8080 machine code instructions and their effects which Mr. Forrest had handed out for each lab group. He looked up and said, "Sure. Why not?"

"Hot seat." Mr. Forrest indicated the stool I had vacated.

"Do I get a back rub from Beryl?" Jim asked, with a wink at me. I grinned and looked at Beryl. 

She grinned back. "Oh, since you're Joey's lab partner, why not?"

Jim looked surprised, but pleased, and sat down. Beryl stood behind him and rubbed his shoulders, then gave them a hard squeeze.

"Ouch. Feels good!"

Everyone laughed.

JIm's code ran successfully, as well, and we all applauded.

"Okay, I'm thinking we can leave the teletype for tomorrow and just let the rest of you try your code, and then maybe I can get home by midnight tonight. You can go when your code runs."

We all laughed.

After discussing the results we got with Jim and Roderick, I packed up my stuff and left with Beryl. We turned left out the door, and she slipped her hand into mine.

At the first cross hall, I started to turn the library and bumped into her. We both giggled as I corrected course. 

"This is the long way to the library?" I asked.

"Dad and Mom are home."

This time I couldn't squelch the butterflies in my stomach, and stopped.

Beryl turned back without dropping my hand, challenging me with her eyes. 

"Erm, okay." 

I started moving again, not quite feeling the faux granite floor under my tennis shoes. I couldn't say anything as we walked. 

Beryl gently but playfully swung my hand in hers. She was doing the swinging. My muscles wouldn't have obeyed me if I had tried.

"Cat got your tongue?" she asked as we left the south wing. 

It would be a few more years before the entire campus would be fenced in, se we headed unimpeded for the street where she lived, less than ten minutes away.

"The cat or the butterflies she's chasing."

She giggled. 

"Meeting your dad?"

"And Mom and Donna."

"Donna?"

"Kid sister."

"You've never told me about your family."

"You haven't told me much about yours. Your dad's a professor at the college, but other than that?"

"My mom, well, she teaches at church and volunteers at the Globe."

"Globe of the Great Southwest. Does she act?"

"Took the part of Juliet's nurse, and the witch in Macbeth."

"Do you act?"

"I did some sort of extra part in the Wizard of Oz. I'm the youngest of six. Four sisters and a brother. One sister's married to an Air Force codebreaker stationed in the Philippines, the others are working their way through school. Denny's working on an engineering degree."

 Beryl was suddenly quiet. "My big brother died when I was kind of young."

"Oh." I didn't know what to say to that. "Sorry to hear about that."

"I miss him sometimes. But I think he's happy in heaven."

"That's a good hope to have. I believe in the afterlife, too."

"Yeah. Heaven's a good place."

We came too soon to her house, and her dad faced me at the front door with an impassive expression. Her mother took Beryl's hand and pulled her inside, hugging her closely.

"So. This is the Mormon boy that has been stalking my daughter for four years."

He didn't seem to be joking.

"Dad?"

"Yes, sir." I said, not cracking a smile.

"What about this polygamy thing? How many wives besides my daughter do you plan on marrying?"

"No, sir. Beryl and I are not anywhere close to discussing marriage in the first place. Yeah, I've had a terrible crush on her since junior high, but we haven't been talking about the future at all. And, in the second place, Mormons don't do polygamy any more."

"Any more?" her mom asked.

"One of my great-great grandfathers lost his wife while crossing the plains to Utah, and when he got to Utah he married a widow with six kids who lost her husband on the way. With the second wife's permission, he married a third woman." 

"So, two living wives?"

"Yeah."

"And what do you think of it?" her father took over interrogation again.

"Don't really think about it much. The third wife, from what I understand, was not getting any offers for marriage on account of her health, and was having trouble supporting herself, so it was a way to provide for her without putting her on the street. But there were jealousies."

Beryl's parents looked at each other.

"But you don't do that any more?" her mom asked.

"Why is that?" her dad followed on, in a tone that broached no nonsense.

"Well, there are several reasons. One is that God told us that, rather than go to war with all the people who thought that polygamy should be a capital offense, polygamy would no longer be required of us."

"Required?" Beryl asked, puzzled.

"It was a different world. A single woman back then was looked on with suspicion and misunderstanding."

Her dad cleared his throat.

Beryl's puzzlement increased. "Huh?"

Beryl's mother hugged Beryl tighter, whispering something to her. 

Beryl's face drained color. She turned to her mother. "No!"

I continued, "Anyway, it did help prevent the worst options. When it worked well, it seemed to give women more and better options. And that was what the glory was supposed to be all about -- pure religion is when you help those who need help, and society didn't really have good ways to provide for single women back then."

"Still don't," her mom muttered, and her dad gave her a sideways glance.

"I think we at least have more options now," I continued. "Also, part of the principle was that, if a man were being abusive towards a wife, the wife wouldn't have to stay with him. That principle is still supposed to apply. It helps that modern law recognizes the rights of women better than it did then."

Beryl's mom relaxed a bit, and her dad's expression became a little less stern.

I continued. "Unfortunately, members with fundamentalist ideologies sometimes got things wrong about it and instead of being an opportunity to help, it became a focus of power struggles within those families, and a tool of abuse. Towards the end of the last century, that was happening too often. I tend to think that was the real reason the Lord let the government force us into a position where we had to quit. We weren't doing it right."

"So, you're saying no Mormons marry polygamously any more." Her dad was still pressing.

"There are still members who misunderstand which principles of the Gospel are fundamental, and some of them practice polygamy in secret, or leave the Church to practice it. If members who are doing it secretly are found out, they are excommunicated."

"Well, that could cause problems, too, couldn't it?" her mom questioned.

"Yeah. Unfortunately, we aren't very perfect. We should be making sure that, even if they are excommunicated, we still try to help them, but I think we have trouble doing that too often, as well."

"So, would you ever do it?" Her dad asked.

"Not planning on it. I'm not sure I could avoid the problems that often occur. I hope I don't have to face the question, but I also don't expect to."

"Why not?"

"According to my understanding of the scriptures, it's supposed to be only for exceptionally difficult times. We have scriptures that are pretty explicit about that."

Her dad frowned, and probably a full minute passed while he thought. Then he turned to his wife and something passed between them that I couldn't read. He turned back to me. "Son," her dad said, "I've heard enough good about you from Beryl that I'm going to give you a chance to prove yourself."

I took a deep breath. "I hope you will not be offended that I won't be trying to prove myself. I always do my best to live a moral life and treat all people with respect, and I'll just hope that will be good enough."

He grinned and reached out and shook my hand. "We'll see. We'll see. Well, come in so you and Beryl can study. That's what you came for, I think?"

"Yes, sir."

Donna was standing in the front room, watching the exchange with wide eyes, and Beryl introduced us. The two of them exchanged looks and giggles and grins, and Donna dragged Beryl off into the kitchen to talk for a minute. 

While they were gone, I introduced myself more properly to Karl and May, and they introduced themselves to me.

Then Beryl and Donna came back, and Beryl pulled me away from her parents and over to the couch, where we sat, spread our books out on the coffee table, and dug in.

TV or Not TV (Typewriter)


This is a minor revision of https://joelrees-novels.blogspot.com/2022/01/the-other-os-9-alternate-reality-calculations.html.

33209: Discovering the 6800 -- A Look at the 8080

Preface: 

This is not a memoir. God has told me not to look back at the things I have done wrong in my life. But I'm not really looking back, if it's something I never did, right? 

;-)

My apologies to the real-life Roderick, Beryl, Trina, Todd, Mr. Forrest, Merry, and others that I drag into my alternate reality retro fantasy where I fix a few things that went south in our reality.

I still find myself daydreaming about a fictional world in which I got more actively involved in the microcomputer revolution. More than one fictional world, in fact. I keep trying to write stories that are too big. That bad habit is probably inherent in trying to revise history. 

(Cough.) (I know, God, I'm looking back. But real life ain't very fun any more.)

This time I'm going to try turning my senior year into a story of its own (instead of the start of a reboot). Except, it isn't my senior year, it's Merry's. And, instead of buying a cheap programmable TI calculator, he saves his money and buys something more useful to his future.


(33209 Book 0:)

Discovering the 6800

by Joel Matthew Rees
Copyright 2022, Joel Matthew Rees


Prologue, a Look at the 8080

Beryl looked over at me with puzzlement in her blue eyes. "The lights flash."

I nodded. 

She shook her head. "I don't get it."

Jim snickered. 

I sighed and looked aside, searching the wall of the electronics lab for clues.

"Your eyes just turned green." Beryl smiled at me with a quiet laugh.

Roderick laughed out loud. "Merry, buddy, you're wasting Beryl's time making her look at this Altair here."

"Shooash!" Trina let out in exasperation. "No, he's not. Beryl's trying to understand. Everyone just shut up and let Joe show her what we're doing."

"Who's Mary?" Beryl asked. "Oh." She looked back at me.

I looked at the ceiling and nodded. 

She frowned and turned to Roderick.

He backed off his stool, raising his hands in defense. "It's a nickname."

"Yeah," I laughed. "Only my best friends get to call me that." 

Roderick grinned and sat back down as Beryl turned back to query me silently, those blue eyes confusing me, as usual. 

I shrugged, and gave her a lopsided grin. She wrinkled her nose and her puzzled expression turned into a wry smile.

"Anyway, we start out putting forty-nine in the accumulator." I picked up the hand-written program listing again and indicated the line that did that.

 3E 31    MVI A, 49 ; 00110001

Then I used the microcomputer's front panel switches to set the starting address back to zero. "The LEDs that are lit are ones and the dark LEDs are zeroes, and that was binary 0-0 1-1-0 0-0-1 on these lights here after it did the first instruction." I stepped the processor through the first instruction and the lights that showed the accumulator value lit up again with the 00 110 001 pattern.

"You showed me how you convert forty-nine into base two and it turns into that long string of ones and zeroes." She pursed her lips and wrinkled her chin. "A is another name for the variable you call the accumulator."

"Yeah."

"Move to A, forty-nine. Deliberately backwards grammar."

"I guess some engineer at Intel thought it would make more sense to engineers or something." I shrugged apologetically.

Beryl shook her head. "I still don't get it, but I'll play along."

"Yeah," Chuck complained. "Play along. That's what we all do."

The students around us broke out in laughter, and Mr. Forrest, our teacher, chuckled. 

Beryl tilted her head. "And then you move the number from accumulator A to register B, right?" She put her finger on the next line.

 47    MOV B, A

I hit the step switch on the front panel. "Right. You're getting it."

"No I'm not." She pouted, then giggled.

Trina laughed. "That's the way, Beryl. Keep these guys in their place."

Beryl grinned and leaned over and bumped elbows with Trina.

Turning back to the listing, she continued. "And you move nineteen into the accumulator so I can see the pretty lights change." She pointed at the listing.

 3E 13    MVI A, 19

And I stepped the instruction. "Yeah. Binary 00 011 001." And that was what the accumulator output LED array showed.

"I guess I see that. Maybe. And you move it to register C to get it out of the way for some reason?" She pointed at the next line.

 4F    MOV C, A

I stepped it. "Pretty much exactly. I thought it would make it easier for us all to watch."

"And then you move the forty-nine in B back to the accumulator for the same reason."

 78    MOV A, B

"Right," I nodded, stepping again.

"And add the two numbers."

 81    ADD C

"Uh, huh."

"And stop so we can think about what the pretty lights say." She pointed to the last instruction.

 76    HLT

"And the result is binary," she read from the front panel, "01 000 100." She took a deep breath. "Which you showed me is sixty-eight."

 Todd showed her the conversion on his HP calculator again.

"Thanks, Todd."

"Any time you want to look at my calculator, just ask."

"Careful, Todd!" Chuck warned him. "Merry, I mean, Joe, might have something to say about that."

I gave Chuck a look. "Last I checked I don't give orders to anyone in this room." I looked back at Beryl apologetically.

She wrinkled her forehead and nose at me. "Thanks for the offer, Todd."

Some of the guys in the room started to give wolf whistles, but Mr. Forrest cleared his throat and they stopped.

"But I still don't see the point."

Mr. Forrest stood up. "Well, I think I've arranged for the university to loan us a teletype, and I got a package with the free software Tiny BASIC language interpreter on tape, so we might have something more interesting to look at in a few days."

"Thank you, Mr. Forrest. And thanks, everyone, for showing me what Joey gets all excited about."

"Whoa." Jack pulled his head back in mock horror. "Nobody gets to call him Joey."

I rolled my eyes again and raised my hands to the sky in mock resignation as the guys in the class broke out in laughter again.

Beryl gave me a wry smile and a wrinkle of the nose. "Now are you going to help me with the political science homework?"

"Sure. Let's go."

"Wooped. Just wooped," Frank commented, earning a dirty look from Trina while most of the guys in the class erupted in laughter.

I chuckled and shook my head as I put the listing away.

"Wait a minute, Joe." Mr. Forrest stood up. "The rest of you guys, too. I need to tell you all something."

We all quieted down.

"I have an opportunity to go to a microcomputer show in San Francisco, April 16th and 17th, and there's room in the car for a couple or three students to go with me. I've got permission from the school, but you'll need parental or guardian permission."

He looked around at us while we digested the information.

"If more than three of you want to go, we'll have to figure out a way to choose who goes. Maybe a programming or electronics problem to solve. We can talk about that tomorrow, but anyone who's interested, please check with your parents tonight."

"Whoa, yeah."

"Alright!"

"Cool!"

"I'm in!"

"Count me out."

I didn't say anything. 

Beryl looked at me with a question in her eyes as she picked up her books.

"Shoot yeah, I'm interested." 

I switched the power off on the microcomputer and picked up my books. Then I stopped. 

"Oh. Wait."

She looked down quickly as she stood up. "Well, let's go study poli-sci," she said, disappointment tinging her voice.

I followed her out of the electronics lab into the hall. "That's when the cheering squad's year-end competition is, isn't it?"

"Never mind." She didn't turn back to look at me. "If you need to go, you need to go."

She walked ahead as we headed to the library.


Chapters (tentative list):

  1. Parents and Polygamy
  2. Calculations and Revelations
  3. TV or Not TV (Typewriter)
  4. Faire Enough
  5. BASICally Proceed Forth
  6. Surveying the Field
  7. Sacrifice and Service


Parents and Polygamy


(This is a minor rewrite of https://joelrees-novels.blogspot.com/2022/01/the-other-os-9-alternate-reality.html.)

Sunday, January 16, 2022

The Other OS-9, an Alternate Reality -- Calculations and Revelations

[I think I'm going to repurpose this chapter and the story it began. See https://joelrees-novels.blogspot.com/2022/11/33209-discovering-6800-parents-and-polygamy.html.]

Prologue/TOC

"Whoa, Mary, look who's here!" Jim said too loudly, pretend sotto voce. He, Roderick, and I were at our lab desk working on multi-byte addition in hand-written assembly.

Everybody looked at the door. I looked over at Jim instead, and he raised his hands with a grin, backing away on his stool.

"Hi guys."

I rolled my eyes and shook my head and turned to the door. "Hi, Beryl."

She came in and walked over, greeting Trina with a touch of the fingertips and a "Hi" on the way.

Roderick shifted over to an empty stool, and Beryl sat down by me.

"How was practice?" I asked.

"Good enough. Whacha doin'?" Beryl looked at the scratch paper where we had diagrammed what we understood of the problem and were writing tentative sequences of assembly language.

"Working out how to add big numbers," Roderick answered before I could.

"Bigger than what fits in the eight bits we showed you yesterday," I added.

She looked at the diagrams with a bit of interest, then shrugged. "Greek to me." 

Chuckles came from various directions. 

"Got time to wait while we test this?"

"Sure. If it's not more than half an hour."

Chuck looked up from where he and his group were helping Mister Forrest test the serial I/O board in the computer. "Can we let them try their code?" he asked.

Mr. Forrest nodded. "Time to take a break and see what we've figured out so far, anyway."

I looked at Jim and Roderick, and they both shook their heads. 

"Let's use your code," Jim said.

Todd moved an empty stool over for me and I sat down at their lab desk. Jim and Roderick stood at either side of me to watch while I used the front panel interface to toggle in the code. 

Beryl came over and stood behind me, resting her hands on my shoulders. I stopped working the switches long enough to give one hand a squeeze, deliberately squelching the nervous thrill that tried to course through me and stop my brain from working. I also ignored the murmurs around me. 

"So what are these numbers in real num -- uhm, decimal?"

"Decimal. 123,456,789 plus 987,654,321 equals --"

"One billion, one hundred eleven million, one hundred eleven thousand, one hundred ten," she finished for me.

More murmurs around us.

I turned and grinned at her. "And you pretend you don't know what we're doing here."

"Just arithmetic." She grinned back.

Chuckles and quiet groans. Trina snickered. "Genius attracts genius?"

Beryl turned and they exchanged finger waves.

I looked at the ceiling. "How am I supposed to respond to that?" I muttered, and looked back at the computer.

Beryl gave my shoulders a squeeze. My stomach jumped, ever so slightly.

"Okay, let's see if it flies." I stepped through, reading the input numbers and results aloud.

00010101 plus
10110001 equals
11000110

I checked the status register LEDs. "-- with no carry. Good," I breathed.

11001101 plus
01101000 equals
00110101

"-- again, with no carry. Okay," I nodded, cautious.

01011011 plus
11011110 equals
00111010,

The carry bit in the status register array of LEDs lit up. "-- with a carry. So far, so good. Okay," 

The carry, plus
00000111 plus
00111010 equals
01000010

And everybody clapped.

"Let's see your code." Mr. Forrest checked my work. "Lots of repeated instructions. That's faster than a loop, but it takes more program space, and we only have 4K that we know is working just yet. Try a loop?" 

"Well, that's what Jim is working on, but we weren't comfortable with where we put the loop count or with what happened to the carry while counting the loop."

"Let me see that, Jim." 

Jim handed Mr. Forrest his work, and he checked through it, nodded, and handed it back. "Want to give it a try?"

"No confidence."

"Results might be interesting?"

"I'm not sure I'd have any idea what went wrong."

"We can all think about it. Joe, write your code up on the board for everyone to look at. And Jim, you can write yours on the board next to Joe's. Try to line up instructions that do the same things."

Jim and I went to the board and put our code up. We consulted about what lined up where, and where I needed to leave empty lines so we could line things up.

"Still hesitant to try it, Jim?" Mr. Forrest asked.

Jim went back to our lab desk and looked through the summary of 8080 machine code instructions and their effects which Mr. Forrest had handed out for each lab group. He looked up and said, "It might work."

"Hot seat." Mr. Forrest indicated the stool I had been sitting on to use the computer.

"Do I get a back rub from Beryl?" Jim asked, with a wink at me. I grinned and looked at Beryl. 

She grinned back. "Oh, since you're Joey's lab partner, why not?"

Jim looked surprised, but pleased, and sat down. Beryl stood behind him and rubbed his shoulders, then gave them a hard squeeze.

"Ouch. Feels good!"

Everyone laughed.

JIm's code ran successfully, as well, and we all applauded.

"Okay, I'm thinking we can leave the teletype for tomorrow and just let the rest of you try your code, and then maybe I can get home by midnight tonight."

We all laughed.

After discussing the results we got with Jim and Roderick, I packed up my stuff and left with Beryl. We turned left out the door, and she slipped her left hand into my right.

At the first cross hall, I started to turn right and almost bumped into her. I corrected course quickly and followed her straight across. 

"This is the long way to the library." 

"My house tonight. Dad and Mom are home."

This time I couldn't squelch the butterflies in my stomach, and stopped.

Beryl looked up and back at me, challenging me. 

"Erm, okay." I started moving again, not quite feeling the faux granite floor under my tennis shoes. I couldn't say anything as we walked, Beryl gently but playfully swinging our hands between us. She was doing the swinging. My muscles wouldn't have obeyed me if I had tried.

"Cat got your tongue?" she asked playfully as we left the south wing. The fence wouldn't go up around the campus for another couple of years, and we headed unimpeded for the street where she lived, less than ten minutes away.

"The cat or the butterflies she's chasing."

She giggled. 

"Meeting your dad?"

"And Mom and Donna."

"Donna?"

"Kid sister."

"You've never told me about your family."

"You haven't told me much about yours. I remember you're the youngest and you have, what, four sisters?"

"And one brother."

"... and one brother." She paused, suddenly quiet. "My big brother died when I was kind of young."

"Oh." I didn't know what to say to that. "Sorry to hear about that."

"I miss him sometimes. But I think he's happy in heaven."

"That's a good hope to have. I believe in the afterlife, too."

"Yeah. Heaven's a good place."

We came too soon to her house, and her dad faced me at the front door. Her mother took Beryl's hand and pulled her in, hugging her closely.

"So. This is the Mormon boy that has been stalking my daughter for four years."

I couldn't tell if he was joking or not.

"Dad!"

"Yes, sir." I said, not cracking a smile.

"What about this polygamy thing? How many wives besides my daughter do you plan on marrying?"

"No, sir. Beryl and I have not discussed marriage in the first place. No plans about that at all at this time. And, in the second place, we Mormons don't do polygamy any more."

"Any more?" her mom asked.

"One of my great-grandfathers lost his wife on crossing the plains to Utah, and when he got to Utah he married a widow with six kids who lost her husband on the way. With the second wife's permission, he married a third woman."

"So why don't you do that any more?" her dad asked, in a tone that broached no nonsense.

"Well, there are several reasons. One is that God told us that, rather than go to war with all the people who thought that polygamy was a capital offense, polygamy would no longer be required of us."

"Required?" Beryl asked, puzzled.

"It was a different world. A single woman back then was looked on with suspicion and misunderstanding."

Her dad cleared his throat.

Beryl's puzzlement increased. "Huh?"

Beryl's mother hugged Beryl tighter, whispering something to her. 

Beryl's face drained color. She turned to her mother. "No!"

I continued, "Anyway, when polygamy worked well, it helped prevent the worst options. It didn't always work well, but the leaders of the Church were rather strict that a polygamous wife who felt that she was in a bad marriage could be released from the bad marriage and be free to seek someone better. In marriage. Without having to leave her children or her belongings behind."

Beryl's mom suddenly relaxed, and her dad's stern expression softened slightly.

I continued. "Unfortunately, the members with fundamentalist inclinations who sometimes leave us, leave us before they understand what polygamy was supposed to be. And that can cause some pretty abusive family situations for them. Which brings up a third reason we quit. By the end of the last century, too many of our regular members were beginning to practice it without understanding it."

Her dad and mom both relaxed at the same time. 

"Son," her dad said, "I've heard enough good about you from Beryl that I'm going to give you a chance to prove yourself."

I took a deep breath. "I hope you will not be offended that I won't be trying to prove myself. I always do my best to live a moral life and treat all people with respect, and I hope that will be good enough."

He grinned. "We'll see. We shall see. Well, come in so you and Beryl can study. That's what you came for, I think?"

"Yes, sir."

Donna was standing in the front room, watching the drama wide-eyed, and Beryl introduced us. The two of them exchanged looks and giggles and grins, and Donna dragged Beryl off into the kitchen to talk for a minute. 

While they were gone, I introduced myself to Karl and May, and they introduced themselves to me.

Then they came back, and Beryl dragged me over to the couch, where we sat, spread out our books on the coffee table, and dug in.

TV or Not TV (Typewriter)



Backed up here: https://joel-rees-economics.blogspot.com/2022/01/bk-the-other-os-9-alternate-reality-calculations.html.

Monday, January 10, 2022

The Other OS-9, an Alternate Reality

[I think I'm going to repurpose this chapter and the story it began. See https://joelrees-novels.blogspot.com/2022/11/33209-discovering-6800-look-at-8080.html.]

Prologue, part I: 

God has told me not to look back at the things I have done wrong. He has not told me not to look back at things I haven't done wrong.

This story is something in the vein of the 33209 story, but with a simpler technology timeline than that. More like the one I laid out in this blogpost about the first OS-9: https://defining-computers.blogspot.com/2021/10/alternate-reality-early-microcomputer.html

I  think I'll use a simpler story and plot, as well, as well as the simpler technology roadmap. 

I'll go back to Japan almost immediately after my mission to chase Satomi, and end up meeting Chika while she is still in high school. And she will make herself obnoxious so that I have to invite her for a year of home-stay high school studies with my parents. And she will be one of the women who push me to develop my interest in the nascent microcomputer industry. 

And I'll have to push Jeff Raskin ahead on that text-based Apple IX in 1980 somehow. That's a tough one, but not nearly as tough as inventing reasons for Motorola to keep a double flagship market profile with the 68000 and 6809, and to evolve both more rapidly. 

In order to do that, and to clear up how the whole mess started, I guess I'll have to back up to my senior year in high school.

 

The Other OS-9
an Alternate Reality

by Joel Matthew Rees
Copyright 2022, Joel Matthew Rees


Prologue, part II:

Beryl looked over at me with puzzlement in her blue eyes. "The lights flash. I don't get it."

Jim snickered. 

I sighed and looked aside, searching the wall of the electronics lab for clues.

"Your eyes just turned green." Beryl smiled at me with a quiet laugh.

Roderick laughed out loud. "Mary, buddy, you're wasting Beryl's time looking at this Altair here."

"Shoosh!" Trina let out in exasperation. "No, he's not. Beryl's being patient, everyone just shut up and let Joe show Beryl what we're doing. Go ahead, Joe."

"Who's Merry?" Beryl asked me. "Oh. Wait. Marion. You."

I glanced at the ceiling and nodded. 

She frowned and turned to Roderick.

He backed off his stool, raising his hands in defense. "It's a nickname."

"Yeah," I laughed. "Only my best friends get to call me that." 

Roderick sat back down as Beryl turned back to query me silently, those blue eyes confusing me, as usual. I shrugged. She wrinkled her nose and her puzzled expression turned into a wry grin.

"Anyway, we start out putting forty-nine in the accumulator." I pointed at the hand written program listing again,

 3E 31    MVI A, 49 ; 00110001

and then used the microcomputer's front panel switches to set the starting address back to zero. "The shining LEDs are ones and dark LEDs are zeroes, and that was binary 0-0 1-1-0 0-0-1 on these lights here after it did the first instruction." I stepped into the first instruction and the lights that showed the accumulator value lit up again with the 00 110 001 pattern.

"You showed me how forty-nine decimal is that long string of ones and zeroes in base two. And for some reason," she pointed at the listing, "you write forty-nine after A, instead of before where it ought to be if it's going to be put in." 

"Intel's backwards assembler grammar," I shrugged apologetically.

Beryl shook her head. "I don't get it, but I'll play along."

"Yeah," Todd complained. "Play along. That's what we all do."

The students gathered around us broke out in laughter, and Mr. Forrest, our teacher, chuckled. 

She tilted her head. "And then you move the number from accumulator A to register B, right?" She put her finger on the next line.

 47    MOV B, A

I hit the step switch on the front panel. "Right. You're getting it."

"No I'm not." She pouted, then giggled.

Trina laughed. "That's the way, Beryl. Keep these guys in their place."

Beryl grinned and raised her elbow towards Trina, and they bumped elbows.

"And you move nineteen into the accumulator so I can see the pretty lights change," she continued.

She pointed at the listing,

 3E 13    MVI A, 19

And I stepped the instruction. "Yeah. Binary 00 011 001." The front panel showed the value in the accumulator output array.

"I guess I see that. Maybe. And you move it to register C to get it out of the way for some reason?" She pointed at the next line.

 4F    MOV C, A

"Pretty much exactly. I thought it would make it easier to watch."

"And then you move the forty-nine in B back to the accumulator for the same reason."

 78    MOV A, B

"Right." 

"And add the two numbers."

 81    ADD C

"Uh, huh."

"And stop so we can think about what the pretty lights say." She pointed to the last instruction.

 76    HLT

"And the result is binary," she read from the front panel, "01 000 100." She took a deep breath. "Which you showed me is sixty-eight."

Chuck showed her the conversion on his HP calculator again.

"Thanks, Chuck."

"Any time you want to look at my calculator, just ask."

"Careful!" Todd warned him. "Mary, I mean, Joe, might have something to say about that."

I gave Todd a look. "Last I checked I don't give orders to anyone in this room." I looked back at Beryl apologetically.

She wrinkled her forehead at me. "Thanks for the offer, anyway, Chuck." She didn't turn to look at him.

Some of the guys in the room started to give wolf whistles, but Mr. Forrest cleared his throat and they stopped.

"But I still don't see the point."

Mr. Forrest stood up. "Well, I think I've arranged for the university to loan us a teletype, and I got a package with the free software Tiny BASIC language interpreter on tape, so we might have something more interesting to look at in a couple of days."

"Thank you, Mr. Forrest. And thanks, everyone, for showing me what Joey gets all excited about."

"Whoa." Jack pulled his head back in mock horror. "Nobody gets to call him Joey."

I rolled my eyes and raised my hands to the sky in mock resignation as the guys in the class broke out in laughter again.

Beryl looked over and gave me a wry smile and a wrinkle of the nose. "Now are you going to help me with the political science homework?"

"Sure. Let's go."

The show over, the other students started to pack up, amid a buzz of conversation.

"Wait a minute, Joe. I have another announcement." Mr. Forrest stopped me.

We all quieted down.

"I have an opportunity to go to a microcomputer show in San Francisco, April 16th and 17th, and I can take a couple or three students with me. If more than three want to go, we'll have to figure out a way to choose who goes. Maybe a programming or electronics problem to solve. We can talk about that tomorrow, but anyone who's interested, please check with your parents tonight."

"Whoa, yeah."

"Alright!"

"Cool!"

"I'm in!"

Amid other excited responses there were a few less enthusiastic responses such as

"Count me out," 

as well.

Beryl looked at me with a question in her eyes as she picked up her books.

"Shoot yeah, I'm interested." I switched the power off on the microcomputer and picked up my sample program listing, slipping it back into my notebook, before picking up my own books. Then I stopped. "Oh. Wait."

She looked down quickly as she stood up. "Well, let's go study poli-sci," she said, disappointment tinging her voice.

I followed her out of the electronics lab into the hall. "That's when the cheering squad's year-end competition is, isn't it?"

"Never mind." She didn't turn back to look at me. "You need to go where you need to go."

She never let me bring the subject back up again.


Chapters:

  1. Calculations and Revelations
    To be written (tentative list):
  2. TV or Not TV (Typewriter)
  3. Faire Enough
  4. BASICally Proceed Forth
  5. Surveying the Field
  6. Sacrifice and Service
  7. Picking up Threads
  8. Rotating Media and Braun's Tube
  9. Unique OSses
  10. Splitting Their Stacks 
  11. Ken Thompson's Trusting Trust vs. Bootstrapping Your Own
  12. FM and Other Oriental Interests
  13. I Been Moved to PCs -- Microware, not MicroSoft
  14. A Piece of the Orient in Texas
  15. 2809 and 68010
  16. 68451 -- and Motorola Eats Their Own Dogfood
  17. Simulating Circuits and Automatic Layout
  18. Bounding Stacks and Other Segments
  19. 68RISC 
  20. Segments and Bounds -- 3XX09
  21. ... 
  22. Chikako on Her Mission, Marion in post-grad
  23. ...
  24. No Phishing
  25. ...
  26. Social Engineering
  27. Straits


Calculations and Revelations


Backed up here: https://joel-rees-economics.blogspot.com/2022/01/bk-the-other-os-9-alternate-reality.html.

Monday, June 7, 2021

The Missionary and the Enchanted Princess, a Frog Story

(Yeah, I know this is an old bad joke, and I know you're not supposed to take jokes too far. But this is how I'd see this story playing out in this world, in this church:)

Elder Michelson squatted down by the concrete irrigation mizo between the road and the water-covered rice field, staring at the edge of the water.

Elder Shirōto stopped beside him. "What'ya lookin' at?"

"Just a cute little frog."

Elder Shirōto squatted down, too. "It's rainy season. Lots of cute little frogs in this field. Wait. That frog's not so little." He reached out to grab the frog, but it sprang out of reach, and plopped into the water. Inexplicably, it swam back to the edge a little farther away and climbed back out, to sit on the edge of the mizo surrounding the field, watching the two missionaries cautiously.

"Help me!" it croaked shrilly.

Elder Michelson started.

Elder Shirōto chuckled. "That's a high-pitched croak for such a big frog."

Elder Michelson glanced back at his companion. "That was not just a croak!" Turning to look at the frog again, he added, "She said, 'Help me!'"

Elder Shirōto stared at his companion, then broke into a loud guffaw. "Right." He controlled his laughter. "Now it's going to say, 'I'm a beautiful princess, kiss me.'"

The frog puffed out its pouch. "I am a princess," she said, with all the haughtiness she could muster. "Maybe I'm not so beautiful, but if you kiss me, you'll free me from this spell."

Elder Michelson's chin dropped to his chest as he stared at the frog.

Elder Shirōto started laughing again. "What'd she say now? 'Kiss me and you'll live forever?" He paused for effect, and then added, in mock seriousness, "You'll be a frog, but you'll live forever." He snickered, "You should see your face, Elder Mishi."

"I said nothing of the sort," the frog ribbited huffily. "That's not the kind of spell I'm under."

Elder Michelson looked back at his companion with amusement and then turned again to examine the frog. "She says she's not under that kind of spell."

"Okay, Elder Mishi. Maybe you're the senior companion and I'm the greenie, but I think we should call our district leader and ask to be sent somewhere there are people to teach. We've hailed at every house in this village three times this month, and the best we've got is doors slid shut in our faces. I think the stress is gettin' to you."

"What a rude little boy he is. Don't listen to him. I need your help," the frog ribbitted plaintively.

"I'll admit, the way it croaks is cute." Elder Shirōto snickered again.

"Yeah, cute." Elder Michelson stood up. "But we're missionaries, and we should be doing other things."

Elder Shirōto nodded his head. "Now you're making sense."

"Listen, I'm desperate."  The frog hopped closer. "And I am a princess. I can reward you well if you kiss me."

"Reward? I don't guess either of us needs a reward. And missionaries aren't supposed to mess with magic." Elder Michelson turned to walk away.

"My father is powerful wizard king."

Elder Michelson stopped and thought for a moment. "Not magic, not rewards, but, ..." Then he squatted back down, and reached out and picked up the frog, now quite docile in his hand. He put it in his jacket pocket.

"Hey! Wait." Her cry was muffled by the fabric.

"That frog has prejudices. She jumped away from me, but lets you put it in your pocket. And now I'm calling it 'she'."

"So? You don't seem to be able to hear her words."

The frog poked its head out of the pocket. "D&C 50," it said. "Maybe he's not listening to the same spirit."

"D&C 50? Elder Shiro, this frog also invokes scriptures."

"Well," Elder Shirōto snickered again, "I guess we can't baptize her if she's already a member. What are you planning to do with her? -- it, I mean."

"We can teach members practice lessons and have gospel discussions and do service projects with them." Elder Michelson stood up, gently pushing the frog back into his suit pocket, and started walking. "So let's walk around the farms looking for people to help or talk to." He started walking along the dote toward a field where a farmer was working.

"There's no need to take me any place special," the frog croaked from inside the pocket. "You can break the spell anywhere, and here is just fine. Please?"

"Now she's," Elder Shirōto stopped to correct himself again. "Uhm, it's getting excited." He followed his companion.

"Please! I'll give you anything you want! I can do anything you want! -- for a day."

"Okay, so she really wants you to kiss her." Elder Shirōto continued chuckling.

"I thought you couldn't hear her." Elder Michelson kept walking.

"I'm guessing what she's saying. Hey, if I'm not careful, you're going to have me believing she's really talking."

"Two days!" The frog struggled inside the pocket.

"But you can't kiss her because you're a missionary."

"Right."

"Anything you want for a week!" The frog practically screamed.

"She says she'll do anything we want for a week."

"We can't take that bargain. Even if she weren't a member, we couldn't force her to be baptized. Not she. It. And frogs don't need baptism."

"I'm not a member. I left the Church." Now it was pleading. "But I'll be in the water forever if someone doesn't kiss me!"

"You left the Church?" Elder Michelson stopped again, clearly puzzled.

Elder Shirōto stopped just in time to avoid bumping into his companion. "Shouldn't you be keeping this frog at arm's length?" he suggested.

"Arm's length?" the frog croaked.

"I'm not touching her while she's in my pocket."

"You're rationalizing, Elder." Elder Shirōto's voice took on an accusatory tone.

"Hmm."

The frog poked it's head out of the pocket. "Why won't you kiss me?"

Now Elder Shirōto shrugged. "Why not kiss it and show yourself it's just your imagination? Look, you have a naked frog in your pocket. Kissing a frog can't be breaking the rules much worse than carrying it around."

"Naked frog. That's ..."

"Wash your laundry, clean your apartment, cook your meals, anything you want for a whole month!" she exclaimed.

"A month? You'll do anything we want for a whole month?"

"Not we. Elder Michelson. It's just a frog and it can't talk. I think we really should call the district leader."

"A month is long enough to teach someone the discussions, wouldn't you say, Elder Shirōto?"

"That does it, Elder. That frog is possessed, and it's got you under a curse, too. I'm calling the district leader." Elder Shirōto took out his cell phone and started dialing.

"Discussions?" The frog was shocked. "You wouldn't force me listen to those again!"

"Well," Elder Michelson sighed, "I guess, since we can't force you to get baptized, we probably shouldn't try to force you to participate in lessons, either." He scratched his chin.

"Answer your phone, Sister Morinokami, my companion's going crazy!" (Okay, we can see that it is not quite the Church of this present world.)

"Moshi-moshi. Sister Morinokami here." Her face came up on the screen. "Elder Shirōto. I can see you are excited. What's the problem that your companion can't handle?"

"My companion thinks he has a talking frog in his pocket!"

"So he's talking to an imaginary frog?"

"No, the frog is real."

"Then the problem is that the frog can't talk?"

"Huh?" Elder Shirōto's mouth dropped open slightly.

Siter Morinokami sighed in turn. "Let me try talking to the poor thing."

"Here, Elder Michelson, she wants to talk to you."

Elder Michelson took the phone. "Uhm, ..."

"Not you Elder Michelson, the frog!"

Elder Shirōto tilted his head in disbelief as Elder Michelson moved the phone so the frog was within the camera's view field.

"I can talk, and Elder Shirōto or whatever his name is, can't understand me."

"Oh, I see. He can't understand you. Hello, Miss Frog. I am Sister Morinokami."

"My name is not Frog."

"Okay, Miss Not-frog."

The frog huffed. "Cindy."

"What can we do for you, Miss Cindy?"

"She wants someone to kiss her and turn her back into a princess," Elder Michelson explained.

"What's this about a talking frog?" The voice of Sister Morinokami's companion came through the phone speakers.

"Let me handle this, Sister Severus. Is what he says true, Miss Cindy?"

"Pretty much. One little kiss and I'll be free of this spell."

"Well, kissing a princess would be breaking the rules, but kissing a frog, I think that would be an act of service."

"But, ... but, ..." Elder Michelson stuttered in surprise and panic. "Uhh, what if she turns into a princess while I'm still kissing her?"

"Then you'll have to back away quickly. Would that work, Miss Cindy?"

"Yes!" the frog practically squealed in excitement. "Just a little kiss from a handsome prince and I'll be free of this spell!"

"But," Elder Michelson pointed out, "a princess, ... a princess is interesting, sure. But princesses aren't very useful. They mostly waste their time trying to look beautiful. A talking frog, though, that's really cool."

"Elder Michelson!" Sister Morinokami remonstrated "You're being selfish."

"People would listen to the lessons if we had a talking frog," he explained.

"Not if they can't understand her, and that's not teaching the gospel, anyway," Sister Morinokami chastised.

"I think," Sister Severus commented, still off-screen, "we'd better call the mission president."

 

 

The Missionary and the Enchanted Princess,

a Frog Story

Joel Matthew Rees, Amagasaki, Japan
Copyright Joel Matthew Rees, 2019 - 2021
 
TOC
  1. The Frog (this chapter)
  2. Missionaries and Magic
  3.  

 

 

(First write here: https://guerillamormonism.blogspot.com/2019/11/the-missionary-and-enchanted-princess.html.)

Tuesday, September 29, 2020

33209: Rocks -- An Evening Together

Chapter 14.2 Rocks -- Moving Ahead

Chapter 14.3: Rocks -- An Evening Together

"I'm glad they had the Micro Chroma kits so we can take them home." Pat was examining the kit she was carrying as we entered the front door.

"I don't know about you guys, but I'm watching Hello Dolly tonight." Denise looked up from where she was watching TV and grinned as we came in the front door. 

I went to the kitchenette and set the bags I was carrying down.

Pat looked from her kit to the TV with a perplexed frown.

"Joe?" Julia looked over at me with a question in her eyes.

I shook my head. "No complaints from me."

Julia happily sat herself on the couch beside Denise, and I sat on the floor in front of her, leaning back against the couch beside her knees. 

Denny carried a couple of flat boxes into the kitchenette muttering something amusingly inane about TV.

Pat sat beside Julia. George and Mike took the flat boxes they were carrying into the kitchenette and returned to sit on the floor in front of her, dividing their attention between the TV and their kits.

"Somebody help me with the pizza I brought home!" Denny called out.

"Pizza?" Denise looked up from the TV hopefully. "I thought I smelled pizza. You brought some home?"

I got back up and went into the kitchen area, and George and Mike followed.

"On the company tab. Leftover from recruitment party."

We quickly had plates out and filled, and we passed them back into the living room, then passed out cups and soft drink bottles and returned to sitting on the floor.

"Tell your boss I thank him," Denise said between bites. "Very considerate, and better than the fried chicken I thought you had forgotten."

Denny grinned and joined us, giving Denise's rounding abdomen a caress before he sat down in front of her on the floor. "Kids asleep?"

"I doubt it."

The older boy peeked in through the boys' room door. I motioned to him to join us, and he came in and sat beside me. Denny stood back up and brought the younger one in, letting him lie in his lap and go back to sleep.

*****

"Money is like manure." Julia gave me a glance and look as quiet as her voice. Denny and Denise had invited us to join in their family prayers, and, that done, Julia and I had carried the boys back to their beds and were now returning to the living room.

"Horace. Prompted evidently by Dolly's late husband from the other side." I also spoke quietly. "Spread it around and make green things grow. Not a bad metaphor, in a country where the banknotes are green."

She gave that a quiet laugh. "I guess it's not quite the same metaphor if the paper money isn't green."

"Still a useful principle."

Mike and George looked into the boys' room behind us. 

"Tight squeeze with three of us," George muttered. He turned back to the living room. "In my economics class, the teacher compared money to air. Pointed out that it's a medium of communication and essential to society's functioning."

"Essential?" Pat raised an eyebrow.

"You need something that can be used to communicate about value," he replied. 

"And any medium for communicating value just ends up looking like money," I added for him. 

"Probably."

Pat asked, "Then how about blood as a metaphor, since it has to circulate, and it carries stuff with it?"

Mike suppressed a snort. "More like pus."

I glanced up at him. "Because it tends to accumulate most in the wounds of society."

He nodded. "Exactly."

"Pus?" Julia scrunched her face. "Yuck. I could hate you for that, Mike." She shook her head and chuckled.

He just grinned back.

George groaned, but Pat nodded her head appreciatively. 

"Are you guys sure you're not already all related to the Reeves clan?" Denise asked.

"What?"

"Huh?"

"Philosophizing when we should be getting ready hit the hay," I explained.

"All the Reeveses do it," she laughingly complained.

Denny and I chuckled, and Julia reached out to take my hand. I gave her a smile and hug in reply.

*****

"Joe." 

Mike's low voice from beside me broke into my pre-dream thoughts. 

George's breathing from the other side of him was deep and regular.

"Yeah?"

"Julia tell you about her and me?"

"Somewhat."

"I wish I'd known you in high school."

"Oh?"

"I think I needed better role models."

"Heh. I was not much of a role model in high school. Two years as a missionary helped, but, ..." and I stopped, in the realization that what I was about to say might be rather painful to Mike.

"Then maybe it's just that you and Julia are a better match than I'd have been for her."

"Maybe." I guessed he'd understood -- from his point of view -- some, if not all, of what I hadn't said.

"Even if ...," he trailed off.

 I waited for him to finish.

"Even though I can't expect to win Julia back, I want to be your friend."

"I hope we can be friends. I think Julia has some unhealed wounds that could be healed if we could all be friends."

"I think we can. But that's what it is. What I want to learn from you. I want to be able to think like that."

"I think it has something to do with religion."

"I know."

I waited for him to say something more.

"Thanks for letting us come along."

"Thanks for coming."

Mike grunted an affirmative, and slowly his breathing became regular and deep.

I was reminded of listening to my missionary companions' breathing in the middle of the night. There's something companionable about sharing a room to sleep in.

*****

In the morning, we met the others at the park and spent a half hour walking and wading in the water before heading out for breakfast and to the surplus store.

John was happy to have the group of students browsing his selection of surplus, and he was happy to talk with me about the controller circuit.  He was worried about Motorola wanting to prevent him from passing the diagram and code out with the drives he sold, but Denny and assured him Motorola had agreed to keep it openly usable. 

Denny had already put copyright notice, notice of intent to patent, with notice of license and disclaimer of liability on the diagrams he passed out among his friends, and John was leaving the notices intact on the copies he kept to pass out.

About lunchtime, we went back to the park and met the other group coming in. Motorola's recruiters found us there, bringing more pizza and the remainder of the Micro Chroma 68 kits. But they kept the recruitment activities short, to leave the second group as much time at the surplus store as possible.

Julia and I spent a couple of hours with Denny and his boss at Motorola, learning how to use the test equipment to go through the reject bin to fish out parts that were functional enough, even though the batch they had come from had not qualified as product. We were able to collect a couple of rails of parts that members of our group could use in their projects.

By the time we got ready to leave, we had, in addition to the Micro Chroma 68 kits and the hardware we had purchased, something of an agreement that many of the students in our group would be working on projects for Motorola over spring break and the summer holidays.

*****

Julia wrapped my arms around her as we stood facing the moon on the sidewalk outside her house about a half hour before midnight. Neither of us spoke for maybe a couple of minutes, then she turned and gave me a kiss that must have lasted as long. It tore me up to tear myself away so we could unload her hardware.

Her mother was sitting on the couch with some knitting when we entered the front door.

"Mom, don't say a thing."

"About what?"

"About it would be faster and easier for me to stay over in Joe's spare room. 

"But that would mean Dad wouldn't be able to help you build your computer." She smiled. "We're putting enough pressure on you two. Take your time and don't mind us."

Chapter 14.4: Rocks -- what?


[Backed up at https://joel-rees-economics.blogspot.com/2020/09/bk-33209-rocks-evening-together.html.]

Monday, September 14, 2020

33209: Rocks -- Moving Ahead

Chapter 14.1 Rocks -- Bit Multiply

Chapter 14.2: Rocks -- Moving Ahead

[Please pardon the layout change. Google is being the 800 pound prima donna and making all blogspot users use a buggy blog editor now.]

"Are you sure that there's nothing in what you and Julia just went over that you won't be claiming as IP?" Bill wrinkled his forehead.

I shrugged. "Trying to claim IP on this kind of thing is only one step beyond trying to claim IP on binary addition. No real circuitry to base claims on, nothing but ideas and math."

(We won't mention a very famous, wealthy corporation that did, in fact, attempt patent claims on binary addition in an ALU, buried in its claims concerning a programming language and programming environment they developed and sold. We also won't dwell here on the fact that, once upon a time, ideas, math, and algorithms were considered well outside the domain of patents in the USA.)

"Would it be possible," I asked, pressing my own agenda, "to reduce the cycle count to one on reads and two on writes in the direct page RAM, without blowing the transistor budget on a 6805 or 6801? That alone could better than double the speed of software multiply and divide."

There was a bit of uncomfortable chuckling and clearing of throats.

"No?"

Several engineers looked at Pete. He shrugged.

Tobias tilted his head apologetically. "We'd have to fix the prefetch/decode circuit so it's a real pipeline of depth one."

"It's not a real pipeline?"

 "The eight-bit designs don't have a place to keep the instruction in its partial and fully-decoded states, so we go back and redo the prefetch if we don't use it immediately." 

"Oh."

"And then we'd have to test it. Testing is what we get stuck on budgeting time for. You should talk with your brother about that."

"Denny's not in charge of test, is he?"

"No, but he could tell you something about the backlog."

Our Bob spoke up, "Could interns help with the grunt work?"

Motorola's Bob exchanged glances with Bill, then turned to Jesse. "Should we look at that?"

"Maybe we should," Jesse frowned. "I'll discuss it with my group on Monday, see if we can separate something out that a non-engineering tech could handle."

"Remember that these guys seem to have a bit more of a handle on the tech than our usual crop of interns."

"We'll take that into consideration."

I ventured a bit further. "I'm not just thinking of fast direct-page RAM, though. The 6809 and the 68000 have enough index registers to support separating the parameter stack from the return pointer stack, and that means one might profitably attach a hysteric cache to both pointers, with the appropriate control signals."

That got me looks of confusion and amusement.

"I mean a cache that tracks the stack pointer with hysteresis." I borrowed Julia's notepad again and sketched out something like this:

Ms. Philips reached over and lifted the notepad and waved it at me. "I am sure this is IP."

"It's just a lousy diagram of spill-fill cache tied to a stack pointer. Calling it hysteric is a bit of a pun, is all. Not even a really good pun, at that."

Jesse started chuckling. "If it works," he commented, "it'd be more appropriate to call it an anti-histrionic stack cache." 

A number of other engineers echoed his chuckles of appreciation.

Ms. Philips and Ms. Steward put their heads together and started working on something. Bill and Motorola's Bob refrained from comment, keeping an unobtrusive eye on what they were working out.

I added, "If such a cache could also be accessed in single-cycle reads and two-cycle writes, local variables would be almost as good as registers."

Bill leaned forward. "We've taken a lot of your time on this blue-sky brainstorming, but Bob and I wanted to get your opinion on something."

I let the amusing, but perhaps meaningful mixed metaphor pass and nodded.

"If you were designing a mass-market personal computer using an existing CPU, would you use Intel's 8086 or 8088?"

It was my turn to be confused. "Maybe I should give it more careful consideration, but my impression is that instruction set is an improvement over the 8080, but not much. And it has those sloppy segments. No. I'd use the 6809 for its instruction set, addressing modes, and register set before I'd use the 8088, even though the 6809 is a bit slower on multiplies and a lot slower on divides, and, for a PC, would require bank-switching or the 6844 MMU. 

(PC? I had become accustomed to the abbreviation in Japan while I was there as a missionary. How quickly people forgot, in our real world, that there was more than half a decade of PCs before the IBM PC.)

"And I'd use the 68000 over the 8086 even though the 68000 costs a bit more, because the 8086 just doesn't make sense as a design. It requires 16 bit wide memory, but it still gives only 16 bit addresses unless you play bad programming practices games with your code. Sloppy segments are a bug generator and a security booby-trap."

Bob nodded. "Are you sure your antipathies are not colored by family loyalties? The tech industry doesn't forgive misplaced family loyalties."

"Family loyalties may induce some of the heat, but, really, if they want to map 16-bit logical addresses into a 20-bit physical address space, they should make the segments fully 20 bits wide. 24 or 32 bits wide would make even more sense, even if the top four or twelve bits aren't brought out of the package or don't even physically exist. And the segments should have limit registers, as well, if they're going to mean anything besides crude bank-switching with the improvement of being able to tie specific banks of memory to specific index registers, including the instruction pointer. Half-baked MMU."

"But potentially useful, no?"

"With extreme caution. Too much caution, really."

"How about segment registers for the 6809 or 68000?"

"You can use the 68000's address registers for segmentation if you want, although the segment limit problem remains, and there is a memory cycle penalty if you don't handle the segments well."

I stopped to think my next words through.

"If I were adding segmentation to the 6809, I'd want full 32-bit segment registers. The limit registers would be as wide as the index registers, so if you had a derivative with only 16-bit wide index registers, the limit registers would also be 16-bit. Instead of a segment override prefix like the 8086, I'd just have the register-to-register transfer instructions move the segment and limit registers, as well."

Bill and Bob were both nodding. Bill asked, "You've taken a look at the 68008, haven't you?"

"Yeah. But I'm letting Mike be the one to have fun with it."

Mike snickered.

"If it were available in, say, three months, in small lots, would you use it?"

"There are a lot of things that a 4 megahertz 68000 is going to be no faster doing than a 1 megahertz 6809, because of the memory cycle speed, the extra width of instructions, and other things. Many of those things are precisely what a personal computer is going to be used for, at least for the next several years. A 4 megahertz  68008 is going to be about half to two thirds of the speed of the 68000, I think. The only advantage is the megabyte address space, which really won't be quite enough in the near future."

Bill and Bob both frowned.

I continued, "Now, if we had a further evolution of the 6801 with an additional 8 bits attached to the top of the index register and program counter, a long jump, and either a long load of X or a transfer A to XHi or some such, at a price not too much higher than the 6801, that would make a good cheap personal computer. Or my pet imaginary evolved version of the 6809 with PC, X, Y, U, and S extended by 16 bits and new indexing modes to make the long addresses accessible, at a price not too much higher than the 6809, that would be ideal for the current market."

"One megabyte is too tight?" Bob asked.

"64 kilobytes is too tight?" Bill asked.

"Look at the 6847. Julia and I and my sister write reports using that because we are patient with the narrow window on the text, and we like the ability to type, think, erase, and type again. But my mom just gets frustrated, and my dad barely avoids going to sleep using it. People with no reason to be patient won't get it, and they are the ones who will be buying most of the personal computers sold. A personal computer has to be able to show the equivalent of a typewritten page on its screen, at minimum, or at least have a clear upgrade path to get there. That's what's stalling Radio Shack's Color Computer in the market right now. Besides lack of MMU."

Pete said, "But a typewritten page of text would only need a 2 kilobyte screen buffer. I've seen the Japanese personal computers, and they're pretty functional with only 16 bits of address."

"How functional?"

 "All the useful characters."

"Not by a long shot. Less than two thousand. The real count for a good newspaper is estimated at over 3,000 characters, but they aren't taking into account that what will be included in that 3000 will vary from month to month. And even newspapers will use really oddball characters regularly, when they need something more precise in meaning, and if you include the ability to display all the oddball characters, you're well into 9,000 characters or more. Add historical characters and you easily triple that count. Chinese is on the order of a hundred thousand characters. Sixteen bits doesn't cut it, except for very limited purposes like cash register receipts and utility bills."

"You can't be serious."

"I've lived over there. I know the hype they give the current crop of PCs and the sell-job they give the new student of the Japanese language, and I know the reality when you start reading serious literature. The standard character set is just enough to get started."

"How does anyone remember them all?"

"They don't, but that's going to be one of the things a real personal computer will be good for, helping them find and use the ones that they have trouble remembering. The personal computers they have now are very limited in scope relative to what they need, and what they will have in the future. They sell because they don't have anything better."

I continued after a moments' thought, "If the characters are to have decently defined glyphs, you want bit-mapped characters that are 32 by 32 pixels, not 16 by 16. 10,000 characters at 128 bytes per glyph is going to eat up a megabyte of address spaced pretty quickly." (Vector glyphs were still a bit exotic for a conversation like this until a couple of years later.)

"And graphics." I pointed at the TV. "How many kilobytes is the graphics mode screen buffer on the 6847, for just fuzzy monochrome on a color TV?"

"Six."

"How would the same resolution graphics in four colors be, if the 6847 supported it, or if you modified the output and added the RAM?"

"An extra bit per pixel, so twelve."

"That takes 12K out of the program space on the 6801 or 6809, just for four colors, and everyone will want a much bigger gamut of color. And resolution at least double what the 6847 offers. 64K was tight to start with, and a megabyte will soon be tight for color graphics. One advantage, I guess, to the 68008 is the implicit upgrade path to the 68000, but 24 bits of address will shortly be too few, also."

"16 megabytes too tight? RAM is expensive," Sharon pointed out.

"If you don't want to be a foundry for other companies' designs, you have to have a base technology where you develop your testing and manufacturing techniques. That's RAM. It pays for itself without even being on the market by helping you get your other products right, faster."

"That kind of thinking'll push the price of RAM right through the floor," Motorola's Bob said with a frown.

"Exactly. But you won't care, because RAM pays for itself in shortening your development cycles for your profitability products. RAM should be like candy, anyway."

"RAM should be like candy." Bill harrumphed. "I think you've said that before." He reached into his briefcase and pulled out an advanced information datasheet and handed it to me. "Has Denny shown you this?"

The datasheet described the planned 68010 and 68012. I scanned it quickly. "No. Can Julia and Mike also take a look at this?"

"Sure. And anyone else in this room, really."

I showed Julia the changes in the addressing mode, allowing 32 bit constant offsets, and the short loop cache mode. 

She tilted her head grinned apologetically. "I guess it's an improvement?"

"Definitely. And the exception frame looks more manageable."

I passed it to Mike, and Bob and Jennifer looked over his shoulder. 

After a quick scan, he looked up. "Why isn't the 68008 based on this? The short loop execution mode would be especially useful when memory's only eight bits wide."

"Timing. Market and management." Bob shrugged.

"If I were you guys, I'd hold the 68008 off until I could make it an 8-bit version of the 68010. In spite of the fact that I personally really want to get my hands on one."

I nodded my agreement with Mike. "Or, if you just have to have an eight-bit 68000 now and this allows testing to complete more quickly, plan and advertise a 68018 that will be an 8-bit 68010."

"What if we have plans for adding more addressing modes and wider math, and dropping the loop mode for a small general cache, in another CPU in the early planning stages?" Bill's face was unreadable. "Not saying we do, but what if?"

I took a deep breath. "You know, in the 6809, extended mode was added to the index post-byte for doing memory indirect on absolute addresses. I'm wondering how much more it would have cost to included direct page in the index post-byte, as well. That would allow using the load effective address instruction to get the address of a direct page variable without using the accumulator, which would make the direct page much more useful for statically allocated local variables. But adding many more addressing modes would quickly get into negative trade-offs."

"But that's talking about the 6809."

"Yeah. The 6502 needs two kinds of memory indirect because it's so register poor. And those two kinds were a very strategic choice. The 68000 already effectively has both kinds, because it has lots of indexable registers. It doesn't need more addressing modes, not considering how much it will cost to test and get right. Except for the 32-bit constant offsets, those will be worthwhile. And it especially doesn't need addressing modes that can be as quickly executed using existing instructions and a register or two. I'd have liked it to have memory indirection, but that's just an address register load, so maybe not really worth it. Sure, eight address registers is a shade tight for some uses, but you don't want to clutter the upgrade path to a 64-bit CPU with a bunch of new, untested addressing modes."

There was a chorus of cleared throats and exchanged glances.

"Would it cost too much to somehow allow engineers to experiment with variations of your primary designs, to push the envelope with real hardware, even if it's not tested?"

"What do you mean?" asked Bill.

"Like a skunkworks, but officially supported."

Motorola's Bob leaned forward. "Assuming we dare put our fab facilities at risk, where are we going to get the manpower?"

"Just let your engineers take up to eight hours a week on blue-sky projects on company time, no questions asked."

Sharon shook her head. "We're already short of time."

"Blue-sky projects give you a chance to figure out better ways to do things. You'll end up being more efficient and closer to on-schedule."

"Hard to believe," Pete complained.

I shrugged. "Well, you guys have the experience, not me. I've said my opinion."

"Okay, we have another addendum." Ms. Philips and Ms. Steward looked up from their writing and interrupted, and Ms. Philips showed Bill what they had. He passed the addendum to Bob, and Bob looked it over and passed it to me.

It consisted of mutual permission to use ideas and concepts we had talked about over the course of a couple of hours that night with a promise of best effort to offer each other consideration. The five of us figured that was more than agreeable, and added it to our agreement contracts.

As we wrapped up, Jesse asked me, "Could you put a Forth interpreter on a 6805?"

"Self-hosted?"

"Of course."

Julia looked up from the notes she and Ms. Steward were arranging to make copies of. 

"Self-hosted?" she asked. "That's where the language runs on the same processor that compiles the code, kind of the opposite of the cross-assembler that runs on the 6800 but produces code for the 6805?"

I nodded. "Yeah. Maybe self-hosted could be done, if you have enough ROM and RAM. The virtual instruction pointer needs more than 8 bits, but self-modifying code might work -- using an extended mode jump where the code writes over the jump address before executing the jump. Cheating, but it might work."

Jesse smirked and I chuckled.

Julia asked, "Can you show me an example?"

She handed me her pad again, and I wrote out some code:

NEXTIP
   LDA IP+1
   STA SELFMO+2 ; direct-threaded
   LDA IP
   STA SELFMO+1
SELFMO
   JMP $EEEE ; provisional target address
* The 16 bit address $EEEE just got overwritten by the target address. 

She looked at it with a frown. "What's the purpose in this?"

"It's the part of the virtual machine emulator where the CPU calls the code to emulate each virtual instruction. And each emulation routine ends in a jump back to NEXT."

She tilted her head. "Sorry. I'm totally lost."

"For example, the routine to add two numbers on the stack would look something like this:

PLUS
   LDX USP ; parameter stack
   LDA 3,X ; low bytes
   ADDA 1,X
   STA 3,X
   LDA 2,X ; high bytes
   ADCA ,X
   STA 2,X
   INX ; drop argument
   INX
   STX USP ; update the stack pointer
   JMP NEXT
"The routine for a jump would look something like this:"

BRANCH
   LDX IP ; IP is pointing at the in-line offset.
   LDA IP+1
   ADDA #2 ; bump past offset
   BCC BRANC0
   INC IP
BRANC0
   ADDA 1,X ; add the low byte of the offset
   STA IP+1
   LDA IP
   ADCA ,X ; and the high byte
   STA IP
   JMP NEXT

"And the routine for nesting calls would look something like this:"

CALL
   LDX RSP ; return address stack
   DEX ; room for old IP
   DEX
   STX RSP
   LDA IP+1
   ADDA #2 ; bump past call address
   BCC CALL0
   INC IP
CALL0
   STA 1,X ; tuck the address to return to away
   LDA IP
   STA ,X

And then I was stuck. "Wait. This isn't going to work."

Jesse chuckled again.

I went back to the NEXT routine. "Yep. I'm forgetting to actually get the jump address in the NEXT routine, and maybe a bit more."

Jesse agreed with a grunt. 

I shook my head and laughed. After staring at the code for NEXTIP for a minute or two while Jesse smirked and Julia looked puzzled, I shook my head. "Not having a sixteen-bit pointer is a real pain." 

Julia met my eyes and sighed. "Don't worry about it. I don't think the eight kilobyte maximum address space is going to leave much room for a program to run in, anyway."

"Yeah, but they're going to eventually make a chip with a full sixteen-bit wide CPU. I want to convince myself of this."

Her forehead creased.

"We need to grab two bytes pointed at by the sixteen bit IP in the direct page."

NEXTIP
   CLR NXADD1+1
   LDA IP+1
   STA NXADD1+2
   INCA
   STA NXADD2+2
   BNE NEXT00
   INC NXADD2+1
NEXT00
   LDA IP
   STA NXADD1+1
   ADDA NXADD2+1
   STA NXADD2+1
NXADD1
   LDA #$EEEE
   STA NXJMP+1
NXADD2
   LDA #$EEEE
   STA NXJMP+2
NXJMP
   JMP $EEEE ; provisional target address
* Had to overwrite lots of addresses.
I sighed. "And all of that in the small RAM is going to run us out of RAM."

Jesse let out a horse laugh.

"I guess this needs to be done a bit more simply."

"No. I think you nailed it. But put the code from NEXTIP to NXADD1 in ROM, followed by a jump to NXADD1 in RAM." He continued to chuckle.

Julia said, "It's okay. I don't care. We're all tired. Let's go home, or, well, back to your brother's place."

"But I want to work the rest of this out. Borrow from ..." 

She took the Forth listing I had picked back up and her pencil and the sheet of paper I was trying to work on out of my hands while Jesse laughed. 

"You got a real jewel there, Joe," he said. "You'd better listen to her. And don't worry about the Forth on the 6805. I think that's about as good as it gets, and as Julia says, it's not much use until we have a 6805 MPU with fourteen bits or more of address. And I look forward to working with you as an intern, and having you join us when you graduate. I like the way you think. I think we all do." He looked around at the engineers and his managers, and everyone nodded in agreement.

I suddenly turned Japanese and ducked my head. "Sorry. I mean, thanks."



[Backed up at https://joel-rees-economics.blogspot.com/2020/09/bk-33209-rocks-moving-ahead.html.]

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 ...