npes_saved.txt:
::Init
//**************************************************************************
// Macro para configurar los directorios donde estan las herramientas
// del curso
//**************************************************************************
// Directorios de Herramientas
SET Z80TOOLS_DIR = C:\z80-tools
SET QUARTUS_PATH = C:\altera\90\quartus
SET BINUTILS_DIR = $(Z80TOOLS_DIR)\binutils-z80
SET QEMU_DIR = $(Z80TOOLS_DIR)\qemu-z80
SET GDB_DIR = $(Z80TOOLS_DIR)\gdb-z80
SET JTAG_DIR = $(Z80TOOLS_DIR)\jtagcon
SET SREC_DIR = $(Z80TOOLS_DIR)\srecord
SET SCRIPT_DIR = $(Z80TOOLS_DIR)\scripts
ENV_SET PATH = $(QUARTUS_PATH)\bin\cygwin\bin;$(sys.PATH)
// Limpio la pantalla
CLS
// Oculto la consola
NPP_CONSOLE 0
::Build
//**************************************************************************
// Macro para ensamblar usando las herramientas del curso
//**************************************************************************
// Voy al directorio actual
CD $(CURRENT_DIRECTORY)
// Limpio la pantalla
CLS
// Salvo el archivo actual
NPP_SAVE
// Borro los anteriores
CMD /C del $(NAME_PART) && del $(NAME_PART).o
// Voy al directorio donde estan las herramientas y compilo
$(BINUTILS_DIR)\z80-coff-as -z80 -g -as -gstabs+ -o $(NAME_PART).o $(NAME_PART).s
$(BINUTILS_DIR)\z80-coff-ld --oformat coff-z80 -e 0xB000 -Ttext 0xB000 -o $(NAME_PART) $(NAME_PART).o
$(BINUTILS_DIR)\z80-coff-objdump -j .text -j .data -t $(NAME_PART)
::Qemu+Gdb
//**************************************************************************
// Macro para depurar usando qemu y gdb
//**************************************************************************
// Voy al directorio actual
CD $(CURRENT_DIRECTORY)
// Limpio la pantalla
CLS
//Pregunto por el archivo a cargar
INPUTBOX "Archivo a Cargar:" : $(NAME_PART)
//Arranco el QEMU
NPP_RUN $(QEMU_DIR)\qemu-system-z80.exe -io-output-file out.txt -io-input-file in.txt -monitor file:temp -io-output-log-file output.log -nographic -serial null -S -gdb tcp:127.0.0.1:8010
//Ejecuto el GDB en una ventana nueva
NPP_RUN $(GDB_DIR)\gdb -ex "set prompt (qemu-gdb)" -ex "target extended-remote localhost:8010" -ex "file $(INPUT)" -ex "load"
::Jtagcon+Gdb
//**************************************************************************
// Macro para depurar con el monitor cargado en la placa y gdb
//**************************************************************************
// Voy al directorio actual
CD $(CURRENT_DIRECTORY)
// Limpio la pantalla
CLS
//Pregunto por el archivo a cargar
INPUTBOX "Archivo a Cargar:" : $(NAME_PART)
// Ejecuto JTAGCON
NPP_RUN $(JTAG_DIR)\jtagcon.exe
//Ejecuto el GDB en una ventana nueva
NPP_RUN $(GDB_DIR)\gdb -ex "target extended-remote localhost:8000" -ex "file $(INPUT)" -ex "load"
::Quartus_pgm
//**************************************************************************
// Macro para programar el fpga
//**************************************************************************
// Limpio la pantalla
CLS
// Programo la placa
CMD /C "$(QUARTUS_PATH)\bin\quartus_pgm" -c1 $(FULL_CURRENT_PATH)
::Compilar_ROM
//**************************************************************************
// Macro para compilar un .s para la ROM
//**************************************************************************
// Voy al directorio actual
CD $(CURRENT_DIRECTORY)
// Limpio la pantalla
CLS
// Salvo el archivo actual
NPP_SAVE
CMD /C del $(NAME_PART) && del $(NAME_PART).o && del $(NAME_PART).srec && del $(NAME_PART).hex
$(BINUTILS_DIR)\z80-coff-as -z80 -g -as -gstabs+ -o $(NAME_PART).o $(NAME_PART).s
$(BINUTILS_DIR)\z80-coff-ld --oformat coff-z80 -e 0x0000 -Ttext 0x0000 -Tdata 0xB000 -o $(NAME_PART) $(NAME_PART).o
$(BINUTILS_DIR)\z80-coff-objdump -j .text -j .data -t $(NAME_PART)
$(BINUTILS_DIR)\z80-coff-objcopy.exe -j .text -O srec $(NAME_PART) $(NAME_PART).srec
$(SREC_DIR)\srec_cat $(NAME_PART).srec -data-only -o $(NAME_PART).hex -intel -obs=1 -address-length=2 -enable=footer
::Cargar_ROM
//**************************************************************************
// Macro para cargar un .hex en la ROM
//**************************************************************************
// Voy al directorio actual
CD $(CURRENT_DIRECTORY)
// Limpio la pantalla
CLS
// Salvo el archivo actual
NPP_SAVE
// Cargo el .hex en la ROM
CMD /C "$(QUARTUS_PATH)\bin\quartus_stp" -t $(SCRIPT_DIR)\update_in_system_memory.tcl $(NAME_PART).hex
lab-intup.cdf:
/* Quartus II Version 9.1 Build 350 03/24/2010 Service Pack 2 SJ Full Version */
JedecChain;
FileRevision(JESD32A);
DefaultMfr(6E);
P ActionCode(Cfg)
Device PartName(EP3C16F484) Path("") File("lab-intup.sof") MfrSpec(OpMask(1));
ChainEnd;
AlteraBegin;
ChainType(JTAG);
AlteraEnd;
Ruta completa al archivo .cdf:
C:\Users\usuario\Desktop\Micro\z80-tools\lab-intup-de0