Hola compañeros!
Tengo una duda sobre hardware:
Tengo un yamaha MSX1 cx5MII que como el Spectravideo SVI-738, dispone del VDP V9938 de los MSX2.
En el proyecto en el que estoy metido (el PSGed), quiero detectar si es uno de estos ordenadores o un MSX2 (o sup), para cambiar la paleta de colores.
Como puedo detectarlo el tipo de VDP?
Tengo si es un modelo superior a la primera generación y he probado en el yamaha el cambio de paleta y funciona correctamente.
Pongo la rutina por si identificáis algún error o mejora (en formato SDCC):
void setPalette()
{
__asm
ld hl,#PALETTE
xor a
di
out (#0x99),a
ld a,#144
out (#0x99),a
ld bc,#0x209A
otir
ei
ret
PALETTE:
; RB,G
.db 0x00,0
.db 0x00,0 ; black
.db 0x33,3 ; medium green
.db 0x00,7 ; light green
.db 0x05,0 ; dark blue
.db 0x27,3 ; light blue
.db 0x60,0 ; dark red
.db 0x07,7 ; cyan
.db 0x70,0 ; medium red
.db 0x72,2 ; light red
.db 0x60,6 ; dark yellow
.db 0x74,7 ; light yellow
.db 0x11,6 ; dark green
.db 0x34,0 ; magenta
.db 0x55,5 ; gray
.db 0x77,7 ; white
__endasm;
}