
============================================================================

                          st0rm SGE Source Code

                          (c)1998 David Snchez
                           st0rm@melodysoft.com

                        Released on 17th March 1999
============================================================================



NOTAS ACERCA DE LA VERSION
--------------------------

Esta versin de st0rm nunca lleg a ver la luz, bsicamente las nuevas
caractersticas son la inclusin de una GUI y el principio de emulacin
del sonido.

ES UNA VERSION NO ACABADA. La GUI, aunque semi terminada, no tiene asociados los controles a la emulacin en s. No debera ser mucho trabajo el terminarlo. En cuanto al sonido, la emulacin del Z80 esta implementada, sin embargo no est terminada la emulacin del PSG ni el DAC.



NOTAS ACERCA DEL CODIGO FUENTE
------------------------------


El codigo fuente lo puedes utilizar para:

- Usarlo como fuente de informacin para tus proyectos.
- Continuar el proyecto st0rm.
- Empezar un emulador desde 0 teniendo este como base.

Lo nico que pido si te es util y lo usas, es que lo menciones en tu
proyecto.


El principal motivo del abandono del emulador fue el aburrimiento del
cdigo que lo compone. En este ltimo ao, he cambiado rpido y muchas veces mi estilo de programacin, y francamente el de st0rm lo considero
prehistrico. Lleg un momento que para continuarlo tendra que haber
reescrito totalmente el cdigo cosa que decid no hacer por el odio que
tengo a repetir lo hecho y el trabajo que ello supondra.

La principal dificultad que encontrareis ser el no ver ni un slo
comentario, es un defecto mio pero la verdad es que nunca pongo comentarios cuando el cdigo slo lo voy a tocar yo.

DE TODAS FORMAS NO EXCLUYO LA POSIBILIDAD DE LIMPIAR UN POCO EL CODIGO Y TERMINAR ALGUNAS COSAS PARA SACAR UNA NUEVA VERSION.

COMO PODREIS VER, EL CODIGO ES UN AUTENTICO FOLLON DESORDENADO. NECESITA UNA LIMPIEZA DE ESPANTO.


COMENTARIOS DEL CODIGO

CORE DEL 68K EN ASM  ->  Bien, esto puede servir, est bastante optimizado
pero hay que terminar todos los opcodes; A parte, al estar funcionando
conjuntamente la versin en C y Asm me impedia realizar una modificacin que doblaria (quiza ms) el rendimiento. Lo malo es que ahora no me acuerdo de que era y tampoco tengo tiempo de verlo. Os mantendr informados.

RESTO DEL CORE EN C  ->  Este cdigo no es mio.

VDP  ->  Vale, funciona, tan slo necesita arreglos, (reescribirlo
en limpio mas bien, odio mis antiguos estilos) y pasar ms parte de
ella a ASM. Las rutinas en asm RenderLine, etc... parece que funcionan
bastante bien.

IO  ->  Tiene Bugs pero parece que funciona.

SONIDO  ->  Ms vale comenzar desde el principio; Por supuesto necesita
un core del Z80 en asm (la versin en C no es mia), y aparte era la
primera vez que tocaba el sonido cuando escribir esas lneas, ...

GUI  ->  Puede servir, tampoco es para tirarla a la basura ;), lo malo
es que est hecha en C, por aquellos entonces le tena mana al C++, que
tonteria, el C++ cambi mi vida de programador. :)

VESA  ->  Fueron cedidas por el programador de Atlaant, es aconsejable
reescribirlas en limpio.

RESTO  ->  Ni me acuerdo ya.

Por supuesto, HAY QUE RESOLVER LOS INTERMINABLES BUGS QUE HACIAN
QUE MUCHAS ROMS NO RULASEN. ESTOS ESTAN REPARTIDOS POR TODAS LAS PARTES
DEL CODIGO.

HAY CODIGO DESECHO DE DEBUG POR TODAS PARTES, ESTO HAY QUE IR LIMPIANDOLO


Pts de emulatronia ha sido quien ha pedido la liberacin del presente
cdigo para ver si alguien lo continuaba, CONTESTARE A PREGUNTAS
RELACIONADAS CON ESTE CODIGO EN UN FORO DE PROGRAMACION QUE CREAREMOS
EN WWW.MELODYSOFT.COM DENTRO DE LOS PROXIMOS DIAS.

El cdigo est tal como lo dej por ltima vez, tan slo he aadido unas lneas al principio de los fuentes y escrito este TXT lo ms rpido que he podido (tengo poco tiempo ultimamente), tampoco he probado a recompilarlo, pero... la ltima vez compil nop?

*** COMPILA PERFECTAMENTE CON WATCOM 10 Y TASM


OTRAS NOTAS
-----------

Pido disculpas pblicamente a todo aquel que haya escrito a mi anterior
cuenta de correo electrnico (melody@mx2.redestb.es), pero me ha sido
imposible contestar pues ya no dispongo de dicha cuenta. Lo nico que
queda es la pgina web que ya la podian quitar para evitar confusiones.

Mi nuevo email es st0rm@melodysoft.com. Me gustara que si alguien continua el proyecto me lo ensease cuando est acabado ;)


APROVECHO LA OCASION PARA HACER PUBLICIDAD
PASAROS POR MI PAGINA DE SERVICIOS GRATUITOS

http://www.melodysoft.com

FOROS DE DISCUSIONES, LIBROS DE VISITAS, ETC...


SALU2 A TODOS
st0rm



P.D. COMO EN LA GUI NO FUNCIONAN LOS PARAMETROS, HAY VAN LAS
     OPCIONES DE LINEA DE COMANDOS Y TECLAS ESPECIALES

     (SACADO DE LOS ANTERIORES TXT DEL EMU)

Uso: st0rm <opciones> <rom-name>.<ext>

Ej. st0rm -novesa ghoust.smd


Las extensiones que soporta son:

 .BIN (binario)
 .SMD (interleaved, Super Magic Drive)


Opciones:

-frame x        set frame skip
                en <x> se especifica el numero de frames que st0rm
                cuenta antes de visualizar uno. Ver "notas" para mas
                informacin. Las teclas 1 - 4 tienen la misma funcin.

-nocheck        disable checksum fix
                Con esta opcin desactivamos el checksum fixer. Hay
                determinados juegos que necesitan esto para funcionar ya
                que por lo visto contienen un checksum erroneo
                (intencionadamente) en su cabecera.

-wsync          wait v-sync
                Espera el sincronismo vertical antes de visualizar un
                frame.

-novesa         forces mode 13h, 320x200
                Desactiva el modo Vesa 2 320x240, usalo solo si tienes
                problemas al ejecutar st0rm. Ej. se cuelga antes de empezar
                o la pantalla sale distorsionada.

-nfcopy         disables fpu copy
                Desactiva el Fpu Copy, Es un metodo para transferir datos
                a traves del coprocesador, de 64 bits en 64 bits.
                Usalo solo si tienes problemas.

-fast           faster sometimes
                Esto hace que se llame a la Interrupcin Vertical antes de
                tiempo, lo que crea una mayor velocidad en algunos juegos
                pero otros dejan de funcionar, puedes testear con esto :)

-raster         enable raster effects
                Activa los raster effects que por defecto estan desactivados.
                Al activarlos automaticamente tambin se activa la H-Int que
                de otra forma esta desactivada. El F12 tiene la misma funcin
                durante el juego.

-window         disable window plane
                Desactiva el plano Window, F1 tiene la misma funcin.

-scrla          disable scroll A plane
                Desactiva el plano Scroll A, F2 tiene la misma funcin.

-scrlb          disable scroll B plane
                Desactiva el plano Scroll B, F3 tiene la misma funcin.

-sprs           disable sprites
                Desactiva los sprites, F4 tiene la misma funcin.

-nolines        disable line scroll mode (fast)
                Desactiva el modo de scroll H-Line (no vlido cuando los
                raster effects estn activados), esto hace que algunos
                juegos se ejecuten mas rpido perdiendo calidad.

-usa            hardware version = USA
-europe         hardware version = EUROPE
-japan          hardware version = JAPAN
                Con esto seleccionamos la version hardware de la consola,
                por defecto esta activada el AutoVersin

