SMS Stands for Sega Master System, and I know some things about the 6502, but I'm not familiar with the Z80 and its derivates (The Master System uses a Z80A, which is derivated from the Z80). So, I decided to use a different Game Engine (for example, Godot) to make a Sega Master System Game, but... What game engine should I use?
I am familiar with programming languages like Small Basic and JavaScript and Virtual Consoles like the TIC-80, but in this case, that the resolution of the SMS is higher than the TIC-80's one, When "emulating" the Master System on the TIC-80, there are some problems.
- The resolution on the TIC-80 is 240x136 pixels while the SMS's one is 256 × 192 pixels that are 16x56 pixels of difference,
- The TIC-80 can only show 16 colors per scanline, although the colors can be changed per scanline, that with 136 scanlines powers up the total colors on-screen in the TIC-80 to more than two thousand, while in the SMS there are just 32 colors from a 64-color palette on screen at once, and I don't know if you can choose any colors from the palette to put on screen (32 chosen colors) or if it's that you can decide what sub-palette of the 64-color palette you want to appear at the screen and I don't know if the colors of the palette can be changed.
I think the sound isn't a problem, nor the number of sprites nor the map, but if there are problems with those, I'll edit the comment to report the problems.
Edit: I think that using the OVR() Function on TIC-80 I can use 32 colors at a time, using 16 colors for the normal functions and other 16 colors for the OVR() Function, by changing the color palette in the OVR() Function at the start of it, however, I cannot change the colors of the OVR() function per scanline, because the SCN() Function can change only the normal palette because the OVR() function is executed after the SCN() Function, and also using the 32 colors in the sprites is not a mess, but it would "confuse" anyone that looks at the sprites or/and tiles and doesn't know that the OVR() Function is used to use double the number of normal colors, and also every tile and sprite would require double the amount of space to be displayed properly, one for the normal 16-color palette and one for the OVR() Function separate 16 color palette.