|
Invitado
|
Introducción a la programación en Psx
Introducción a la programación en Psx
Espero que esteis leyendo esto porque querais programar emus para psx [img]images/icons/icon7.gif[/img]
By
Bienvenidos al apasionante mundo de la física atómica.... estooo, err, ah.... no.... era de la programación en Psx, sorry [img]images/icons/icon7.gif[/img].
Kits de desarrollo:
Actualmente existen 3 paquetes de desarrollo destinados a la programación en Pxs: Net Yaroze, PsyQ, y CodeWarrior Psx, todos ellos están basados en el C o C++, por lo que a los conocedores de este lenguaje no les costará mucho adaptarse (siempre que tengas una experiencia previa en programar cosas con video y audio a un nivel mas o menos bajo).
Net Yaroze:
Es un kit de desarrollo aparecido al principio del lanzamiento de la Psx, en teoria su utilidad era permitir a los usuarios no profesionales programar sus propios juegos, el problema es que necesitabas una Net Yaroze para poder jugar a lo que hicieses, ya que el formato de los ejecutables era incompatible con el de la Psx gris normal. El kit se componía de una Psx negra multisistema, un extraño cable serie para conectarla a un Pc o Mac, un CdRom para Psx con el software necesario para establecer la comunicación con el ordenador y por supuesto libreria, manuales y el compilador. A parte del ya mencionado problema de la incompatibilidad con la Psx normal (ahora subsanado de forma no oficial), tiene unos cuantos más:
1.- Precio elevado
2.- No permite usar las librerías idependientemente, sino que se meten todas a la vez, con el consecuente desperdicio inutil de memoria.
3.- Las funciones de las librerías son mucho menos amplias que en PsyQ
4.- Sony ha dejado de venderlo.
PsyQ:
Es el paquete de desarrollo oficial de Sony, consta de una Psx azul, una tarjeta con la placa base de la Psx para Pc con 8Mb de Ram (DTHL-1000 creo), manuales, compiladores (desarrollado por Sn Systems), librerías y opcionalmente un emulador de Cd-Rom. Según dicen la velocidad de los programas compilados en Psyq es mayor que con Yaroze, además permite compilar solamente las librerías usadas por el programa. Aunque su principal problema aparte de su muy elevado precio es que necesitas tener una licencia de desarrollador oficial de Sony para poder adquirirlo.
CodeWarrior Psx: Por lo que he podido ver en su web realmente no es un paquete de desarrollo para Psx, sino un entorno totalmente gráfico para programar juegos de una forma fácil y cómoda , aunque se apoya en el Hardware de PsyQ desconozco si usa sus propias librerías y compiladores. CodeWarrior
Comunicación con el Pc:
Después de haber leido esto seguramente estarás pensado: pos bueno, pos fale, ¿¿¿¿¿pero de de donde saco yo una licencia de desarrollador, una psx de colorines, y todo el software?????
No problemo, en estos momentos no resulta demasiado complicado conseguir las librerías y manuales y compiladores tanto de Psyq como de Net Yaroze de Internet además con tu Psx de toda la vida es suficiente. El único hardware adicional que necesitas (a no ser que decidas hartarte de tostar cd´s o usar el Ps Emu Pro para ver lo que programas), es un Action Replay (o copia), o un X-plorer. Ambos son originariamente cartuchos conectables al puerto paralelo que sustituyen la Rom de la Psx por otra cuya finalidad es usar trucos en los juegos, pero como con el cartucho sólo no se pueden buscar hacía falta conectarlos al Pc, y ahí es donde nos aprovechamos de los inocentes cartuchitos para sacarle todo el provecho posible:
Action Replay (Game Shark en Usa) o sucedaneos: Poseen una EEPROM de 128Kb, 256Kb o 512Kb, y un puerto paralelo con una lógica distinta al del Pc, por tanto para poder transmitir datos entre ambos es necesario la utilización de una tarjeta (ISA, como tengais un pentium 3 chorrocientos os van a dar :P ) que es la que permite la conexión. El software oficial de Datel es bastante limitado, busqueda de códigos, y poco más.
Xplorer: el Xplorer (Xploder en Usa) tiene una EEPROM de 256kb o 512Kb (Xplorer Fx, aunque sólo son aprovechables 384Kb), además la comunicación se establece por medio de un puerto paralelo standar, por lo que sólo necesitareis un cable alargador de impresora para conectarlo y yastá. En la página oficial se encuentra el software de la compañia que permite buscar trucos, enviar tarjetas de memoría, sacar backups de la VRAM en Bmp, ver la Ram en tiempo real, transmitir los sonidos de la SPU a formato wav, etc... Además de este soft, Firefly ha desarrollado una herramienta llamada X-killer que en su versión 0.56 permite examinar la Ram, enviar ejecutables a la Psx, y lo más importante reflashear la Rom del Xplorer.
Caetla:
Lo primero que hay que hacer una vez con el Xplorer o el A.R. es reflashear la Rom con Caetla (aunque siempre se puede tira un poco con el Xplorer y la opción de enviar exe´s). Caetla es una versión mejorada de la rom que llevan muchos A.R. y clónicos desarrollada por Kcomm y enfocada a la programación en Psx.
Aunque también posee las funciones básicas del A.R. las que nos interesan (a parte de la configuración de la Psx para enviar y recibir), se controlan desde el Pc mediante las CaeTools, unos comandos Ms-Dos:
Caeflash : reflashea tu Xplorer o A.R. a caetla o a lo vuelve a su estado original (cuando quiere [img]images/icons/icon7.gif[/img] )
Psexe : permite enviar ejecutables y datos a la psx en cualquier posición de memoria, y por último
Timdown : por si quieres ver como de guarreada está tu VRAM exactamente con tu Pc. El resto no son muy importantes.
A parte de las Caetools de antes, existe otro pequeño programita que concentra todas esas funciones y más en un sólo exe: CATFLAP, desde la version 2.0 lleva soporte para X-plorer, y permite subir y bajar datos, exes, la VRAM como bmp, y muchas cosas más.
Otras herramientas necesarias:
Cuando consigais Psyq o Yaroze, seguramente encontrareis varias utilidades que permiten el manejo de Tims (formato de imagenes en psx), Vag y Vabs (audio), TMD´s (3d), y otras muchas cosas, para el realmente imprescindibles es TimUtil... es ke por ahora no hago mucho :P .
Programando (esta sección se completará si recibo colaboraciones [img]images/icons/icon7.gif[/img] )
La mejor elección para programar es PsyQ (aunque parece que CodeWarrior es superior), cuando lo consigais tener mucho cuidado con la configuración (todo mediante ficheros bat, y SET, ke asko), ya que si os equivocais no funcionará nada de nada. En alguno de los paquetes que traen Psyq suelen venir muchos ejemplos de sources listos para compilar, solamente es necesario que hayais configurado los paths y SET y escribir PSYMAKE dentro del directorio del source (en el shell de MS-DOS arghhhh!!).
Alternativas al C:
ChipMunk Basic!!!, sip existe un basic que permite usar las funciones gráficas y de sonido de la psx mediante instrucciones de alto nivel muy sencillas, aunque se pierde mucha velocidad y control sobre la Psx, puede estar bien si sólo quereis hacer un jueguecito tipo puzzle o un pequeña intro. Permite usar objetos 3d, samples y sprite ampliables, y rotables. Los únicos requisitos son Caetla y un Pc.
Por ahora aky termina está "pequeña introducción", espero haberos aclarado algunas cosas, y que no me pegueis si me he metido la pata en algo, Byez , y recordad Los Emuladores para Psx están ahí fuera....
EN EL FORO GENERAL DONDE DICES GAFITAS TIENES
|