Snowflake A 2025
Author: Kaszi75
Category: Christmas Challenge
System: ZX-Spectrum 48K
Language: BASIC
Len source code: 218 characters in a simple text file, 48 symbols / tokens / keys
Len .tap file: 351 bytes
Len code only: 332 bytes
Snowflake B 2025
Author: Kaszi75
Category: Christmas Challenge
System: ZX-Spectrum 48K
Language: BASIC
Len source code: 219 characters, 45 symbols / tokens / keys
Len .tap file: 306 bytes
Len code only: 287 bytes
Snowflake C 2025
Author: Kaszi75
Category: Christmas Challenge
System: ZX-Spectrum 48K
Language: BASIC
Len source code: 317 characters, 190 symbols / tokens / keys
Len .tap file: 250 bytes
Len code only: 231 bytes
We can save a lot of bytes with economical data storing (Snowflake C):
number --> VAL "number"
0 --> NOT PI
1 --> PI/PI
My program is operating with 10 bites long numbers. a$ holds a space character (CHR$ 32) if the actual bit of the number is 0 and * symbol (CHR$ 42) if it is 1. Cycle variables starting with zeros, so at first time they printing on the same place on the axes with AT function.
I tested it in Fuse emulator: (downloadable for various platforms)
https://fuse-emulator.sourceforge.net/
it works also in qaop online emulator:
https://torinak.com/qaop/
All programs in one .tap file, check them and their size in Media / Tape / Browse menu!
I subtracted 19 bytes (header: 17 byte, flag + checksum: 2 bytes) from their size!
https://sinclair.wiki.zxnet.co.uk/wiki/TAP_format
Type R (RUN command) and enter key to run the code
type J (LOAD command) then hold ALT gr. and press P key two times
(symbol shift + p = "") and enter key to LOAD"" the next example.
Merry Xmas!
Cheers: Kaszi75 (Budapest, Hungary)
Kaszanyitzky, Andras
kaszi75@gmail.com