/* este script graba el programa actualmente cargado en formato Z80 1.45 */

	/* comprobamos si el emulador está presente */
	address command

	if ~show(ports,ZXAM_REXX) then do
		requestchoice 'title "ZXAM Script error..." body "No encuentro el puerto del emulador!!" gadgets "AARGH!"'
		exit
		end

	/* Almacenar el estado inicial del emulador */
	running=zxamactrun()	/* 1=en marcha */
	zxamstop()              /* lo paramos */

	/* requester de SAVE */
	oldpath=zxamactsavepath()
	oldpattern=zxamactpattern()
	zxampattern('#?.Z80')
	nombre=zxamsaverequester('Nombre para el fichero .Z80...')
	zxamsavepath(oldpath)
	zxampattern(oldpattern)
	if nombre='' then exit 0	/* pulsado el CANCEL */

	/* abrimos el fichero */
	if ~open('fichero',nombre,'W') then exit 0

	/* escribimos los registros */
	dummy=writech('fichero',d2c(zxamgetreg(a)))
	dummy=writech('fichero',d2c(zxamgetreg(f)))
	dummy=writech('fichero',d2c(zxamgetreg(cb),2))
	dummy=writech('fichero',d2c(zxamgetreg(lh),2))
	dummy=writech('fichero',d2c(zxamgetreg(cp),2))
	dummy=writech('fichero',d2c(zxamgetreg(ps),2))
	dummy=writech('fichero',d2c(zxamgetreg(i)))
	dummy=writech('fichero',d2c(zxamgetreg(r)))
	dummy=writech('fichero',d2c((zxamgetreg(bor)*2)+(zxamgetreg(r)%128)))
	dummy=writech('fichero',d2c(zxamgetreg(ed),2))
	dummy=writech('fichero',d2c(zxamgetreg(cb2),2))
	dummy=writech('fichero',d2c(zxamgetreg(ed2),2))
	dummy=writech('fichero',d2c(zxamgetreg(lh2),2))
	dummy=writech('fichero',d2c(zxamgetreg(a2)))
	dummy=writech('fichero',d2c(zxamgetreg(f2)))
	dummy=writech('fichero',d2c(zxamgetreg(yi),2))
	dummy=writech('fichero',d2c(zxamgetreg(xi),2))
	dummy=writech('fichero',d2c(zxamgetreg(int)))
	dummy=writech('fichero',d2c(0))
	dummy=writech('fichero',d2c(zxamgetreg(im)))

	dummy=writech('fichero',zxamgetmem(16384,49152))

	dummy=close('fichero')

	/* dejar el emulador como estaba */
	if running=1 then zxamrun()

	exit
