014:programas-microhobby

Microhobby 14. Año II, del 05 al 11 de febrero de 1985

Jesús Alonso Rodríguez

Spectrum 48 K

En el número anterior, ofrecíamos la primera parte de este interesante programa que, por su extensión, hemos querido darlo en dos partes. Pues bien, en esta segunda y última, vamos a ver cómo se carga.

Para cargar el EDITEXT teclee y ejecute el programa cargador de código máquina; si todo va correctamente aparecerá el mensaje «Start tape, then press any key» y el código máquina, y juego de caracteres se almacenarán en cinta en dos bloques etiquetados con los nombres de fichero «cm» y «cmp»; a continuación haga NEW y teclee el programa en BASIC; cuando lo tenga haga RUN, deberá aparecer la pantalla de «OPCIONES…»; pulse la opción uno, y utilizando el editor, copie la página de instrucciones «COMANDOS DEL EDITEXT», que quedará almacenada en página cero. Cuando termine pulse ENTER en modo extendido, lo que hará salir el mensaje «FIN DE PAGINA», pulse entonces cualquier tecla para ir a «OPCIONES…» y haga BREAK y GO TO 9900, con lo que el programa se guardará en cinta con ejecución automática desde la línea 9000; de esta forma cuando se cargue desde cinta saldrá primero el mensaje «PARE LA CINTA», a continuación la «carátula», y finalmente, la página de instrucciones que se carga en página cero, (por lo que se pierde al empezar a trabajar con el editor). Finalmente, al pulsar cualquier tecla el programa hace RUN (línea 9160) y aparece en primer lugar la pantalla de «OPCIONES…». Por supuesto si detiene el programa durante su ejecución, al volver a hacer RUN no saldrá la carátula, sino que arrancará directamente desde la pantalla de «OPCIONES…».

Si detiene el programa justo durante la impresión de un carácter, es posible que el mensaje «BREAK INTO PROGRAM» le salga con unas letras extrañas, no se preocupe, haga POKE 23606,0: POKE 32607,60 y todo volverá a la normalidad.

El conocido escritor de ciencia-ficción Arthur C. Clark (autor entre otras, de «2001, una odisea del espacio», escribió su último libro «2010, odisea dos» utilizando un microcomputador «Archives II» con software «Wordstar», y remitió el texto a su editor sobre un «diskete» de 12 centímetros. Espero que el EDITEXT aunque bastante más modesto, permita a los lectores estar a la altura de esta época; si le gusta escribir comprobará que en una cassette le cabe un libro entero.

Mapa del programa BASIC

  • 100 Subrrutina de impresión de caracteres impares.
  • 200 Subrrutina de impresión de caracteres pares.
  • 300 Conversión de caracteres dobles (m M w W) impares.
  • 400 Conversión de caracteres dobles (m M w W) pares.
  • 500 Borrado de caracteres pares.
  • 600 Borrado de caracteres impares.
  • 700 Salto a extendido en carácter impar.
  • 800 Salto a extendido en carácter par.
  • 1000 Opción uno, escribir un texto (editor de página en curso).
  • 2000 Opción dos, almacenar la página en curso.
  • 3000 Opción tres, imprimir la página en curso.
  • 4000 Opción cuatro, salvar en cinta.
  • 5000 Opción cinco, cargar de cinta.
  • 6000 Opción seis, leer las páginas almacenadas.
  • 7000 Rutina de tabulado.
  • 7400 Control de tabulador.
  • 8000 Rutina de opciones.
  • 9000 Rutina de presentación.
  • 9200 Impresión centrada.
  • 9300 Impresión sin centrar.
  • 9900 Rutina de carga en cinta.

Rutina para transferir cualquier página de almacenamiento a la página cero, e imprimirla en pantalla

  • ENTRADAS: En las direcciones 32692 y 32693 se introduce la dirección de la página origen (Cuando se carga, estos valores quedan inicializados para tomar como origen la página uno).
  • SALIDAS: La página origen se transfiere a la página cero, y se imprime.
  • LONGITUD: 15 Bytes.
  • DIRECCION DE ARRANQUE: 32691.
  • DIRECCION DE INICIO: 32691.
  • TIEMPO DE EJECUCION: 1 seg.
Dirección.	Código máquina	Listado	Assembler
32691		33,66,139	010	LD HL,8B42	;Carga origen
32694		17,194,133	020	LD DE,85C2	;Carga destino
32697		1,128,5		030	LD BC,0580	;Carga longitud
32700		237,176		040	LDIR		;Transfiere, incrementa y repite
32702		205,83,127	050	CALL 7F53	;Llama rutina de imp.
32705		201		060	RET		;Retorna

Rutina de acceso a la impresión de caracteres grandes para el mensaje «OPCIONES...»

  • ENTRADAS: Lista de datos a partir de 65317.
  • SALIDAS: Impresión de una pantalla.
  • LONGITUD: 292 Bytes (incluyendo la lista de datos).
  • DIRECCION DE ARRANQUE: 65218.
  • DIRECCION DE INICIO: 65218. TIEMPO DE EJECUCION: 3 seg.
Dirección.	Código máquina	Listado	Assembler
65218		33,37,255	010	LD HL,FF25	;Carga puntero origen
65221		17,10,91	020	LD DE,5B0A	;Carga puntero destino
65224		1,14,0		030	LD BC,000E	;Carga número de Bytes
65227		237,176		040	LDIR		;Bucle de transferencia
65229		205,0,126	050	CALL 7E00	;Llama rutina de impresión
65232		33,51,255	060	LD HL,FF33
65235		17,10,91	070	LD DE,5B0A
65238		1,25,0		080	LD BC,0019
65241		237,176		090	LDIR
65243		205,0,126	100	CALL 7E00
65246		33,76,255	110	LD HL,FF4C
65249		17,10,91	120	LD DE,5B0A
65252		1,36,0		130	LD BC,0024
65255		237,176		140	LDIR
65257		205,0,126	150	CALL 7E00
65260		33,112,255	160	LD HL,FF70
65263		17,10,91	170	LD DE,5B0A
65266		1,35,0		180	LD BC,0023
65269		237,176		190	LDIR
65271		205,0,126	200	CALL 7E00
65274		33,147,255	210	LD HL,FF93
65277		17,10,91	220	LD DE,5B0A
65280		1,23,0		230	LD BC,0017
65283		237,176		240	LDIR
65285		205,0,126	250	CALL 7E00
65288		33,170,255	260	LD HL,FFAA
65291		17,10,91	270	LD DE,5B0A
65294		1,23,0		280	LD BC,0017
65297		237,176		290	LDIR
65299		205,0,126	300	CALL 7E00
65302		33,193,255	310	LD HL,FFC1
65305		17,10,91	320	LD DE,5B0A
65308		1,36,0		330	LD BC,0024
65311		237,176		340	LDIR
65313		205,0,126	350	CALL 7E00
65316		201		360	RET

Lista de datos para la rutina del mensaje «OPCIONES...»

Dirección Datos Dirección Datos
65317 64,8,2,3 65413 71,73,78,65
65321 8,79,80,67 65417 32,69,78,32
65325 73,79,78,69 65421 67,85,82,83
65329 83,255,16,48 65425 79,255,16,96
65333 1,2,8,49 65429 1,2,8,52
65337 45,69,83,67 65433 45,83,65,76
65341 82,73,66,73 65437 86,65,82,32
65345 82,32,85,78  65441 69,78,32,67
65349 32,84,69,88 65445  73,78,84,65
65353 84,79,255,16 65449 255,16,112,1
65357 64,1,2,8 65453 2,8,53,45
65361 50,45,65,76 65457 67,65,82,71
65365 77,65,67,69 65461 65,82,32,68
65369 78,65,82,32 65465  69,32,67,73
65373 76,65,32,80 65469 78,84,65,255
65377 65,71,73,78  65473 16,128,1,2
65381  65,32,69,78 65477 8,54,45,76
 65385 32,67,85,82 65481 69,69,82,32
65389 83,79,255,16  65485 76,65,83,32
65393 80,1,2,8 65489  80,65,71,73
65397 51,45,73,77 65493 78,65,83,32
65401 80,82,73,77 65497 65,76,77,65
65405 73,82,32,76 65501 67,69,78,65
65409  65,32,80,65 65505  68,65,83,255

J.M. Rodríguez Cordovilla

Spectrum 48 K

Este juego, estamos seguros, que no necesita grandes explicaciones por su popularidad y antigüedad. Muchos de nosotros hemos pasado largas horas intentando salvar nuestra flota del ataque enemigo.

Pues bien, el juego de los barquitos también se ha modernizado y ahora podemos utilizar nuestro ordenador para inventar guerras en alta mar y demostrar nuestra visión estratega.

Pero como toda innovación, han introducido algunos pequeños detalles que contribuyen, sin lugar a dudas, a perfeccionar el juego.

Para empezar, el programa puede ser autodestruido a la menor indicación por nuestra parte (tecla 2); está también capacitado para obtener una copia de sí mismo en cinta, y, por último, está confeccionado para comenzar automáticamente justo después de la carga.

Anímese y no se arrepentirá.

  • 014/programas-microhobby.txt
  • Última modificación: d/m/Y H:i
  • por miguel