Suddenly I wanted to get as far from Mary as I could. I felt dumb for trying and even dumber for sharing. Planet Will Software! What the hell was I thinking?
But Mary didn’t look disappointed. If anything, she seemed more engaged, like I’d presented her with a problem worth solving. She hit RUN/STOP and typed LIST, and all of my code spilled down the screen. Mary skimmed the lines, nodding as she went along, not reading but skillfully assessing the overall structure, the way a mechanic might circle an automobile, inspecting the surface and kicking the tires before diving under the hood.
For ten minutes she didn’t speak. She read and reread the program, one subroutine at a time, mumbling to herself and occasionally jotting notes on a scrap of graph paper. She never asked me a single question; she didn’t need to. Sometimes she’d exclaim “Hmph” and I’d lean forward to see what she was hmph-ing about, but she was always moving ahead to the next loop. There was nothing for me to do except sit back and wait.
The speakers in the ceiling went from Hall and Oates to Glenn Medeiros to Howard Jones, and then there was a station break for 103.5 WLOV, “Radio’s Home to All Your Favorite ’80s Love Songs.” It was my mother’s favorite station; me and Alf and Clark referred to it as “Home to Ten Crappy Songs in a Row.” Bruce Hornsby started whining about “The Way It Is,” and Mary leaned back in her chair.
“Sorry about the music,” she said. “My father insists on it.”
I realized this was a polite attempt to turn the conversation away from the game. “I told you it sucked.”
“You weren’t kidding.” She restarted the game and guided the hero across the screen, groaning as she prodded him forward. “You could torture prisoners with this game. Strap them to machines and force them to play for hours. I’ve had more fun playing spreadsheets.”
I forced myself to laugh, but it came out like a whimper. See, I knew the game was horrible. It was unplayable. It was awful! But even with its flaws, this horrible, unplayable, awful game was actually the best game I’d ever made.
“You want to know the worst part?” Mary asked.
I couldn’t believe it. There was more? There was worst?
“The worst part is, your code’s perfect. There’s not a single wasted command. Every line is packed. And the way you toggle sprites to animate the guards? That’s fantastic. I love it.”
And there it was. After fourteen years of fumbling footballs and missing baskets and striking out, after fourteen years of miserable grades and bad rhythm and terrible fashion choices, after fourteen years of being me, I wasn’t used to compliments. My face burned bright red. I couldn’t help myself. I wanted to freeze time and linger over her exact phrasing: Perfect.
Fantastic.
I love it.
“Your only problem is speed,” she continued. “You need to rewrite this game in machine language.”
I laughed. She had to be joking. Machine language (ML) was the computer’s natural language—a hundred times faster than BASIC, so fast that programmers often built artificial delays into their games to keep the action from looping too quickly. But ML was famously difficult to learn. I’d studied passages in books and magazines, but the syntax was too cryptic, too complicated. BASIC used English words like PRINT and NEXT, but machine language used complicated acronyms: ADC, CLC, SBC, TSX. Numbers were inputted in hexadecimal format, so 11 looked like 0B and 144 looked like 90. There was nothing intuitive or natural about the language; it demanded the user to think and communicate like a machine.
“You know ML?” I asked Mary.
She shrugged. “I’ve always wanted to learn.”
“The deadline’s next Friday,” I reminded her. “I can’t learn ML in twelve days.”
Mary LISTed the program again, letting the lines cascade down the screen until she reached the loop that moved the seven ogre guards. Then she tapped the screen with her pencil. “This is the slowest part of the program. These fifty lines where you move all the guards. What if you wrote this part in ML? Not the whole game but just this tiny section?”
I don’t know where she got her confidence. It was like saying, “We don’t need to learn all of Mandarin Chinese. We just need to learn enough to translate the Gettysburg Address.” Mary seemed to believe that anything was possible if we were only willing to try.
“You’re crazy,” I told her. “I’m not that good.”
“I’ll help you,” she said. “We can work here after school. And when you win the PS/2—”
I laughed. “I’m not going to win the PS/2.”
“When you win the PS/2,” she repeated, “you’ll give me your old 64. So I can have my own computer at home. Does that seem fair?”
She put out her hand to close the deal. Each of Mary’s fingernails was painted a different color and detailed with zeros and ones—a rainbow of binary digits arching over her hands, 01111101010. We shook on the agreement, and a shock of static snapped between us.
“Twelve days isn’t a lot of time,” I said.
“I have a great book we can use.” She jumped up, grabbed a heavy tome from the shelf, and showed me the cover: How to Learn Machine Language in 30 Days.
“Thirty days?” I asked.
“We’ll read it really fast,” she explained.
800 REM *** DRAW GUARD 1 SPRITE ***
810 POKE 52,48:POKE 56,48
820 FOR GU=0 TO 62:READ G
830 POKE 12352+GU,G
840 NEXT GU
850 POKE 2041,193:POKE V+21,2
860 POKE V+40,2
870 POKE V+2,6X
880 POKE V+3,6Y
890 RETURN
ZELINSKY KICKED ME OUT at exactly seven o’clock so Mary could finish her homework. Alf and Clark were waiting outside the store, perched on their dirt bikes and eating slices of pizza off greasy paper plates.
“Finally!” Clark exclaimed.
“Did you get the code?” Alf asked.
I had forgotten all about my mission. “Not yet. I told you I’m gonna need some time.”
Clark reminded me that I’d rushed to the store straight after school, that I’d been in the showroom for nearly four hours. “What the hell were you doing back there?”
“Computer stuff.”
Alf grinned, like this was some new euphemism for sexual activity. “Did you show her your joystick?”
“No—”
“Did you squeeze her software?”
I tried to explain myself, but Alf had stumbled upon a deep well of techno-innuendo and he wouldn’t quit until it was all mined out. Just five minutes earlier, I’d been getting a decent grasp on hexadecimal numbers, but now I felt all of my knowledge slipping away, as if merely being in Alf’s presence was making me dumber.
“Did you feel her Q-Berts?” Alf asked.
Clark joined in the fun. “Did she fondle your Zaxxon?”