display_test_monster.py

Created by mathieu-croslacoste

Created on March 01, 2025

11.7 KB

A test display.

Image converted using TI-planet’s img2calc (https://tiplanet.org/forum/img2calc.php)


from kandinsky import fill_rect as F
def draw_image(rle,x0,y0,w,pal,zx=1,zy=1,itransp=-1):
 i,x=0,0;x0,y0=int(x0),int(y0);nvals=len(pal);nbits=0;nvals-=1
 while nvals:nvals>>=1;nbits+=1
 maskval=(1<<nbits)-1;maskcnt=(0xFF>>nbits>>1)<<nbits
 while i<len(rle):
  v=rle[i];mv=v&maskval;c=(v&maskcnt)>>nbits
  if v&0b10000000 or nbits==8:i+=1;c|=rle[i]<<(7-nbits+(nbits==8))
  c+=1
  while c:
   cw=min(c,w-x)
   if mv!=itransp:F(x0+x*zx,y0,cw*zx,zy,pal[mv])
   c-=cw;x=(x+cw)%w;y0+=x==0 and zy
  i+=1
palette=("#0054d8","#f0eca8","#f8f890","#0050d0","#0060e0","#c8b4b8","#588478","#3040c8","#f8f478","#a88cf0","#e8f8f0","#50b0c8","#509cf0","#18a0f0","#180ca0","#100058",(0,0,32),"#e808a0","#5010a0","#f0dc60","#a00098","#d03c40","k","#e8b020","#f05ca0","#500c50","#a070f0",(0,0,8),"#280018","#d04cd8")
image=(
b'\xa0\2\1\2\3\xe0\0#\1\0\3\xc0\2\3\2\4\x80\3\3\1\5\x80\2\6\1\a\0\b\xe0\1#\1"\t\2\n\3\v\5\3\5\x80\1"\3\x80\1\3\0\3\xe0\1\3"\3\xa0\3\a\6\x80\2"\3@\n\v\3@\1\x82\1\5\f"\6\x80\2\3\2\a\4C \3\1\xe0\1"\3\xc0\3\3\1\3\xe0\1\t\2\3\x80\1C\4",G\3\f"\x80\2"\bB\b\xe0\0\a\xa0\1\3\2\3 \2\xa0\3\r\b\2\xc0\1\3\16\2#\xe0\0\1\3\4"\x0f0N\n"!\3 \2\xe0\0\3\4\5\3\0"\xe0\0\5\xe0\0\3!@\21\3\xa0\2\1\3\0\6\5\0\3 \3\1%"\b\3\0\1\0\3\2@\b\1\x0f0\x0e2\v\5\b"\1\3\0\n\5C\5\v\3 \b\1\xe0\0\1\2\xe0\0\2\3@\21\23\3\xa0\1#\6\24 \1\5\4#\0\3\5\v \2\3 \1&\3 \3"\x0f0\x0e2\r\v\5\2(\2\a@\3\1@\3"\xe0\0\3\0\2!\b\0\b\1\xe0\0\21\b\xe0\0\3\5\24\3\25\3 \3\5@\1"\3\0\3\2\1\x80\2!\17\26\20N\xac\1\5\2\3\xc0\1\6\2\b@\3\0\6\0\3 #\x80\1\24\27\23\0\3\0\3\30\24\1\21\xe0\0\f\5\2\0\3\4\6\4\0\n\1\x80\2\3"\17\a\f\16\22\xce\1\a\b\2\xa0\1\3\1\b\4C!\3\0\24\a!\xc0\1\x197\a\0\30\21\31\24\3\xa0\1\3\1\30\24\3\1\3\1\n\x80\2\n\2\1\17\x87\x010\17\22.\32\b\1\x80\1#\0\2\b\4\a\x80\1\22\30#\0\a\3@\24\2\21\27\b\2\21\31\2\21\0$\0\21 \4\27\24\16\3\0\xe1\0\3\xa0\1\n\1\2\f\t\a\20\17\16\a\26\33\20\22.\32\b\1\xe0\0! \3\1\4\xc0\1\24\23\a\1\17\22\3 \21\27\34\21\b\30\1\24\27\21C\4\21\5\4\6\21\4\0\4@#\1 \4\v\0\3\2\1\6\32\t\a\20\17\r\f\17\16\20\22.\32\b\2 \4\v\3\4\5!\2\r$ $\0\4\24\27\22\17\23!\4\21\2\21\xf8\0\21\2\21\3\23\4\23\22\4\23\21\0\4\0\xe4\0\0\3\2\n%\1 \2\1\5)\a\r\f\n\f\17\16\20\22.\32"\a\4\v\x80\1\3\2\4\x80\1\b\3\f\x001\16\21\27\31\2\22\1\24X1\2\24\23\25\5\30\16\23\21\3\0\a\6@\25\3\0"\3\4\0\v\b"\5).\3\0\a\17\16\20\22.:"\3\r\xe0\0\r$\b\6$\0\r\4\b\5\4\3\21\30\24\30\25\30\5\x18181\30\31\5\25\21\24\30\21\a \4\6$\22\a$\3\2\4 \r\0"\5)\a\20\16\4\aO\22.:"\4\0\rD\0\4\1\4\30\2\23\6\4\3\30\5$19\25\218\24\x91\18\21\5\179\30\3\f\4\23\a\1\b\25\4\0\4!\0\4 \4\2\1\5)\aN\a\17\16\20\22\16\17:"\xc0\1\5 \3\24\21\b\2\4\x125\1\22\21\x1c4\2\24\x91\1\24\5\21\24\5\24\21\x104\n8\24\1\30\24$\0\3\4\1\x80\1\2\1\32)\a0\3\'\4\17\22\16\17\32\t"\4-\4\r\4\3\fD%\21\23\2\6\22\25\30\2\21T\21\31\17\21\x121\24\21\34\31\21\24\21\24\21\1\25\30\22\n\b\21\a $\2\n\4\r \r\n\b\32)\a\17\16\f\aO\6\16\17\32\t"\4&$\r$\0\r\4 \x0f1\2\23\24\30\25\21\x0f1\31\35\20\24\31\21\24\22\21\20\30\x0f1\17\21\30\2\24"\21\24\r\0\6"\3\r\0\4-\4\n\b\32)\a\16/\a\20\17\20\6\16\17\32\t"\3\2\1\5\4\x80\2\22\24\21\30\b1\30\31\22\24\21\22\24\22\17\x112\21\24\x191\24\34\x181\2\30\21\24\34 \2\v\2\3\x80\1\4\1\2\32)\a\33\34\25\a\17\16\20\6\16\17\32\t\1\2\3\16B\b\4\r\4\r\5\23\r#\x051\30\5\21\30\x112\24\22\21\26\17\21\22\26\20\21\22\24/\x141\2\30\21\24\23$\3\2\0\2\6\r,\xe2\0\1I\a\20\34\23\a\16\0\17\6.\32\t\1\2\3\0\4\2\1\bD\r\4\r\6$\20\30\22\21\25\31\24\21\22\20\24\22\33\34\20\21\22\26\31\x102\20\22\21\24\31\30\21\31\21\17-\v-\6\2\5\6\r\2\6\a\2\1I\a\20\34\27\a\16\a\17\6.\32\t\1\2\3$B\vD\0\3\x0e3\x0f1\22\21\23\17\24\21\17P\26\x0f2\17\31\x1b0\x0f4\17\30\24\31\21\24\x1c3\16\1\22\4\0\4\1\2\r$"I\a\20\17\n\a\16\3\17\22.\32\t\1\2\3 $\2\6D\0$\x0e1\24\31\21\31\21\24\20\17\5\v*\20N\22\17\n,\n/\24\21\17\21\31\x141\22\6\1\3$\0$\0$\2\1I\a\20\17\22\a\f\r\17\22\a\16\32\t\1\2$\r\4\r\x82\1+\b\23\r\x1912\24\33\20\n\169\t\v\16\17\16\17\n\v/\31\n\16\20\x1421\24\r\2\b\4\r\4\xcd\1\2\1I\a\20\33\20\a\v\r\20\22\a\16\32\t"\0$\0\4&\3\0\b\4\a\xf1\0\n\17\21\31\20\22\f\31\x157\25\17\n,\n\16\x157\25\31\r\16\33\20\21\31\nQ\a \xc4\1\0\2\1I\a\20/\aP\22\a\16\32\t\b\2\4\3\0\x84\1\rB\1\2Q\30\20\34\33\22\16\25\27!\27\25\32,\a\25\27\2\n\27\25\a\17\26\24\20\1Q"\1\2MD\r\4\2\1I\16\20\17\r\a-\20\22\a\16\tB\4\3\xa4\1\3\1\xf1\0\30\21\24\30\21\17\20\16\33\27\xea\0\27\34.\20\27\xea\0\27\20\16\17\20\xf1\08Q\1\3\xa4\1\2\1I\16-\n,\n\20\22\a\16:"\4\3\4-D"\b\4\22Q\22\24\21\20\33\a\33\27\n5\1\25\34$\33\27\1\25\30\n\27\33\0\33\20\21\24\x124\21\17\0$\r\0\xe4\0\r\2\1I\16\17\16\r\a\3\r\20\22\1\16\32\t\5\2\n\3\xa4\1"\3$\3\f\x141\22\20\33\r\33\25\23*\27\25\17*\17\25\27\x017\25\20\4\33\20\17\x114\xe4\1\x81\1\2\1I\16\33/\aN\22\6\16:B\v-+-\2\20M\23\f\21\22\31\21\24\33\f\4\24\x157\21\17\4*\f\17\x157\25\24\4\17\20\31\21/\f\v\5\x8d\1B\b\2\1\5\1\32)\16\20\26\27\a;\20\22\a\16\32\t"\fA\b"0M\24\22"10\22\33\f\16Y\17\f\24R\f\17\25\24\31\a\16\20\22;\24\21\2\b\22\6\xed\0"\r\2-\6\1I\16\20\17\3\a\x1b0\22\16\2\n\t"\r\b\2\5-\6\31\5\xed\0\x91\1\24\20\22\20\33\17M\22\34\27\25\34\25\20\16-\f\16;\a\33\24\xf1\0\30\f\xed\0\2\1\xed\0\6\xe9\0\a\20\26\27\a\16\22\20\22.\n\t"\4\v\xed\0\21\22\25\x021\1\34\33\20\21\24\33\20\a\17\33\20\17.\20\x1b7\34\x176.\17\20\33\17\a0\22\21\31\34\21\x131\r\2\nM\1\v\6\xe9\0\a\26\16\4\a/\20\22.\5\xe2\0\xed\0\x104\v\2\r\32\a\26\24\n\20\31\20\6\16\22;\27\x107\x1b7\26\27\x167\26\27\26\x1b2\vO\x194\a\35\v\b\5M!\f\6\xe9\0\a\20\31\23\a\16\a\17\22.\32\tB\v"\r\30\24\20\v\b\r\34\21\24\31\30\21\30\n\f\17\16\22\33\27\20\x176\6;\25;\27\33\27\33\22\32\20\f\5\17\xf1\0"\b\2\xed\0"\f\6\xe9\0\a\20/\a\17\16\17\a.:\t\1\fH\2\21\24\31\v\34\1\30\24\x101\16\f\20,\33\t\26;\20\xfb\2\t\17,\33\32\20\22\24Q\23\2MB\4\x89\1\16\20/\a\3\4\17\22\16\17:\t\1\f\v\1\v\2\31\21\31\17\24\21\24\34\24\31\17\t\32\20\t\a\22\17\22\x1b6\33\20\xfb\0\34\20\26;\22\t\3\32\16\17:/\24\17Q\f\r\1\2\v-\6\32I\a\20\17\16\a\r\v\17\22\16\17\32)\2\f\v\1\v"\33\24\34\21\24\20\5\1\5\f\t\20\a\20\f\a\20\35\x0f7\20\24[\26\25\26\25\27\20\35\6\f/\a\17\t\21\b\x8d\1\17\r"\1-\6\32)\32\x120\17\a\3\r\20\22\16\17\32)\2\f\1\nB\31\20\21\31\26\6-\23\24)/\20\4\a\n\24\20\25\34\20\27;\27<\25\20\22\t\20\4\17\20\f\16\f\31\21"\xed\0\2\20\2\1-\6I\32\f\20\17\4\a\3\r\20\32\22\16\32)\32\a,\a\f\5\2\33\21\31\33\3-\30\20\v\32\17\x120\16\20\35\24\20\27\x167\31\27\33\27\33\24\35\20\16\20\33\32\17\32\5\33\22\30\5M\2\20\1\30\1-\v\5I\a\x1b0\a\26\33\20\6\2\16\32)0\22\33\22\f\5\b\33\34\b\33\5\2\25\17\6\r\3\f\20\33,\16\17\32\24;\27\25\34\27;\24\t\22\17\32\r\33\20\a\17\n\26\f\17\f-"\34\21\31\20\1\6\v\5I\a\33\31\27\a\16\3\20\a\6\2\5)\x1b0\33\31\f\5\6\a1\5<"\20\3\t\f\17\33\f\32\4\17\a\35\22\x106\33\26\33\22\35\22\17\a\32\r\33\20\16\t\r\f"\5\31\r\2\34\n\22\6\34\26\16\f\xe9\0\a\20\34\27\a\3\r\17\6\a\16\b\5\t\x102\33\22\f\5\23\4\a\34\30\21\31\2\6\v\a\t\16\20\26\33\f\4.\26\32\35\24\x114:\20\17\16\f\r0\33\16\32\5\f\20\2\b\r\v\2\b\20\33\5\21\24\30\a\32I\a\33\17\0\a-\17\t\a\16\32\5\t\20\a\16\33\22,\b\17\a\17\x120\26\20\v:\16\33\26;\f\4.\20\32\v*)\20\17\a\4\r;\20\26\17:,B\1\2\34\21\1\20\24\20\34\f\32I\a\20\r\n\aN\32\1\16\t\1\t\x0e2\16\22\r\5"\5\20\17\16)\20\v\t\17\26\33\21\22\33\x160\16\4\16\17\22\a\20N0\33\20\22\24;\22\a\f\t\20\6\n\6\2\34\21\17\209\17\a:)\22\20\16\4\a\20\16\20\22\'\32%\20\16\a\33\22\f\v"\20\4\20\x030\f\6\f\26\33\1\2\31\17;\3\20\a\33\20\17\20\33\26\17\20\17\x160\31\1\2\20\33,\20*\5\n\34\t\31\22\33\26\31\24\2\22\32)\16O\a\17\22\16\'\5!\x1a0\17\33\31\f\5"\1\4N\20\f\3\4\17\6\2\17%\24\33\16\17\20\17\16\17\20\16\17\20/\33\24\31\25\31\2\23\20.\20\xfa\0\t/;\26\20\30\21\24\32)\a\20\17\r\a\17\16\17\22\a\16\t:\20=\33\22\f\5\2\1\b\20\3\16\22,\0\16\26\b\30"\34\31\20\3\17\16\33\a\3\a\3\33\16\17\16\33\22\1"\30\2\31\a\f.:\16\17\16\17;\26\34\21\31\34:\t\a\20\17\3\a.\17\22\a\16\t\32\5\33\3\r\33\22\f\5"\1\2\20\4\16\20.\26\1\2\b"\1\20\33\22\20\3\16\xfb\0\'\33\16;"\1\2\b\1\33\20\22\x8f\1\20;\2\1\24\31\26\22\32)\aP\a\17\16\17\a:\t:\20=\33\22\t\23\2\1B\a\20\16\20\16\6\2\1\2\1"\33\17\20\33\a\x83\1.\33\17\20\26!\2\1\2\1\2\3\17\a\3\16\17\a;\b\2\31\21\20\34\22\32)\a\20\34\27\a+\17\22\'Z\20\4\f\33\22\t\58!"\16\3\20"\1\2\1\n\1\17\33\x0e0\26\3\20;\20\3\33\16/\20\17\2\1\2\1B\33\20\3P\2\b\2\34\17\20\21\24Z\t\a.\'\16\n\17\a\22\5Z\17\a\22\17\22\t\58B!\34\x82\1\1\20\r$\16\20\22\33\a\r\n\0\v\16\33\22\20\16\a\r\t\20\1\2!"Y\x82\1\34\26\249\35\32)\16\33/\a\16\a\20:\1\2:\x102\33\22:X\xe2\0\1XA\17\a\32$\a\22\26\33\4\20\17#\33\22.\f\32\a\33"\18\31\2!B\1\2\30\23\34\17\t\5:\t\16\20\17\r\32\16\r\20\t\a\16\1%\20\16\17\33\22\32=8B\23\x98\1\1\2\20\32\17\f\r\3\17\16;\r\4;0\16\f\16\32\f\26\1\xf8\0\318\1\2\1\2\1X=\32\5Z\16-\n\32\17\20\t\32\a\22\35\5\32\20=\17\22\32\30\35X\1\2\30\bB\30!\20\4\17\f\t\a\16\17\26\x9b\1\17\20\4\32L\33\5\30\2\b\6\31\24X\5\2\21\24\xfd\0\31\35\xfa\0\17\16\a\32\33\32\22]\1:\20\'\20\22\32\30\5\23\b\2X"\b"\30\24\t\16\t\n\t\4\3\22\16\xfb\0\16\a\4\3\32*\17\a\30\2\25\31\35\21\31\x98\1\25\27\25\30\x027\31\xfa\0\30\16:\20\x9d\1\1:\22\32\16:\35\30\b\2H\2\30"\bB\24\n\a+\32\f\22\4\22\xfb\0\16\4\32\f\v\a\n\3\t\30\2\22\21\24\21\31\30\2\b\2\35\x125\27\25\27\25\31\xfd\0Z\5\20\30\35\23\30\35\2:\35\30\32\35\t8\xa8\1\28(\2\b\26*):\16\4\20\xfb\0\16\4\16:\t\32\n\a/1\33\24\33\30(\21\xb7\1\b\27\x197\17\23\xfd\0\20\2\35\30\35\23\30\x9d\1\5,\x88\1"\b4\21\5\b\2\26\n)\n\32\f\16\17\x9b\1\20\16\t\16\32\t\17\n\f\x1c1\33\17\20\23!\2\b\21\27\34\23\24\x97\1\21]\5=\26\b\f\b\2\35\5\23\xfd\0\33\20\26H\30\25\31\30\25\27\25\1\2\b\20\5\n\xfa\0\3\17\33\22\33\22\xfb\0\16\0\f:*\20\31[B\20\f\a\31\27\34\25\x147\21\n\25\17%\23=\1\2\26\34(\30=\5X\34\17\26\b\25\21\25W5\34H\20*\32\t\32\3\20;\24\22\33\26\xfb\0\3\4\32\22\n\f\33\20;\26\23\2\20$\x0f7\25<\27\25\24\2\20\27\25\5=\5\23\16\a\17\2\b\2\30"\b\2\23\30\a\f\17\xf7\0\x137\25\x1c5\23\n\f\32\n\17\a\16\24\31\23/\24\20\22[\16\4\32\t\20\16[\1\b\2\17\r\a/\x175\xf7\0/5\31\2\b\35\30\n\33\17\4\n(X\n\2\b\1\20\3\16\25\x187\31\x0f7\25\27\21\31\n\f\n\v\20\16\17\21!\2\24\22\17\x120\33\20\3\a\r\5\r;\1\2\1\2\r\16\26\2\20\27\33P\x1b65\31\b\28"\17\t\a\r\b\30H\1\28\2\20\33\25\1\27\17\x0257\24\31\30\17\f\17\r\20\16\20\33\1\24\b\30\21\22\21\22\35\33.\3\r\n\r\2\23\b"\a\16\f\33\23\20\x175\xfb\0\34\20\34\31\27(\34\20\b\20\32\a\33\x88\1\23\30\1B\26\31\x107\24\x197\25\34\25\2\b\f\a\16\17\x0e0\31(\31\21\18\b\33/\a,\26"\b"\v\5\2\17\23\34\21\27\25\27\26\x107\34\25\22\31\23\20\r\f\26\33\20\16\33\2\5\30\b\28\1\b\30\25\x195\x97\1\34\25\20\34\2\b\f\a2\16\20\a\6\2\b\1\2\1\b"\20\33.\22\20\b8\n!\30\b\x025\34\24\25\xb7\x015\22\33\bP\a\1B\b!\238\b8\23\30\25\34\20\26;\27\31\27\25\26\16\t\16\f\17\1\26\20\17\33\16\20\2(\2(\2\16\33P\28\1(\2X\x157\17Q\xf5\0\21\22\33\f\x0f0\2\1\30\x1c0\b"!\30\n\2\b\2\30\20\27\33\x1c7\20\26\27\24\26\16\f\4\16B\26;\3\17\b"\b"/;\26\2\b\30\2\x88\1\23\30\31\x135\20\24\22\24\21\24\31\17\23\33\16\4\17H\17\16\t\r\16\n\6\b\xe2\0\b\5\25\20\31\34\27\23\24\27\x154\1\26\20\17\26\b\2\b\16\33\17.\1\2H\33O\26\20H8\b8\b\2\x067\21\22\33\20\26\33\22;\6\2\23!\2\b\2\30\16\17\16\4\17\4\v(!\2\1\2\34\27\x1c1U4\26\b\1"H\26\16\17\20\16\20B(\2\20\16\26\17\a\26\2\b"(\2\30\2\31\24\21\24\17\xbb\1\24\17(\1\28\5\n\17\n\20\33\26\20\17H"\b\23\x1c764\21;\26\2\b\23\b\2(\a\4\20\17\16\1"(\n\b\n\3/\a\16\b"\xe8\0\30"\33\22\20\xbb\1\17\24\20\b"\n\1(\2\26\20\a\r\n3X\b\2\23\x057\25\21\17\33\20;6\b\2(\34P\25\33\16\31\24\26\1B\x1b4\16\17\31\21\x0f0\2H\23\2\20\x196\bB\x0f0\26\5\2\23\30\2\bX\2\33\20\a\r\n\2\b\n\1\b\23\2\x055\24\22\20[\17\x063!\31\30\21\16\31\30\24\20\21\30\26\xe8\0\26\24\30\20\16\21\30\33\24\30\24("\n\20\34\25(\23\2\5\x110\23\2\23\b\1\b\23(\23\20\2\1\20\a\f\17\xa2\1\1\34\24\22;\23\33\21\20B\1\2\20\35\31\26\20\n\20\33\17\24\26\xe2\0\33\31\n;\31\n\33\20\179\xa2\1\5\xe2\0\24\21\24\33\x82\1\1\xe2\0\x8a\2\vJ\rJ\f\xea\0\r\xea\0\aJ\r\xaa\2\fJ\20\n\f\xca\1\f\xea\0\f\t\xca\2\r*+\nLM,\r\4\f-\20M\17,-\20\xed\0\20\f-\20\f\x8d\2\16M\20\r\a\f-\16\f-\20\xed\0\20\xed\1\a\f-\20\f\r\3\20\r\16C\xe7\0\3\16C\20C\17\xe3\0\20\xe3\0\20#\a\20\'\xe3\1\16C\20\'\4#\17\3 \20\xe3\0\20\xe3\1\16C\20\3\a\16\20\a\17\xf2\1\17R\20R\20\xf2\0\20\xf2\0\20R\33\xb2\2\20R\20\x92\1\17R\33\xf2\0\33\xf2\1\31R\20R\26\22\xdb\1\26\xfb%'
)
draw_image(image,0,0,80,palette)
draw_image(image,85,0,80,palette,2,2)
F(80,0,5,80,"k")

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.