Programación en X68000 capítulo 2.1, Instalación del entorno de programación. Sabor Lydux

Siguiendo con esta serie de artículos sobre el Sharp X68000, voy a mostrar como instalar el entorno de programación  y vamos a hacer nuestro obligado “hola mundo”.

Voy a describir como hacerlo en Windows y el entorno será Code::Blocks.

Primero de todo hablar del Cross-Human68k toolchain que son las librerías y herramientas que usaremos para generar ejecutables en el Human68k, y dar crédito a su autor Lydux, miembro del foro https://nfggames.com y publicadas el 30 de Abril de 2012 y se puede encontrar en https://nfggames.com/forum2/index.php?topic=4850.0

Este artículo va a ser una traducción de ese post en https://nfggames.com

El github the Lydux es https://github.com/Lydux

Descargar los paquetes necesarios:

Siguiendo sus instrucciones para Windows tenemos que descargar Code::Blocks de https://www.codeblocks.org

Y los diferentes paquetes del toolchain de las siguientes direcciones:

Binutils-2.22: https://nfggames.com/X68000/Development/toolchain/binutils-2.21-human68k-win32-3.zip

Gcc-4.6.2: https://nfggames.com/X68000/Development/toolchain/gcc-4.6.2-human68k-win32-1.zip

Newlib-1.4.0: https://nfggames.com/X68000/Development/libraries/newlib-1.19.0-human68k-1.zip

Make-3.82: https://nfggames.com/X68000/Development/toolchain/make-3.82.zip

 Asistente Human68K para Code::Blocks: https://nfggames.com/X68000/Development/toolchain/codeblocks-wizard-human68k-1.zip


Instalación del toolchain:

Básicamente descomprimir todo en alguna carpeta. La carpeta sugerida puede ser C:\X68000\DEV

pero puede ser cualquier otra. Solo recordar la ruta que pongáis para luego configurar el Code::Blocks.


Instalación y configuración de Code::Blocks:

Si no tienes instalado el Code::Blocks pues lo instalas, claro. Una vez instalado lo abres.

Ahora ve al menú de "Settings → Compiler and debugger"

Haz una copia de "GNU GCC Compiler" el cual presumible mente estará seleccionado por defecto y presiona el botón Copy.

Nombra el nuevo compilador "Human68K GCC"

Ahora ve a la pestaña "Toolchain executables" y cambia los valores como en la imagen.




Ahí es donde pones la ruta donde descomprimiste el tool chain.

Otra cosa que podrías necesitar es quitar cualquier flag de optimización que sea de PC en la pestaña "Compiler settings".


Añadir plantilla de proyectos de Human68K en Code::Blocks:

Por último vamos a hacer que el Code::Blocks nos de la opción de crear un proyecto de X68000 y que no tengamos que configurar el compilador cada vez.

Para ello vamos a descomprimir el fichero codeblocks-wizard-human68k-1.zip en el directorio

C:\Program Files\CodeBlocks\share\CodeBlocks\templates\wizard y editaremos el fichero:

C:\Program Files\CodeBlocks\share\CodeBlocks\templates\wizard\config.script

Y dentro del bloque function RegisterWizards(){} busca unas lineas como estas:

RegisterWizard(wizProject, _T("arm"), _T("ARM Project"), _T("Embedded Systems"));
RegisterWizard(wizProject, _T("avr"), _T("AVR Project"), _T("Embedded Systems"));
RegisterWizard(wizProject, _T("tricore"), _T("TriCore Project"), _T("Embedded Systems"));
RegisterWizard(wizProject, _T("ppc"), _T("PowerPC Project"), _T("Embedded Systems"));

Y añade la línea siguiente:

RegisterWizard(wizProject, _T("human68k"), _T("Human68K Project"), _T("Embedded Systems"));

Nota:

Hay reportes de gente para quienes el ejecutable no se genera bien. Aunque no es mi caso la solución que proponen es editar el fichero:

C:\Program Files\CodeBlocks\share\CodeBlocks\templates\wizard\human68k\wizard.script

y en el la función function SetupProject(project) cambiar la linea:

	oc_x = _T("human68k-objcopy -O xfile $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).X");

por la linea:

	oc_x = _T("human68k-objcopy -v -O xfile $(TARGET_OUTPUT_FILE) $(TARGET_OUTPUT_FILE).X");

Ahora puedes guardar el fichero y crear un nuevo proyecto en Code::Blocks y seleccionar la plantilla “Human68K Project”



Al crear el proyecto tendrás un sencillo "hello world" que podrás compilar y esto generará un fichero .X en el sub directorio de tu proyecto "default".


Instalando el emulador

Presumible mente necesitarás un emulador. Aquí puedes encontrar el XM6 Pro-68K (el que yo uso): https://mijet.eludevisibility.org/XM6%20Pro-68k/XM6%20Pro-68k.html

U otros emuladores en este otro:
https://www.zophar.net/x68000.html

Con el emulador necesitarás también un sistema operativo. El sistema operativo lo puedes encontrar en https://nfggames.com/X68000/index.php/OperatingSystems/Human68k/

El que uso yo es el Human 68k v3.02 (1993)(Sharp – Hudson)[a].zip

Entonces instalas el emulador y descomprimes el sistema operativo en alguna parte.

El fichero con el sistema operativo tiene la extensión .dim y representa un disquete o un disco duro.


Cada vez que se inicia el emulador tienes que montar el sistema operativo en una unidad de disco como en la imagen:




 Por comodidad puedes hacer un acceso directo que arranque el emulador con el disco del sistema operativo ya montado con esta línea:

"C:\X68000\XM6 Pro-68k Release 30 (210225)\XM6.exe" "Human 68k v3.02 (1993)(Sharp – Hudson)[a].dim"

O donde sea que hayas puesto el emulador y el sistema operativo.

y en el campo Start In la ruta a la carpeta donde esta el sistema operativo. En este caso Human 68k v3.02 (1993)(Sharp – Hudson)[a].dim

Para probar el programa que habíamos compilado con con el Hello World lo que tenemos que hacer es montar el directorio donde está el ejecutable como si fuese un disquete.

Para ello en el menu Floppy Drive #1 selecciona Insert directory...




y ahora busca el directorio default de tu proyecto:


Por último ve a la unidad B del mismo modo que harías en MS-DOS, con B:
En el teclado español los dos puntos están en la tecla ñ.

Si lanzas el comando dir podrás ver los ficheros que tienes en la carpeta que acabas de montar.
Como en la imagen están entre ellos el ejecutable que hemos compilado HelloWorld.X
Ya solo tenemos que lanzarlo con HelloWorld


Y con esto ya tenemos el entorno preparado para hacer nuestros primeros programas en el Sharp X68000.

En próximos artículos explicaré como hacer cosas mas interesantes.
En mi Git hub puedes encontrar algunos ejemplos sobre los que irán esos artículos en el link:


Que lo disfrutéis.

Comentarios

Entradas populares