0  D$404mNJNL04e$FHuqaY}},m,Ҫm^
0          2TvͫgE#2Tv2Tv                                                                                                                                                                                                                                                                                                                                                  @<@D@N</~0 οy  *q &	   c   <`mc<oxο{  >s 6  3 6    D]8/~0 οy  *q &	   c    M8oxο{  >s 6  3 6    
 @  /~0 οy  *q &	   cD   
 c 3oxο{  >s 6  c f     |@  D /~0 οy  *q &	   c  (@_  ` B5I	Q Q Q       U *   H>'y<yA}"  < # |  b| c| m?gy<y}66 3 <  ~  ~ | H>'| |A"    z|  \|  m?g| |66 3   ~  ~  H>')(  A;g"D  4 E B D   m?gmH  {6f c 4 u C F  > H>'| |A|"     H| ԏ @|       !|BDD|B	aLz  U b  ~s B u ! II?~IGIT H Ԅ b| ~z c  c} K:K:7?2KG׿Kǽ   | ~ w  w 1!11)')" ? # w { c cL ; s1cs1skgԿkĽ   s x  ~ ~ BJJ(J(7J$J$E$$ $ %` % w %   {BJJh/JE> $ %` %8 w  -  @_ IG)" > " w { c  c| ̹j"'x"j$\&  "! "! "1 c U w U 1WXWX      b
 G E t e ݬ       3W]W]θ      v Ϭ  w  ݭ       XDUDUD8       c B 	!  "       ]l8         	c 3        dO;TRRTQRdQR$Y       d % -C !A  A       e{T~zTQRt[4[          A @       1(       b B 	!  #       *Z8W!       R UD I$ U           9 EJ D E 9D                            9 EJD E9D                                }                              }                            E EA } EA E                            E EA} EAE                            yO Q u EG 9Y                            yOQuQEG9Y                                                                                                                                                                                                                                                                                                                                                                                                                                                                }@@~	  $  $a E   ?r$/6B-BSV,	@ 1  c0   >:  ((@  EB?BOn?  "p  "      "  @ _| νy  *q &	   c                                                                                                                                                                                                                                                                  "3|A~CE!H/B 1  ?    r   )Ĉg})""v! .-#	  BZ  C Z  ?  *E D|D @| FE c  K  @   H>'| |AD*"   R 3 R R2 #A                                                                                                                                                                                                                                                                 H%XH$"~	}>   * O  H O  D kZ5%7V	YJ O  N H K M\ L BOTዚ>˨ *  E ?  { G (N1b('U*RTTaF9BeQ a Q "a p  r T                                                                                                                                                                                                                                                                 p`***D:G|c      # # G " '        ~2DgkN9yIL      # `    V        䛊      9 "    Iq  c       BA"HH       ! ! q                                                                                                                                                                                                                                                                            E\%$Q%_EQ                           EED$}DEE_                           }O A AQ EO 9A                            =QE %Q Q eN                        	>                                                              Y?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       """"""""""""""""""""""""""""""""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      """"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      """"""""""""""""""""""""""""""""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ]5 -- title:  tiny 5x5 fonts and editor
-- author: lb_ii, andreyorst
-- desc:   simple editor for 5x5 fonts with samples in Cyrillic, Latin, Greek, Hebrew and even some Japanese writings
-- script: lua

-- Tiny font's size is just 5x5 pixels stored in a 1BPP format.
-- It requires just 2x4 sprites/tiles per font.

-- Code usage sample:
--   lbprint("PRIVET, MIR;",42,100)            -- defaults
--   lbprint("PRIVET;",42,100,12,<TILE_ID>)    -- color + font
--   lbprint args: str,x,y,color,font,space,step

-- Supported letters:

-- +--UPPER MODIFIERS--+
-- |   |   |   |   |   |
-- | $ | ( | ' | ) | # |
-- |   |   |   |   |   |
-- +---+LETTER BASE+---+
-- |                   |
-- | +,-./012 3456789: |
-- | ;<=>?@AB CDEFGHIJ |
-- | KLMNOPQR STUVWXYZ |
-- |                   |
-- +--LOWER MODIFIERS--+
-- |   |   |   |   |   |
-- | ^ | [ | ` | ] | _ |
-- |   |   |   |   |   |
-- +--FONTS SWITCHERS--+
-- | abcdef ghijk      |
-- +-------------------+

-- Letter bases are mapped to 5x5 tiles,
-- which may be sprites of other letters
-- e.g. cyrillic, kana or runic stuff

-- Modifiers add extra pixels like
-- diacritic marks or just additional
-- pixels for letters bigger than 5x5,
-- e.g. 'Q' is good as "O" with "_" mod

-- Lowercase letters switches fonts,
-- e.g. "aPRIVET cIS RUSSIAN FOR HELLO"

----------------------------------------
-- copy to your code to use tiny font --
--                                    --
-- you can remove unused fonts or mods--
-- to save some code space            --
--                                    --
-- | | | | | | | | | | | | | | | | | |--
-- V V V V V V V V V V V V V V V V V V--

-- defaults, used when lbprint args are omitted
local LBFONT  = 65   -- font base tile
local LBCOLOR = 15   -- color
local LBSPACE = 5    -- space width
local LBSTEP  = 7    -- line step
local LBFONTS = {    -- font switcher: lowercase letter -> base tile
 a = 65,  -- Cyrillic
 b = 73,  -- Cyrillic Bold
 c = 81,  -- Latin
 d = 89,  -- Latin Bold
 e = 97,  -- Hebrew
 f = 105, -- Hebrew Bold
 g = 113, -- Greek
 h = 121, -- Greek & Math
 i = 449, -- Japanese Katakana
 j = 457, -- Japanese Hiragana
 k = 465, -- Japanese Other
 l = 473, -- Runic Slavic
}
local LBMOD = {      -- modifiers: char -> {dx,dy}
 ["$"]={0,-1},
 ["("]={1,-1},
 ["'"]={2,-1},
 [")"]={3,-1},
 ["#"]={4,-1},
 ["^"]={0, 5},
 ["["]={1, 5},
 ["`"]={2, 5},
 ["]"]={3, 5},
 ["_"]={4, 5},
}

function lbfont5x5(i,x,y,c)
 local X = x-i%8*5%8
 local Y = y-i//8*5+i//16*8
 c = c+i%8*5//8+i//16%8*64
 clip(x,y,5,5)
 spr(c,X,Y,0)
 spr(c+1,X+8,Y,0)
 spr(c+64,X,Y+8,0)
 spr(c+65,X+8,Y+8,0)
end

function lbprint(str,x,y,color,font,space,step)
 color = color or LBCOLOR
 font  = font  or LBFONT
 space = space or LBSPACE
 step  = step  or LBSTEP
 local oldmap = peek4(0x3FF0*2+1)
 local oldseg = peek4(0x3FFC*2)
 poke4(0x3FF0*2+1,color)
 poke4(0x3FFC*2,8)
 local X = x-6
 local w = 0
 for c in str:gmatch"." do
  local m = LBMOD[c]
  if m ~= nil then
   clip()
   pix(X+m[1],y+m[2],color)
  elseif c == "|" then
   w = math.max(w,X+6-x)
   X,y = x-6,y+step
  elseif c == " " then
   X = X+space
  elseif c >= "a" then
   font = LBFONTS[c]
  else
   X = X+6
   lbfont5x5(string.byte(c)-43,X,y,font)
  end
 end
 clip()
 poke4(0x3FF0*2+1,oldmap)
 poke4(0x3FFC*2,oldseg)
 return math.max(w,X+6-x)
end

-- ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^--
-- | | | | | | | | | | | | | | | | | |--
--                                    --
-- copy to your code to use tiny font --
----------------------------------------

----------------------------------------
-- here goes code specific to editor, --
-- you don't need it                  --
----------------------------------------

LANG={
  {
    id = "Russian",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.a,
    samples = {
      {"SXEW- EW_E() JTIH M@GKIH FRANC_U3SKIH BULOK,|  DA VYPEI' ZE 4AQ;",0,62},
      {"BYSTRA@ RYZA@ LISA PEREPRYGNULA 4ERE3|  LENIVUQ SOBAKU...",0,80},
      {"JI', ZLOB; GDE TU3? PR@4- QNYH SXEMW_IC_ V|  WKAF.",0,99},
      {"V 4AW_AH QGA ZIL BY CITRUS?;|  DA <NO FAL-WIVYI' JK3EMPL@R>",0,117},
    }
  },
  {
    id = "Russian Bold",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.b,
    samples = {
      {"SXEW- EW_E() JTIH M@GKIH FRANC_U3SKIH BULOK,|  DA VYPEI' ZE 4AQ;",0,62},
      {"BYSTRA@ RYZA@ LISA PEREPRYGNULA 4ERE3|  LENIVUQ SOBAKU...",0,80},
      {"JI', ZLOB; GDE TU3? PR@4- QNYH SXEMW_IC_ V|  WKAF.",0,99},
      {"V 4AW_AH QGA ZIL BY CITRUS?;|  DA <NO FAL-WIVYI' JK3EMPL@R>",0,117},
    }
  },
  {
    id = "Old-Slavic and Ukranian",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.a,
    samples = {
      {"NO4I VX PL@SKAHX, VO3L/'@N-@HX",0,70},
      {"DA UT+(HAHX PLOTSKIHX,",118,80},
      {"NOVYE M/'RY SUL@TX VAMX GRE()3Y KISLOVODSKA;;;",0,90},
      {"4U=W /()H, DOC_Q, GA?|  KUMEDNA Z TI, PROW_AI'S@ BE3 G#OL-F/'V;",0,110},
    }
  },
  {
    id = "Old-Slavic and Ukranian Bold",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.b,
    samples = {
      {"NO4I VX PL@SKAHX, VO3L/('@N-@HX",0,70},
      {"DA UT+('HAHX PLOTSKIHX,",118,80},
      {"NOVYE M/('RY SUL@TX VAMX GRE()3Y KISLOVODSKA;;;",0,90},
      {"4U=W /$)H, DOC_Q, GA?|  KUMEDNA Z TI, PROW_AI'S@ BE3 G#OL-F/')V;",0,110},
    }
  },
  {
    id = "English",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.c,
    samples = {
      {"HOW I WANT A DRINK, ALCOHOLIC OF COURSE,|  AFTER THE HEAVY LECTURES INVOLVING|  O_UANTUM MECHANICS..",0,62},
      {"JACKDAWS LOVE MY BIG SPHINX OF O_UARTZ.",0,88},
      {"O_UICK BROWN FOX JUMPS OVER THE LAZY DOG.",0,99},
      {"LOREM IPSUM DOLOR SIT AMER, CONSECTUR|  ADIPISCING ELIT, SED DO EIUSMOD TEMPOR|  INCIDICUNT UT LABORE ET DOLORE MAGNA|  ALIO_UA. UT ENIM AD MINIM VENIAM, ...",0,109},
    }
  },
  {
    id = "English Bold",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.d,
    samples = {
      {"HOW I WANT A DRINK, ALCOHOLIC OF COURSE,|  AFTER THE HEAVY LECTURES INVOLVING|  O_UANTUM MECHANICS..",0,62},
      {"JACKDAWS LOVE MY BIG SPHINX OF O_UARTZ.",0,88},
      {"O_UICK BROWN FOX JUMPS OVER THE LAZY DOG.",0,99},
      {"LOREM IPSUM DOLOR SIT AMER, CONSECTUR|  ADIPISCING ELIT, SED DO EIUSMOD TEMPOR|  INCIDICUNT UT LABORE ET DOLORE MAGNA|  ALIO_UA. UT ENIM AD MINIM VENIAM, ...",0,109},
    }
  },
  {
    id = "Espanol",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.c,
    samples = {
      {"O_UIERE LA BOCA EXHAUSTA VID, KIWI PIN'A|  Y FUGAZ JAMO'N.",0,62},
      {"WHISKY BUENO:|         /EXCITAD MI FRA'GIL PEO_UEN'A;",0,81},
      {"EL VELOZ MURCIE'LAGO HINDU' COMI'A FELIZ|  CARDILLO Y KIWI. LA CIGU()EN'A TOCABA EL|  SAXOFO'N DETRA'S DEL PALENO_UE DE PAJA.",0,99},
    }
  },
  {
    id = "Espanol Bold",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.d,
    samples = {
      {"O_UIERE LA BOCA EXHAUSTA VID, KIWI PIN'A|  Y FUGAZ JAMO'N.",0,62},
      {"WHISKY BUENO:|         /EXCITAD MI FRA'GIL PEO_UEN'A;",0,81},
      {"EL VELOZ MURCIE'LAGO HINDU' COMI'A FELIZ|  CARDILLO Y KIWI. LA CIGQ()EN'A TOCABA EL|  SAXOFO'N DETRA'S DEL PALENO_UE DE PAJA.",0,99},
    }
  },
  {
    id = "Greek Upper-Case",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.g,
    samples = {
      {"CESKEPA)ZW THN' VYXOFQO)RA BDELYGMI)A.",8,80},
      {"DY/DX = 2A@X + 12@B",8,100},
    }
  },
  {
    id = "Greek Lower-Case & Math",
    linestep = 6,
    spacing = 4,
    offset = LBFONTS.h,
    samples = {
      {"C_ESKEPA#ZW THN' VYXOhQO)RA B[D')ELYGMI)Ag.",8,80},
      {"hP g= 3,141592653589793238462643383279h:",8,100},
      {"h@-gX = S  Xh-Ig/hIg; = 1 + X + Xh-g2/2 + Xh-g3/6 + h:g",0,120},
      {"h8|g0",39,117},
    }
  },
  {
    id = "Hebrew",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.e,
    samples = {
      {"                  16 16 :Z=T, Z=T UVMW",4,75},
      {"WIA , VNMM VTQ[L( , EVEI EVC RWA RBDE EZ",4,90},
      {", OKIUWPN RPSM -( UL(GL(GL( RMJ . VL(KA IPL(",4,100},
      {"                   VHQ[U VL(EAB RWAL( WIA",4,110},
    }
  },
  {
    id = "Hebrew Bold",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.f,
    samples = {
      {"                  16 16 :Z=T, Z=T UVMW",4,75},
      {"WIA , VNMM VTQ[L( , EVEI EVC RWA RBDE EZ",4,90},
      {", OKIUWPN RPSM -( UL(GL(GL( RMJ . VL(KA IPL(",4,100},
      {"                   VHQ[U VL(EAB RWAL( WIA",4,110},
    }
  },
  {
    id = "Runic",
    linestep = 7,
    spacing = 5,
    offset = LBFONTS.l,
    samples = {
      {"HOW I WANT A DRINK, ALCOHOLIC OF COURSE,|  AFTER THE HEAVY LECTURES INVOLVING|  QUANTUM MECHANICS..",0,62},
      {"JACKDAWS LOVE MY BIG SPHINX OF QUARTZ.",0,88},
      {"QUICK BROWN FOX JUMPS OVER THE LAZY DOG.",0,99},
      {"LOREM IPSUM DOLOR SIT AMER, CONSECTUR|  ADIPISCING ELIT, SED DO EIUSMOD TEMPOR|  INCIDICUNT UT LABORE ET DOLORE MAGNA|  ALIQUA. UT ENIM AD MINIM VENIAM, ...",0,109},
    }
  },
  {
    id = "Hiragana",
    linestep = 8,
    spacing = 6,
    offset = LBFONTS.j,
    samples = {
      {"+' 0 5' : ? D I' N Q) V",0,70},
      {", 1 6 ;' @ E J   R Y",0,79},
      {"- 2 7) < A_ F' K( O S X",0,88},
      {". 3 8 = B G L   T Z`^_('$",0,97},
      {"/( 4 9 > C H M( P U W(",0,106},
      {",|U|D|@|H|G|>",230,70},
      {";'|R|A_|S|W(",219,70},
      {"V|0|P|:|T|9",208,70},
      {"<|B|?|Q)|K(",197,70},
      {"-|Y|C|/(|2|P|I'",186,70},
      {"3|F'|4|.|=",175,70},
      {"+'|5'|1|O|L|J|6",164,70},
      {"Z`^_('$|E|M(|8|7)",153,70},
    }
  },
  {
    id = "Katakana",
    linestep = 8,
    spacing = 6,
    offset = LBFONTS.i,
    samples = {
--       akasatanahamayarawa
      {"+ 0 5 :( ? D I N Q V",0,70}, --a
      {", 1 6 ; @ E J   R Y",0,79}, --i
      {"- 2 7 < A F K O S X",0,88}, --u
      {". 3 8 = B G L   T Z",0,97}, --e
      {"/ 4 9 > C H M P U W",0,106},--o
      {",|U|D|@|H|G|>",230,70},
      {";|R|A|S|W",219,70},
      {"V|0|P|:(|T|9",208,70},
      {"<|B|?|Q|K",197,70},
      {"-|Y|C|/|2|P|I",186,70},
      {"3|F|4|.|=",175,70},
      {"+|5|1|O|L|J|6",164,70},
      {"Z|E|M|8|7)",153,70},
    }
  },
  {
    id = "Basic Kanji and Punctuation",
    linestep = 8,
    spacing = 6,
    offset = LBFONTS.k,
    samples = {
      {" 2B^[_2/#+7O(]|A   5|B^[_   6|C   7|D 1 8|E 2 9|F'^[`]_ 3 1+|G 4 1+1",0,64},
      {"2/#6L()'$#^[`]_MNj0k-jH6,,:k-j?k?;",60,70},
      {"k<J()j0RI'8Xk>j>,kZj=k,VjI'6:k...",60,80},
      {"k<i,X:(kKiB'kYi>k>=cINTERNETk",60,120},
      {" S|P(Q'`R(| T",60,92},
      {"Hj5',k|Ij1,k",100,92},
      {"X UjSk|0 VjSk|X WjLSk",200,92},
    }
  },
}

ID=0

DECORATOR = {
  {id="" ,dots={}},
  {id="_",dots={{4,5}}},
  {id="(",dots={{1,-1}}},
  {id="'",dots={{2,-1}}},
  {id=")",dots={{3,-1}}},
  {id="()",dots={{1,-1},{3,-1}}},
}
DID=1

function getadr(chr,i,j,font)
  local c  = font+(chr%8*5+i)//8 + (chr//8*5+j)//8*64
  local ci = (chr%8*5+i)%8
  local cj = (chr//8*5+j)%8
  -- 1bpp tilesheet addressing: 4 tiles row-interleaved per 32B slot
  local p = (c//64)*16+((c%64)//16)*4+(c%16)//4
  return 0x20000+p*256+(c%4)*8+cj*32+ci
end

function buttons(idx,font)
  if btnp(7) then
    ID = ID<#LANG and ID+1 or 0
  end
  if ID == 0 then
    return
  end

  if btnp(0) and idx.i>=idx.w then
    idx.i = idx.i - idx.w
  end
  if btnp(1) and idx.i<idx.w*(idx.h-1) then
    idx.i = idx.i + idx.w
  end
  if btnp(2) and idx.i>0 then
    idx.i = idx.i - 1
  end
  if btnp(3) and idx.i<idx.w*idx.h-1 then
    idx.i = idx.i + 1
  end
  if btnp(4) then
    MODE = 3 - MODE
  end
  if btnp(5) and MODE==2 then
    local i = IDX[2].i%5
    local j = IDX[2].i//5
    local a = getadr(IDX[1].i,i,j,font)
    poke1(a,1-peek1(a))
  end
  if btnp(6) then
    DID = DID<#DECORATOR and DID+1 or 1
  end
end

IDX = {{i=0,w=8,h=6},{i=0,w=5,h=5}}
MODE = 1

function showletters(font)
  local x = 0
  local y = 10
  print("all letters",x+2,2)
  for i=0,7 do
    for j=0,5 do
      rectb(x+i*8,y+j*8,9,9,15)
      lbprint(string.char(43+i+j*8),x+2+i*8,y+2+j*8,nil,font)
    end
  end
  rectb(x+IDX[1].i%8*8,y+IDX[1].i//8*8,9,9,2)
  if MODE == 1 then
    rectb(x,y,8*8+1,8*6+1,2)
  end
end

function showeditor(font)
  local x = 108

  local y = 18
  print("code \""..string.char(43+IDX[1].i)..DECORATOR[DID].id.."\"",x,2)
  for i=0,4 do
    for j=0,4 do
      if peek1(getadr(IDX[1].i,i,j,font))~=0 then
        rect(x+i*8,y+j*8,9,9,15)
      end
      rectb(x+i*8,y+j*8,9,9,15)
    end
  end
  for _,d in pairs(DECORATOR[DID].dots) do
    rect(x+d[1]*8,y+d[2]*8,9,9,15)
  end
  if MODE == 2 then
    rectb(x,y,8*5+1,8*5+1,2)
    rectb(x+IDX[2].i%5*8,y+IDX[2].i//5*8,9,9,2)
  end
end

function showresult(font)
  local x = 191
  local y = 25
  print("result",x+4,y-9)
  rectb(x,y,42,34,15)
  local oldseg = peek4(0x3FFC*2)
  poke4(0x3FFC*2,8) -- 1bpp page 0
  for i=0,4 do
    for j=0,3 do
      spr(font+i+j*64,x+1+i*8,y+1+j*8)
    end
  end
  poke4(0x3FFC*2,oldseg)
end

function showusage()
  print("   A ->",72,2)
  print("S -> language",168,2)
  print("<- Z ->",72,32)
  print("   X ->",72,40)
end

function showsamples(lang)
  for _,s in pairs(lang.samples) do
    lbprint(s[1],s[2],s[3],nil,lang.offset,lang.spacing,lang.linestep)
  end
end

function TIC()
  cls(0)
  local font = LBFONT
  if ID>0 then
    local lang = LANG[ID]
    font = lang.offset
    showletters(font)
    showeditor(font)
    showresult(font)
    showusage()
    showsamples(lang)
  else
    lbprint("aPRIV/'T, SV/'T;",40,100)
    lbprint("bPRIVET, MIR;",20,20)
    lbprint("c/HOLA, MUNDO;",60,60)
    lbprint("dHELLO, WORLD;",120,35)
    lbprint("gGEIA) SOY, KO'SME;",110,80)
    lbprint("e;OL(VJ OVL(W",170,110)
    lbprint("iDUkK:iVkKiS>k-",160,15)
    lbprint("j4|X|@|;'|D|k,j|8|0|,|k;",10,45,nil,nil,nil,8)
    if time()//500%2==0 then
      lbprint("cPRESS S TO START",70,125)
    end
  end
  buttons(IDX[MODE],font)
end
