Mastk,
O TMS9918/28, tem suas limitações, tanto que depois criaram as versões da Yamaha V9938, V9948 e V9958. Com mais memoria e recursos para o padrao MSX2.
Pode partir como base no TMS9918 mas se modificar muito vai ficar incompativel com o padrao MSX.
O que dá pra fazer é eliminar quando sintetizar, as memorias Dram e usar Sram no lugar. Além de modificar o clk de video que usa um cristal 10,74Mhz ruim de achar, na época usei um 10,7Mhz de FI de FM. No lugar deste cristal, usar um oscilador multiplo da freq. do croma (3,58Mhz) e dividir a frequencia.
Outra deficiencia do TMS9918 é que a CPU Z80 não consegui acessar diretamente a DRAM, isto é, você tinha que mandar os dados e tabelas para o TMS9918 e carregava na Dram.
Se nao me engano o TMS9928 foi baseado também no MC6845, padrão IBM XT, este já tem tudo pronto na net, parece que dá pra colocar em um CPLD 9572 da Xilinx. Mas ai já seria outro caminho e nao ficaria compativel.
