¡Oh no! ¿Dónde está el JavaScript? El navegador Web no tiene JavaScript activado o no es compatible con JavaScript. Active JavaScript en su explorador Web para ver correctamente este sitio Web o actualizar a un navegador Web que admita JavaScript.
Sabías que...
KallistiOS (o KOS) es la librería de desarrollo homebrew más usada para Dreamcast y fue escrita por Dan Potter. Algunos de los juegos comerciales no licenciados se han hecho usando KOS.
Artículos

Binarios WinCE legales para Dreamcast

Imprescindible documento que aclara y abre todo un mundo de posibilidades de homebrew!

He leído por la red (en varios sitios que no es necesario citar) que los programas hechos para Dreamcast que hagan uso de las librerías WinCE son 100 % son legales y que no habría problema alguno en liberar dichos binarios.

Me explico y pongo en antecedentes a los que no saben lo que digo:

Hasta ahora la única manera legal de hacer software para la DC es mediante las librerías de Dan Potter , KOS (Kallisti OS) y el compilador cruzado basado en GCC para SH4.

Hasta aquí todo es normal, veamos donde está la clave del WinCE.

Microsoft ha liberado todas las librerías y kits de desarrollo, así como emuladores de WinCE para que los programadores hagan aplicaciones tanto para los aparatos embebidos como para los PocketPC. Siguiendo esta linea he estado investigando y leyendo y en principio no hay ningún inconveniente para desarrollar y portar cosas a WinCE de Dreamcast usando las tools de Microsoft.

En los Pocket PC anteriores a 2005 se veían varios tipos de procesador, como SH2, SH3, ARM y etc.... Cada Procesador hace uso de unas librerías específicas y entre ellas está soportado el SH4 para Dreamcast.

Es importante no confundir las libs de WinCE que ahora parece ser que es legal usarla, con las KAMUI de Sega que son las que siguen siendo territorio comanche. Por tanto si alguien tiene más información que aportar, sería extremadamente bienvenida.

Por mi parte deciros que lo voy a investigar con más profundidad pero si algún entendido en licencias de WinCE lo puede corroborar mejor que mejor- Si alguien puede aportar mas luz, esto podría desembocar en una tonelada de nuevas aplicaciones y ports desarrollados en WinCE que se encuentran disponibles a toneladas en la red.

Hay varias ideas falsas con respecto a WindowsCE, debido a la marca de WindowsCE en el frontal de la mayoría de los modelos de Dreamcast.

Primero de todo, muchos desarrolladores iniciales que al principio eran desarrolladores licenciados de Sega poseyeron el kit de desarrollo de Dreamcast, y podrían utilizar la biblioteca de desarrollo de WindowsCE legalmente, y concluyeron así que podrían lanzar su software desarrollado en WindowsCE al público sin ninguna repercusión legal.

Éste no es el caso. La licencia de la biblioteca de WindowsCE para Dreamcast indicaba que uno podría desarrollar software con la biblioteca gratuitamente, pero una vez que el software se lanzase a cualquier persona además del dueño legal de la biblioteca de desarrollo, el software debía incurrir en honorarios de licencia, incluso si el software se lanzaba sin cargador.

Puesto que los desarrolladores no licenciaban su software, no era legal distribuir.

Los acontecimientos recientes han cambiado esta postura levemente. Microsoft lanzó la biblioteca de desarrollo de WindowsCE en una licencia de la "shared source" ( Código compartido). Con unas modificaciones de menor importancia, las fuentes podían compilarse con éxito para la plataforma Dreamcast.

Los programas de WindowsCE se podían ahora desarrollar y distribuir legalmente. La licencia para el software que cubría los dispositivos embedidos. Como tal, ninguna biblioteca de runtime de WindowsCE se pueden incluir legalmente con el binario. Puesto que la Sega Dreamcast no tiene las bibliotecas de WindowsCE embebidas en rom, pero requiere algunas bibliotecas runtime de WindowsCE y estas deben estar presentes en un subdirectorio del disco. Esto explica porque el software no se puede distribuir legalmente de una forma autoboot para la Dreamcast.

Los binarios pueden ahora ser distribuidos legalmente, pero las bibliotecas se deben obtener por el usuario a través de una biblioteca legal del kit de desarrollo de WindowsCE, o de un juego WindowsCE de Dreamcast con lo que ripeando uno que use WinCE ya podríamos generar nuestro disco al obtener las DLL y los ficheros asociados de runtime para la DC.

De momento y que quede claro, que podría ser factible portar programas, juegos, emus, etc--- desde cosas hechas para un directx máximo 6.1

Por otro lado tenemos la posibilidad de portar todo lo anteriormente dicho desarrollado para PocketPC hasta la release WinCE 2.1

En principio es necesario disponer del Visual C++ 6.0 y luego instalar el entorno y las libs de desarrollo de Microsoft 2.1 WinCE DC SDK.
Esto nos provee de las herramientas y libs necesarias para generar código para NT/XP y SH4, además del entorno citado.

Ahora viene la parte que interesa.

Es totalmente legal compilar para WinCE DC SH4 y es legal también distribuir el binario. Ahora viene la parte más interesante:
Lo que no se si ya es legal es usar los ficheros complementarios a WinCE me explico: Los binarios de KOS y algunos KAMUI son .bin, en el caso de WinCE son .EXE y para poder ejecutarlos necesitamos usar un producto legal de dreamcast para aprovechar los ficheros que vamos a necesitar.

Hay varios cargadores CE para DC, atwinCELoad, CELoader y también hay varios gdroms para Dreamcast que son WinCE. Para poder usar el ejecutable de WinCE será necesario tener un IP.bin, 1st_read.bin ó 0winceos.bin y el directorio WinCE que puede encontrarse en distribuciones de Boob!Boy, GypPlay,
y DCMp3 y diversos juegos comerciales.

Copiar el ejecutable CELoader.exe y DUiMan.dll files, con todos los directorios y ficheros mencionados y ponerlos en el directorio raíz del CD que se quiera crear.

Los programas son típicamente arrancados vía una entrada del registro que el firmware distribuido, necesitaras renombrar el CELoader.exe al nombre que el otro programa estaba usando .

CELoader también hace uso de la fuente True Type Arial, así que asegúrate que Arial.ttf está en el directorio de WinCE.

Así que en el cd que queramos montar nuestro ejecutable o ejecutables WinCE para DC tendremos que disponer de las carpetas Lib y WINCE. Dentro podremos ver que hay DLL y otros ficheros como fuentes TT ejemplo:

18/02/2000 03:49 94.806 AMSTREAM.DLL
16/12/1999 02:00 273.020 arial.ttf
16/12/1999 02:00 273.020 ARIAL.TTF.ttf
07/01/2001 18:14 18.432 CELoader.exe
18/02/2000 09:35 201.308 COREDLL.DLL
18/02/2000 03:46 67.154 DDRAW.DLL
18/02/2000 03:46 15.444 DINPUTX.DLL
18/02/2000 09:32 32.851 DSOUND.DLL
07/01/2001 18:14 31.744 DUiMan.dll
07/01/2001 18:14 57.414 DUiMan.lib
10/08/2006 07:47 (DIR) Lib
18/02/2000 04:06 32.335 MAPLE.DLL
18/02/2000 04:06 18.002 PLATUTIL.DLL
18/02/2000 03:46 20.052 SNDCORE.DLL

Así que en el disco para una correcta ejecución de un EXE de WinCE DC necesitaremos:

0GDTEX.PVR
1ST_READ.BIN
GYPPLAY.EXE (Renombras tu EXE como este en caso del GypPlay)
IP.BIN
READ_ME.TXT
WINCE(folder)

Dentro de la carpeta WinCE

AMSTREAM.DLL
CEGSM.DLL
CEMM.DLL
DDRAW.DLL
DINPUTX.DLL
DSOUND.DLL
MAPLE.DLL
OLEAUT32.DLL
PLATUTIL.DLL
QUARTZ.DLL
SNDCORE.DLL
TAHOMA.TTF

Recordamos entonces , que el WinCE se carga en Ram ocupando aprox un 1 Mb , kernel y extensiones y no está integrado en la ROM de la Dreamcast siempre debe cargarse el runtime desde el disco porque tan solo es un runtime de WinCE 2.1 y DirectX para SH4.


* A thin Operating System (OS) which is highly optimized with no extraneous Windows material. It includes networking APIs and a modified version of DirectX 5.

Features:

* Windows CE Kernel
* DirectX 5.x
* RAM Footprint
o Max 1.2 MB
o Optimized 1.0 MB
* Sound
o General MIDI
o DSound Property Set
o Special Effects
* Networking
o Winsock
o Winlnet
o SSL
o Dplay Security Integration

# Dreamcast Hardware Support

o Set 5.2x (CLX2)
o Keyboard, Wheel VMU
o Flash API Support
o GD-ROM Driver
o Serial Driver
o Modem Driver
* IME
* Graphics
o Bump Mapping
o Trilinear Mipmapping
o Table Fog
o VQ Surfaces
o 8 MB Graphics Support
o Punchthrough Pass
o D3D Hints
o NTSC & PAL Support
o Hardware Clipping to Viewport
o 4 bit Pixel Palette
o YUV Enhancement
o Colorkey for Palette

LISTA DE JUEGOS WinCE Dreamcast

4x4 Evolution(PAL, USA)
Armada(PAL, USA)
Atari Anniversary Edition(USA)
Space Griffon Blue Steel: Variable Formula(JAP)
Densya de Go 2(JAP)
Get!! Colonies(JAP)
Hidden & Dangerous(PAL, USA)
Jimmy Whites Snooker 2(PAL)
Midway's Greatest Arcade Hits Vol 1(PAL, USA)
Midway's Greatest Arcade Hits Vol 2(PAL, USA)
Nightmare Creatures II (PAL, USA)
Puzzle Bobble 4(AKA Bust-A-Move 4)
Railroad Tycoon II(PAL, USA)
Resident Evil 2
Sega Rally 2
South Park: Chefs Luv Shack(PAL, USA)
Spirit of Speed 1937(PAL, USA)
Starlancer(PAL, USA)
Super Runabout(JAP)
Super Runabout: San Francisco Edition
Super Robot Wars Alpha(JAP)
Tom Clancy's Rainbow Six(PAL, USA)
Tom Clancy's Rainbow Six: Rouge Spear(PAL, USA)
Tomb Raider Chronicles(PAL, USA)
Virtua Cop 2(JAP, USA)
Who Wants To Beat Up A Millionaire(PAL, USA)
Wild Metal(PAL, USA)
World Neverland Plus: The Olerud Kingdom Stories (JAP)
World Neverland 2 Plus: The Waktic Republic of Pluto (JAP)
Worms Armageddon(USA)
Worms World party(PAL, USA)


NO RELEASED:
Half-Life
Quake(Titanium Studios Port)
Defense Commander(Titanium Studios Demo)
PBA Bowling 2001

Lo que está clarisimo es que no podemos ir más allá de programas para Windows 95 / DirectX 6 y que necesiten mas de un PII a 400 Mhz, claro y a todo esto las limitaciones de los binarios que en todo caso no podran pasar nunca de la ram disponible. Entiendo que habrá cosas que se podran ir cargando desde el GD y así poder generar apps completas , juegos, emus , etc... (hasta este punto tamos todos de acuerdo que NO TODO será portable ya que las limitaciones del WinCE son profundas)

Y por la parte de los PocketPC tanto con ARM como con SH3 el software a portar estará limitado por la versión 2.1 del WinCE.

Ya sabemos que en la ROM de la Dreamcast no hay ni un solo byte propiertario de MS/WinCE, el WinCE es un RUNTIME.

Con todo esto la conclusión que saco es que si tu tienes un disco de dreamcast que este desarrollado en WinCE te hace poseedor de las libs y del runtime y podrás ejecutar el binario que te venga en gana.

Al final es el pez que se muerde la cola, legalmente si puedo distribuir source y binarios pero no las libs que cité anteriormente, se supone que uno ya las tiene en su gdrom con un juego WinCE, por tanto el uso que les de moralmente será una cuestión de cada uno, lo cual no es óbice para que si las cosas compiladas son interesantes se usen.

De siempre ha habido cosas compiladas con WinCE que siempre se han distribuido como shareware, pero al final han pasado a ser legales sin pena ni gloria, ya digo que si se le puede sacar partido a la posiblidad de compilar legalmente es el tema que estoy mirando

Por otro lado no necesitas generar un 0winceos.bin, con el loader que os he explicado antes puedes ejecutar el EXE que te de la gana dado que es un loader y ejecuta lo que tu le digas así que en esa parte el problema está salvado. Para que te hagas una idea es como el DCHAKKER o el DEMOMENU pero para EXE's WinCE DC.

Yo ya lo he probado y funciona a las 1000 maravillas, carga practicamente todo (de momento no tengo muchos EXE para DC) y necesitas exactamente los mismos ficheros WinCE de Dreamcast, con sus DLL y fuentes.

Para compilar para WinCE Dreamcast no es necesaria una Katana, es necesario tener el Visual C++ 6 y las WinCE (v2.12) & DirectX (6.1) SDK ver 2.1.

La Katana se puede usar, pero en general solo es necesaria para compilar Kamui , el WinCE lo compilas desde el propio pc, y los EXE resultantes los usas como si fueran binarios de KOS.

Si se quiere probar, digo lo necesario.
Otra cosa, el Enterprise version of Visual Studio sirve, pero os teneis que leer las release notes del cd con el SDK, DC WinCE (v2.12) & DirectX (6.1) SDK ver 2.1


Para poder desarrollar en WinCE para Dreamcast os digo lo que necesitais.

- Preferiblemente un Visual C++ 6, la versión 5 también sirve.
- Libs y SDK de Directx 8 p.ej.
- DC WinCE (v2.12) & DirectX (6.1) SDK ver 2.1, es un CD.

Primero se instala el visual C, a continuación el SDK DirectX y luego tan solo hay que instalar el CD.

------------------------------------------------------------------------------------

En el CD vienen: (Se instala aparte del Visual C++ 6)

- Microsoft Windows CE Embedded Toolkit for Visual C++®
- Microsoft Windows CE Toolkit for Visual C++ version 6.0
- Microsoft® Windows® CE Toolkit 2.1 for Dreamcast™
- Windows CE for Dreamcast SDK


Resumiendo que una vez que este el Visual C++ 6 instalado, se mete esto por encima, se asignan las variables de entorno (lo hace automaticamente al instalar) y a compilar.

AdminDC April 22 2008 6286 visto 2 comentarios 0 calificaciones Imprimir

2 comentarios

Deja un comentario

Debes iniciar sesión para publicar un comentario.
  • DSR
    interesante articulo! es una lastima que las empresas de juegos no usen esto para empezar a lanzar productos nuevamente, eso seria la bocanada de aire que nesecita la dc para volver en todo su esplendor
    - May 30 2008 22:03:25
    • W
      que paso con blai y ron????
      - July 13 2011 23:02:13

      La valoración sólo está disponible para miembros. Por favor Iniciar sesión o Registro para votar.
      ¡Excelente! (0)0 %
      Muy Bien (0)0 %
      Bien (0)0 %
      Normal (0)0 %
      Pobre (0)0 %
      Afiliados
      SEGA Saturno - Saturn, SEGA y Videojuegos