Introduction: Creating Sudoku Using eZ80 Assembly (While Learning ASM) [Puzzled Assembly #0]
Tags: assembly, sudoku, calculator
Published: 2019-10-20 22:39:54

Hello internet! My name is scoutchorton, and I am a proud, self-taught programmer of almost six years (as of early December). Here's the path I took to self-teach programming:

#### 7th Grade (2013-2014)
* ProcessingJS/JavaScript on Khan Academy (which is not strictly JavaScript nor is actual ProcessingJS)

#### 8th Grade (2014-2015)
* Python 2
* HTML
* CSS (little knowledge)
* JavaScript (little knowledge in a DOM environment)

#### 9th Grade (2015-2016)
* CSS
* JavaScript
* Started with Linux (Ubuntu 12.04/14.04, Raspbian for my Raspberry Pi 2 B+)

#### 10th Grade (2016-2017)
* Google Apps Script (basically an API for JavaScript to work with GSuite products like Google Drive)

#### 11th Grade (2017-2018)
* Google Firebase (a Google product which offers database services, which has limits but is free, and has a JavaScript API for web applications)

#### 12th Grade (2018-2019)
* Node.js
* eZ80 Assembly (both using an editor and entering raw hexadecimal instructions to my TI 84+ CE)

#### College (present)
* Powershell
* Python 3 (basically using Python 2 knowledge and ironing out different errors as I go)
* More eZ80 Assembly, Python 2, and HTML/CSS/JavaScript/Node.js

I have a ton of all over the place knowledge. Not to mention, I also learned some Lua, Bash, and TI Basic while throwing in some electronics knowledge over the last summer. I'm literally all over the place, but I love it. Computers are pretty much my life, as with most people in the 21st century, but in a deep understanding and desire to know how they work. I honestly wish more people shared my same desire to learn.

Over the last two to four years, I have developed the skill of reading documentation. While it has been a rough journey (thanks Google), it has been an essential step and skill to learn.

The way I have been focusing my learning has been through many, many, many projects that don't normally become complete. Despite not finishing, I have learned so much. I recently wanted to get into eZ80 asm (assembly) for my TI 84+ CE. I was going to try to hijack Texas Instrument's OS (operating system), but it was becoming too much of a project. I was going to make a disassembler to help parse and understand the not-so-documented code to aid in the project. If you know the TI 83/84 line of graphing calculators, they have a catalog which shows different tokens you can use within the OS. We used a couple of these in my Calculus 2 class, and I was getting irritated because I would have to scroll through large sections to get to the function I needed. Since I am a programmer, let's solve that. Create an assembly program to hijack the catalog code and make a favorite system! Problem is, I didn't know where the code for the catalog is, and I wasn't sorting through the disassembly in the amazing emulator, CEmu, just to find the code. That project got a little out of hand (let me tell you, parsing PDF's with Python more difficult than you'd imagine), so I switched to a theoretically easier project.

I wanted to make Sudoku for the TI 84+ CE in eZ80 asm. Now, this project probably already exists by someone else, but this is _my_ version. (I feel like this is something only a programmer could understand.) I have started working on the project, but I really wanted to blog and document my journey on this project. It will give me motivation to discover, learn, teach, reach out, and keep going until the project is complete.

I will publish in this series, and will try to include code examples and hopefully explain how eZ80 asm works. I would hope someone reading this would have some sort of knowledge about eZ80 asm, asm in general, and maybe even electronics (to understand things like a register or CPU cycles).

This has been an introduction to me and my project, so I hope you are interested in my progress to a (hopefully) fun and working game as a result! Stay tuned!

---

God Bless,
scoutchorton