--- title: "TIMACHINE Review" type: "article" slug: "timachine-review" url: "http://localhost/article/timachine-review/" markdown_url: "http://localhost/article/timachine-review.md" published_at: "2022-06-13T12:18:31+00:00" modified_at: "2026-06-21T23:25:41+00:00" featured_image: url: "http://localhost/wp-content/uploads/2022/04/20230809-041332.jpg" excerpt: "From its animated title screen to its ability to locate compiled code anywhere in memory, TIMACHINE is just what every BASIC programmer who lacks extensive assembly language fluency has been dreaming of. You should see the wonderful things it does to graphics programs written in BASIC. Compiling any BASIC program is as easy as adding…" category: - name: "SyncWare News" slug: "syncware-news" taxonomy: "category" url: "http://localhost/category/periodicals/syncware-news/" post_tag: - name: "Full Text" slug: "fulltext" taxonomy: "post_tag" url: "http://localhost/tag/fulltext/" - name: "Software review" slug: "software-review" taxonomy: "post_tag" url: "http://localhost/tag/software-review/" - name: "TIMACHINE" slug: "timachine" taxonomy: "post_tag" url: "http://localhost/tag/timachine/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "Phillip Stevens" slug: "phillip-stevens" taxonomy: "indiv" url: "http://localhost/indiv/phillip-stevens/" publication: "SyncWare News" publication_r: id: 10245 title: "SyncWare News" type: "periodical" url: "http://localhost/periodical/syncware-news/" authors: "Phil Stevens" authors_r: - name: "Phillip Stevens" slug: "phillip-stevens" taxonomy: "indiv" url: "http://localhost/indiv/phillip-stevens/" volume: "4" issue: "4" issues_articles: - id: 38955 title: "SyncWare News v4 n4" type: "issue" url: "http://localhost/issue/syncware-news-v4-n4/" pages: "8" pubdate: "March/April 1987" related_articles: - id: 6330 title: "TIMACHINE – A BASIC Compiler" type: "article" url: "http://localhost/article/timachine-a-basic-compiler/" - id: 39233 title: "TIMACHINE Review" type: "article" url: "http://localhost/article/timachine-review/" - id: 22731 title: "TIMACHINE and the FDD System" type: "article" url: "http://localhost/article/timachine-and-the-fdd-system/" - id: 15430 title: "TIMACHINE on AERCO Disk" type: "article" url: "http://localhost/article/timachine-on-aerco-disk/" - id: 23603 title: "Timachine – A Fix" type: "article" url: "http://localhost/article/timachine-a-fix/" - id: 21968 title: "Speed Comparison Between 2068 Pascal and Compiled Basic (Timachine)" type: "article" url: "http://localhost/article/speed-comparison-between-2068-pascal-and-compiled-basic-timachine-2/" - id: 22953 title: "Speed Comparison Between 2068, PASCAL and Compiled BASIC (TIMACHINE)" type: "article" url: "http://localhost/article/speed-comparison-between-2068-pascal-and-compiled-basic-timachine/" - id: 23604 title: "TS2068 Timachine – A Fix" type: "article" url: "http://localhost/article/ts2068-timachine-a-fix/" - id: 23244 title: "A Letter from Cameron Hayne" type: "article" url: "http://localhost/article/a-letter-from-cameron-hayne/" - id: 47055 title: "TIMACHINE: A sort of review" type: "article" url: "http://localhost/article/timachine-a-sort-of-review/" - id: 46781 title: "TIMACHINE and FDD System Compatibility" type: "article" url: "http://localhost/article/timachine-and-fdd-system-compatibility-2/" - id: 46660 title: "TIMACHINE and FDD System Compatibility" type: "article" url: "http://localhost/article/timachine-and-fdd-system-compatibility/" - id: 44939 title: "Patch for *C, *D and *E bugs in Timachine" type: "article" url: "http://localhost/article/patch-for-c-d-and-e-bugs-in-timachine/" - id: 42064 title: "Bob’s Notebook: TIMACHINE" type: "article" url: "http://localhost/article/bobs-notebook-timachine/" - id: 23251 title: "Bob’s Notebook: Printing and TIMACHINE" type: "article" url: "http://localhost/article/bobs-notebook-5/" - id: 43280 title: "*D & *E Compilation Bug" type: "article" url: "http://localhost/article/d-e-compilation-bug/" - id: 42115 title: "Bob’s Notebook: Peeking and Poking About" type: "article" url: "http://localhost/article/bobs-notebook-peeking-and-poking-about/" - id: 60061 title: "Comparing ZXbasic and TimeMachine" type: "article" url: "http://localhost/article/comparing-zxbasic-and-timemachine/" - id: 21687 title: "Peeking and Poking About" type: "article" url: "http://localhost/article/peeking-and-poking-about/" - id: 60057 title: "TimeMachine on Zesarux" type: "article" url: "http://localhost/article/timemachine-on-zesarux/" - id: 38500 title: "Sinclair Survival Column" type: "article" url: "http://localhost/article/sinclair-survival-column-5/" - id: 8097 title: "Machine Specifics: Orphans" type: "article" url: "http://localhost/article/machine-specifics-orphans-3/" product_reviews: - id: 26070 title: "TIMACHINE" type: "product" url: "http://localhost/product/timachine/" archive_link: false --- # TIMACHINE Review From its animated title screen to its ability to locate compiled code anywhere in memory, [TIMACHINE](http://localhost/product/timachine/) is just what every BASIC programmer who lacks extensive assembly language fluency has been dreaming of. You should see the wonderful things it does to graphics programs written in BASIC. Compiling any BASIC program is as easy as adding a REM line at the beginning of the program, or portion of the program, you want to compile. Place another at the end, then key in *C. TIMACHINE performs its magic, pausing twice and awaiting any keystroke to continue. The first pass reports the relative addresses of the entry points to the code. The next displays the execution addresses in decimal and hex. At the completion of the run, the number of bytes used by the compiled code, bytes used for M/C variables, bytes occupied by the BASIC program before compilation and the commands necessary to save and load the compiled code are also displayed. All this occurs about as fast as you can press the keys. Your BASIC program remains intact unless it was too long to fit in memory, in which case you are asked for permission to overwrite it. Input/Output commands are not included in the compilation, but passing from code to BASIC and back is easy. Simply insert the keyword STOP in your BASIC program then use the appropriate USR command to return to code. You are not prohibited from using any BASIC commands. There are only minor restrictions in writing BASIC statements. All should be easy to program around. TIMACHINE supports both string and numeric arrays up to two dimensions. It easily handles the numeric VAL (expression) statements so commonly used in BASIC programs. TIMACHINE is under 11K in length and loads quickly. Its small size compiles programs to 30K for the Spectrum and 27K for the TS-2068 without tape swapping. The program also contains numerous compiler directives. It even has a function to identify your variable types so that you may use the appropriate directives to produce the most efficient code. TIMACHINE comes with excellent documentation. Included is a tutorial and example files. It is not copy protected, so it is a breeze to install on microdrives or a disk system. It also provides a backup copy feature immediately on loading. Anyone who programs in BASIC or keys in BASIC listings from their favorite newsletters needs TIMACHINE. Even skilled assembly language programmers could benefit from the time they would save by writing in BASIC and letting TIMACHINE supply the speed of execution that only machine code provides. Among the many utilities written for the Sinclair computers, TIMACHINE is so well thought out and so versatile, that it is surely destined to become a “must have” classic.