Karoshi MSX Community
05 de Julio de 2021, 12:58:25 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1] 2 3
  Imprimir  
Autor Tema: Pantalla de inicio del GRIEL'S QUEST FOR THE SANGRAAL  (Leído 20970 veces)
0 Usuarios y 1 Visitante están viendo este tema.
AdOC
Karoshi Lover
***
Mensajes: 126



Email
« : 10 de Enero de 2006, 11:35:41 am »

Hola.
A lo mejor es una tontería lo que voy a preguntar... pero ¿cómo se ha hecho la pantalla de inicio del GRIEL'S QUEST FOR THE SANGRAAL ?
Me gusta bastante y no sé si eso se hace con sprites o con otra técnica.

Saludos
 Wink
En línea

.:: Knightmare for ever ::.
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #1 : 10 de Enero de 2006, 11:57:36 am »

Te respondo yo mismo, que soy quien ha hecho el grafico del logotipo. La pantalla de inicio del Griel's Quest es SCREEN 2 puro y duro sin sprites, es decir, sólo utilizando patrones.

Para confeccionar el logo, primero me he dibujado en Photoshop el texto, y la espada la he convertido del juego original también en photoshop, reduciendola de tamaño. Después, con todo el logo montado, lo he filtrado por un conversor propio que he programado para que me detecte si hay 2 colores por byte, y de no ser así, que me lo corrija.

Tras filtrarlo por el conversor siempre hay cosas que no me gusta como quedan, por lo que vuelvo a repasar el resultado en Photoshop para corregir pixels aquí y allá a mano. Tras la útlima limpieza, se lo pasé a Robsy... supongo que el habrá pasado el archivo PCX con paleta MSX por el PCX2MSXi, y después lo habrá implementado en el menú principal.  Wink

Espero que te sirva la pista. Un abrazo!  Wink
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
AdOC
Karoshi Lover
***
Mensajes: 126



Email
« Respuesta #2 : 10 de Enero de 2006, 12:41:11 pm »

O sea que te creas un fichero indexado en photoshop a 8 bits y luego lo guardas como pcx y lo "gestionas" con el PCX2MSXi ...
¿no?
En línea

.:: Knightmare for ever ::.
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #3 : 10 de Enero de 2006, 02:00:31 pm »

No exactamente Wink

8 bits de color significa 256 colores (lo cual es una bicoca, aunque inalcanzable para nuestros MSX1 XD). El color debe tener una profundidad de 4 bits. Luego os pongo un tutorial sobre cómo lo hago, ok?
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
AdOC
Karoshi Lover
***
Mensajes: 126



Email
« Respuesta #4 : 10 de Enero de 2006, 03:43:33 pm »

Hombre,¡ muchas gracias !
Pero cuando puedas, ¿vale?

Un abrazo.
 Smiley
En línea

.:: Knightmare for ever ::.
KNM
Karoshi Hero
*****
Mensajes: 755

Fearless

jbosca@hotmail.com
Email
« Respuesta #5 : 10 de Enero de 2006, 06:47:59 pm »

No exactamente Wink

8 bits de color significa 256 colores (lo cual es una bicoca, aunque inalcanzable para nuestros MSX1 XD). El color debe tener una profundidad de 4 bits. Luego os pongo un tutorial sobre cómo lo hago, ok?

¡ESO ESO!  Cool Cool Cool

KNM
Learning
En línea

<Bacterion> : ¿ Por qué la gente se empeña en pulsar F5 ?
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #6 : 10 de Enero de 2006, 07:22:09 pm »

Vamos, YA  Grin
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #7 : 10 de Enero de 2006, 07:28:45 pm »

AdOC, creo que estás lanzándote con el basic si no me equivoco. Espero que estés pensando en montar una rom para esta dev (¡eso deseo!) así que aquí van algunos humildes consejos:

Empápate el modo de funcionamiento de screen 2 (para vpokearlo, vamos). Pregúntame lo que necesites, que yo empecé igual aquí mismo, si ir más lejos  Grin Sobre el dibujo, si no vas a hacer algo a pantalla completa, sino un logo más o menos grande, puedes siempre definir un rectángulo de caracteres (unos 8x4, por ejemplo, que serían 32 caracteres) para definir un título no muy grande pero sí lo suficiente para ser impactante. No se chupa muchos caracteres y así no te preocupas de incluir pantallas completas con rutinas asm ni nada de eso. Es algo con lo que empezar  Smiley

¡Un saludo!
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #8 : 10 de Enero de 2006, 09:23:21 pm »

Tutorial (1 de 3): Cómo hacer un logo para usarlo en un MSX
- Cómo preparar un archivo PCX para usar el MSX2PCXi y obtener el .CHR y .CLR de una imagen -

NOTA: En este tutorial cuento cómo lo hago yo. Esta manera de hacerlo probablemente no sea la más directa/cómoda/etc..., pero es como lo hago yo, y creo que es un método rápido y efectivo. Lo mejor es que cada uno se busque su forma más cómoda.

Primer paso, cogemos un logo/imagen/culesquiera. Voy a partir de un logo existente para ver el proceso, pero también vale para quien se quiera currar su propio logo, etc... yo voy a versionar uno, porque soy así de transgresor. Sea como sea, lo abrimos o creamos en Photoshop, que es el programa que yo uso para diseñarlo TODO.



El MSX es muy cuco y solo nos permite hacer 2 colores por byte... claro, lo ideal es saber donde está cada byte, si no estaríamos a ciegas... así pues, nos vamos a crear la cuadrícula (o grid).





Si entramos en Edición\preferencias\guías, vamos a ver esta ventana. Lo que vamos a hacer es poner un "8" en "Línea de cuadrícula" y "píxeles" en la unidad de medida que está al lado. Subdivisiones, "1". Así nos creamos una cuadrícula para ver las divisiones entre caracteres. ¿Véis?. Así tendremos mucho más control. ¿ok?.



Como el MSX no es la gran recaraba y ninguna conversión directa a SCREEN 2 nos va a sacar nada en claro de este logo tan complejo, vamos a simplificarlo borrando zonas para dejarlo más facilmente MSXable. Recordad, el trabajo en simplificar que hacéis previamente a un logo os ahorrará mucho trabajo para después. Yo, este logo, lo dejaría en outline, tal que así:



Bien, pues ya tenemos listo nuestro espacio de trabajo... bueno, no del todo, ya que estamos trabajando en RGB (24 bits de color), y eso, ni el TurboR. Así que debemos limitarnos e irnos al Modo Color Indexado. Se llama color indexado porque los colores se encuentran en un índice (index) y sólo podremos usar esos colores: como en el MSX1, que solo podemos usar 16 colores concretos. Con lo cual, vamos al modo color indexado: Imagen\Modo\Color indexado...



El cambiar de RGB a color indexado nos aparece esta ventanita para pedirnos que concretemos cual va a ser ese índice de colores. En la "Paleta" debemos seleccionar "Local (Adaptable)", en colores, 16 (obviamente XD), y en "Forzado" debemos abrir un nuevo menú, "Personalizar", que nos ayudará a "forzar" los colores MSX.



Ahora le tenéis que decir cuales son los colores que quereis forzar. Pero como ir uno por uno y cada vez es un rollo, lo mejor es definirlos en un archivo .act de photoshop... EL ARCHIVO QUE USO LO PODÉIS BAJAR AQUI. Pues nada, le dáis a la opción "Cargar" y cargáis el .act. Dáis a "Aceptar" y después otra vez a "Aceptar" y os quedará algo como esto:



Bien, bien, bien. Pues ya tenemos nuestra imagen traducida a los colores MSX... ahora debemos ir mirando con lupa y a mano cada recuadro para que no existan más de 2 colores por byte. O eso, o utilizáis un conversor a SC2, que nos ahorra todo el trabajo, pero no es tan preciso como el ojo humano, y a veces los algoritmos te devuelven un churro de gráfico.



Vale, ya hemos currado de lo lindo con el logo, y lo hemos dejado impoluto. Pues nada, ahora a cortar la imágen. El ancho y el alto deben tener una medida múltiplo de 8, ok?. Utilizamos la herramienta de recortar de la ventana principal de herramientas, y nos quedará algo así.



Ahora, solo hay que Archivo\Guardar como... y elegir PCX como el formato a guardar. Ya está, tenemos nuestro PCX indexado con los colores del MSX Smiley

Ahora tenemos que separar de ese PCX los datos de color y de patrones. Nada como el PCX2MSXi para conseguirlo Smiley. Eso si, si no usáis el Photoshop para crear el PCX usad el otro ejecutable PCX2MSX (el que no tiene la "i" al final). La historia es que el photoshop invierte el index de colores, y el PCX2MSXi lo corrige muy bien. Por cierto, estos dos programas se encuentran dentro del package del ensamblador asMSX de Karoshi, ok?.



El PCX2MSXi, tras esta jugada, nos devuelve dos archivos raw (dato puro): un archivo clr (con los datos del color) y otro archivo chr (con los datos del dibujo). En la próxima parte del tutorial explicaré como dibujar ese logo en MSX gracias a esos dos archivos, tanto en assembler, como en BASIC XD.

« Última modificación: 11 de Enero de 2006, 08:19:04 am por Viejo_archivero » En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #9 : 10 de Enero de 2006, 10:45:30 pm »

Me has convencido. A partir de ahora usaré el pcx2msxi  Cheesy

Un 10 por el artículo, ¡sí, señor!

Un 0 por usar material con copyright  Grin
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
AdOC
Karoshi Lover
***
Mensajes: 126



Email
« Respuesta #10 : 10 de Enero de 2006, 11:03:59 pm »

Muchas gracias !!!!
Esto es lo que estaba buscando.
Con photoshop trabajo  bastante, pero no sabía como hacer todo el proceso.
Gracias de nuevo por la paliza que te has dado.
Wink

Voy a practicar un poco ahora con el "potochop"

Un abrazo!!!
En línea

.:: Knightmare for ever ::.
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #11 : 11 de Enero de 2006, 08:16:19 am »

Tutorial (2 de 3) : Cómo hacer un logo para usarlo en un MSX
- Como reproducir los datos .CHR y .CLR en ensamblador -

Vale, habíamos terminado el tutorial con dos archivos, uno .CLR (datos de color) y otro .CHR (datos de caracteres/dibujo). Como veíamos antes, el MSX2PCXi nos devolvía 112 bloques, es decir, 112 caracteres de 8x8. Con lo que aquí empezamos con un poco de teoría básica de SCREEN2.

SCREEN2 tiene 768 caracteres definibles, en tres bancos independientes de 256 caracteres cada uno. Las filas 0-7 son el banco 1, las filas 8-15 son el banco 2 y las filas 16-23 son el banco 3. Así que tenemos como 3 "librerías" para caracteres en la pantalla, pero cada zona utiliza su propia "librería", ok?. Después, para ordenar e imprimir los caracteres que nos interesen en la pantalla, tendremos que utilizar la tabla de nombres, que son 768 bytes donde escribimos los caracteres en la pantalla.

> En VRAM...

        CHRTBL  equ     0000h -> Tabla de dibujo de patrones (256 caracteres por cada banco)
        NAMTBL  equ     1800h -> Tabla de nombres
        CLRTBL  equ     2000h -> Tabla de colores de los patrones (256 caracteres por cada banco)

Así pues, habrá que "vpokear" los datos de dibujo y los de color en donde corresponda, para que esos 112 caractreres queden definidos en el banco 1 (filas 0-7), y después, indicarle en la tabla de nombres, como colocar esos caracteres.

Pues vamos a ello!

ASSEMBLER (asMSX)

Lo mejor para esto es el ensamblador sin duda. Luego veremos como hacerlo en BASIC, pero a parte de ser un rollo para hacerlo, es SUPER lento redefiniendo, y tardará un montón de segundos en mostrarnos el gráfico, cuando en asm es cuasi-instantáneo.


Código:
;******************
; Logo DOOM en MSX
;******************

;---------------------------------------------------------------------------
; CABECERA Y DIRECTIVAS
;---------------------------------------------------------------------------
; Directivas de ensamblado
        .bios
        .page   2
        .rom
        .start  INICIO
;---------------------------------------------------------------------------


;---------------------------------------------------------------------------
; CONSTANTES VRAM
;---------------------------------------------------------------------------
; Posiciones estandar en VRAM
        CHRTBL  equ     0000h
        NAMTBL  equ     1800h
        CLRTBL  equ     2000h
        SPRTBL  equ     3800h
        SPRATR  equ     1b00h
;---------------------------------------------------------------------------
        FORCLR  equ     $f3e9
        CLIKSW  equ     $f3db
;---------------------------------------------------------------------------


;---------------------------------------------------------------------------
; PROGRAMA PRINCIPAL
;---------------------------------------------------------------------------

INICIO:

 ; [preparo la pantalla]

        ld      hl,0f3e9h
        ld      [hl],15  ; color 15
        inc     hl
        ld      [hl],1  ; color ,1
        inc     hl
        ld      [hl],1  ; color ,,1

        call    INIGRP  ; screen 2

        ld      bc,0e201h
        call    WRTVDP  ; screen ,2

        xor     a
        ld      [CLIKSW],a ; screen ,,0

        call    DISSCR  ; [desactivo visualización]

 ; [ahora cargamos los patrones]

        ld      hl,LOGO_CHR ; Vamos a pasar los datos en LOGO_CHR
        ld      de,CHRTBL+8 ; a CHRTBL+8 (caracter 1 del banco 1)
        ld      bc,112*8 ; y voy a pasar 112 caracteres (*8 bytes)
        call    LDIRVM  ; ¡a VRAM!

 ; [ahora cargamos los colores]

        ld      hl,LOGO_CLR ; Vamos a pasar los datos en LOGO_CLR
        ld      de,CLRTBL+8 ; a CLRTBL+8 (caracter 1 del banco 1)
        ld      bc,112*8 ; y voy a pasar 112 caracteres (*8 bytes)
        call    LDIRVM  ; ¡a VRAM!

 ; [ya he definido que los caracteres 1-112 son los cachos del logo]
 ; [ahora hagamos 'PRINT' para verlos cambiando la tabla de nombres]

 ; cls

        ld hl,NAMTBL ; Vamos a pasar los datos en LOGO_MAP
        ld bc, 768  ; quiero escribir 768 veces
        ld a, $00  ; el dato "0"
        call    FILVRM          ; ¡a VRAM!

 ; [ahora cargamos el mapa que nos hemos hecho del logo]
        ld      hl, LOGO_MAP; Vamos a pasar los datos en LOGO_MAP
        ld      de,NAMTBL+32 ; a NAMTBL+32 (es decir, la segunda linea ;D)
        ld      bc,32*7  ; y voy a pasar 7 filas de caracteres (*32 cada fila)
        call    LDIRVM  ; ¡a VRAM!

        call    ENASCR  ; [activo visualización]

BUCLE:
 jp BUCLE


;---------------------------------------------------------------------------
; DATA BUFFERS
;---------------------------------------------------------------------------


LOGO_CHR:
 .incbin "doom_001.pcx.chr" ; inyecto el .CHR
LOGO_CLR:
 .incbin "doom_001.pcx.clr" ; inyecto el .CLR
LOGO_MAP:
 db 0,0,0,0,0,0,0,0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,0,0,0,0,0,0,0,0
 db 0,0,0,0,0,0,0,0, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,0,0,0,0,0,0,0,0
 db 0,0,0,0,0,0,0,0, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,0,0,0,0,0,0,0,0
 db 0,0,0,0,0,0,0,0, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,0,0,0,0,0,0,0,0
 db 0,0,0,0,0,0,0,0, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,0,0,0,0,0,0,0,0
 db 0,0,0,0,0,0,0,0, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,0,0,0,0,0,0,0,0
 db 0,0,0,0,0,0,0,0, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,112,0,0,0,0,0,0,0,0

Vale, este código es muy sencillito. Para que lo veais claro los que no sepáis nada de ensamblador, he añadido comentarios a casi todas las líneas.

Primero doy las directivas de ensamblado para cargar rutinas de BIOS y demás zarandajas. Después pongo la pantalla en SCREEN 2,2,0 y color 15,1,1. Luego la desactivo con una rutina de bios y redefino los caracteres y los colores. Cuando ya tengo definidos los caracteres del primer banco (1-112) [recordad que el caracter "0" me lo guardo debajo de la manga para que sea el "vacio"], paso a crearme un mapa para escribir correctamente esas 112 piezas en la tabla de nombres: se trata de esos números que hay al final, que, si sois un poco avispados, detectaréis que es la estructura del logo con los caracteres colocaditos del 1 al 112. Transfiero ese mapa a vram y listo, vuelvo a activar la visualización... el Bucle del final es para que se quede bloqueado y podamos visualizar el logo: es como un 1000 goto 1000, para que nos entendamos.

Aquí tenéis un paquete con todos los archivos para compilar, y un archivo .ROM compilado para que veáis el resultado. Atención, si queréis hacer vuestras pruebas metiendo mano al código y todo lo demás (os lo recomiendo para irle quitando miedo al ensamblador), lo debéis compilar con el asMSX de Karoshi, ok?. No se, probad a cambiar los numeritos de la tabla de nombres para ver que pasa, etc...

Pack tutorial logo (asm)

Luego veremos como hacerlo en BASIC Wink
« Última modificación: 11 de Enero de 2006, 08:25:33 am por Viejo_archivero » En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #12 : 11 de Enero de 2006, 11:58:52 am »

¡Muy buena la iniciativa!, ¡un tutorial de Photoshop, con capturas y todo!.  :god:
La verdad es que se podría inaugurar una sección específica en desarrollo en la que se fueran recopilando todos estos tutoriales que seguro irán apareciendo; así no quedarían dispersos por los hilos.
En línea

Doom dee doom dee doom
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #13 : 11 de Enero de 2006, 12:04:59 pm »

Sip, una vez lo termine, lo colgaré aparte Smiley. Es muy sencillote, el siguiente lo haré acerca de cómo comprimir graficos para ahorrar MUCHO espacio.  Wink
En línea

Jon Cortázar Abraido (aka El Viejo Archivero)
RELEVO Videogames
[Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.]
[pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
AdOC
Karoshi Lover
***
Mensajes: 126



Email
« Respuesta #14 : 11 de Enero de 2006, 12:06:00 pm »

Estoy por mandarte una botella de vino !!!  Wink
En línea

.:: Knightmare for ever ::.
Páginas: [1] 2 3
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!