martes, 22 de septiembre de 2015

Avances en el AS Compiler for MSX-VR

Una de las herramientas en las que estoy trabajando dentro del MSX-VR, es el AS compiler/linker. Esta herramienta permite compilar código ASM o PI (Scripting orientado objetos), además de montar librerías, linkar módulos, generar ROMs, gestión de Bancos (Megaroms), etc.

Como estas cosas han de estar bien pulidas, la mejor forma de pulirlas es trabajando en algo complicado. Así que hace un par de semanas decidí portar el proyecto GAZZERU (SDCC) a este nuevo sistema para conseguir finalizarlo. La verdad es que el reto es importante, pero merece la pena y los avances son del todo emocionantes y maravillosos :)


Esta pantalla que muestro aquí, ya está generada con este sistema y que queréis que os diga, estoy súper contento de poder mostrarla :)

El proyecto lo estoy montando todo a base de scripting. El scripting permite meter código nativo al vuelo también. Así que las partes más delicadas en cuanto a rendimiento/velocidad/tamaño (como en el SDCC) las tengo en ASM Z80. La sintaxis del ASM es compatible con la que usa el SDCC, de hecho en el AS hay extras como los opcodes de los MUL del TurboR y también están los opcodes que hacen uso del HX y el LX.

Un ejemplillo ...

function VDP_FillVRAM (_begin : uint, _size : uint, _value : ubyte) : void
{
native
{
ld l, 4(ix)
ld h, 5(ix)
ld c, 6(ix)
ld b, 7(ix)
ld a, 8(ix)
call 0x0056
}
}

El resto del juego, lo que es la lógica de juego, está toda montada con un lenguaje script tipo C/C++. El mismo lenguaje con el que hacemos videojuegos de PC y móviles en Nerlaska.

Por ejemplo, un extracto del archivo "logo.pi" que es el muestra el logo inicial de Nerlaska Studio al comenzar nuestros juegos MSX:

#include "game.h"

#define RSC_LOGO_WIDTH      16
#define RSC_LOGO_HEIGHT     5

class Logo partial MSXLIB_H, Resources_H
{
function Logo_Init () : void
{
VDP_ScreenOff ();

Bitmap_Load (rsc_bmp_nlklogo, 0, VDP_BANK_ALL);

Screen_Clear (0);
Screen_Flush();

VDP_ScreenOn ();

_posY = ubyte(24-RSC_LOGO_HEIGHT);

_timer = GetTickCount();
_timer2 = _timer;

while (1)
{
Screen_DrawTile ((32-RSC_LOGO_WIDTH)/2, _posY, RSC_LOGO_WIDTH, RSC_LOGO_HEIGHT, 0, 16);
Screen_Flush();
   
if ((GetTickCount() - _timer) > 200 || PPI_IsKeyPressed (PPI_KEY_SPACE))
{
break;
}
else if ((GetTickCount() - _timer2) > 1)
            { 
             _timer2 = GetTickCount();
             if (_posY > 4) _posY--;
            }
        }
}
}

La forma de trabajar, desde la consola del MSXDOS del MSX3. Desde ahí, tengo un DOSScript (un MAKE) creado para la ocasión, donde exporto los gráficos, música, sprites, etc. y compilo todas clases maravillosamente. Eso me genera un GAME.ROM de 128Kb. Preparado para ser usado mediante un MAPPER ASCII8.

¿Como se depuran y prueban las cosas?

Pues por ejemplo con el comando:

C:> PLAY GAME.ROM /MAPPER ASCII8 /DEBUGBP Logo_Init

Esto arranca el virtualizador MSX con mi ROM y detiene su ejecución para mostrar el debugger (Work In Progress) con el que poder ver el código, ver la memoria, registros, etc. Hay mucho por mejorar pero ya se puede trabajar decentemente con esto.


El AS genera información (archivos) de depuración que luego el debugger es capaz de leer para mostrar cosas útiles.

El código que se genera del PI al ASM Z80 todavía es optimizable, vamos, una barbaridad mejorable. Lo bueno, es que va a ser relativamente fácil mejorarlo tal y como veo la forma en la que se genera. Pero vamos, es aceptable y como GAZZERU es un MEGAROM pues me da un poco igual si me acaba ocupando unos cuantos Kb de más. Pero habrá un peephole de esos :)

Bueno, ya me he quedado a gusto contando mis hazañas, jajajaja. Me hacía ilusión contar como van avanzando las cositas del MSX-VR. A tope pues!! Gracias por dedicarme un rato de vuestro tiempo :)

Saludos!

lunes, 20 de julio de 2015

Summerlander!!!, new MSX-VR version 0.0.24 updated!


Summerlander! is the new MSX-VR version 0.0.24 of this operating system fully compatible with MSX standard. Now with MSX2+ too!!

DOWNLOAD Windows version 0.0.24

Some of the improvements of this version:

* Added MSXDOS :: Screen Scroll for accessing text clipped. Use [CONTROL] + Up/Down for scrolling.
* Fixed MSXVIEW ::  Bug with listbox selection
* Fixed MSXVIEW :: Fullscreen/Console mode window activation
* Added MSXDOS :: Screen Scroll HOME/END. Use [CONTROL] + Home/End for scrolling
* Fixed MSXDOS :: Mount error management
* Fixed MSXVIEW :: Several problems with fullscreen & resolution contexts
* Fixed MSXDOS :: Running APK files
* Fixed MSXVIEW :: AspectRatio in window/fullscreen modes
* Fixed MSXBASIC :: Fileextension format in FILES
* Fixed MSXENGINE :: Y8950 didn't work. Now it sounds!!!
* Add MSXENGINE :: GameReader mapper. Now you can work with real hardware.
* Fixed MSXENGINE :: SpaceManbow scroll
* Added MSXENGINE :: Screen 10/11/12 YJK Modes
* Fixed MSXBASIC :: Minor bugs between BASIC and HLS_Editor
* Added MSXBASIC :: Support for KILL command
* Added MSXENGINE :: Initial Support for MSX2+ with 512kb.
* Added MSXENGINE :: Support for Raspberry PI
* Added MSXENGINE :: Initial BASIC support for Raspberry GPIO (_os("gpio_init"), etc.)
* Added MSXPLAYER :: Added VGM/VGZ files (support for AY8910, YM2413, Y8950, Konami SCC chips)
* Added MSXPLAYER :: You can play with wildcards *.ZIP, *.*, *.VGZ, etc.
* Added MSXVIEW :: Support for overscan margins (config.xml and desktop)
* Fixed MSXENGINE :: AY8910 plays correctly synthesized voices (laydock 2 presentation screen) 
* Added MSXENGINE :: Added new sound chip - SN76489
* Added MSXENGINE :: New mapper and floppy disk drive support for Panasonic (TC8566AF controller)
* Fixed MSXENGINE :: Improved sound chips emulation and quality.  
* Added MSXVIEW :: Show/Hides menu in fullscreenmode with LCTRL+LSHIFT+M

Thank you for your support!

miércoles, 15 de julio de 2015

In the middle of the night ....

Mientras sigo cerrando la versión 0.0.24 del MSX-VR Operating System :) que ya soporta MSX, 2 y 2+ entre otras muchas novedades ... os dejo un video de unas pruebas del MSX-VR haciendo uso del GPIO de la RASPBERRY. Está gracioso trastear con el MSXBASIC.
Saludos!!




domingo, 19 de abril de 2015

Fin de semana MSX-VR

Buenas!! cómo va?! / Hello! how it's going? :)
Contaros que este fin de semana, he podido dedicar otro ratito al MSX-VR y sus cositas.
La idea era probar la nueva tarjeta de Leonardo Padial y ver hasta que punto permitía hacer cosas el GAMEREADER en cuanto a compatibilidad hardware. Os cuento:

Experimentos y pruebas con el GAMEREADER...

MEGAFLASHROM del Pazos
Un cartucho útil en el desarrollo de ROMS y también para poder meter juegos SCC, etc. Vamos, totalmente aconsejable. Además tiene un botoncito de reset súper atractivo :)
Estuve probando que se podia LEER y GRABAR en la FLASHROM y que todo funcionaba bien. Pude probarlo con el OFP y también con el juego MonsterHunter. Todo funcionó maravillosamente bien.



MUSIC-MODULE
Tras esto pensé en probar este cartucho y ver si era capaz de sacar audio a través de sus salidas RCA. De manera que, si podía escribir en los puertos del dispositivo y esto era posible, en teoría debería salir sonido por ahí. Bien, eso hice. Conecté y de repente arrancó la ROM del MUSIC-MODULE .. pasote total!! jajajajaja .. pero no sonaba nada. Si estuve mirando que llegaban los datos a los puertos del GAMEREADER pero no sonaba la música así que sospecho que debe ser la señal de sincronización con la CPU o algo, vamos los timers internos, que como no tienen reloj no se enteran o vete tu a saber. La cuestión, que la música no sonaba. Porras! :(




TOSHIBA HX-MU900
También decidí probar con este cartucho aunque suponía que ocurriría lo mismo que con el anterior. Efectivamente así fue. Sin embargo, subidón al ver que arrancaba la ROM :)



FMPAC SRAM
Quería estar seguro de que las escrituras no daban problemas con otro tipo de memoria, así que probé a intentarlo con la SRAM de este cartucho. Ningún problema. desde el MSXBASIC5, hice un par de escrituras y luego leí el resultado y todo indicaba que funcionaba perfectamente.

Finalmente, con todas las pruebas acometidas, asaltamos al invento de Padial...

LPE-4FMB-V8SKP
Que permite trabajar con una memoria DRAM muy cachi y configurable a través de unos puertos para poder tener mappers tipo ASCII y similares. De manera que se graban ROMs, DSKs y tal y luego eso se ejecuta todo "on the fly" y divertidamente.


Las pruebas obtenidas finalmente es que por lo visto el GAMEREADER no sabe guardar en DRAM. O eso han parecido indicar todas las pruebas ... Ohhhhhh! :) .. pero bueno, ha sido un fin de semana interesante para probar muchas cosas en el GameReader e ir pensando en como mejorarlo.

Para alegrarme un poco, decidí probar el nuevo cable RCA para poder conectar al RASPBerry2 a una tele SONY TRINITRON súper molona y por supuesto, probar el MSX-VR arrancando en esta misma CRT ... Ohhhh my god!!!  esos pixelacos ese toque mágico .. madre mía XD



Atentos al refresco diagonal de la foto! :) los Iphone no son capaz de captar la belleza máxima de los 50Hz de las CRT :)

Saludos!!

sábado, 28 de febrero de 2015

Por fin!! Knightmare Remake!


Por fin!! Aleluya hermanos! :) ... después de jamones, cajas regalo, aplausos cada vez que iba al supermercado y rezos en multitud de religiones heterodoxas ... hemos conseguido concluir al 100% la proeza de este remake maravilloso, para mí, más alucinante y flipante y genial que he tenido y jugado nunca en mi MSX. Por supuesto, se trata del KNIGHTMARE de, a sus pies mi señora: Konami.


TRAILER 


A costado un tiempo. En un primer intento mágico y por el que conocí a mi amigo "Demon", ha pasado mucho tiempo. Nunca pensé que hubiese tanta gente interesada en este juego, pero os puedo asegurar que somos muchos los que guardamos con especial cariño la existencia de un juego como este en nuestros corazones.

Aún recuerdo, mi Philips VG8020, tendría 14 años. Mi primer ordenador. Recién terminado 8º de EGB, Con aquel ordenador, un lote de 100 juegos. 100 juegos bastante lamentables, igual se salvaban 2 o 3 ... pero entre el misticismo de algún Checkum Error y la vanagloria de algún Syntax Error ... aquello era la leche limonera, y uno, disfrutaba del Tragamanzanas, como si no hubiese un mañana :)

Recuerdo que comencé a conocer gente que tenía MSX también. Se cruzaban las primeras cintas. Vi, a lo lejos, algún cartucho, la leche! ... los fines de semana, te ibas con los colegas a recorrer los billares y ver esas maravillosas Arcades. El videojuego en aquel entonces era algo distinto, era distinto, los que vivimos aquella época lo sabemos.

Bien, pues, un día, mientras pintaban la casa de mis padres, recuerdo que tenía el MSX encima de la mesa del comedor. Me dejaron una cinta que contenía algunos juegos de Konami ... entre ellos .. el Knightmare ... Bload "cas:" ... piiiii poooooooooo piii .. Found:Kmare ... piiiii pooooooooooooo...
La Ostia! XD

Rebotobadeula!!!! .. ese logo de Konami subiendo ... le doy al Space ... flipé! .. creo que hasta lloré .. porque dije ... jooooooder!! en este ordenador hay juegos como los de las Arcades!!! pero que pedazo de juego es este (tened en cuenta si lo comparáis con el Tragamanzanas jajajajajaaj)

Esa rata representaba el horror del mundo!!!
Aquel día .. recuerdo haber sido un niño regordete feliz ... fue mágico :)

Esto si era algo digno de ver!! con Bosses y todo!!
Gracias Konami y gracias a quien me dejara la cinta aquella y no me acuerdo (que conste que tengo el juego original, lo compré años más tarde por Ebay. De hecho tengo varios originales)

Bueno, satisfecho por el trabajo hecho. Espero, de verdad, que os guste. Que lo disfrutéis y que sigáis dando vuestro apoyo y ánimos por las cosas que hacemos con todo el cariño del mundo.

Saludos!!

sábado, 14 de febrero de 2015

MSX-VR en formato Hardware

Bueno, ya tengo el hardware mínimo para conseguir montar un MSX-VR compacto, como los MSX de toda la vida ... a ver que me ingenio para compactarlo todo :) porque en hardware soy bastante negado.


La verdad es que mola ver todo el tinglado este :) 
CARTUCHO - Con el USBReader.
DISKETERA 3'5" USB
Dispositivo Android (la idea será pillar una Rasberry Cheescake 2 de esas a ver que tal)
Teclado Bluetooth (aunque el de la foto es USB)
Y por supuesto, el mega MSX-VR Core Inside.

Ale, seguimos dándole caña de la buena. Saludos!


domingo, 1 de febrero de 2015

New MSX-VR Update!


Aquí tenéis otra actualización con muchas más cositas y más fiel a la idea de ordenador MSX. Arrancando en modo consola :)


Lista de mejoras:

* Fixed MSXVIEW :: Infinite loop distributing file links in desktop when desktop is full
* Added MSXENGINE :: APP file (zip files that include information, code and resources)
* Added MSXENGINE :: Support for ZIP files (mount drive)
* Fixed MSXVIEW :: Link path doesn't run ok when change the default drive
* Added MSXENGINE :: Run APP files
* Fixed MSXVIEW :: A crash with FileExplorer
* Added MSXENGINE :: Support for hidden drives
* Fixed MSXDOS :: Bugs and improvements in Mount command (added /H /M /U params)
* Fixed MSXENGINE :: Mixing of audio volumes 
* Added MSXVIEW :: Support for folders in desktop
* Fixed MSXVIEW :: Improved naming and link distribution in desktop
* Added MSXENGINE :: Joystick & Mouse support - Mouse need testing
* Added MSXPLAYER :: New Menu section for PortDevices Plug & Unplug
* Fixed MSXPLAYER :: Support for 48Kb ROM
* Fixed AS_TOOL :: (Compiler & Linker) Solved a lot of bugs and problems. Tool improved a lot (macros, preprocessor, banks-megaroms management)
* Added MSXVIEW :: New menu options to run MSX1 & MSX2 stand-alone emulation
* Fixed MSXDOS :: Copy files to folder (copy *.lib ..)
* Fixed MSXDOS :: Tab behaviour with subfolders
* Fixed TXTEDITOR :: Minor bugs with highlight syntax
* Fixed MSXENGINE :: Added zoom sprites support for MSX1
* Added MSXENGINE :: Better emulation of PPI. Added I8255 Intel controller.
* Added MSXENGINE :: New suppport for WD2793 Disk Controller
* Added MSXENGINE :: New Support for PHILIPS_FDC ROM - DSK Emulation
* Added MSXENGINE :: Fixed memory subslot management
* Added MSXENGINE :: Added Y8950 + ADPCM
* Added MSXENGINE :: New Mapper for PACSRAM
* Fixed MSXENGINE :: RAM Mapper fix
* Added MSXENGINE :: System starts in console mode. You can choose when enter to MSXVIEW.

Aunque esta versión ya permite montarte tu propia ROM compatible MSX. Antes tengo que publicar usando ese sistema un juego propio. Es la única forma de testearlo todo bien y solucionar posibles bugs que puedan existir, que los habrán.

Podéis descargar la versión desde la sección MSX3 Project

viernes, 23 de enero de 2015

Philips se lanza con los MSX-VR!

"Finalmente PHILIPS se lanzará a la fabricación de los nuevos MSX-VR ..."

Como titular de la prensa del sector informático hubiera molado mucho!! pero, lamentablemente vamos a tener que esperar, igual un día de estos se convencen :)

La actual versión del proyecto MSX-VR (la 0.0.23) y que no está subida todavía. Es bastante estable y su compatibilidad MSX1 y MSX2 está bastante bien. Esta versión ya incluye toda una suite de desarrollo, que permite generar ROMs y programas compatibles con la norma MSX. Además de poder crear aplicaciones genuinas MSX-VR.

Por ese motivo y viendo que la documentación de este proyecto es prácticamente nula. Me gustaría poder documentar lo que existe en estos momentos y que los usuarios puedan probar y saber que hay, que funciona y como se entiende este proyecto.

Me he tomado la licencia de plantear como portada del manual de usuario, esta portada totalmente remasterizada:


Básicamente porque con este manual, el de un PHILIPS VG8020, aprendí a programar hace ya muchos años. Ojalá todo esto, pueda servir para que algún que otro navegante conozca el MSX, quiera aprender a programar o lo que sea.

En fin, os dejo, voy a volver a llamar a la gente de PHILIPS a ver si los convenzo para que hagan un prototipo de ordenador para meter el MSX-VR :)




sábado, 17 de enero de 2015

Xinatra is here!


Pues ale, es un orgullo y una satisfacción poder pasaros el enlace de descarga del Xinatra (por el momento para Win32) ... juego hecho en off-the-record de la vida real :) .. con pasión, amor, cariño y majestuosidad. Ale va, a descargarlo que hay que freír el ancho de banda!

XINATRA DOWNLOAD WIN32

Podéis seguir informados con respecto a las novedades de este juego en el blog de DEMONVIDEOGAMES.


jueves, 15 de enero de 2015

Red Forces


Aún recuerdo el día en el que Emilio (al que más tarde apodaron "musiquito" y se convirtió en una leyenda de los Elíseos Parisinos) vino a las oficinas Nerlaskeras. Lleno de ese espíritu que aún lo caracteriza, se dispuso a llevar adelante una idea propuesta por una mente retro como la de un servidor.
El objetivo: conocer NLKEngine y publicar el remake de un juego mítico (GreenBeret)

El RedForces se publicó como algo totalmente Freeware. Intentamos ponernos en contacto con Konami para pedirle algún tipo de permiso o concesión. No hubo respuesta. Igual un día de estos me llega un email destructor. Con la de años que han pasado, a saber.

Finalmente el proyecto se desarrollo con éxito. Dispone de varios finales y en general, a la gente le gustó bastante.

Como reflexión y en mi opinión, la verdadera creación de videojuegos nace de la ilusión por hacer "el juego" y no por querer ganar dinero a su costa. En el momento en el que el juego se crea por motivos económicos, el propósito pasa a segundo plano. Es la cruda realidad. Procede resaltar que, a Nerlaska, hacer este juego le supuso un coste nada despreciable, del cual, ni ha pretendido ni esperado conseguir recuperar. Y es que, la gran mayoría de veces, conseguir llevar adelante una idea o ilusión, no tiene precio posible.

Gracias a todos los que han hecho posible este juego y a todos los que han decidido invertir parte de su tiempo en jugarlo.



DOWNLOAD
Win32

miércoles, 24 de diciembre de 2014

Ya tenemos portadita para el Xinatra

Y queda tal que así ...



Me encanta!!!! ... no lo he podido remediar y he hecho una versión de como quedaría tipo Cartucho Konami :)



Mola, a que si?

lunes, 8 de diciembre de 2014

New MSX-VR version - Winter is here!



A new update for the MSX-VR project is here. I hope you enjoy it!

Better CPU/VDP debugger, tool for compiling Z80Asm and linking with MSXVR-DOS5, emulation improvements and other cool features.

What should be the next step? Please, let me know about your wishes:

* Create tools for Pattern and Sprite creation
* Create a tool for music edition (PSG/SCC/FM)
* Continue improving the emulation system
* Maybe continue improving the MSXVR-DOS
* More progress to MSXVR-BASIC
* More support to MSXVR-VIEW
* Continue improving the Developer tools (compile/link/debug)


------------------------------------------------------
0.0.22 - Winter is here! version
------------------------------------------------------

* Fixed MSXENGINE :: Better GameReader Detection and management. Better ROM Detection.
* Added MSXDOS :: Improved GR command: GR [/M1 /M2 /M2P /MTR] [/D] [/R]
* Fixed MSXENGINE :: Detecting ROM in games database
* Fixed MSXENGINE :: An interlock bug with multiple MSX2 machines
* Fixed MSXENGINE :: Visual garbage at bottom of screen when scanline212/192 changes
* Added MSXENGINE :: Debug SPGT 
* Added MSXBASIC :: First support for PDL and PAD functions
* Added MSXBASIC :: STICK function has joystick support
* Added MSXBASIC :: Command _EDIT for edit the MSXBASIC code in the text editor
* Added MSXBASIC :: Command _DEBUG for open the debug window
* Fixed MSXBASIC :: Behaviour of the code updated from MSXBASIC console
* Added MSXBASIC :: Hot key CONTROL+B -> Go Basic  and CONTROL+R -> Run Basic
* Fixed MSXBASIC :: Input A$ didn't read correctly the input value
* Fixed MSXBASIC :: Reading command in the last row of the screen
* Fixed MSXBASIC :: Scrolling in the console freezes the computer
* Fixed MSXBASIC :: Renum behaviour
* Fixed MSXBASIC :: Command LET generates 2 sentences LET when compiling
* Bugs :: Aguila Espacial -> sprites don't disappear, screen 3 does not show.
* Fixed MSXENGINE :: Fixed pattern indexing in Sprite Refresh Drawing (Track&Field Sprites now are working ok!)
* Fixed MSXENGINE :: A lot of improvements in VDP: adjust registers, scanline refresh, etc. (SpaceMambow runs better now!)
* Added MSXENGINE :: Looking for ROM in database when ROM is played.
* Fixed MSXDATABASE :: Added as MSX2 system for those Konami MSX2 Roms
* Fixed MSXDOS :: /P works on command <type>
* Added MSXDOS :: /? to get some help from command
* Added MSXDOS :: Command AS for compiling/linking ASM sources
* Added MSXDOS :: Command XDIR
* Added MSXDOS :: Command REN/RENAME
* Improved CPU Debugger for MSXROMPLAYER (visuals, breakpoints, behaviour, etc.)    
* Updated MSX3LOGO :: Thank you to KDL
* Updated SUIL
* Updated NLKENGINE

lunes, 10 de noviembre de 2014

XINATRA .. Primer video!



Buenooo .. finalmente .. podéis ver un adelanto de lo que ha supuesto estos meses de trabajo con mi amigo Demon. Mano a mano, tirando de bytes a tocateja y en nuestros ratos libres :)


Ya tenemos los 5 stages listos. A falta de ajustar detalles y finalizar algunos enemigos del último Stage ... pero esto ya tiene una pinta genial. No sé, igual es porque soy padre de la criatura, pero creo que el resultado está chulo.

Para cerrar el equipo del juego, el músico (Juanjo/Microtono) está trabajando en la BSO del juego. Ha empezado hace poquito y solo tenemos un tema que está muy chulo, suena unos pocos segundos al comienzo del video (a ver si  subo otro vídeo con el tema completo sonado en el main menu). Para el resto del video suena un tema del OTOMEDIUS de Konami. Nos sabia mal meter un tema de terceros pero teníamos muchas ganas de enseñar lo que hay hecho y también ofrecer/mostrar la idea de banda sonora que llevamos en la cabeza para este juego.

Nada más .. esperamos que os guste el vídeo. La idea es que salga para estas Navidades!




sábado, 8 de noviembre de 2014

Mis pequeñines!

Bueno ... después de un tiempo guardados, había que sacarlos a pasear ... míralos que contentos!


Lo bueno de estos animalejos es que no dejan mojones :)

Tocaba sacarlos, enchufarlos a la red eléctrica y que sus condensadores, disipadores, electropotenciadores y nucleofosfatos se volvieran a realimentar.
Los electrones han de circular y como el danacol para el colesterol .. estos súper ordenadores del pasado han de conectarse de vez en cuando a la red, enchufarles algún juego y darles el calor que se merecen.


En este caso ha sido un precioso SONY HITBIT y mi primer MSX ...el VG8020 de PHILIPS. 

Que pasote por favor!!





miércoles, 1 de octubre de 2014

XINATRA

Bueno, ya casi está el Stage2 y comenzado el Stage3 ... a falta de un total de 5 Stages teorizados .. nos hemos animado a publicar cosas para que el mundo lo sepa :)



XINATRA es un juego planteado como los antiguos juegos de recreativa, de los de antes ... desde el mismo momento en que lo concebimos, el compañero Demon y un servidor, lo hicimos pensando en que lo jugaríamos con una arcade cabinet colocada en nuestro comedor. Si bueno, de ilusión también se vive, a ver quien es el machote que le dice a su señora que va a colocar una cabinet en el comedor jajajajaja Chungo!!!


En fin .. con esa ilusión nos metimos en el proyecto y la verdad es que está resultando muy divertido ir avanzando en él. Dedicamos unas pocas horas semanales, el avance es lento pero seguro y a este ritmo pues igual para finales de año hasta podemos sacar alguna Beta.


El juego se está programando con NLKEngine ... yo es que no uso otra cosa :) y se está montando todo usando 3D pero usando Sprites ... ya estuvimos probando esta técnica cuando el prototipo del Twins Adventure y nos gustó la forma en la que se montaba y gestionaba todo.

Pues nada, ya os iré contando más cosas.





lunes, 1 de septiembre de 2014

Más avances en el proyecto MSX-VR

No me he olvidado ni lo he abandonado :) .. voy un poco liado con otras historias, como suele ser la costumbre, pero esto no lo dejo. Voy abordando diferentes cuestiones y cosas, según la motivación universal y gota a gota, pero rellenando el pedazo de piscina que supone este proyecto semana tras semana.
Durante este verano he estado mejorando cuestiones de emulación MSX2 y asegurándome que funcionaban todos mis juegos Konami originales.
Lo último que he estado afinando y trabajado .... os dejo un vídeo donde se ve algo ... es con respecto a un compilador/linker ASM incluido en los comandos MSXDOS (el as) y del uso del Debugger ... todo WIP (work in progress) .. pero va tomando color.
A ver si consigo montar algún "juegacho" con todo esto, aunque sea sencillo, pero tocará hacerlo para poder sacar bugs y mejorar cosas.


Efectivamente, la idea es crear una suite de desarrollo MSX completa. Y mi idea sería no pararme en un compilador ASM, sino además, poder convertir NLKScript a ASM que por ahí, también tengo algo medio funcional. Ale máquinas! os dejo a la pelea!

jueves, 3 de julio de 2014

And the winner is....


PRETTY KINGDOM
MSXdev'14 WINNER!


Finalmente y tras una polémica innecesaria y negativa, ha concluido el concurso MSXDev'14 dandonos la victoria. Quiero dejar claro que URIDIUM ha quedado cerca y es un gran trabajo y un gran título para nuestros MSX, al igual que otros títulos presentados en esta DEV .. pero bueno .. al final nos ha tocado a nosotros y uno pues se alegra. Mas por sus compañeros de equipo que por uno mismo.

Desde aquí al resto de personas que han participado, que ánimo, en serio, hay juegos que a mi me encantan en su planteamiento, como el Gorgeus o el Nayade .. sobre todo un juego de naves tan potente que con más tiempo se podría convertir en un MegaROM de esos de Chapeau!

MSX2EVER - MSX2GETHER .. que no se nos olvide! .. fuera polémicas, todo constructivo, todo hacia delante, aquí ganamos todos porque cada segundo, cada minuto, cada hora que dedicamos al MSX lo gana toda su comunidad.

Y ahora me bajo a comprarme un bocata en honor de todos los concursantes del MSXDev!! :)

Nos vemos!!

sábado, 14 de junio de 2014

Pretty Kingdom Published!!!

Bueno, pues un año más, muy contentos de haber concluido con éxito nuestro propósito de publicar un juego en el concurso MSXDev. Como ya sabréis algunos, se trata del juego Pretty Kingdom, un juego tipo puzzle con algo de arcade, muy colorista (gracias al trabajo de Dario Fas) y con una música fantástica del maestro Wyz que rezuma puro Konami por todos sus costados.


En cuanto al desarrollo...

Los tiempos se han llevado con calma, lo cual se agradece y mucho. No hemos sufrido estrés por hacer el juego, la verdad. No como en MonsterHunter que fue terrible :)
Sin embargo, le hemos dedicado constancia y no lo hemos dejado estar desde que publicamos la entrada en el concurso y esto creo que es clave.

En cuanto a lo técnico, el juego se trata de una ROM de 32Kb. Lo normal. Bueno, la verdad es que viniendo de programar los MegaROM, se ha sufrido y mucho esto de los 32Kb que se terminan enseguida. Hubo que pensar bastante bien como codificar las pantallas para que ocupasen lo mínimo posible. Todo byte que se ha introducido esta metido con el horror de que la ROM se pase de tamaño :)

El juego se ha desarrollado usando SDCC. La lógica del juego pues está en C y luego las rutinas de acceso a BIOS, música, sonido, gráficos en Ensamblador embebido.
Los gráficos los exportamos de photoshop a formato un formato gráfico comprimido MSX. La música nos la pasaban en formato .wyz y con una tool de NLKEngine se empaquetaba, se preparaban unas cabeceras y se dejaba lista para usarse dentro del engine del juego.
Construimos un pequeño editor para las pantallas, montado con NLKEngine y que machacaba la ROM para poder probarlos con el emulador y básicamente, esa era nuestra suite de desarrollo.

A última hora, probando ya el juego en MSXs de verdad, vimos cosas maravillosas que en emulador no ocurrían, lo cual, me sorprende y aún hace más mágico el universo retro y sus retro ordenadores que nunca podrán copiarse al 100%.

Pero ya está! publicado :) Esperamos que os guste y que consigáis llegar hasta el final del juego ... porque tiene final .. y no es un "GameOver" .. lo prometo! jajajaja  :)

Os dejo un vídeo:


Descargar la ROM para MSX

Entrada a la ficha en la página oficial del concurso MSXDev 

sábado, 7 de junio de 2014

GAMEREADER Resurrection!

Un poco de historia .. que sino no tiene gracia esto :)



Intenciones

Con el propósito del proyecto MSX-VR .. ese en el que ando liado. Pues tenía en mente el hecho de poder conectar cartuchos de MSX real a los dispositivos o dispositivo hardware final que ejecutara todo el código del proyecto (véase un Android o un Rasberry o un Windows o un Linux o lo que sea)

Llevaba tiempo detrás de uno de esos "cacharritos" que sacó ASCII y más tarde SUNRISE ... y hace un par de semanas pues, se me dio la oportunidad de conseguir uno. Y eso hice, lo adquirí por un módico precio.

Lo cierto es que, cuando lo adquirí, no pensaba encontrarme tan solo en el fascinante mundo de entender el artilugio este ... pero vamos .. la soledad fue total XD .. menos mal que la gente te anima y apoya por la causa .. pero lo que es documentación o una mera pista de por donde van los tiros .. cero patatero.

Para decir verdad, el aparato este viene con un driver para Windows 32 bits hasta el XP. Y claro, de esto hace unos años y hoy en día pues ya están los Windows 64 bits y el Windows 7 y el Windows 8 .. pero no solo esto .. pues que también están los Android, los iOS, los Mac y los Linux y lo que venga bien.

Así que mi objetivo era ... entender este aparato y conseguir hacerlo funcionar en múltiples plataformas.

29 de Mayo

El aparato llega a casa y antes de tirarme a saco a mirar a bajo nivel, escupiendo bytes al driver USB a ver como me insultaba .. pues digo .. como todo, vamos a tantear el Internet.
En el Internet .. no hay nada de nada. Pero nada :)
Alguien habla del GameReader e incluso comenta cosas sobre el modelo de ASCII y de SUNRISE.
También veo pues que el del emulador del BLUEMSX se curró un dumpeador y un interface para atacar la MSXGR.DLL (el driver maravilloso y obsoleto que existía)

En conclusión .. No hay nada.

Así que lo siguiente es preguntar a la gente involucrada en el aparato .. no? .. pues eso hago .. hablo con la gente de SUNRISE y por lo visto, del hardware no tienen ni idea. Porras!!
Muy amables (todo hay que decirlo) ... me remiten al japones responsable de la creación del hardware ..ohhhh!!! mágico .. busco por Inet y el artista es el que está detrás de OCM (One Chip MSX) entre otras piezas de hardware magnificas.
La cuestión, consigo email y ataco directamente, primer intento ... resultado .. 0 respuestas jajajajaja
Persisto .. digo . .será porque soy un español maleducado con un inglés de pueblo poco polite .. ya sospecho que el hombre este será complicado de entrarle....
Pregunto a colegas del MSX y me dan alguna referencia alternativa de contacto .. la cosa no es fácil por lo visto. Y vuelvo a intentarlo.
Segundo intento ... miro en blogs de inglés polite, me lo curro ahí a tope como Shakespeare .. Mister y todo pongo .. resultados ... 0 respuestas!!! jajajjaja que triste soy.

En fin, durante dos días vago por las calles, triste ... no sabia que hacer con la caja negra esa que tenía encima la mesa... y como conectarme al trasto este por Dios!!

La Solución!

Que os creéis que os lo voy a contar . .así de fácil :)
Enga va ... pues na . .se me ocurrió meterme a escuchar directamente del driver USB de un Windows XP .. ahí .. mirando paquetes pasar en hexadecimal.
Monte un XP virtual y na . .a experimentar con el driver MSXGR.dll que si rula en XP y a ver hexadecimales pasar.
Cuando hackee todos los códigos .. pues me fui a mi Windows 7 original :) .. y ya supe que decirle al driver USB y en consecuencia al cacharrín .. lo pillé!!

Veis que fácil! :)

Prueba Empírica

He integrado todo este rollo en el proyecto MSX-VR y he montado un comando MSXVR-DOS llamado <GR> para ir haciendo probaturas. Un vídeo para vuestro deleite:



Por lo demás, a seguir trabajando!!

Saludarros!












viernes, 9 de mayo de 2014

ET The Extra-Terrestrial






El día 6 de Mayo del 2014, por la noche, decidí quedarme a ver un programa llamado Cuarto Milenio. En este programa pues cuentan cosas de extraterrestres, fantasmas, etc. En fin, cosas místicas.

La cuestión, es que comentaron lo de los videojuegos de ATARI encontrados en un estercolero de México. Juegos que enterró en 1983 ATARI por motivos que ellos sabrán.
Me pareció súper chulo este hecho, por un lado por el misterio de tener que tirar a la basura miles de cartuchos, por otro, el que hace poco se decidieran a desenterrarlos.
Entre los miles de cartuchos enterrados, el juego de ET el extra-terreste. Juego basado en la famosa película de Spielberg que a tantos nos arrancó más de una lagrimita, snif! :)
Pues bien, con respecto al juego este de ET. Investigo por la red de redes y veo que lo ponen de vuelta y media. La gente lo humilla, dicen que es el peor juego de la historia, que llevó a la banca rota a Atari, etc. No dicen nada bueno del juego, pero nada bueno ... así que mi cabeza comienza a querer descubrir la verdad, desde la óptica del programador y no desde la del jugador. 

Detrás de este juego se encuentra el nombre de su diseñador y supongo programador: Howard Scott Warshaw. Un señor que por lo visto, esto de la informática le vino así como de rebote .. porque parece que andaba más vinculado a cosas de psicología. Lo cual, para cosa de diseño de juegos, parece que algo le pega. La cuestión, que el señor Warshaw se ganaba la vida como diseñador de videojuegos.

A lo que vamos, día 7 de de Mayo (a la mañana siguiente) ... pues me da por plantearme un reto .. uno de tantos :) .. como el de comerse 8 sandwiches .. o el de los dos kebab más un durum ... cosas raras en las que siempre me acabo liando yo solo ... y como no, no podía ser distinto ahora. De todos modos, esto tenía un objetivo más pretencioso ...el de buscar la verdad, como hacía el agente Malder en la famosa serie :)

EL RETO

Hacer el juego de ET en un plazo no superior a 48 horas.

MANOS A LA OBRA!

Primero me vi un video del juego, de un señor que con toda su paciencia se lo pasa entero .. viendo el video comienzo a tener sudores fríos .. no entiendo nada!! XD



Lo siguiente, me pillo 3 guías del juego ... acabáramos!! .. cada una da detalles distintos de como se pasa y de la funcionalidad del mismo .. Paco Porras! :)
Acto seguido, usando el emulador java de Atari .. me decido a ver que guía dice la verdad y cual no .. por lo visto .. la versión fixed (una que alguien corrigió para evitar bugs) y la no fixed .. pues son ligeramente distintas o a saber que ROMS estoy ejecutando .. como se puede observar es el caos dentro del caos.

Tras conseguir una maravillosa imagen de como se conectan las pantallas entre sí (una verdadera locura cubica 3D) ... y mirando su comportamiento loco en la máquina Java .. comienzo a ir entendiendo y asimilando la idea del juego. No sé porque hizo esto el señor Warshaw, no sé si por limitación de memoria o cosa técnica de la consola o solo por perversión de psicólogo :)


A más que avanzo en su lógica .. más recuerdo ese tipo de juegos de la época .. donde todo es un misterio .. te compras un juego pero no sabes lo que compras .. porque es todo secreto.
Has de descubrir .. has de invertir tiempo y horas hasta entender la esencia misma de su naturaleza. Compartir con tus colegas los nuevos descubrimientos ... es algo mítico!
Sin embargo, cabe decir, que este juego sigue siendo un caos! :)

En cualquier caso, la IA me sorprende, que un personaje te atrape y te lleve a la cárcel .. es genial!! Esto ya es más de lo que hacen muchos juegos AAA del año 2014.
El sistema de símbolos extraños que según dónde estás hace cosas .. es como ver "Alien Generation" pero con el video rebobinado hacia atrás. Fantástico! . al final hasta se entiende que cada uno tiene su funcionalidad .. muchas veces poco útil.

Es día 8 .. ayer pude dedicar unas 6 horas al juego. Hoy podré dedicar unas 10 horas, por amor propio y por amor al arte... he conseguido bastantes avances pero no voy a poder terminar con precisión pixel todo el universo ET. Maldición!! .. la máquina de estados del engendro está llena de meticulosos detalles. 


He capturado la musiquilla del principio, algunos sonidos y más gráficos .. acabo el día con prácticamente el juego completado. A falta de pulir detalles de perfección.
El juego se puede jugar de principio a fin. Me faltan algunos gráficos por ripear (muy pocos, nada a penas)  y seguramente algún sonido que se me pueda haber escapado. Pero bueno, el juego está todo ahí. Desde que la nave baja, hasta que la invocas para ver el final de la casucha con el Elliot pegando vueltas. Sus enemigos, comportamiento de powerups e incluso el sistema de puntuación (que como digo no acaba de quedar del todo claro viendo las guías)

Es día 9 .. se acabó el tiempo!

CONCLUSION

Os dejo un link con el estado del juego para Windows.

Mi reflexión es que este juego no es el peor juego de la historia. Quizás por los bugs y por el horror de caer y salir de los agujeros .. pero si consideramos el juego en si mismo .. para la consola que era y para los tiempos que eran .. año 82!! me parece impresionante la máquina de estados que tiene y la profundidad de juego y su misterio y su frustración y su todo .. esto tuvo que ser mítico en la época .. imagino a los colegas ahí intentado descubrir los entresijos .. ahí todos locos, compartiendo ilusión :) .. ay señor! si es que la humanidad avanza en cosas y retrocede entre otras al mismo tiempo.

Saludos! y amad a los videojuegos .. porque son bellos.