yes of course most APIs ain´t that bad <<IF>> u find a good reference for it.
Problem: Find "good" references for <every> API
Problem Description / estimates :
(My point of view)
When a API is develloped, every programmer has to learn from scratch how to use , in some cases the engineer from the API give some example.
But in general u have to learn urself when u want to use. Once u completed u learning ur basicly finished with the topic. U have gained "tacit" knowledge about the subject.
Solution:
Lets Consider there is (for every API!) a media (always on service) where u can put into ur tacit knowledge. Further more u will write ur experience into this media.
(here we consider that u only write things into this which are NOT yet listed there)
What do YOU / WE gain from this?
If u "ever" have to work again on the topic, u dont have to search because ALL refreneces and knowledge is gatherd there (concerning the Topic of a specific API)
Even if u think it might be hard work to write down ur knowledge, think about that it would be nice if ur starting AGAIN with a new API, u can use such a resource.
Some very nice Attributes of this miraculous media:
- Information access is structures thus u can learn fast
- u´ll get reference to GOOD papers/books, websites concerning the topic
(but most important -->)
- personal experience of many programmers is depicted here
- and u can read it for free

This media is called a wiki

In the beginning the knowledge level of every API might not be very high but as we consider that people with knowledge are kinda eager to share their knowledge/ correct wrong facts.
I don´t tell anyone to create a wiki here for Winsock,
what i was think was a little bit smaller ( yet will grow bigger)
A wikki for emulation Programming.
This wikki would be for ALL interested people, including those which cant programm.
The outline would go kinda:
1.- the knowledge about tools:
-- programming language: --> what language to learn?
-- what is an API
-- etc
2.- the knowledge how to <<use>> ur tool knowledge
-- what are the basic concepts of an Emulator: interpreter / recompiler..etc
-- what are the essential parts of an emulator: memory subsystem ...etc
As u can see nothing of this is new or unkown it "simply" hasn´t been put togehter yet.
What do u need to put it together? 
Host for the Wiki and Content for the wiki:
Emuprogrammers, and i think we got some of them here

Now some of the Coders might think: what a crazy chick: we have SOOOO lesss time and he wants us to waste it even more what a fool -_-°
BUT if u consider it seriously there are only benefits from it because u´ll gain in the end
time AND knowledge from it, why?:
1. every "stupid" question can be answered with: take a look inside the wiki
2. every "interesting" question can be discussed, thus u learn about topics u are interested in
If ur interested, lets discuss this further
wbr Shin Gouki