Respecto a BIOS, PSG, PPI, VDP, etc. te recomiendo que descargues el MSX RED BOOK. Está muy bien.
En cuanto a los VPOKEs, la tabla de atributos de sprites está por defecto en la dirección 1B00h de la memoria de video (VRAM). Lo que hace la instrucción PUT SPRITE es actualizar estos valores. Puedes hacer lo mismo escribiendo directamente a la VRAM con VPOKE (como POKE pero con la V de "vídeo").
La tabla de atributos (SPRATR en mi propia jerga) se compone de 32 bloques de 4 bytes organizados de forma consecutiva, correspondiendo cada bloque a cada uno de los planos de sprites disponibles en el TMS9918 y derivados.
La estructura de estos 4 bytes es la siguiente:
offset 0 : coordenada vertical (Y)
offset 1 : coordenada horizontal (X)
offset 2 : patrón de sprites (P)
offest 3 : color del plano (C)
Por lo tanto, en esta clave, sería equivalente
PUTSPRITE plano,(X,Y),C,P
A lo siguiente
VPOKE &h1B00+4*plano,Y
VPOKE &h1B01+4*plano,X
VPOKE &h1B02+4*plano,P (o P*4 si usas sprites de 16x16 píxeles)
VPOKE &h1B03+4*plano,C
La equivalencia es válida en general, aunque la instrucción putsprite es más compleja: incluye control de bordes, que con VPOKEs habría que hacer a través del bit de Early Clock (EC)... pero de esto mejor hablamos otro día. De momento, quédate con la copla de que hacen lo mismo. Eso sí, si usas multiplicaciones tal y como aparecen en el ejemplo, la ejecución será MUY LENTA.
Si te acostumbras a usar VPOKEs, el paso al ensamblador será menos traumático
Espero que esto te haya servido de algo. O, como mínimo, que no te haya liado más.