Great that you have got TIC80 to run in native resolution @guu, it is a great platform. It says much to the credit of @nesbox that the code is so configurable.
However there are some portions of the code that rely on the framebuffer width being a power of two (e.g. src/tic.c:80) and that could explain the background tiling issues you are seeing in the Tetris demo.
In order to address this you will need to increase TIC80_FULLWIDTH_BITS:
So now we have TIC128, not TIC80. Games which rely on the memory map will not work but those using API functions instead of PEEK / POKE / MEMSET / MEMCPY should do.
BTW, I don’t understand with the tile map structure (tic_map) changes in size. Also I haven’t been able to try any of this as I am yet to receive my GS.
I see; since I saw u8[ TIC80_MAP_WIDTH * TIC80_MAP_HEIGHT] I thought it was the size of the tilesheet, but actually it is the size of the framebuffer rounded to tile sizes. Then we have to account twice for the increment in size (once for vram, once for map):