Bennu Game Development

Foros en Español => Offtopic => Topic started by: folken on April 01, 2019, 06:35:03 PM

Title: Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: folken on April 01, 2019, 06:35:03 PM
Hola a todos mis queridos amigos de esta comunidad, bueno espero aún recuerden el Mazinger Z que hice para la PS2 con Bennu:


http://forum.bennugd.org/index.php?topic=4599.0 (http://forum.bennugd.org/index.php?topic=4599.0)


Bien, pues el tema es que navegando por internet me topé con el Jo-Engine, me pareció bastante interesante y me hice una versión del mismo Mazinger Z pero para la Sega Saturn. Por suerte tengo una consola modificada para hacer el SWAP, y pude probarlo, tanto en la consola como en el emulador Yabause.


Comparto la web con la imagen CUE para quemar el CD-R, incluye manuales PDF y código fuente en lenguaje C.


https://vectrex8.wixsite.com/mazinger (https://vectrex8.wixsite.com/mazinger)




Lo que me pareció interesante es que el Jo-Engine permite utilizar los dos procesadores SH-2 de la Saturn, hice la prueba y todo el manejo de los sprites y la depuración la puse en el CPU SH-2 esclavo, mientras la lógica del videojuego y el control de los audios y pistas de música en el CPU maestro.


(https://imagizer.imageshack.com/img923/5862/KrnMCc.png)




También logré utilizar parte del API de la propia SEGA (SGL). Esto me ha creado una interrogante ¿Sería posible crear un port de BennuGD para la SEGA Saturn?


Posiblemente habría que cambiar todas las llamadas a la SDL por la SGL (Sega Graphics Library), en base a lo que pude hacer en ese juego, con el Jo-Engine, pude ver que hay manera de simular una SDL, utilizando las funciones de la SGL.


(https://imagizer.imageshack.com/img921/2465/zQt4FT.png)


Si hay alguien interesado en esta loca idea, puedo compartir el kit para desarrollar con la SGL, tengo guardado unos 40 manuales de la SGL saturn, algunos conseguidos por internet y otros compartidos por amigos.


También pueden bajarse el kit del Jo-Engine, incluye las SGL ya configuradas y compiladas.


Escucho ideas,  ;D


¿Que opinan?


::)




(https://imagizer.imageshack.com/img921/3151/dGV0bp.png)






(https://imagizer.imageshack.com/img921/6859/6eCegJ.png)

























Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: SplinterGU on April 01, 2019, 08:27:03 PM
muy bien! y algun video seria intersante ver...
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: folken on April 02, 2019, 03:45:14 AM
Hola amigo, subi estos videos:


https://vimeo.com/326065580 (https://vimeo.com/326065580)


https://vimeo.com/326068005 (https://vimeo.com/326068005)
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: FreeYourMind on April 02, 2019, 07:02:55 AM
Si haces el port seria la ostia, no hay mucho homebrew en sega saturn, y si bennu estuviera, seria facil sacar muchos.
PS: Comparte el kit y manuales gracias
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: SplinterGU on April 03, 2019, 02:48:22 PM
Quote from: folken on April 02, 2019, 03:45:14 AM
Hola amigo, subi estos videos:


https://vimeo.com/326065580 (https://vimeo.com/326065580)


https://vimeo.com/326068005 (https://vimeo.com/326068005)

gracias!
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: folken on April 08, 2019, 11:33:12 PM
Hola Free, con mucho gusto comparto el kit, trataré de ponerlo en archive.org para que puedan bajarlo.
No se si pueda hacer un port para Bennu, creo que no tengo mucho conocimiento del core de bgdi, pero si alguien se ofrece ayudar con gusto puedo aportar lo poco que conozco del Saturn.

Saludos!
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: FreeYourMind on April 09, 2019, 07:12:31 AM
Gracias! Solo tienes que poder compilar para el kit de saturn, si quieres nos ponemos con el, si lo hago funcionar y configurar en mi maquina nos pondriamos con el port de bennu
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: folken on April 09, 2019, 11:45:05 PM
¡Excelente!


Free, mañana me doy un tiempo y comparto el KIT que he usado.


;D
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: folken on April 11, 2019, 01:47:34 AM

Esta es la configuración que yo estoy usando y me ha funcionado en Windows 8 y 10; de 32 o 64-bit


El kit del jo-engine que había bajado de internet, tiene unos script bat y sh, si se usa linux; en algunos ejemplos no funcionaron,
por lo cual decidí poner manualmente las variables en mi windows.


Dejo el código del juego de mi MAZINGER a modo de ejemplo. Incluye la sgl.h para usar todo el core de las
SEGA SGL API.


NOTA: El api SEGA SGL se encuentra en archivos de 8 carácteres, debido a que el kit original de sega
para desarrollar en Saturn,funcionaba en Windows 3.11 con MS-DOS 6.22 (hablamos del año 1993-1994 je,je,je...Win95 aun no existia!)


Si eres curiso revisa los isos de juegos de la Saturn,todos los archivos tienen un nombrado de 8 caracteres + 3 de extensión.


El primer archivo buscado por el micro-kernel IP.BIN es "0.BIN" en la pista 1 del CD-R, las pistas 2-n son para la
musica.


El SGL permite acceder a los chips de GPU de la Saturn, los VDP1 y VDP2 para los sprites, scroll, modo7, modo8 y el
3D soporta modelos MDL, permite usar el VECTOR3 para mover polígonos por los ejes (x,y,z) y varias funciones
de Quaterniones para rotación de polígonos, incluidas las rutinas para angulos Euler.


El mismo api SGL permite acceder al chip SMPC para manejo de los joyPAD de la Saturn.


El Jo-Engine es una capa de abstracción de la SGL, incluye un pequeño microkernel del IP.BIN para hacer el BOOT.
este KIT que he modificado para compilar,permite usar el jo-Engine,o usar solo las SGL. Lo dejo al gusto de cada programador.


Las SGL también permiten usar los 2 CPU de la Saturn: el SH-2 Master y el SH-2 slave.


El formato ejecutable de la Saturn es el COFF, ya que los SH-2 pueden ejecutar ese tipo de binario.


Junto a este RAR, encontrarán otro con toda la documentación de SGL y hardware de la Saturn, que he logrado
recopilar durante los ultimos 4 años (algunos docs de internet y otros de amigos), espero sea de ayuda para
iniciar un port de bennu-saturn.




Atte. Su amigo Folken  ;)






SDK:


https://www.dropbox.com/s/vze2836dq5huy6s/Saturn_SDK.rar?dl=0 (https://www.dropbox.com/s/vze2836dq5huy6s/Saturn_SDK.rar?dl=0)


Pack de Documentos:


https://www.dropbox.com/s/i0gvz7d9c6xok8a/Documentacion_Recopilada.rar?dl=0 (https://www.dropbox.com/s/i0gvz7d9c6xok8a/Documentacion_Recopilada.rar?dl=0)










********************************
VARIABLES DE ENTORNO DE WINDOWS
********************************


opciones avanzadas --> Variables de entorno:






variable            valor
----------------------------
PATH                C:\Saturn_SDK\EMULATOR\Yabause_win32;C:\Saturn_SDK\COMPILER\SH_COFF\Other Utilities;C:\Saturn_SDK\COMPILER\SH_COFF\sh-coff\bin;C:\Saturn_SDK\COMPILER\TOOLS;%PATH%
COMPILER_DIR        C:\Saturn_SDK\COMPILER
JO_ENGINE_SRC_DIR   C:\Saturn_SDK\JO_ENGINE








**********************
PASOS PARA COMPILAR
**********************


1.-Ejecutar un CMD


2.-entrar al directorio del juego:


   cd C:\Saturn_SDK\GAMES\MAZINGER


3.-limpiar objetos anteriores, siempre debemos limpiar antes de compilar.


    clear
   
4.-compilar


    make -j2 re




***************************
LANZAR JUEGO DESDE LA ISO
***************************


yabause -a -i sl_coff.iso


Nota: No carga las pistas de audio CD.




***************************
LANZAR JUEGO DESDE EL CD-R
***************************


yabause -a -c F:






Nota: Si carga las pistas de audio CD, cambiar F: por tu unidad, es necesario montar la imagen CUE con
una unidad virtual de CD-ROM. (por ejemplo Daemon-Tools)

Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: FreeYourMind on April 12, 2019, 07:26:07 AM
Gracias, probare este finde compilar tu juego y una vez que funcione me pongo con bennu
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: folken on April 20, 2019, 06:48:11 PM
¡Hola Free! ¿pudiste compilar el Mazinger Z?


Seria brutal ejecutar un DCB en la Saturn, como te comento, considero no tener el conocimiento necesario del funcionamiento del BGDI  :'( , pero en lo que pueda ayudarte con el port referente a la Saturn, cuenta con mi apoyo.


¡Saludos!


;D
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: Ryo Suzuki on April 20, 2019, 08:01:41 PM
Excelente iniciativa.

Si pudieramos tener algo parecido y medio funcional de BennuGD en Saturn sería fantástico.

Otra opción que apunto y espero no estar metiendo la pata es usar el SDL que portó al menos de forma parcial vbt para algunos de sus desarrollos (como el port del Rick Dangerous a Saturn y tb el de Wolfestein)

Aquí os dejo el source del xrick por si sirve de algo:

http://ppcenter.webou.net/files/xrickm.7z

El juego iba bastante fino, con esto os podéis hacer una idea:

https://www.youtube.com/watch?v=MrntyEWtKSg

Lo que hizo si no me equivoco fue un SDL wrapper
Quote
Currently supported functions :

SDL_Init
SDL_InitSubSystem
SDL_SetVideoMode   (supports 320x224 320x240 352x224 352x240 640x224 640x240, 8/16 bits)
SDL_GetVideoInfo
SDL_ListModes
SDL_SetColors
SDL_UnlockSurface
SDL_OpenAudio (4 channels, 8/16bits, mono/stereo, 8k to 44k (calculated))
SDL_PauseAudio
SDL_LoadWAV_RW
SDL_UpperBlit
SDL_FillRect
SDL_PollEvent
SDL_WaitEvent
SDL_GetTicks
SDL_Quit
Mix_PlayChannel

SDL_SetColorKey (fake)
SDL_EventState (fake)
SDL_GetModState (fake)
SDL_WM_GrabInput (fake)
SDL_MapRGB (fake)
SDL_LockSurface (fake)
SDL_mutexP (fake)
SDL_mutexV (fake)
SDL_CloseAudio (fake)
SDL_CreateMutex (fake)
SDL_FreeWAV (fake)
SDL_UpdateRects (fake)
SDL_UpdateRect (fake)
SDL_CreateRGBSurface
SDL_SetPalette (fake)
SDL_GetError (fake)
SDL_WM_SetCaption (fake)
SDL_WM_GetCaption (fake)
SDL_CreateRGBSurfaceFrom (fake)
SDL_WM_SetIcon (fake)
SDL_DestroyMutex (fake)
Mix_FreeChunk (fake)
Mix_LoadWAV_RW (fake)
Mix_OpenAudio (fake)
Mix_ChannelFinished (fake)
Mix_SetPanning (fake)
Mix_GroupAvailable (fake)
Mix_ReserveChannels (fake)
Mix_GroupOldest (fake)
Mix_GroupChannels (fake)
Mix_HookMusic (fake)
Mix_GetError (fake)
Mix_HaltChannel (fake)
SDL_SaveBMP_RW (fake)
SDL_RWFromMem (fake)
SDL_RWFromFile (fake)
SDL_Delay (fake)

No sé si sirve de algo.

Yo cruzo los dedos para que correr cosas de BennuGD en Saturn ;)
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: FreeYourMind on April 22, 2019, 07:07:07 AM
El finde que te prometi afinal no tuve tiempo, y ahora se metio semana santa, a ver si el siguiente hay suerte
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: FreeYourMind on April 22, 2019, 07:08:34 AM
Quote from: Ryo Suzuki on April 20, 2019, 08:01:41 PM
Excelente iniciativa.

Si pudieramos tener algo parecido y medio funcional de BennuGD en Saturn sería fantástico.

Otra opción que apunto y espero no estar metiendo la pata es usar el SDL que portó al menos de forma parcial vbt para algunos de sus desarrollos (como el port del Rick Dangerous a Saturn y tb el de Wolfestein)

Aquí os dejo el source del xrick por si sirve de algo:

http://ppcenter.webou.net/files/xrickm.7z (http://ppcenter.webou.net/files/xrickm.7z)

El juego iba bastante fino, con esto os podéis hacer una idea:

https://www.youtube.com/watch?v=MrntyEWtKSg (https://www.youtube.com/watch?v=MrntyEWtKSg)

Lo que hizo si no me equivoco fue un SDL wrapper
Quote
Currently supported functions :

SDL_Init
SDL_InitSubSystem
SDL_SetVideoMode   (supports 320x224 320x240 352x224 352x240 640x224 640x240, 8/16 bits)
SDL_GetVideoInfo
SDL_ListModes
SDL_SetColors
SDL_UnlockSurface
SDL_OpenAudio (4 channels, 8/16bits, mono/stereo, 8k to 44k (calculated))
SDL_PauseAudio
SDL_LoadWAV_RW
SDL_UpperBlit
SDL_FillRect
SDL_PollEvent
SDL_WaitEvent
SDL_GetTicks
SDL_Quit
Mix_PlayChannel

SDL_SetColorKey (fake)
SDL_EventState (fake)
SDL_GetModState (fake)
SDL_WM_GrabInput (fake)
SDL_MapRGB (fake)
SDL_LockSurface (fake)
SDL_mutexP (fake)
SDL_mutexV (fake)
SDL_CloseAudio (fake)
SDL_CreateMutex (fake)
SDL_FreeWAV (fake)
SDL_UpdateRects (fake)
SDL_UpdateRect (fake)
SDL_CreateRGBSurface
SDL_SetPalette (fake)
SDL_GetError (fake)
SDL_WM_SetCaption (fake)
SDL_WM_GetCaption (fake)
SDL_CreateRGBSurfaceFrom (fake)
SDL_WM_SetIcon (fake)
SDL_DestroyMutex (fake)
Mix_FreeChunk (fake)
Mix_LoadWAV_RW (fake)
Mix_OpenAudio (fake)
Mix_ChannelFinished (fake)
Mix_SetPanning (fake)
Mix_GroupAvailable (fake)
Mix_ReserveChannels (fake)
Mix_GroupOldest (fake)
Mix_GroupChannels (fake)
Mix_HookMusic (fake)
Mix_GetError (fake)
Mix_HaltChannel (fake)
SDL_SaveBMP_RW (fake)
SDL_RWFromMem (fake)
SDL_RWFromFile (fake)
SDL_Delay (fake)

No sé si sirve de algo.

Yo cruzo los dedos para que correr cosas de BennuGD en Saturn ;)
lo marca como malware el avast
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: Ryo Suzuki on January 05, 2020, 04:28:37 PM
Pues no lo vi, es seguro el archivo.

Me gustaría que pudieráis mirar esto.

Sería genial tener BennuGD en Saturn!
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: folken on January 18, 2020, 04:19:41 PM
Hola amigo Ryo, estaría muy bien poder correr Bennu en la Saturn, aunque los juegos tendrían que ser algo pequeños ya que la Saturn sin expansiones solo dispone de 2 MB de RAM y 1.5 MB en VDP1 y VDP2. Por otra parte los 30 MHZ del cpu SH2. De poder utilizar el multi-thread del jo-engine para usar los dos SH2 de la Saturn, cargando en memoria los recursos y liberándolos en cada nivel, bien se podrían correr algunos juegos interesantes. Ojalá alguien quisiera ayudar, ya que habría que adaptar un port del bgdi a las Sega SGL, substituyendo la SDL. Pareciera fácil pero si requiere de tiempo y algo de esfuerzo. Otra opción podría ser utilizar el wrapper de SDL que mencionas, pero estoy seguro que habría que lidiar un poco con el sonido, posiblemente sucedería el mismo problema de la SDL_Mixer cuando iniciaron el port del PS2.


Saludos!  :D
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: Ryo Suzuki on May 06, 2020, 10:12:54 AM
Me gustaría mucho que estuviese en Saturn aunque hubiese que lidiar con que la consola tiene menos recurso.

Ojalá alguien se anime. Yo es que hasta ahí no llego, bastante tengo haciendo mis pequeñas cosas probando!!

Intentaré convencer a Johannes de Jo Engine a ver si puede echarle un ojo...

O quizá alguien de aquí del foro con conocimientos se anime!
Title: Re:Mazinger Z Homebrew (for SEGA Saturn) ¿Sería posible un port Bennu-Saturn?
Post by: Mr.Vic on May 08, 2020, 01:07:33 PM
que crack!!!!  8) gracias