As promised in my previous log, I have uploaded my TMD-2 application to a github repository. While it is still intended to be the console for my TMD-2 project with the capability of reading from my tile based state transition diagram panel, I have found it to be a pretty good stand alone application. The repository contains the following:
- Tmd2Console.py - The Turing machine application script.
- TMD-2 Quick Start Guide - In both DOCX and PDF formats, this guide talks a little bit about Turing machines in general, and the TMD-2 implementation specifically. It shows you how to run the TMD-2 application with examples.
- *.png - These are the various image assets required by the application.
- beavern.tmd2 - beaver3, beaver4, and beaver5 are pre-built TMD-2 "programs" for 3-State, 4-State, and 5-State busy beaver implementations. They are referenced in the Quick Start Guide.
A few caveats:
- As this script is designed to be my console application, the screen size is fixed at 800 x 480 pixels, which is the resolution of the 7" display that I am using. As much as possible I have tried to parameterize the placement and size of the screen objects through constants in the script, so it should be relatively easy to make adjustments should you wish to do so.
- I believe that PyGame is the only dependency, but I'm new to the Python environment so I could be wrong about this.
- I have been developing and testing with Python 3.8 and am not sure if other releases will work or not.
- This is definitely not the final version. I still have to add the OCR code to read the state table panel for sure, but there will undoubtedly be other changes as well.
- I have done quite a bit of testing, but the code is definitely not "production" ready.
- This is my first Python program. Be kind. I know that underscores (_) are all the rage in Python land, but I'm a CamelCase guy from way back and couldn't quite get the hang of doing it differently.
So that's about it. If you do give this program a try, I would appreciate any feedback, good or bad.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.