Snowflake Author: Shiela Dixon Category: Christmas Challenge System: Vic20 Language: Assembler Len source code: Len exe file: 175 Len code only: 158 Instructions: Either attach the D64 in an emulator, LOAD"star.bas",8 or copy the file and Edit>Paste into the emulator (Vice allows this) Description: As per my BASIC version (which I wrote first) it stores one-quarter of the snowflake and uses calculations to mirror those points vertically and horizontally. Each point is stored as a single byte - an x and y offset from the centre of the screen. The high nybble (4 bits) of the data byte is the 'y' co-ordinate (number of rows) and the low nybble is the 'x' (columns). These are used to calculate the position of the point in each quarter of the screen. So I'm saving bytes by using 4-way symmetry and saving bytes by combining the x & y co-ordinates (which are easy to split out). Comments: For the code-only size, I've taken off the 15 bytes of the basic stub, plus the two-byte load address. That leaves the actual machine code from my first 'lda' to the last byte of the data.