Dekodowaniem się nie przejmuj. Teoretycznie im więcej linii adresowych uczestniczy w dekodowaniu, tym mniej potencjalnych kolizji z innymi urządzeniami.
Common to linia, do której zwierasz kierunki i fire w joysticku. Jak zwierasz do plusa, to dane idą "na wprost", jak zwierasz do masy - muszą zostać zanegowane. Układ LS365 nie neguje, więc musisz zwierać do plusa (5V). Schemat ze strony Yarka używa układu LS240, który wprowadza negację, więc jest zwieranie do masy.
Schemat, którego użyłeś, jest całkowicie do niczego. Możesz uratować sytuację podłączając common do +5V, wstawiając pull-downy (rezystory rzędu 1 kiloom) między masą a D0-D5 na LS365 (czyli na wejściu układu, a nie do szyny danych komputera). Ale i tak nie masz kontroli nad bitami D6 i D7, które będą radośnie wariować.