Cita
Hola buenas,
Primero agradecer a esta pagina por existir y a la comunidad homebrew de Dreamcast por mantener mi consola favorita viva a pesar de su corta vida comercial.
Cita
Sin ser yo programador, tengo algun conocimiento acerca de como funcionan los ordenadores, y mucha curiosidad acerca de la Dreamcast.
Cita
na de las cosas que mas me interesan es saber acerca del rendimiento que se le puede sacar a la máquina. (Esto ya lo sabeis todos: ) la Dreamcast es una máquina con una CPU que corre a 200Mhz que incluye un dispositivo para hacer operaciones 3D, un acelerador grafico, 16 MB de RAM y medio optico (a grandes rasgos). Cuando salió corria juegos que en PCs requerían de una máquina mucho mas potente que la DC para funcionar, esto es entendible ya que la DC como consola dedica todos sus recursos al juego, mientras que en un PC el juego es una capa más compartiendo recursos con el resto.
Cita
Las aplicaciones homebrew rinden de formas muy distintas entre ellas. Entiendo que esto se debe a que cuando hablamos de producción "amateur" la libertad de decisión es absoluta (no ha de seguir pautas comerciales) y el resultado depende de las herramientas disponibles (conseguidas gracias al estudio de la plataforma a falta de respaldo oficial del fabricante), experiencia e intención del desarrollador y las elecciones que este/estos hagan. Esto hace que hayan desde aplicaciones que funcionan mal, pasando por muestras del uso de una tecnología, hasta programas que funcionan tan profesionalmente que nada tienen que envidiar a los comerciales que salieron en su dia (es mas muchas veces añaden funcionalidades propias de este tipo de desarrollo, como la posibilidad de hacer mods y esas cosas)
Cita
De ahí parto para haceros algunas preguntas a vosotros que conocéis bien el panorama del desarrollo homebrew de la DC. Muchas preguntas muy concretas que se me ocurrieron se me han olvidado mientras esperaba la activación de mi cuenta y/o mientras pensaba como estructurar este post. También entiendo que según las respuestas que obtenga pueden aparecer nuevas preguntas. Y supongo que algunas de estas preguntas que voy a hacer no tienen una respuesta única, así que si os parece bien, empezaré con lo basico e intentaré saciar mi curiosidad a medida que la discusión avance.
Cita
¿Cuales son las principales herramientas para el desarrollo homebrew de la DC?
Cita
Se acerca de KOS, que parece ser la mas enfocada a programar en la consola como se hacia con los kits oficiales. También he visto que linux y net bsd están portados a la máquina.
Otra cosa que he visto son muchas librerias que permiten programar de formas diferentes.
¿Me dejo algo importante?
Cita
¿Estas librerias se usan sobre KOS o sobre lo que sea si el programador las adapta?
Cita
¿Que herramientas/librerias/software de desarrollo destacan por aprovechar mejor o permitir aprovechar mejor el hardware de la DC (refiriendome al SH4 y al PVR respectivamente)?
Cita
Una cosa que he visto es que muchas aplicaciones corren solo sobre la CPU, supongo que desaprovechando hardware que las podria hacer de ejecucion mas optima.
Cita
¿Hay alguna herramienta que aproveche el calculo 3D del SH4?¿Algún programa que la use?
Cita
¿Para qué se puede usar el PVR?(Esta parece ser obvia...?)¿Que puede impedir a un desarrollador usarlo?
Cita
Sobre decisiones de diseño:
Muchos de los programas no optimizados en DC no lo estan porque son ports rápidos de otras plataformas. La DC los corre gracias a ser una consola no muy complicada y disponer de una comunidad que ha desarrollado las herramientas que permiten hacer esos ports.
La Megadrive, por ejemplo, es una máquina mucho más rígida (de otra época tambien) en el sentido que su software debe cumplir requisitos como usar tiles de 8x8, tener en cuenta paletas de colores limitadas, planos de representación grafica definidos... requisitos de diseño más estrictos para un hardware más limitado. Eso hace que mucho de lo que se desarrolla o este bastante optimizado o no funcione directamente. Esos límites usados inteligentemente (ademas de mucho estudio de la máquina me imagino) ha permitido a su escena homebrew cosas como hacer mods impresionantes de los juegos de Sonic (los hacks) o desarrollar Pier Solar, un RPG a la altura de los que salieron en su época comercial.
Esta pregunta la voy a enfocar concretamente a gráficos 2D. Teniendo en cuenta que DC puede cargar muchos tipos de imágenes y operar en alta o baja resolución, ¿Hay algun formato que hiciera funcionar las aplicaciones gráficas de la DC mejor solo por diseño?
Cita
¿Que habría que considerar a la hora de elegir la resolución de los tiles, tamaño de los sprites y cuestiones así?Por poner un ejemplo, si mi aplicación estuviera desarrollada con la DC en mente,¿me aseguraría un mejor rendimiento con tiles de una resolución que fuera 8x8 o 16x16 (o cualquier potencia de 8), agrupadas también en bloques que midieran alguna potencia de 8 y con un determinado bit depht?¿Ganaría algo con eso o la máquina es tan flexible que realmente no tendría en cuenta un formato optimizado desde su diseño?
Cita
¿Correría más una aplicación de 256 colores (8bit) que una de 16bit de color?
Cita
¿Como me podría ayudar la aceleración por hardware?¿Como le podría hacer el desarrollador la ejecución más facil a la aceleradora?
Cita
320x240 correría mucho más que 640x480,¿no?
Cita
¿Que hay que tener en cuenta, a grandes rasgos, al hace 3D en la DC?
Cita
En qué sentido es mejor KOS que una mini-distribución de Linux hecha con busybox y el kernel para el SH, con los componentes minimos necesarios para tu aplicación?
Cita
Los drivers gráficos del PVR para linux...¿soportan aceleración o son simplemente un framebuffer?
Cita
¿Se pueden usar librerias pensadas para KOS con el linux en DC?
Cita
¿Qué hay de NetBSD?
Cita
¿Qué rinde mejor sobre DC, Allegro o SDL?
Cita
¿Qué requisitos tiene que cumplir cada uno para sacar máximo provecho del hardware (otra vez usando el ejémplo de los gráficos 2D)?
Cita
El juego que me he imaginado para llegar a hacerme estas preguntas es un RPG en 2D de la época de las "32 bits", algo que seguramente Dreamcast podría hacer funcionar como la seda ¿verdad?. Igual las preguntas son generales y aplicables al desarrollo de cualquier tipo de juego 2D o (en menor medida) programa. Si tuvieráis que desarrollar este tipo de juego, ¿Qué configuración utilizariais para su desarrollo?