1) Notepad++: http://notepad-plus-plus.org/
2) LWTOOLS: http://lwtools.projects.l-w.ca/contrib/tormod/
De este paquete sólo vamos a necesitar el ensamblador "lwasm"
3) DragonTools: http://sourceforge.net/projects/dragontools/
4) XRoar: http://www.6809.org.uk/xroar/
5) BOOTDISK.VDK: https://drive.google.com/file/d/0B-KmfO ... sp=sharing
Esta imagen de disco nos permitirá autoarrancar los programas que compilemos. Deberá guardarse siempre intacta. ¡Gracias a Zephyr y pser1 del archive.worldofdragon por el truco y echarme una manilla cuando estaba atascado!

Una vez instalado el Notepad++ lo primero que haremos será configurar el resaltado de color para el ensamblador 6809. Para ello nos descargamos el siguiente archivo:
https://drive.google.com/file/d/0B-KmfO ... sp=sharing
Tras ello, iremos a "Language"->"Define your language..." y seleccionaremos "Import...". Navegamos hasta al archivo anterior y lo cargamos. Este es el momento de cambiar la extensión de los archivos que queramos tener con ensamblador 6809, yo los he definido como ".a09"; pero podéis poner lo que más os guste.
Para probarlo, podemos cargar un archivo con esa extensión y que contenga código 6809 y comprobaremos como queda resaltado. Como sugerencia, en "Settings"->"Style Configurator" he configurado lo siguiente:

A continuación instalaremos el plugin "NppExec" desde "Plugins->Plugin Manager"->"Show Plugin Manager"

El NPPExec nos permitirá definir macros para poder compilar y ejecutar nuestro código rápidamente. Para crear la macro, pulsamos F6 y en el diálogo que se nos abre, copiamos lo siguiente:
Código: Seleccionar todo
NPP_SAVE
set WD = $(CURRENT_DIRECTORY)
set EMUPATH = <ruta al XRoar>
cd $(WD)
cmd /c del PROG.BIN $(NAME_PART).vdk >NUL 2>&1
lwasm -f raw -o PROG.BIN $(FILE_NAME)
if $(EXITCODE) != 0 goto fin
cmd /c copy /Y BOOTDISK.VDK $(NAME_PART).vdk >NUL
DragonDos write $(NAME_PART).vdk PROG.BIN -native 24576 24576 -v
DragonDos dir $(NAME_PART).vdk
cd $(EMUPATH)
xroar -machine dragon64 -extbas d64_1.rom -altbas d64_2.rom -machine-cart dragondos -cart-rom ddos40.rom -disk-write-back -force-crc-match -joy-left 0,0:1:0 -kbd-translate -run $(WD)\$(NAME_PART).vdk
:FIN

Unas observaciones sobre esta macro:
- La macro deberá modificarse en función de las direcciones de carga y ejecución del ejecutable que compilemos. Ahora mismo ambas direcciones están fijadas a $6000 (24576), si las cambiamos deberemos tener en cuenta que la primera dirección es la de carga y la segunda la de ejecución. Posiblemente la macro se pueda mejorar para que capture el ORG desde nuestro codigo o a las malas nos pregunte por una dirección.
- Los comandos lwasm y DragonDos deberán estar en el PATH. De no ser así, en la macro se deberá incluir la ruta completa incluyendo unidad.
- La ruta que aparece como EMUPATH deberá cambiarse por la ruta en la que hatamos instalado el emulador XRoar. Incluirá la unidad de disco si es necesario.
- El XRoar se da por configurado y deberá disponer de las roms para Dragon 64 y del DragonDos 4.0. Podemos cambiarlas a nuestro antojo.
Una vez introducida, le daremos un nombre en el combo inferior y la salvaremos.
Para convertirla en una macro completa nos iremos a "Plugins"->"NppExec"->"Advanced options...". Desplegamos el combo inferior, la seleccionamos, la añadimos a la lista de macros y salimos con "OK":

Si hemos marcado la opción "Place to Macros submenu", nos podremos ir al menu "Macros" y encontraremos nuestra macro al final. Ya podemos seleccionarla y sin más debería ejecutarse compilando nuestra fuente y lanzando el resultado en el XRoar.
Para acabar, le vamos a asignar un atajo de teclado para que sea aún más cómoda de usar. Nos vamos a "Macro"->"Modify Shortcut/Delete Macro..." y en la categoria de "Plugin commands" buscamos nuestra macro (que suele andar por el final) y la modificamos para añadirle el atajo que queramos (en mi caso Ctrl+F9):

Y ya hemos acabado, la macro se ejecutará al pulsar el atajo y en pocos segundos tendremos en ejecución el programa que estuviesemos editando.
Añadiendo filtros de consola
En la consola veremos como cuando compilamos aparecen todos los mensajes relativos a dicha compilación; eso incluye los errores que pueda encontrar el LWASM en nuestro código. Si queremos hacer más amigable la salida y depuración de los mismos, podremos definir "filtros de consola" en el NppExec. Más concretamente vamos a definir unos "Highlight Console Filters":
Pulsamos Shift + F6 y rellenamos las entradas tal como figuran en la captura:

Importante: En la segunda de las entradas veremos que tras el tag %LINE% hay una zona en blanco antes del caracter '*'. Se trata de un blanco y un tabulador. Para poder generar eso lo más práctico es teclearlos en el modo edición con el propio NPP, copiarlos y luego pegarlos en la entrada correspondiente.
Estos filtros nos proporcionarán dos ventajas:
- Los errores aparecerán resaltados en rojo en la consola.
- Podremos navegar hasta el error directamente esté donde esté en nuestro código.
Para esto último, sólo tendremos que hacer doble clic con el ratón sobre la línea de la consola que contiene el número de línea con el código erróneo. Con los colores que se han definido como ejemplo, eso se haría clicando en la línea de color rojo intenso.
Si encontráis algún error, me lo váis indicando y ya se va corrigiendo el tuto
