SNOW Author: regregex Category: Christmas Challenge System: EDSAC Language: Initial Orders 2 Len source code: 228 bytes Len exe file: 228 bytes Len code only: 228 bytes Instructions: Install and open the EDSAC Simulator for your platform, such as EdsacPC ( https://www.dcs.warwick.ac.uk/~edsac/ ). Ensure that Initial Orders 2 is selected. Click File -> Open, select snow.txt Click the Clear button on the console, then the Start button. Description: The program displays a specific snowflake pattern on the teleprinter. For each character cell up to the vertical axis of the snowflake, it prints a number sign (U+0023, #) if marked on one of two copies of a bitmap. The second one is a row-by-row mirror image copied from the first on-the-fly. Meanwhile within each row it saves the bits read out in a second shift register, and prints them in reverse once the first bitmap is exhausted. When the second bitmap is empty the program prints a newline without trailing spaces. Comments: Annotated source code can be found in notes.txt. Watch the program at work by displaying long tank 0 or 2 on the monitor; and the quarter snowflake bitmap (packed two rows to a line) being duplicated in long tank 4. Asterisk is not available from the teleprinter, though it is used in the simulator as a substitute character. For the full set of substitutes, see the footnotes on p.42 of EdsacTG.pdf, included in the EdsacPC distribution. Punched on five-hole tape without newlines, the source code would amount to 134 bytes of data. If the assembled program could be exported from the EDSAC as bytes perfectly packed, then it would consist of 108 bytes code + 51 bytes data = 159 bytes total, or 199 bytes including gaps.