Wrapper para GFX9000 en C

Page 1/6
| 2 | 3 | 4 | 5 | 6

By paspallas

Resident (35)

paspallas's picture

03-10-2018, 13:48

Buenas. Estos días mientras sigo programando el engine para el Darkness of The King me ha entrado la curiosidad y estoy leyendo el manual de Yamaha para el v9990. Es bastante parecido al VDP de Megadrive. Mi pregunta es: ¿hay alguien en la comunidad al que le interesaría tener una librería en ensamblador más herramientas para poder trabajar con el chip desde C?. En un futuro igual me animo a hacer algo yo mismo con ella si encuentro colaboradores. Se que gente como Kai la usa desde TurboBasic, pero eso es súper limitado (de paso a ver si llamo su atención y se pasa al desarrollo cruzado con herramientas modernas Smile )

Login or register to post comments

By erpirao

Paladin (848)

erpirao's picture

03-10-2018, 23:01

hay una librería del v9990 del team bomba, pero si que es cierto que es antigua.
creo que una librería de ese tipo sería un puntazo para la comunidad
tío te lo estás currando mucho.
p.s. echaste un vistazo a lo que te envié del akin?

By paspallas

Resident (35)

paspallas's picture

03-10-2018, 23:08

La librería del team bomba apenas tiene una rutina para poner sprites en pantalla, con eso no vas muy lejos, cuando el verdadero potencial del chip está en usar los modos pattern en mi opinión. Ya digo que en el futuro me gustaría colaborar con algún grafista/diseñador para hacer algo.
p.s. Lo he visto, y me ha dado algunas ideas.

By erpirao

Paladin (848)

erpirao's picture

03-10-2018, 23:31

paspallas wrote:

La librería del team bomba apenas tiene una rutina para poner sprites en pantalla, con eso no vas muy lejos, cuando el verdadero potencial del chip está en usar los modos pattern en mi opinión. Ya digo que en el futuro me gustaría colaborar con algún grafista/diseñador para hacer algo.
p.s. Lo he visto, y me ha dado algunas ideas.

Antonio "Assembler" lleva unos años pegándose cornadas con el V9990, ponte en contacto con el e intercambiais ideas..

By Manel46

Champion (374)

Manel46's picture

04-10-2018, 12:01

En la V9990, sobre todo para patrones, la biblioteca de Team Bomba, es una herramienta indispensable, que ademas lleva incorporada una forma de cargar los gráficos partiendo de los archivos comprimidos "G9B". En P1, disponemos de 4 paletas de 16 colores cada una, que se pueden mostrar simultáneamente.
En los dos modos de patrones, el tema sprites es algo genial. Solo tenemos que definir unos azulejos (tiles) de 16x16 píxeles, con una de las paletas, pudiendo en una fila de píxeles tener los 16 colores. Se guarda en una cierta dirección de la VRAM, y ya están disponibles. Luego se manejan de forma parecida a como lo hacemos en MSX2 (1) pero con la ventaja que solo movemos un sprite, en MSX2, dependiendo de los colores se han de mover unos cuantos a la vez.
Esta VDP, puede tener definidos 125 sprites distintos y visualizarlos a la vez, se pueden representar 16 en línea. Los scroll's horizontal y vertical, no los mueven como pasa con el MSX2, y por descontado no existe el problema de la Y=216.
Los sprites se pueden ocultar como en MSX2, poniendo la Y a 212 o mas, pero existe un bit, para activarlos/desactivarlos sin mas en el cuarto byte de los atributos.
Recomiendo que consultéis el pdf de los colegas brasileños "MSXTopSecret2". Allí se describen todos estos asuntos: MSX1, MSX2, 2+,tr y V9990.

By Manel46

Champion (374)

Manel46's picture

04-10-2018, 13:21

https://drive.google.com/open?id=1AXL0Wu4YFehVH2HfLXJO_-n3hj...
Demo, con música además. (opl4). Cusores para mover todos los sprites.

By erpirao

Paladin (848)

erpirao's picture

04-10-2018, 15:36

Manel46 wrote:

https://drive.google.com/open?id=1AXL0Wu4YFehVH2HfLXJO_-n3hjU5qB_e
Demo, con música además. (opl4). Cusores para mover todos los sprites.

realmente impresionante para ser solo 32KB

By paspallas

Resident (35)

paspallas's picture

04-10-2018, 23:30

He leído el msxtopsecret que comenta Manel, gracias por la recomendación. Me parece que cometieron un error enorme al solo permitir 256 tiles distintos para sprites. Teniendo 512KB de VRAM y esa miseria de tiles más propios de una NES. Este finde voy a intentar hacer una pequeña demo.

By erpirao

Paladin (848)

erpirao's picture

05-10-2018, 00:12

paspallas wrote:

He leído el msxtopsecret que comenta Manel, gracias por la recomendación. Me parece que cometieron un error enorme al solo permitir 256 tiles distintos para sprites. Teniendo 512KB de VRAM y esa miseria de tiles más propios de una NES. Este finde voy a intentar hacer una pequeña demo.

ay madre que miedo das
creo que el 9990 lo enfocaron mas al blitter, porque las críticas al 9938/58 es que su blitter es muy lento (yo lo que veo es que el

le hace un cuello de botella descomunal, a 6 y 7 mhz el vdp sigue pidiendo guerra).
con ganas de ver que lanzas de v9990. (algo de rotación de tiles y similares, ¿no?)
de todas formas si que al tener esa enorme Vram se podría llenar de "patrones" (es que tile también es un cuadro bitmap), y jugar con la redefinición de estos como sprites, no? (hablo sin saber).

By assembler

Champion (373)

assembler's picture

05-10-2018, 09:39

Sí que se queda corto, pero como tú dices, hay 512KB de RAM, y con un blitter rápido se pueden copiar sprites a la zona de trabajo.
Me fastidia los dos bits desaprovechados de los atributos de sprite que podrían haberse utilizado para, o bien colocar los sprites reflejados izquierda-derecha, arriba-abajo, o bien para indicar la dirección base de ese sprite, lo que permitiría tener fácilmente hasta 1024 sprites...

De todas formas, copiando sprites se puede hacer cosas apañadas

By Manel46

Champion (374)

Manel46's picture

05-10-2018, 10:20

Son posibles solo 125 sprites, no 512. Ver página 228 de Msxtopsecret2.
Las áreas de trabajo están definidas y son como son. No caben mas azulejos de 16x16 para sprites.
Efectivamente en el cuarto byte de los patrones, quedan libres 2 bits. Estaría bien poder hacer simetrías de los modelos, si.
Aquí teneis otro manual:
http://msxbanzai.tni.nl/v9990/manual.html

Page 1/6
| 2 | 3 | 4 | 5 | 6
My MSX profile