alfishe wrote:SDL 1/2 contain tons of code that might be needed by someone but go with such heavy dependencies just to write pixels? come one
I didn't see what point you tried to make with rest of your post, so I'll answer just your question of why cross-platform emulators use SDL.
Games and emulators use SDL to abstract access to frame buffer, input devices and sound. How that is done, is completely different on every platform (Linux, Windows, MacOS, Android...). Writing such code for every operating system where users may want to use your program, especially when one doesn't even have or use those OSes, would be worse than useless. Especially when there's something widely used like SDL which abstracts that.
While one could argue whether SDL's implementation for such HW access access (in general, or for given platform) is efficient, and whether it could be improved, I would recommend doing that in forums dedicated to SDL.