[{"element_type":"text","content":"\n  \n  \n        \u003cp\u003e# Space War - Magtag\u003c/p\u003e\n\u003cp\u003e\u003cbr\u003eThis started out as Star Trek in BASIC written by Mike Mayfield in 1972.\u0026nbsp;It was completely text based, designed to run a teletype for input and output.\u0026nbsp; As did any number of computer programmers at the time, I grabbed a copy and changed and enhanced it.\u0026nbsp; Eventually renaming it to Space War so I didn't have to keep all the Star War references.\u0026nbsp; I don't have any of the original listings.\u0026nbsp; There very well may have never been a complete hardcopy listing.\u0026nbsp; A listing at 10 characters per second on roll paper wasn't something you did often.\u003c/p\u003e\n\u003cp\u003eEventually, I converted a version to Fortran to run on an IBM mainframe on a CRT that had an addressable cursor. A while ago, I did find a listing of that version (data 1977). And I had an extra MagTag that I wanted to try doing something more interactive than display the weather, or motivational quotes.\u0026nbsp; My first thoughts were that it should be pretty easy to port the Fortran over to Python.\u003c/p\u003e\n\u003cp\u003eI make no claims that this is a 'port', or 'conversion' of that Fortran program. \u0026nbsp;That program was a convoluted mess of GOTOs and GOSUBs and clever Fortran hacks (and a serious lack of comments). \u0026nbsp;About all I actually\u003cbr\u003esaved were the instructions and the program flow.\u003c/p\u003e\n\u003cp\u003eThe MagTag is actually much more powerful than that GE265 or the IBM so I wasn't worried about the program size. \u0026nbsp;There are two issues that I had to spend most of my time on.\u003c/p\u003e\n\u003cp\u003e1) There is no keyboard on the MagTag. \u0026nbsp;Just 4 buttons. \u0026nbsp;So \"typing in\" a command was out of the question. \u0026nbsp;And if one button is used for \"Next\" and one for \"Cancel\" that meant only two left for commands.\u003c/p\u003e\n\u003cp\u003e2) The second issue was the eInk display. \u0026nbsp;More specifically, the refresh rate is approximately 3 seconds between changes. \u0026nbsp;So you really can't give feedback whena button is pressed. \u0026nbsp;This was a real challenge when the commander needed to enter a four digit coordinate to warp to.\u003c/p\u003e\n\u003cp\u003eThere are addon's that could easily attach to the Magtag to address these. \u0026nbsp;But I wanted to be able to play it on a \"stock\" Magtag with no additional components.\u003c/p\u003e\n\u003cp\u003eAnd I added some comments.\u003c/p\u003e\n\u003cp\u003eI think it turned out pretty good. Though there are still some things left to implement.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/vrtisworks/Space-War---Magtag\"\u003ehttps://github.com/vrtisworks/Space-War---Magtag\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n      \n\n","metadata":{}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/662/original/GreenbarListing.jpg?1706630187","metadata":{"caption":""}},{"element_type":"user_image","content":"https://cdn-learn.adafruit.com/user_assets/assets/000/000/663/original/MagTagSpace.jpg?1706630215","metadata":{"caption":""}}]