Readme RetroWB Bodhi

Bienvenidos a la primera versión preliminar de RetroWorkbench.

Puedes consultar el proyecto en:

http://gatatac.org/projects/retroworkbench/wiki/Wiki

Esta instalación es una distribución Linux Bodhi (http://www.bodhilinux.com/) a la que se le an añadido (aparte de las herramientas de desarrollo de GNU)

Usuario y contraseña

Por defecto, esta distribución viene con un usuario llamado

retrowb

cuya contraseña es:

tfgoretro

Se recomienda cambiarla como primer paso.

RetroLib

Esta versión de Retro Workbench contiene la versión v0.0.1 de RetroLib.

Ésta versión se detalla en el siguiente enlace: Notas Retrolib v0.0.1

Compilando un ejemplo

Para compilar un ejemplo abrir un terminal (Inicio→Applications→System Tools→Terminology) y teclead:

retrowb@retroWorkbench:~$ cd dev/retrolib/projects/
retrowb@retroWorkbench:~/dev/retrolib/projects$
retrowb@retroWorkbench:~/dev/retrolib/projects$ cd 01_hola/build/
retrowb@retroWorkbench:~/dev/retrolib/projects/01_hola/build$ make
sdcc -D_MSX_CROSS_COMPILER -mz80   --no-std-crt0 ../../../retrolib/computers/msx/targets/com/variants/standard/lib/crt0msx_msxdos.rel --code-loc 0x0107 --data-loc 0   ../../../retrolib/computers/msx/targets/com/lib/conio.rel  ../../../retrolib/computers/msx/targets/com/lib/dos.rel ../../../retrolib/computers/msx/targets/com/lib/getchar.rel ../../../retrolib/computers/msx/targets/com/lib/putchar.rel -I .. -I ../../../retrolib/computers/msx/system/include -I ../../../retrolib/computers/msx/targets/com/include -I ../../../retrolib/computers/msx/versions/msx1/include -I ../../../retrolib/cpus/z80/include -I /usr/share/sdcc/include   -o
hola.ihx ../src/hola.c
hex2bin  hola.ihx
hex2bin v1.0.10, Copyright (C) 2012 Jacques Pelletier & contributors

Lowest address  = 00000100
Highest address = 0000039D
Pad Byte        = FF
8-bit Checksum = 1F
cp  hola.bin  hola.com
mv hola.com ../dist

Para probar los ejemplos leer las notas de la retrolib: Notas Retrolib v0.0.1

Borrar y compilar todos los ejemplos de una sola vez

Si queréis borrar todas las compilaciones de todos los ejemplos o volverlas a compilar todas, en el directorio projects se encuentran los scripts cleanAll.sh y makeAll.sh:

retrowb@retroWorkbench:~/dev/retrolib/projects/01_hola/build$ cd
retrowb@retroWorkbench:~$ cd dev/retrolib/projects/
retrowb@retroWorkbench:~/dev/retrolib/projects$ ./makeAll.sh
sdcc -D_MSX_CROSS_COMPILER -mz80   --no-std-crt0 ../../../retrolib/computers/msx/targets/com/variants/standard/lib/crt0msx_msxdos.rel --code-loc 0x0107 --data-loc 0   ../../../retrolib/computers/msx/targets/com/lib/conio.rel  ../../../retrolib/computers/msx/targets/com/lib/dos.rel ../../../retrolib/computers/msx/targets/com/lib/getchar.rel ../../../retrolib/computers/msx/targets/com/lib/putchar.rel -I .. -I ../../../retrolib/computers/msx/system/include -I ../../../retrolib/computers/msx/targets/com/include -I ../../../retrolib/computers/msx/versions/msx1/include -I ../../../retrolib/cpus/z80/include -I /usr/share/sdcc/include   -o hola.ihx ../src/hola.c
hex2bin  hola.ihx
hex2bin v1.0.10, Copyright (C) 2012 Jacques Pelletier & contributors

Lowest address  = 00000100
Highest address = 0000039D
Pad Byte        = FF
8-bit Checksum = 1F
cp  hola.bin  hola.com
mv hola.com ../dist
sdcc -D_MSX_CROSS_COMPILER -mz80  -c ../src/func.c
sdcc -D_MSX_CROSS_COMPILER -mz80  -c ../src/func2.c
sdcc -D_MSX_CROSS_COMPILER -mz80   --no-std-crt0 ../../../retrolib/computers/msx/targets/com/variants/advanced/lib/crt0msx_msxdos_advanced.rel --code-loc 0x0178 --data-loc 0   ../../../retrolib/computers/msx/targets/com/lib/conio.rel  ../../../retrolib/computers/msx/targets/com/lib/dos.rel ../../../retrolib/computers/msx/targets/com/lib/getchar.rel ../../../retrolib/computers/msx/targets/com/lib/putchar.rel -I .. -I ../../../retrolib/computers/msx/system/include -I ../../../retrolib/computers/msx/targets/com/include -I ../../../retrolib/computers/msx/versions/msx1/include -I ../../../retrolib/cpus/z80/include -I /usr/share/sdcc/include  func.rel func2.rel -o params.ihx ../src/params.c
../src/params.c:75: warning 85: in function print unreferenced function argument : 'str'
hex2bin  params.ihx
hex2bin v1.0.10, Copyright (C) 2012 Jacques Pelletier & contributors

Lowest address  = 00000100
Highest address = 000004F2
Pad Byte        = FF
8-bit Checksum = 2F
cp  params.bin  params.com
mv params.com ../dist
sdcc -D_MSX_CROSS_COMPILER -mz80  --oldralloc  --no-std-crt0 --code-loc 0x4010 --data-loc 0xC000   -I .. -I ../../../retrolib/computers/msx/system/include -I ../../../retrolib/computers/msx/targets/rom/include -I ../../../retrolib/computers/msx/versions/msx1/include -I ../../../retrolib/cpus/z80/include -I /usr/share/sdcc/include   -o HelloSC2.ihx ../src/HelloSC2.c
../src/HelloSC2.c:136: warning 85: in function mainWindow unreferenced local variable : 'size'
../src/HelloSC2.c:136: warning 85: in function mainWindow unreferenced local variable : 'address'
../src/HelloSC2.c:136: warning 85: in function mainWindow unreferenced local variable : 'i'
hex2bin  -p 00  -l 8000 HelloSC2.ihx
hex2bin v1.0.10, Copyright (C) 2012 Jacques Pelletier & contributors

Lowest address  = 00004010
Highest address = 00007FFF
Pad Byte        = 0
8-bit Checksum = E1
cat ../../../retrolib/computers/msx/targets/rom/util/rom_header.bin HelloSC2.bin > HelloSC2.rom
mv HelloSC2.rom ../dist

Los ejecutables aparecen siempre en la carpeta dist de cada uno de los ejemplos.
retrowb@retroWorkbench:~/dev/retrolib/projects$ ./cleanAll.sh
find . -name '*.asm' -o -name '*.ihx' -o -name '*.lk' -o -name '*.lst' -o -name '*.map' -o -name '*.noi' -o -name '*.rel' -o -name '*.sym' -o -name '*.com' -o -name '*.bin' -o -name '*.lnk' | xargs rm
find . -name '*.asm' -o -name '*.ihx' -o -name '*.lk' -o -name '*.lst' -o -name '*.map' -o -name '*.noi' -o -name '*.rel' -o -name '*.sym' -o -name '*.com' -o -name '*.bin' -o -name '*.lnk' | xargs rm
find . -name '*.asm' -o -name '*.ihx' -o -name '*.lk' -o -name '*.lst' -o -name '*.map' -o -name '*.noi' -o -name '*.rel' -o -name '*.sym' -o -name '*.com' -o -name '*.bin' -o -name '*.lnk' | xargs rm

Licencia

Cada uno de los programas integrados son copyright de sus respectivos autores y su licencia puede consultarse en su web. Sus enlaces se encuentran en éste texto.

Para todo el trabajo de “cimentación” de lo anterior (recopilación, creación de la retrolib, integración de los ejemplos, documentación...)

Agradecimientos

Aparte de agradecer a todos y cada uno de los proyectos de código abierto mencionados antes que han hecho posible este Retro Workbench, agradecer especialmente a:

Un saludo!

gatATAC.org