← Novel

Arnhem 1990: Reborn to Build

Chapter 14 / 108

‹›

Chapter 14 of 108

‹›

Chapter 14: Waka

Arnhem 1990: Reborn to Build

💬Read on DiscordAdd NovelCodex to your server: search, share your library and read chapters with friends.Add to Discord

The assembler took him three nights and it was the ugliest program he had ever written.

It was in MSX BASIC, because that was all the MSX had.

Three hundred and forty lines.Full novel: Arnhem 1990: Reborn to Build — read the rest free on N​o⁠v​e⁠l​C⁠o​d⁠e​x⁠.​o⁠r​g⁠

It read his Z80 code off the cassette, a line at a time, LD A,(HL) and JP NZ,LOOP and all the rest, and looked up every instruction in a table, and worked out every jump, and spat out the numbers for the programmer.

It was so slow that while it ran Max could go downstairs, make Sanne’s sandwiches for the next day, clean the sink and come back up, and it would still be on line nine hundred.

“Four minutes and forty seconds,” Otto said on Monday night, when it finished the first full run.

“For two kilobytes.

In 2026 that would take a millionth of a second.”

It’s not 2026.

“I’ve noticed.”

But it worked.

That was the thing.

It worked, and it meant he didn’t have to look up every instruction in the appendix of the MSX manual in tiny type with a ruler under the line any more.

He could write the game the way you write a game.

In words.

In a schrift (exercise book), and then on the cassette.

* * *

The maze came first.

Twenty-eight tiles wide and thirty-one high, each tile eight dots by eight.

The 6116 from Ruiter’s scrap drawer held the map: one byte per tile, telling the picture circuit which shape to draw there.

Wall, corner, dot, power pellet, empty.

The shapes themselves lived in the second EPROM.

He’d drawn them on squared paper first and typed them in by hand, every row of every tile as a number.

The first time he switched it on, the screen filled with garbage.

Rows of random blocks, scattered like a box of dominoes kicked over.

“The RAM’s not been cleared,” Otto said.

“It wakes up with whatever’s in it.

Write zeros first.”

He wrote zeros first.

The garbage went.

The screen was black.

Then he loaded the maze, and the maze came up.

Blue walls.

Well, white walls, on the Bakker TV, which was black and white.

The corners were wrong in two places and there was a gap in the wall at the bottom right that shouldn’t have been there.

But it was a maze, the maze, the one he’d seen on cabinets and T-shirts and in his own head ten thousand times, with the ghost house in the middle and the tunnel on each side, and two hundred and forty little dots in its corridors like seeds in a row.

He sat back on the crate.

He didn’t say anything for a while.

“Node 2,” Otto said, and the tree chimed, two notes this time.

“Teach it to speak to the picture.

Done.”

* * *

Pac-Man had to move smoothly, which meant he couldn’t be a tile.

Tiles jumped eight dots at a time, like a chess piece.

So Pac-Man became a sprite: one small extra circuit, two comparators and a little counter, that drew a sixteen-by-sixteen shape anywhere on the screen, on top of the maze, wherever the Z80 told it to.

He only had parts for one.

One sprite.

One smooth thing.

The ghosts would have to be tiles for now.

They’d jump.

Square by square.

“It’ll look like Pac-Man is being chased by four chess pieces,” Otto said.

It’ll look like a game.

“To you.

To everyone else it’s chess pieces chasing a smaller chess piece.

I’m just being precise.”

For the controls, Node 3 had been sitting there since August, patient, pale blue.

HANDS: a way for a player to tell the machine what they want.

He did it with an empty tub of Blue Band.

He washed it out and dried it.

Up, down, left, right, in a cross.

Four wires out through a hole in the side, to four pins on a latch the Z80 could read.

Each button, when you pressed it, pulled one pin to zero.

It was an ugly little thing.

Yellow plastic, with BLUE BAND still printed round the side, and four white buttons sticking out of the lid like teeth.

When he pressed the right button, the sprite on the screen, which was still just a white square, moved right.

When he let go, it stopped.

Node 3 chimed.

He barely heard it.

He was too busy pressing left.

* * *

Then the ghosts.

He’d known the trick of it for years, the first time round.

It was written down in a hundred places on the internet, in forums and videos and long articles by people who’d taken the original apart byte by byte.

The four ghosts in Pac-Man didn’t think.

Not really.

Each one just picked a different square to aim for, and at every junction turned whichever way got it closer to that square.

One aimed straight at Pac-Man.

That was the hunter.

One aimed four squares in front of Pac-Man, where he was going to be.

That was the one that cut you off.

One did a sum with Pac-Man’s position and the hunter’s position, and ended up flanking you from somewhere strange.

One chased you when it was far away and wandered off home when it got close.

That was the shy one.

He wrote them as four little routines in the schrift.

They were short.

Each one was about thirty lines.

When he’d finished, he sat looking at them and thought about Femke’s sheet of four ghosts in his drawer, with their four different pairs of eyes.

One flat and steady.

One sly.

One working something out.

One looking back over its shoulder.

She drew exactly this, he thought.

Without knowing.

“Interesting, isn’t it,” Otto said.

“You gave her a size and nothing else.

She put in the personalities herself.”

He typed her ghosts into the character EPROM that night, each in two frames, exactly as she’d drawn them, square for square.

* * *

The sound was last, and it was cheapest.

There was no money for a sound chip.

He had one guilder fifty.

A proper three-channel chip, the AY kind that was in the MSX, cost twenty-two guilders at Ruiter’s.

So he made one channel out of a spare counter.

The Z80 wrote a number to a latch.

The counter counted down from that number, again and again, flipping an output every time it got to zero.

A low number meant a high note.

A high number meant a low note.

The output went through a resistor and a capacitor into pin 3 of the DIN plug, the audio pin on the back of the Bakker TV.

A square wave.

The simplest sound there was.

A buzz, really.

But if you buzzed one note and then another, alternating fast, a short high one and a short low one, every time Pac-Man ate a dot…

He pressed right on the Blue Band tub.

The white square moved along the bottom corridor of the maze.

It went over the first dot.

The dot vanished.

From the speaker of the Bakker TV came a sound like a very small, very electrical duck.

Wa.

Ka.

Max laughed out loud, alone in the shed, at eight o’clock on a Wednesday night in Presikhaaf.

He held the button down and the square ran the length of the corridor, eating, and the TV went wakawakawakawaka in its thin buzzing voice like a radio between stations, and he laughed so hard his eyes ran.

“That’s,” Otto said, “that’s quite good, actually.”

That’s quite good.

“I’m putting that in the log.

‘Quite good.’ First time.”

* * *

He found Pac-Man’s shape on Thursday, after training, sixteen by sixteen, a circle with a wedge out of it, three frames for the mouth: open, half open, shut.

On Friday he found the bug that made the ghosts walk through the left wall of the ghost house, which was a minus sign in the wrong place.

On Saturday he gave it lives, three of them, shown as little circles in the bottom corner, and a score, which went up by ten for every dot.

On Sunday night, the last day of September, a school night, he called Sanne out to the shed.

She came in her dressing gown and the rabbit slippers.

She looked at the screen for a long time without saying anything.

The maze.

The dots.

The four ghosts in the box in the middle, each with different eyes.

The little yellow circle, which was white, at the bottom.

“What is it?”

“It’s a game.” He held out the Blue Band tub.

“You’re him.

Eat all the dots.

Don’t let the ghosts get you.”

She took the tub in both hands and looked at it suspiciously.

“It’s butter.”

“It used to be butter.”

She pressed left.

The circle moved.

Waka.

She jumped.

She pressed left again, harder, and the circle went along the corridor, wakawakawaka, and turned the corner when she pressed up, and went up, eating.

Then the first ghost came out of the box.

It jumped one square at a time down the corridor towards her, like a chess piece, and she screamed, a short real scream, and pressed every button at once, and the circle stopped, and the ghost caught it, and the TV made a descending buzz like a balloon going down.

Sanne stared at the screen.

One of the little circles in the corner had gone.

“It got me,” she said.

“It got you.”

“Again,” said Sanne.

She played until half past nine.

Max let her, though there was school in the morning, and the Efteling was on Wednesday and she’d be tired.

He sat on the crate behind her and watched the side of her face in the light of the TV.

She sat on the stool with the Blue Band tub in her lap and her tongue between her teeth.

She lost all three lives, and made him reset it, and lost them again.

She shouted at the hunter ghost by name, which she had decided was Bas.

On the fourth go she cleared nearly half the maze.

He had to carry her in.

She was asleep by the time they got to the stairs, the tub still in her hands.

He had to prise her fingers off it one at a time.

At her door she half woke up.

“Max.”

“Yeah.”

“Why can’t everybody play it?”

He stood in the dark on the landing with his sister in his arms and a margarine tub in his hand.

“They can’t,” he said.

“It’s in the shed.”

“Then take it out of the shed,” Sanne said, with her eyes shut, as if it was the most obvious thing in the world, and went back to sleep.

Every chapter goes free here in time.

~ F0rk

Full novel: Arnhem 1990: Reborn to Build — read the rest free on N​o⁠v​e⁠l​C⁠o​d⁠e​x⁠.​o⁠r​g⁠
📱NovelCodex for AndroidYour library, progress and tokens, in an app made for reading on your phone.Get the app
‹ PreviousNext ›