Linux Logo in 6502 assembly
Go to file
2017-08-16 21:54:20 -07:00
pics Add debug linux logos 2017-07-18 11:43:29 -07:00
ascii2hgr2bit.c Cleaned up logo comments 2017-07-17 01:07:14 -07:00
debug_logo_280_text.txt Add debug linux logos 2017-07-18 11:43:29 -07:00
debug_text_logo.txt Add debug linux logos 2017-07-18 11:43:29 -07:00
linux_logo.png Add png to readme 2017-07-17 00:58:58 -07:00
linux_logos.psd Add debug linux logos 2017-07-18 11:43:29 -07:00
linuxlogo Inline '+' for //e+ and //c+ 2017-08-16 21:54:20 -07:00
linuxlogo.s Inline '+' for //e+ and //c+ 2017-08-16 21:54:20 -07:00
ll_6502.dsk Inline '+' for //e+ and //c+ 2017-08-16 21:54:20 -07:00
Makefile Add all files 2017-07-17 00:52:37 -07:00
packedlogo.s Size 701 bytes 2017-07-17 02:01:43 -07:00
README.md Inline '+' for //e+ and //c+ 2017-08-16 21:54:20 -07:00

6502 Linux Logo

Optimized Linux Logo in 6502 assembly language for size.

Size: 654 ($28E) bytes

Screenshots

Apple \]\[ Apple \]\[+ Apple //e  Apple //e+

Features

  • Detects Apple ][, ][+, //e, //e+, //c, //c+
    • Pretty-print model instead of generic II (bloats the code slightly but worth it.)
  • Detects 48K/64K/128K
  • System information in all uppercase (for Apple ][ without lowercase)
  • Cleaned up fugly logo by Albert Lai
    • Logo is now 70 chars wide
    • Logo is bit packed 2 bits/char; expands 70 chars * 4 px = 280 px
    • Logo takes up 70*12*2/8 = 210 bytes compared to 79*12 = 948 bytes
    • X is now symmetrical
    • Fixed L,i,n kerning
    • Fixed x Penguin kerning
    • Fixed L to fit
    • Chopped off 2 columns of penguin to fit 70 chars
    • Red 'i' is now a beautiful blue to break up the monotomy of all orange
..........................................................#####.......
.........................................................#######......
...............@.........................................## # ##......
######........@@#........................................#QQQQQ#......
..##...........#.......................................##..QQQ..##....
..##.......@@@..###.####...###....###..#####.#####....#..........##...
..##......@..@#..###....##..##.....##....##...##.....#............##..
..##.....@...@#..##.....##..##.....##.....##.##......#............###.
..##........@@#..##.....##..##.....##......###......QQ#...........##Q.
..##.....#.@@#...##.....##..##.....##.....##.##....QQQQQ#.......#QQQQQ
..##....##.@@#.#.##.....##..###...###....##...##...QQQQQQ#.....#QQQQQQ
##########..###.####...####...####.###.#####.#####..QQQQQ#######QQQQQ.

See: ascii2hgr2bit.c for packing ASCII to 2 bits/char. NOTE: PackedLen isn't needed if full 40 bytes HGR width is unpacked to.

Inspired from non-optimized version. Size: 1,573 ($625) bytes

Note: Lowercase doesn't display properly on ][.

Apple \]\[+ Apple //e

The 79x12 logo that was used as the basis for the logo cleanup:

79x12 Logo

License

WTFPL

If you use code, please provide a comment link so people can follow it for updates.

Tools used

Credits

  • qkumba for his excellent optimization tips and tricks
  • Mike B. for Text to HGR Page 1 optimization