The Story of My Life so Far - Part 56 - Creating a Computer Game on the Corvette Georges Leygues: Coding

in story •  7 years ago  (edited)

This is the story of my life so far: 68 years and counting.
Prequel: A Brief History of my Family in France



The story starts here
Previous episode: Part 55


Programming my Computer Game

There was no support for me to program the computers of the Georges Leygues.

Programs were usually written in a high level programming language such as FORTRAN, that I had been using at the École Navale. Programs written in a high level language are converted to the language understood by the computer, its machine language, with a compiler. There was no compiler available to me.

The lowest level of programming language on any computer is call the assembly language. An assembler is used to translate assembly to machine code. One instruction in assembly code is translated to one instruction in machine code.


Machine+vs+Assembly+Code.jpg
The instruction in assembly "move,w # 0x5a1e,0x0120" is converted into one instruction of machine code on 3 words of 16bits.
source

I had no assembler available to me either. All I had were the manuals for the assembly languages of the two computers, the P2MS and the Mitra 15.

So this is what I did: I wrote the code of my game in assembly code and I translated it manually on paper.

It took me weeks and months to do that, but I was determined to have a game that worked successfully.

Inputing and saving the program of the game

Another problem that I had to solved was that there were very few ways to enter the program in the computers or to save it on some medium so that it could be loaded again later.

The program was to be run on the Mitra 15, the visualization computer, that was directly connected to the consoles on the CIC. There were no possibility of input or output for the program on this computer.

The only way to load a program on the Mitra 15 was to send it from the P2MS.

There was a way to input instructions on the P2MS using a row of 32 switches and pressing a button for each word of 32 bits. It was very slow, but this was the only way I found to enter the program.

Fortunately, when I started to enter the program on the P2MS, the computer was already installed and there was no tests that needed to run on it. So, I was able to keep the program in the non-volatile magnetic-core memory of the P2MS for several weeks.

However, at some point I had to save the program on a medium that I could use later to load it again.

The only device available for this was a teletype with a tape puncher and reader using a five-hole punched tape.


paper-punched-tapes.jpg
Five-hole and eight-hole punched paper tapes
source

So, this is what I used: I wrote a small program on the P2MS to write the game program on a punched tape on the teletype.

Then, to load the program and run it from scratch, this is what needed to be done:

  • input, using the switches on the P2MS, a "pre-loader" program that had only 23 instructions.
  • with this pre-loader, input a small program that I called the "loader" from a small punched tape.
  • using the loader, input the game program from a larger punched tape on the teletype. This operation was taking around 45 minutes.
  • finally, start the program on the P2MS manually

The program on the P2MS was very simple:

  • send the real game program to the Mitra 15 and instructed it to start the program.

After months of trials and errors, the game was finally running and we were able to play tennis in the CIC of the Georges Leygues when we were not at sea.

Continue to Part 57


If you like this story, please consider to follow me

Summary
Part 1 - Part 2 - Part 3 - Part 4 - Part 5 - Part 6 - Part 7 - Part 8
Part 9 - Part 10 - Part 11 - Part 12 - Part 13 - Part 14 - Part 15 - Part 16
Part 17 - Part 18 - Part 19 - Part 20 - Part 21 - Part 22 - Part 23 - Part 24
Part 25 - Part 26 - Part 27 - Part 28 - Part 29 - Part 30 - Part 31 - Part 32
Part 33 - Part 34 - Part 35 - Part 36 - Part 37 - Part 38 - Part 39 - Part 40
Part 41 - Part 42 - Part 43 - Part 44 - Part 45 - Part 46 - Part 47 - Part 48
Part 49 - Part 50 - Part 51 - Part 52 - Part 53 - Part 54 - Part 55



Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

That must have taken heroic patience! To be able to concentrate that long to conquer a goal is what it is all about.

I have computer engineering colleagues and its a joy to see them using FORTRAN,Q-BASICS and other programing languages.you just have to be one of them to understan coding.good job

wow. not only coded in assembler but even translated to binary by hand. debugging that must have been a bitch. one of my former colleagues at the university fondly remembered the days of punchcards. I am pretty happy that I only have to work with higher level languages. we did have a compiler course at university where we had to translate from c to assembler (cant remember which assembler language it was though) I am a happy c++ and python programmer and consider myself lucky to not have to think about what happens down at the metal

one of my former colleagues at the university fondly remembered the days of punched cards

I have met professional programmers that had the same feeling. They were saying that you thought carefully when you wrote or changed your code, as it was taking a long time before you could see if it was correct.

compiling.png
https://xkcd.com/303/

True, I atmit that i have had days when I was tired an less concentrated where i just changed random stuff and recompiled, because it was only a few seconds. I was actually just having this conversation with my colleagues yesterday. One of them was compiling to a raspberry and it took forever(3-6 hours), but most compilers are so fast nowadays, that we have started blaming it on neural networks training or simulations running. Btw how fitting that they play with swords

  ·  7 years ago Reveal Comment

Good blog ..
I am really appreciate to see this post ...
Carry on. best of luck dear 😊

your all the part is fine dear
I appreciated by your post
resteemit done

Good luck dear

Incredible job, I love what you do. Keep it coming!

this is a really great masterpiece. we really admire you my friend, if possible ?! I will draw and absorb a little knowledge from you.

That's a very inspiring story.You have shown that if you are dedicated then nothing is impossible to achieve.Whenever i read your post it gives me a lot of courage.Thank's for such nice and inspiring post.@upvoted and resteemed

upvoted

No, you didn't.

Now i have done this,that time some how i missed it.

I see so much dedication in your life story. Carry on sir.

Thank you for sharing your computer knowledge, it can help other friends.

you are so wonderful.I saved this

that is useful post on computer by story
resteemit done dear

excellent story , nice post , thanks for sharing

Spam is discouraged by the community, including comment spam.

Comment spam is currently defined by @steemcleaners as:

10 or more generic comments per day that are not in response to a question posed by the post or comment. “Thanks”, “Great Post!”, “Nice”, “Follow me”, etc

Your Reputation Could be a Tasty Snack with the Wrong Comment!
Thank You!

  ·  7 years ago (edited)

Wow, that is awesome story. Thanks for sharing!
I hope you're not Bill Gates or a friend of his :)

Great post I like it.

you look like an exceptional game programmer. I really like a person who likes to scrape and expand a game and that's really amazing. i love your post. thank you

great post.i think its an informative post.
thanks a lot for sharing...

nice story carry on dear
always following to you
keep on your activity

I always love your posts...

Your consistency is very much encouraging @vcelier...and you story as well..looking out for the next episode.

  ·  7 years ago (edited)

Ok. Wow. I had no idea that kind of effort is needed to do what you did. Good job! I am working on my own video game with very limited coding knowledge hence why Im sticking with "Game Maker" it allows regular coding in addition to click and drag built in feature for amateur game makers. The amount of dedication and patience you displayed is in stark contrast to my owm fear and hesitancy in coding. Luckily my little brother can help me out with the programming part when the time comes plus I can rely to some degree on the online web.

I know this is a little off topic but the way I see coding is also a reason why I believe in a Deity or in God. Programs has soo many codes that came from a programmer(s). Every human on earth has his/her own fingerprints that is different from every person on earth (similar to barcodes you can say) and his/her own genetic code...DNA is similar to program codes that did not just come out of nowwhere...there was a creator for it... the information for human life came form the master coder...God...whom you can also call Jesus. Cool beans. keep on Steeming!