module
36

The course's history, most recent first. Dates are when the change was made, not when it was published.
| Date | Change |
|---|---|
| 2026-10-02 | Appendix II: the worked solutions to the game exercises, 28.1 to 33.3, rebuilt on the finished stages. They had been made from the stages as they stood before the play-test changes, so each one showed the play area's margin and the six-pixel shapes being taken out again. Every one was compiled and run again. Exercise 30.2's solution also changed: on a two-hit brick's first hit the ball is now put back on the square it came from, because the earlier solution drew the ball on the brick and rubbed half of it out. The note to 27.3 said cyan walls; they are light blue. |
| 2026-10-02 | Three changes after a reader's notes. The text now calls each part of the course a Module, as the page headings do; it used to say "S" and a number, which matched nothing on the page. Pre- and post-increment are explained where *s++ is first used (Module 16): *s++, *++s and ++*s each do something different. The bit operators <<, >>, & and | are explained where s <<= 2 appears (Module 25, with a pointer from Module 23). |
| 2026-09-26 | The keyboard, put right (Modules 3, 4, 5, 22, 29, Appendix IV). The Einstein has two grey cursor keys, not four arrow keys: a horizontal one (right, or left with SHIFT) and a vertical one (down, or up with SHIFT). The three keys marked with a single arrow are the [, ] and ^ character keys. Earlier text said "the arrow keys type brackets and do not move the cursor", which describes MAME's mapping (its Left, Right and Up arrows press the three character keys; Tab and the Down arrow are the cursor keys), not the machine. In ED80 on the course disc the cursor keys insert ^D, ^H, ^J and ^K instead of moving; kbd() sees them as 4, 8, 10 and 11. Appendix IV now has both keyboards side by side, and says what was checked in MAME rather than on a real Einstein. |
| 2026-09-23 | First published. |
| 2026-09-23 | Breakout: the ball and every rub-out are drawn in the colour of the row they are on (row_colour), after the play-test showed bricks beside the ball turning white (Module 33). |
| 2026-09-23 | Breakout: the play area is columns 2-37, one column inside each wall, and the ball, brick and wall shapes are drawn in the six pixels a 40-column character shows (Modules 25, 28, 30, 33). The play-test showed the wall turning white where the ball touched it and the ball's right edge missing: the 40-column screen's characters are six pixels wide and the video chip's colour cells eight, so neighbours share a cell. |
| 2026-09-23 | First complete draft: Modules 1-35 and Appendices I-IV, for HiSoft-C Compiler V1.35 on the Tatung Einstein under XtalDOS 1.31, with ED80 as the editor. Every listing, every Change One Thing edit and every exercise solution compiled and run in MAME 0.289 before being written up. |
| 2026-09-23 | The game is Breakout, built in seven stages (Modules 27-33); BREAKOUT.C and BREAKOUT.COM are on the course disc, the stages BREAK1.C-BREAK7.C are printed in full in Appendix III. |
| 2026-09-23 | Every listing puts #include STDIO.H first and the library lines last in the form #include ?EIN.LIB? then #include ?STDIO.LIB? (or ?CPM.LIB? then ?STDIO.LIB?), which compiles only the library functions a program uses: a small program's .COM is 6K instead of 10K and the compile ten seconds shorter (Modules 6, 8). An earlier draft put #include STDIO.LIB at the top. |
| 2026-09-23 | The course disc rebuilt as hisoftc.mfi with the finished game added: eleven files, 72K free (Module 3). |
| 2026-09-23 | The course switched from C/80 (The Software Toolworks, 1983) to HiSoft C, the compiler sold for the Einstein, when a copy came to light; the C/80 drafts are withdrawn. |
| 2026-09-16 | Project begun. |
Corrections to a published course will be listed here with the section they affect.
This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.