The Novels

Economics 101, a Novel (Rough Draft) -- My first sustained attempt at a novel, two-thirds finished in rough draft, and heading a little too far south.
What would you do if you and your study partner, with whom you had been seriously discussing marriage, suddenly found yourselves all alone together on a desert island? Study economics?
Sociology 500, a Romance (Second Draft) -- The first book in the Economics 101 Trilogy.(On hold.)
Karel and Dan, former American football teammates and now graduate students, meet fellow graduate students Kristie and Bobbie, and the four form a steady study group.

Featured Post

Sociology 500, a Romance, ch 1 pt 1 -- Introducing Bobbie

TOC Well, let's meet Roberta Whitmer. Bobbie entered the anthropology department office and looked around. Near the receptionis...

Sunday, August 2, 2020

Backup: 33209: Straits -- Proceeding Forth

Backup of https://joelrees-novels.blogspot.com/2020/08/33209-straits-proceeding-forth.html.


Chapter 13.5 Straits -- Exercises, Exercises

Chapter 13.6: Straits -- Proceeding Forth


Tanya looked up from her keyboard circuit board. "How long do you think it will take them to get us those Micro Chromas?"

Julia and Bob were helping her debug her work. The rest of us with working keyboards were spread out helping those whose keyboards were not yet working.

Julia looked over at me and said, "Do you think they'll have them on Friday?"

I blinked and she winced. She mouthed a silent "Woops, sorry."

I gave her a wry smile and a wink.

"Denny hasn't said," I replied.

For a minute, work proceeded, then Suzanne looked up from where she was working with a group. "Friday?" She looked over at Dr. Brown. "Friday? Something happening Friday?"

He raised his eyebrows and shook his head. "I heard Joe may be going to Austin to talk with some people at Motorola. Other than that, who knows?"

"That's cool," said Wallace.

"Be fun to go check out that surplus shop this weekend," Bob commented. "I don't suppose you're going to have time for that, Joe?"

"No, actually, that's part of the plan. Rolling out on my nephews' floor Friday evening and hitting the surplus store on Saturday." I deliberately left grammar incomplete, too.

"Hey," Winston spoke up. "We could caravan down. I'm sure Julia wants to go, too. Leaving in the morning? We could skip classes."

That got a ripple of laughter and chatter.

"Leaving as soon as my last class of the morning is done. Eating on the road so I can get to Motorola in time without speeding."

"They're not flying you out?" Bob asked.

"Denny pointed out the strategic benefit of me being able to visit the surplus store, so they gave me the option."

Chuck asked, "So what time should we meet to caravan?"

I looked at Julia and she tilted her head and shrugged. I looked at Doctor Brown and he just shrugged, too.

"Julia's going with you, right?" Suzanne didn't ask, didn't really accuse, just said it like she was confirming a known fact.

"Uhm, ..."

The whole class was suddenly quiet.

"Look. I'll be under a really tight schedule. If I had a CB radio in the car, we probably could caravan, but I don't, and I really won't have time to wait for anyone. I'm not saying you guys can't caravan, and I'm not saying we won't see anyone on the road, either, just that I don't want to speed and I won't be able to slow down or stop. Well, except for emergencies, of course."

I stopped for breath and thought and glanced at Mike, who was shaking his head, his expression hard with doubt and distrust. Pat and George were whispering together beside him.

"Julia is planning on going with me so she can look at disk drives and such, unless she changes her mind. My brother said it was okay for her to sleep on the couch in their living room. As I said, I'll be in with my nephews. And," I glared at everyone and no one in particular, "my brother and his wife will kick me out on the street if I try to move to the living room in the middle of the night."

That got laughs.

"They don't have any extra room beyond that," I added. "So anyone who goes Friday will have to find their own place to spend the night."

"It might be a better approach to leave early Saturday and meet up in Austin," Doctor Brown suggested, quietly.

We discussed logistics for several minutes, and I promised I'd bring the address and phone number of the surplus shop on Thursday before we returned to working on keyboards and talk turned to expanding the computers and figuring out what kind of enclosures to put the electronics in.

More than half the students had their keyboards working by the time I needed to go deliver my newspapers, and, at Doctor Brown's suggestion, we broke the lab session up so I would have time I needed to get ready for Friday. The rest of the group agreed, albeit some seemed reluctant.

As Julia and I loaded her car with our computers, Mike, Pat, and George approached us. That Mike was unhappy was clear from his expression.

"Julia, I need to talk to you."

Julia looked at me and I raised my eyebrows and tilted my head.

"Joe needs to get back," she replied.

Mike fixed me with an angry stare. "I'd like to talk with Julia alone."

"If you're not going to say it in front of Joe, don't even bother."

Pat pursed her lips. "Julia, I don't think you're being fair to Mike. At best."

Julia shut the back seat door and turned to me. "Let's go." She handed me her keys. "I'd like you to drive."

I took the keys, gave her a hug, and leaned close to her ear. In a low voice only she could hear, I said, "We're still a little early, maybe we should listen to what he has to say."

She gave me a moue, then turned to Mike. "Two minutes. Here, now."

Mike looked at me hesitantly, then took a deep breath.

"What are you doing?"

Julia gave him a look I was glad I was not on the receiving end of. "What makes you think you have a right to ask such a question?"

"It seems to me like Joe gets a free pass I never got."

"So what if he does? I have a right to make my own choices, and he never asks me for what I'm not willing to give."

I could tell that hurt going down.

"Just for the record, Mike, can I ask how far you tried to go with Julia?"

That earned me a burning look from both Mike and Julia.

"I think it's a relevant question," I added

"He couldn't keep his hands out from under my clothes."

"You said you liked it."

"I changed my mind."

"Why?"

"I thought you wouldn't like me if I said no. Then I prayed and I realized that, if being turned down was going to turn you off, I shouldn't have been saying yes in the first place."

"If God told you to turn me down, why wouldn't he tell me I shouldn't date you? And why doesn't he tell you to turn Joe down?"

"Joe has never once tried to put his hands on me where they don't belong. He respects me."

"Then what is this going to Austin alone with him?"

I broke in. "My brother and his wife will literally kick me out in the street if I try anything."

"What if she tries for it?"

"I'll still be the one to go out in the street, since guys are better able to defend themselves. But if I couldn't trust Julia, and If I couldn't trust them, I wouldn't be letting Julia go with me."

"What about on the road?"

"We've promised each other not to even kiss on the road."

"I don't believe that."

Julia sneered. I'd never seen her do that before, and it disturbed me.

"You never did believe me, or in me, or in my ability to make up my own mind."

"Okay, I was a stupid high-school kid. I guess I wasn't mature enough. But ...," Mike trailed off.

"Yeah, high school kids think love is all about hormones and emotions." I regretted the words the moment they came out of my mouth, but they were not words I could recall without consequences.

I prayed again, in my heart, for forgiveness and guidance, not just for myself, but for all five of us.

"Uhm, maybe I should ask Denny if we can squeeze two more guys in on the boys' floor in sleeping bags, and an air mattress on the living room floor for Pat."

Mike gave me a shocked look, but it did not compare to the look of surprise and confusion Julia gave me.

"Hey. We're just here to ...," George began, but he, too, trailed off. "Uhm, maybe that would be a good idea, even though I'm not sure I want to get to know you that well, Joe." He chuckled.

I gave him a wry half-smile.

Pat was looking very thoughtful. "That olive green compact station wagon of yours is gonna be a tight squeeze, but maybe I can put up with being squeezed between two of my best friends for two six-hour trips over one weekend."

The doubts in Julia's face began to resolve themselves, and Julia nodded slowly. "Maybe it's a good idea. If Mike promises to accept what he sees."

Mike took some visible effort to pick his jaw back up off the metaphorical floor.

"I, uhm, I'll think about it."

"I'm still too upset to drive, Joe."

I held the door for Julia.

"See you guys tomorrow." I nodded to the three of them as I slid into the drivers side.

Julia scooted over on the bench seat and nestled against me. "Pat, we'll call you when we found out what Denny says."

*****

While I folded newspapers and stuffed them in my carrier bags, Julia drew up some more sketches for enclosures.

"If my keyboard is separate from the computer box, I'll need a longer cable."

"Yeah."

"And a ribbon cable isn't going to work."

"True. Too stiff, too many conductors spaced too far apart to bend well. Too easily broken."

"Is this why a keyboard controller might have a serial port instead of a parallel port?"

"Yup." I took one of the newspapers and set it in front of me, sideways. "Keyboard." I pointed to the bags. "Computer." I drew a line in the air from the bags to the newspaper in front of me, twirling my finger as I did. "Maybe a coiled telephone handset cord. Two or four wires inside instead of nine or more, and flexible." I stretched a rubber band from the bag to the newspaper, and it snapped. "Ouch."

We both laughed.

"Maybe that's what I should do. I think I want the disk drives in the same box as the mainboard."

"We can do it, if you think it's a good idea."

After I got back from delivering the newspapers, she showed me her new sketches. Then we went into the kitchen and put something together for dinner. After dinner, we went to the piano in the den and Julia played so I could practice for my recital.

It was late enough for evening rates to apply when we were done with that, so I called Denny and asked about the Micro Chroma 68 boards, and about the possibility of putting Mike, George, and Pat up for a night, as well. Denny and Denise sounded a bit skeptical, but they decided it could be done, but that would be the absolute limit.

And Denny said he knew they had gathered some Micro Chroma 68 kits, but he didn't know how many, or whether they'd be turning them over to me on Friday.

We called Pat, and George and Mike were there, too, so she let them know it would be possible.

"What now?"Julia asked as we sat down on the sofa in the living room.

"I need to study the 8086 and the 9900 a bit more. But I also need to figure out that Forth stuff."

"What you were looking at when we both fell asleep night before last?"

"That."

"I think that's what you should work on now."

"You might be inspired." I got out the package and looked through it again. I had ordered a printed copy of the fig-FORTH FOR 6800 ASSEMBLY SOURCE LISTING and a copy of the source on tape, with a copy of the fig-FORTH Installation Manual, Glossary, and Model, and a copy of an introductory textbook, Leo Brodie's Starting Forth.  

I picked the baby blue cover Installation Manual up again, thought about it for a moment, and put it down.

"What?"

"I dunno. I seem more inclined to look at the source than at the instructions."

"You definitely seem to be inspired today."

I opened up the pink cover Source Listing and scanned through it.

"Me?"

"You got the same answer to prayer I got, and you followed through."

"Oh. Mike. I think he'll be okay."

"Oh, Joe, I'm scared."

I looked up from the listing.

"What if God says I can't marry you, that I have to get back together with Mike?"

The lyrics to a hymn came to mind.

Know this, that every soul is free
To choose her husband and whom she'll marry.
"Boop-boop!" Giselle called out from her room. My singing was loud enough for her to hear.

"Is that really a song?"

"Almost."

"It's in the hymnbook." Giselle came in and headed through the kitchen to the den.

"How does it really go?"

I grinned and stood, and took Julia's hand. She stood, too, and we followed Giselle.

Giselle had the hymnbook open to number 240, and she gave it to Julia.

Julia took it and set it in the music tray of the old upright, and sat down on the piano bench. She checked the key and ran through the intro, and we started singing:
Know this, that ev’ry soul is free
To choose his life and what he’ll be;
For this eternal truth is giv’n:
That God will force no man to heav’n.

He’ll call, persuade, direct aright,
And bless with wisdom, love, and light,
In nameless ways be good and kind,
But never force the human mind.

Freedom and reason make us men;
Take these away, what are we then?
Mere animals, and just as well
The beasts may think of heav’n or hell.

May we no more our pow’rs abuse,
But ways of truth and goodness choose;
Our God is pleased when we improve
His grace and seek his perfect love.
Julia stood up with eyes bright and moist, and we shared a three-way hug.

"Now I should leave you two alone." Giselle returned to her room.

"Anonymous, from around 1805," Julia read from the notes.

"About the year Joseph Smith was born."

"Included in your first hymnal. You guys have some really cool hymns."

"That's one I wish we sang more often."

She put the hymnal back and we shared a gentle kiss before returning to the living room.

Reluctantly, I released her hand and picked the listing back up.

"Well, there's the place to customize the I/O routines."

"Oh?"

"Keyboard, display, disk. No, that says virtual disk, so it'll take a bit more work. We aren't likely to be doing real disk just yet."

"What can you do without disks?"

"Not sure. Let's load the source in from tape, then save that to disk."

That took a few minutes.

"Now I'll fix the I/O routines to match the Micro Chroma 68's hardware."

That took a bit longer.

"Save the resulting source and assemble it."

The assembler kicked out a few errors for me, so I fixed my mistakes and save and assembled it again. This time, it assembled cleanly.

Julia watched me patiently.

I saved the binary file to both disk and tape, and loaded and ran it. It came up nicely, first time.

FORTH-68                               
  OK                                            
                                                    

Julia went in to ask Giselle if she could borrow her TV, and Giselle came back out to watch as she loaded the binary from tape into her Micro Chroma 68+6801 and ran it. It came up nicely for her, too.


For a half hour or so, we played with the examples from Leo Brodie's book.

"No way to save our work?"

"Not without the disk I/O. Let's see if I can figure that out."

I let Giselle play on my computer while I went back to the manuals to try to understand what Forth was all about.

The parameter stack, I understood. But the virtual machine was Greek to me for the evening.

"No decimal point," Giselle muttered.

"I think Joe is going to have to program that himself."

"Probably so," I agreed.

"Making your own words is fun." Giselle smiled. "Can we make this work with my word processor?"

"I think I'd have to rewrite the entire interpreter." I showed her the pink-covered program listing.

"A hundred pages? It'll take some time?"

"Seven thousand lines of code or so. It'd definitely take some time."

(fig Forth took the real me a full six months to get running, but that was because I did it the wrong way, hand assembling the source and entering the object in hexadecimal, also by hand. I saved the object to the fast cassette. I learned a lot, but I also learned a lot of bad habits in the process. DIY-everything has limits.

No, the reason the me in this story progresses much more quickly is that he doesn't try to do everything himself. Even if you think that's what he's doing.

Forth, by the way, was a revelation, but I'm not sure it wasn't a revelation of the dark arts.

The power you feel when you write your first BASIC program can be a little intoxicating.

The power you feel with Forth is more direct, stronger, more full of promise. But the details of implementation still bite you in the end, just like with any computer language, and they bite in ways that the majority of programmers and software engineers, unfamiliar with Forth, do not understand.

The me in this story was immune to the power effects, even though the real me was not. Giselle was not, but lack of floating point math muted the effects. Julia wasn't immune either, but I think she mentally hid herself behind the me of this story.

If you want to play with a more modern Forth interpreter than the one I used back then, look up Gforth. Disk I/O is working in that one, and it includes floating point numbers and a number of other useful features. Or if you want a feel of what I was working with, the fig Forth interpreters can be found on-line, along with emulators to try them out on. An emulator for the Micro Chroma 68 itself has  even recently been added to the MAME/MESS project. I should write up a blog post of how to get those running, some day.

I do have a partially useful description up of how to get my BIF-6809 interpreter running on the XRoar Color Computer emulator.)

*****

In the lab the next day, we got the all the rest of the keyboards running, and those with Micro Chroma 68+6801s played with Forth a bit. Several of us tried to work out the disk emulator stubs in the 6800 model, but the bug in the model and the narrow screen of the Micro Chroma 68 defeated us.

More than BASIC and Flex, Forth got everyone excited to get their own mainboards running.

The discussion included enclosures, and somebody pointed out that the surplus shop might have some, which raised the interest level in the trip to Austin. Ultimately, two caravans were planned, one leaving at the same time as Julia and me and another leaving at six Saturday morning. Several knew the Austin area, and they discussed campgrounds.

For Institute that night, two sister missionaries stationed in Midland came to talk about how they prepared for their missions. Julia and Giselle both listened intently. I was also asked to give an impromptu testimony, and I spoke frankly, as I felt inspired.

Back at my house, Julia and I prepared lunch and dinner for the trip with help and advice from Mom, Dad, and Giselle. We pre-packed the computers, as well.

*****

"No, Mamá, it would not make more sense for me to spend the night at Joe's house, even in their spare room. We already have enough rumors going around at school as it is."

Mrs. Cisneros gave her own daughter a moue. "I suppose you're right. I don't know why Mike had to go and meddle in things."

"Mamá, paciencia. Todas las cosas buenas vendrán."

I reiterated what Julia said: "All good things will come, Mom."

Mrs. Cisneros turned to me with a shrewd, but pleased look and nodded. "Muy bien, hijo mio."

Julia looked at me with wide, surprised eyes. "Besas."

I complied.


Chapter 13.7: Straits -- 2801, 3801

[Backed up at https://joel-rees-economics.blogspot.com/2020/08/bk-33209-straits-proceeding-forth.html.]


No comments:

Post a Comment

Keep it on topic, and be patient with the moderator. I have other things to do, too, you know.