› Foros › Retro y descatalogado › Consolas clásicas
theelf escribió:Baek escribió:Por cierto, habría que dejar claro que en ASM también se puede hacer código muy ineficiente,...
Tambien esta en el hardware, puedes escribir buen codigo asm, pero si desconoces propiedades de la arquitectura, o registros del CPU, de seguro el codigo sera ineficiente, o al menos, menos eficiente de el potencial total, aunque sea impoluto en cuanto a calidad
kusfo79 escribió:No hace falta preguntar, ya se sabe por seguro que solo se usaba ensamblador
AxelStone escribió:Respecto a la mala fama del Java, no estoy de acuerdo: el problema no es el lenguaje, son los programadores. Evidentemente Java no es el lenguaje más optimizado del mundo, no se concibió para ello sino para ser multiplataforma, y en malas manos puede ser tan desastroso como cualquier otro lenguaje.
Baek escribió:Red Ninja Wonder escribió:de hecho yo haré el módulo de desarrollo web o similar porque necesito titulación;.
Como recomendación personal, y me jode darla por que soy muy de C y C++, si te vas enfocar a la programación online y web, empieza a darle con ganas a Java y Java RMI.
No sé si te lo pedirán en el CS, imagino que sí, pero desde luego seguro que te lo exigirán en muchas empresas cuando busques trabajo de eso.
fakemaria escribió:Baek escribió:Red Ninja Wonder escribió:de hecho yo haré el módulo de desarrollo web o similar porque necesito titulación;.
Como recomendación personal, y me jode darla por que soy muy de C y C++, si te vas enfocar a la programación online y web, empieza a darle con ganas a Java y Java RMI.
No sé si te lo pedirán en el CS, imagino que sí, pero desde luego seguro que te lo exigirán en muchas empresas cuando busques trabajo de eso.
Que es el java rmi?
Para web se usa java2ee y los lenguajes de marcas asociados, jsp, jstl y los frameworks (struts, java server faces, etc) unidos a los lenguajes del lado del cliente.
AxelStone escribió:Pero no confundamos, RMI no es una variante de Java, es un mecanismo para poder invocar métodos remotos, como lo pueda ser un WebService. Vamos que en Java normal y corriente puedes ofrecer una interfaz RMI de los métodos que quieras publicar.
Pero bueno, dejemos el Java que nos desviamos del hilo .
icecaap escribió:kusfo79 escribió:No hace falta preguntar, ya se sabe por seguro que solo se usaba ensamblador
Cierto, Yūji Naka ya nos lo dice en un vídeo :
http://www.gamespot.com/videos/acmi-game-masters-yuji-naka/2300-6384581/
Aunque estoy un poco de acuerdo también con los compañeros: el hacerlo en ASM o otro lenguaje de alto nivel dependería de el tipo de juego, el equipo de desarrollo, la compañía, etc.
Es posible que contrataran a gente para hacer un compilador C muy optimizado para una arquitectura o para hacer un tipo de juego concreto. También es posible que usaran C para hacer herramientas de apoyo (para diseño de gráficos, reglas físicas, etc.) y que estas herramientas proporcionaran el código ASM ya optimizado.
Pero claro, supongo que las compañías guardarían bajo llave estas herramientas y compiladores como mucho las intercambiaban con otras compañías por un módico precio.
kusfo79 escribió:Seguramente las compañias usaban cosas como el Deluxe Paint II, y luego usaban un programa que lo convertía a asm.
Pek escribió:kusfo79 escribió:Seguramente las compañias usaban cosas como el Deluxe Paint II, y luego usaban un programa que lo convertía a asm.
Ni los gráficos ni el sonido hay que convertirlos a ensamblador ni a ningún otro lenguaje, eso no tiene sentido. Solo tienen que estar en el formato que corresponda al cargador de gráficos que tengamos en el código (yo suelo usar una especie de tiff o un iff), y estar almacenados en la rom.Nada más.
theelf escribió:Pek escribió:Ni los gráficos ni el sonido hay que convertirlos a ensamblador ni a ningún otro lenguaje, eso no tiene sentido. Solo tienen que estar en el formato que corresponda al cargador de gráficos que tengamos en el código (yo suelo usar una especie de tiff o un iff), y estar almacenados en la rom.Nada más.
Hombre, lo normal es convertir los graficos a asm, cargar imagenes lo veo medio locura, habria que escribir una libreria especifica para esa funcion
kusfo79 escribió:Cuando me refiero a asm, me refiero a dejarlo en un formato para que lo puedas ensamblar bien, por ejemplo:
--------------------------------------------------------
.section .rodata
.align 2
gfx_hScroll_player_shots_palette_pal:
dc.w 0x0E0E, 0x0E42, 0x0C84, 0x0CC4, 0x0CCA, 0x0EEE, 0x00EE, 0x00AA
dc.w 0x004E, 0x000A, 0x0006, 0x0002, 0x0CCC, 0x0888, 0x0444, 0x0000
.align 2
gfx_hScroll_player_shots_palette:
dc.w 0, 16
dc.l gfx_hScroll_player_shots_palette_pal
.align 2
gfx_hScroll_player_shots_animation0_frame0_sprite0_tileset_tiles:
dc.b 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x23, 0x22, 0x23, 0x33, 0x45
dc.b 0x00, 0x02, 0x22, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
dc.b 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x34, 0x44, 0x40, 0x55, 0x55, 0x55, 0x54
dc.b 0x33, 0x34, 0x44, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
---------------------------------------------------------------
Esto es lo que generamos con nuestra herramientas para el Antarex, pasamos una imagen en un formato gráfico actual, y la paletizamos y quantizamos, y se exporta a este formato.
javierator1981 escribió:Pero las imágenes no se convierten a asm, sino que se convierten a lo que sea para que sean utilizables de una u otra forma mediante asm. No estoy hablando de aspectos técnicos, sino de pura semántica. Las imágenes son datos binarios, simplemente, ¿no? Entiendo entonces que no se pueden convertir a ensamblador, porque es un lenguaje de programación, no un formato de guardado de datos.
kusfo79 escribió:Hombre, yo creo que el modo Tile aún se ajusta más a los RPG's que otros generos...
Pero respondiendo a tu pregunta, ni Nes, ni Master, ni Mega, ni Super, ni PC Engine ni Neo Geo soportan modo bitmap.
javierator1981 escribió:Pero las imágenes no se convierten a asm, sino que se convierten a lo que sea para que sean utilizables de una u otra forma mediante asm. No estoy hablando de aspectos técnicos, sino de pura semántica. Las imágenes son datos binarios, simplemente, ¿no? Entiendo entonces que no se pueden convertir a ensamblador, porque es un lenguaje de programación, no un formato de guardado de datos.
AxelStone escribió:kusfo79 escribió:Hombre, yo creo que el modo Tile aún se ajusta más a los RPG's que otros generos...
Pero respondiendo a tu pregunta, ni Nes, ni Master, ni Mega, ni Super, ni PC Engine ni Neo Geo soportan modo bitmap.
Bueno depende, en MSX2 hacer un RPG en modo bitmap es más accesible que en modo tile. Los gráficos los metes en VRAM directamente desde el editor gráfico y luego los lees a bloques. En el modo tile existen restricciones de color que no existen en modo bitmap.
javierator1981 escribió:Pero las imágenes no se convierten a asm, sino que se convierten a lo que sea para que sean utilizables de una u otra forma mediante asm. No estoy hablando de aspectos técnicos, sino de pura semántica. Las imágenes son datos binarios, simplemente, ¿no? Entiendo entonces que no se pueden convertir a ensamblador, porque es un lenguaje de programación, no un formato de guardado de datos.
kusfo79 escribió:A ver, en Mega también "troceas" los gráficos desde el editor para colocarlos luego en la VRAM, y por otro lado cargas el tilemap.
Las restricciones de colores te las encuentras igual tanto en un modo como en otro. El mítico 13h de PC era un modo bitmap con 256 colores, y la super tenia modos con más colores y era con Tilemap.
AxelStone escribió:Tranquilo entiendo lo que dices
AxelStone escribió:kusfo79 escribió:A ver, en Mega también "troceas" los gráficos desde el editor para colocarlos luego en la VRAM, y por otro lado cargas el tilemap.
Las restricciones de colores te las encuentras igual tanto en un modo como en otro. El mítico 13h de PC era un modo bitmap con 256 colores, y la super tenia modos con más colores y era con Tilemap.
Tranquilo entiendo lo que dices, el modo tile del MSX2 funciona así. De todos modos lo de las restricciones de color bueno, no se bien cómo irá en MD, pero en MSX2 por ejemplo hay diferencias entre SC4 (modo tile) y SC5 (modo bitmap). En modo tile cada tile de 8x8 solo puede tener 2 colores horizontales en una misma línea, en modo bitmap no hay esa restricción, por eso se usaba mucho en los RPG.
kusfo79 escribió:Ah vale, tampoco tengo un especial conocimiento del MSX2 . Creo que es por que los modos tileables son heredados del MSX, no?
En todo caso, en máquinas mixtas, solía ser al revés, los modos tileables tenían más colores ya que requerían menos VRAM
1985a escribió:Aquí, tienes varias vías para aprender a programar ASM,
https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#assembly-language
He visto y algunos y tienen buena pinta.