Also die Pixel schreibst du an die Adresse A000:(x + y * 320).
Die Farbwerte in der Pallette setzt du eben über diese Funktion oder über die Ports. Die RGB farben werden jeweils mit 6 Bits angegeben.
Um einen Eintarg zu lesen:
Beschreibst du den Port 0x03C7 mit der Palettennummer und liest dann nacheinander aus dem Port 0x03C9 die R,G,B Farbwerte.
Zum setzen:
In 0x03C8 wird die Palettennummer geschrieben und dann wie in den Port 0x03C9 die RGB-Werte wie oben geschrieben.