Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup es.comp.* Foro > Newsgroup es.comp.sistemas.sinclair
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




Respuesta
 
LinkBack Herramientas Desplegado
  #61 (permalink)  
Antiguo 13-05-2008, 13:17:58
Forni
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

On 13 mayo, 13:16, Pepe Pérez wrote:
> pues me quito el sombrero y aplaudo toda tu explicación :-)


Como diría el señor Lobo, "dejemos de ..." :P

> De todas formas, si me permites y por "acotar" un poco más esto, creo que lo
> que me ha despistado -y me parece que a Gandulf también- es esto:
>
> 23735 VECTOR Address used to extend the Basic interpreter
>
> que por ejemplo aparece mencionado aquí:http://www.users.globalnet.co.uk/~jg...01/yr01_71.htm
> o lo que es peor, incluso aquí:http://www.worldofspectrum.org/faq/r...eripherals.htm


Es que es correcto. Mira lo que pone al principio:

http://www.users.globalnet.co.uk/~jg...01/yr01_71.htm
SYSTEM VARIABLES
The Microdrive, LAN and RS232 software uses more system variables;
these are described as follows:

http://www.worldofspectrum.org/faq/r...eripherals.htm
ZX Interface I
The ZX Interface I allows up to 8 ZX Microdrives to be connected to a
single ZX Spectrum, features an RS-232 port, and provides networking
facilities that allow up to 255 machines to directly communicate with
each other. Sinclair BASIC includes commands to access the features of
the ZX Interface I and the ZX Microdrive. The following system
variables are used in addition to those specified for the standard
machine:

Están hablando de las variables del sistema de un Spectrum que tiene
conectado un Interface I.
Como he puesto en mi explicación esos valores son válidos para un
Spectrum 48k (no estoy seguro de si también los 128k) sin nada
conectado. Cuando conectas el Interface I el sistema operativo del
Spectrum es extendido y la zona de variables del sistema crece
empujando a la zona de canales hacia direcciones de memoria superiores
(por eso está apuntada por la variable del sistema CHANS y no es una
dirección fija, como todo lo que está situado por encima de la
dirección de VARS).
Si te lees toda la tabla de variables que dan en los enlaces que has
puesto verás que al final pone:

23792 Start of Microdrive MAPs or CHANS

Ahora en vez de empezar en la 23734 empiezan en la 23792, 58 bytes más
arriba. Eso si no hay ningín Microdrive conectado, en cuyo caso se
insertarán ahí los mapas del Microdrive y la dirección apuntada por
CHANS aumentará en consecuencia.

En este caso entonces, los pokes mágicos serían en direcciones 58
bytes mayores.

Para que funcionase siempre lo que habría que hacer es:

POKE PEEK 23631+ 256 * PEEK 23632 + 2, 181

Es decir, coger la dirección apuntada por CHANS (23631) y sumarle 2.



> POKE 23736,0:POKE 23737,0:SAVE "xx"
>
> si que se produce el reset esperado... es más, da tiempo a ver perfectamente
> como se imprime el mensaje "Start tape, then press any key" y justo luego,
> sin esperar realmente a que se pulse la tecla se produce el reset.
>
> Es más, esto me hace pensar que se podría incluso afinar más y esto que
> dices:> Luego espera a que se pulse una tecla y llama a la dirección de
> > memoria PEEK 23736+256*PEEK 23737

> no es estrictamente cierto


Tienes razón, esta parte no me quedó muy clara. A ver si a la segunda
(voy a escribir esto de memoria, sin comprobarlo mucho)...

Partamos de que está todo preparado por la rutina del SAVE para
iniciar a guardar los datos y está ansiosa por comunicárnoslo.

Primero le dice al sistema operativo (o más bien habría que llamarlo
programa monitor, pero lo voy a dejar en s.o.) que selecciona el canal
"K" como canal de entrada/salida, por lo que el s.o. se va a la tabla
de canales apuntada por CHANS y busca una "K" para copiar las
direcciones de los flujos (streams) que tiene asociados a otra
variable del sistema llamada STRMS junto con otros datos (la
explicación está en el articulo de la MH que puse).

Después prepara el mensaje de error a imprimir en la parte inferior de
la pantalla y dice que quiere imprimirlo (llama a la función generica
de salida). Entonces (la función genérica de salida) coge la dirección
de salida que se ha apuntado en STRMS y la utiliza para irla llamando
sucesivamente con los caracteres a imprimir uno a uno en el registro A
(acumulador) del microprocesador.

Luego dice que quiere una tecla (llama a la función genérica de
entrada). Para eso (la función genérica de entrada) coge la dirección
de entrada que tiene apuntada en STRMS y llama a la función para que
le devuelva en el registro A del acumulador el código ASCII de la
tecla que se pulse a continuación.

En condiciones normales, la función de entrada va devolviendo ceros y
la rutina de SAVE vuelve a insistir hasta que recibe un valor distinto
de cero como valor de la tecla pulsada.

Cuando utilizamos el POKE hacemos trampas y cogemos directamente el
valor de la última tecla que se pulsó (que será, por ejemplo, el ENTER
de después de introducir el comando), que afortunadamente siempre se
guarda el s.o. en la variable del sistema LASTK y por tanto nunca será
cero (sólo sería cero si acabamos de encender el ordenador, pero
entonces ¿como hemos metido el SAVE?¿No hemos escrito un LOAD""?¿Un
RUN quizás?). Así pues al primer intento recibe un valor distinto de
cero y la rutina de SAVE sigue con su rollo.


> -por favor, perdóname si con esto te parece que
> estoy criticando lo que has explicado o que no lo valoro, al contrario,
> como ya he dicho, me ha parecido genial, pero como 25 años después ya
> tenemos tiempo de afinar, por eso lo digo-


No hay nada que perdonar. Precisamente los foros y las news están para
este tipo de cosas.
Offtopicazo: nos reunimos aquí (o allí) para compartir y aprender, y
en nuestras manos siempre está el hacer buen uso de ello. Tanto si
eres activo aportando información, como si eres pasivo eligiendo lo
que quieres leer y lo que no.


> El caso es que a mi me parece que en primer lugar se pone el mensaje y
> _luego_ es cuando se llama a PEEK 23736+256*PEEK 23737 (es decir, _antes_
> de esperar a que se pulse la tecla y _no_luego) -por eso precisamente da
> tiempo a ver el mensaje antes del reset-


Creo que por lo que te da tiempo a leer el mensaje es porque el reset
se toma su tiempo en borrar la pantalla.
Aunque sólo corra a 3MHz, el Spectrum es más rápido que el ojo
Pero tienes razón: primero escribe el mensaje y después se va a buscar
una tecla. Hacerlo al revés no tiene sentido


> En fin, de nuevo agradezco a todos el haber aclarado esto y que conste que
> he disfrutado como "un enano" ;-)


Ya te digo.
El disfrute ha sido mútuo.


> Un saludo.


A mandar.
Responder Con Cita
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #62 (permalink)  
Antiguo 13-05-2008, 14:22:33
Forni
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

Como me aburro en el curro (menos mal que en Madrid es como si fuese
jueves)...


FE DE ERRATAS


Veamos el trozo de la rutina de SAVE que se encarga de estos
menesteres:

(de http://www.wearmouth.demon.co.uk/zx82.htm)

;; SA-CONTRL
L0970: PUSH HL ; save start of data

LD A,$FD ; select system channel 'S'
CALL L1601 ; routine CHAN-OPEN

XOR A ; clear to address table directly
LD DE,L09A1 ; address: tape-msgs
CALL L0C0A ; routine PO-MSG -
; 'Start tape then press any key.'

SET 5,(IY+$02) ; TV_FLAG - Signal lower screen
requires
; clearing
CALL L15D4 ; routine WAIT-KEY

Tiene una errata: LD A,$FD ; select system channel 'S'

Mejor cogemos la que aloja el World of Spectrum:

ftp://ftp.worldofspectrum.org/pub/si...ssemblyThe.txt

0970 SA-CONTRL PUSH HL Save the 'pointer'.
LD A,+FD Ensure that channel 'K'
CALL 1601,CHAN-OPEN is open.
XOR A Signal 'first message'.
LD DE,+09A1 Print the message - 'Start
tape,
CALL 0C0A,PO-MSG then press any key.'.
SET 5,(TV-FLAG) Signal 'screen will
require to be
cleared'.
CALL 15D4,WAIT-KEY Wait for a key to be
pressed.

> En condiciones normales, la función de entrada va devolviendo ceros y
> la rutina de SAVE vuelve a insistir hasta que recibe un valor distinto
> de cero como valor de la tecla pulsada.


En realidad la propia rutina de SAVE no comprueba si se ha pulsado una
tecla, se lo deja a la rutina WAIT-KEY.

> (por eso está apuntada por la variable del sistema CHANS y no es una
> dirección fija, como todo lo que está situado por encima de la
> dirección de VARS).


En realidad quería haber escrito "...todo lo que está situado por
encima de la dirección de inicio de las variables del sistema).".



Y seguro que hay más, pero el jefe ya me está mirando...
Responder Con Cita
  #63 (permalink)  
Antiguo 13-05-2008, 14:22:33
Forni
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

Como me aburro en el curro (menos mal que en Madrid es como si fuese
jueves)...


FE DE ERRATAS


Veamos el trozo de la rutina de SAVE que se encarga de estos
menesteres:

(de http://www.wearmouth.demon.co.uk/zx82.htm)

;; SA-CONTRL
L0970: PUSH HL ; save start of data

LD A,$FD ; select system channel 'S'
CALL L1601 ; routine CHAN-OPEN

XOR A ; clear to address table directly
LD DE,L09A1 ; address: tape-msgs
CALL L0C0A ; routine PO-MSG -
; 'Start tape then press any key.'

SET 5,(IY+$02) ; TV_FLAG - Signal lower screen
requires
; clearing
CALL L15D4 ; routine WAIT-KEY

Tiene una errata: LD A,$FD ; select system channel 'S'

Mejor cogemos la que aloja el World of Spectrum:

ftp://ftp.worldofspectrum.org/pub/si...ssemblyThe.txt

0970 SA-CONTRL PUSH HL Save the 'pointer'.
LD A,+FD Ensure that channel 'K'
CALL 1601,CHAN-OPEN is open.
XOR A Signal 'first message'.
LD DE,+09A1 Print the message - 'Start
tape,
CALL 0C0A,PO-MSG then press any key.'.
SET 5,(TV-FLAG) Signal 'screen will
require to be
cleared'.
CALL 15D4,WAIT-KEY Wait for a key to be
pressed.

> En condiciones normales, la función de entrada va devolviendo ceros y
> la rutina de SAVE vuelve a insistir hasta que recibe un valor distinto
> de cero como valor de la tecla pulsada.


En realidad la propia rutina de SAVE no comprueba si se ha pulsado una
tecla, se lo deja a la rutina WAIT-KEY.

> (por eso está apuntada por la variable del sistema CHANS y no es una
> dirección fija, como todo lo que está situado por encima de la
> dirección de VARS).


En realidad quería haber escrito "...todo lo que está situado por
encima de la dirección de inicio de las variables del sistema).".



Y seguro que hay más, pero el jefe ya me está mirando...
Responder Con Cita
  #64 (permalink)  
Antiguo 13-05-2008, 14:22:33
Forni
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

Como me aburro en el curro (menos mal que en Madrid es como si fuese
jueves)...


FE DE ERRATAS


Veamos el trozo de la rutina de SAVE que se encarga de estos
menesteres:

(de http://www.wearmouth.demon.co.uk/zx82.htm)

;; SA-CONTRL
L0970: PUSH HL ; save start of data

LD A,$FD ; select system channel 'S'
CALL L1601 ; routine CHAN-OPEN

XOR A ; clear to address table directly
LD DE,L09A1 ; address: tape-msgs
CALL L0C0A ; routine PO-MSG -
; 'Start tape then press any key.'

SET 5,(IY+$02) ; TV_FLAG - Signal lower screen
requires
; clearing
CALL L15D4 ; routine WAIT-KEY

Tiene una errata: LD A,$FD ; select system channel 'S'

Mejor cogemos la que aloja el World of Spectrum:

ftp://ftp.worldofspectrum.org/pub/si...ssemblyThe.txt

0970 SA-CONTRL PUSH HL Save the 'pointer'.
LD A,+FD Ensure that channel 'K'
CALL 1601,CHAN-OPEN is open.
XOR A Signal 'first message'.
LD DE,+09A1 Print the message - 'Start
tape,
CALL 0C0A,PO-MSG then press any key.'.
SET 5,(TV-FLAG) Signal 'screen will
require to be
cleared'.
CALL 15D4,WAIT-KEY Wait for a key to be
pressed.

> En condiciones normales, la función de entrada va devolviendo ceros y
> la rutina de SAVE vuelve a insistir hasta que recibe un valor distinto
> de cero como valor de la tecla pulsada.


En realidad la propia rutina de SAVE no comprueba si se ha pulsado una
tecla, se lo deja a la rutina WAIT-KEY.

> (por eso está apuntada por la variable del sistema CHANS y no es una
> dirección fija, como todo lo que está situado por encima de la
> dirección de VARS).


En realidad quería haber escrito "...todo lo que está situado por
encima de la dirección de inicio de las variables del sistema).".



Y seguro que hay más, pero el jefe ya me está mirando...
Responder Con Cita
  #65 (permalink)  
Antiguo 13-05-2008, 14:22:33
Forni
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

Como me aburro en el curro (menos mal que en Madrid es como si fuese
jueves)...


FE DE ERRATAS


Veamos el trozo de la rutina de SAVE que se encarga de estos
menesteres:

(de http://www.wearmouth.demon.co.uk/zx82.htm)

;; SA-CONTRL
L0970: PUSH HL ; save start of data

LD A,$FD ; select system channel 'S'
CALL L1601 ; routine CHAN-OPEN

XOR A ; clear to address table directly
LD DE,L09A1 ; address: tape-msgs
CALL L0C0A ; routine PO-MSG -
; 'Start tape then press any key.'

SET 5,(IY+$02) ; TV_FLAG - Signal lower screen
requires
; clearing
CALL L15D4 ; routine WAIT-KEY

Tiene una errata: LD A,$FD ; select system channel 'S'

Mejor cogemos la que aloja el World of Spectrum:

ftp://ftp.worldofspectrum.org/pub/si...ssemblyThe.txt

0970 SA-CONTRL PUSH HL Save the 'pointer'.
LD A,+FD Ensure that channel 'K'
CALL 1601,CHAN-OPEN is open.
XOR A Signal 'first message'.
LD DE,+09A1 Print the message - 'Start
tape,
CALL 0C0A,PO-MSG then press any key.'.
SET 5,(TV-FLAG) Signal 'screen will
require to be
cleared'.
CALL 15D4,WAIT-KEY Wait for a key to be
pressed.

> En condiciones normales, la función de entrada va devolviendo ceros y
> la rutina de SAVE vuelve a insistir hasta que recibe un valor distinto
> de cero como valor de la tecla pulsada.


En realidad la propia rutina de SAVE no comprueba si se ha pulsado una
tecla, se lo deja a la rutina WAIT-KEY.

> (por eso está apuntada por la variable del sistema CHANS y no es una
> dirección fija, como todo lo que está situado por encima de la
> dirección de VARS).


En realidad quería haber escrito "...todo lo que está situado por
encima de la dirección de inicio de las variables del sistema).".



Y seguro que hay más, pero el jefe ya me está mirando...
Responder Con Cita
  #66 (permalink)  
Antiguo 14-05-2008, 08:31:03
Pepe Pérez
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

> Es que es correcto. Mira lo que pone al principio:
> http://www.users.globalnet.co.uk/~jg...01/yr01_71.htm
> SYSTEM VARIABLES
> The Microdrive, LAN and RS232 software uses more system variables;
> these are described as follows:

entonces creo que ya entiendo a que te refieres. Esa dirección 23735
corresponde a esta definición:

X2 23735 VECTOR Address used to extend the BASIC interpreter

_solo_ cuando está conectado un microdrive o similar... mientras que si no
hay aparato alguno "adosado" al spectrum pues se cumple todo lo que hasta
ahora estamos hablando -y que además es lo que pone en el manual-... vamos,
que como dices debí leer todo al completo y no solo la parte que me
interesaba -y no, no creas que es la primera vez que me pasa ;-) -

Pues de nuevo muchas gracias por tu paciencia y me da igual lo que diga
el "señor Lobo" :-) yo he aprendido un montón de cosas que no sabía y eso
es lo que más me gusta.

Gracias de nuevo.

Un saludo.

PD: por cierto, el tema de "los canales" y el uso de
funciones "genéricas" -como tú las llamas- para imprimir o para leer creo
que en su tiempo fueron ampliamente desconocidas y que realmente deberían
haber sido "la vanguardia" de la programación, mientras que lo que más se
estilaba era decir que las rutinas de la ROM eran muy lentas sin comprender
realmente el porqué de esa "lentitud".
Responder Con Cita
  #67 (permalink)  
Antiguo 14-05-2008, 08:31:03
Pepe Pérez
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

> Es que es correcto. Mira lo que pone al principio:
> http://www.users.globalnet.co.uk/~jg...01/yr01_71.htm
> SYSTEM VARIABLES
> The Microdrive, LAN and RS232 software uses more system variables;
> these are described as follows:

entonces creo que ya entiendo a que te refieres. Esa dirección 23735
corresponde a esta definición:

X2 23735 VECTOR Address used to extend the BASIC interpreter

_solo_ cuando está conectado un microdrive o similar... mientras que si no
hay aparato alguno "adosado" al spectrum pues se cumple todo lo que hasta
ahora estamos hablando -y que además es lo que pone en el manual-... vamos,
que como dices debí leer todo al completo y no solo la parte que me
interesaba -y no, no creas que es la primera vez que me pasa ;-) -

Pues de nuevo muchas gracias por tu paciencia y me da igual lo que diga
el "señor Lobo" :-) yo he aprendido un montón de cosas que no sabía y eso
es lo que más me gusta.

Gracias de nuevo.

Un saludo.

PD: por cierto, el tema de "los canales" y el uso de
funciones "genéricas" -como tú las llamas- para imprimir o para leer creo
que en su tiempo fueron ampliamente desconocidas y que realmente deberían
haber sido "la vanguardia" de la programación, mientras que lo que más se
estilaba era decir que las rutinas de la ROM eran muy lentas sin comprender
realmente el porqué de esa "lentitud".
Responder Con Cita
  #68 (permalink)  
Antiguo 14-05-2008, 08:31:03
Pepe Pérez
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

> Es que es correcto. Mira lo que pone al principio:
> http://www.users.globalnet.co.uk/~jg...01/yr01_71.htm
> SYSTEM VARIABLES
> The Microdrive, LAN and RS232 software uses more system variables;
> these are described as follows:

entonces creo que ya entiendo a que te refieres. Esa dirección 23735
corresponde a esta definición:

X2 23735 VECTOR Address used to extend the BASIC interpreter

_solo_ cuando está conectado un microdrive o similar... mientras que si no
hay aparato alguno "adosado" al spectrum pues se cumple todo lo que hasta
ahora estamos hablando -y que además es lo que pone en el manual-... vamos,
que como dices debí leer todo al completo y no solo la parte que me
interesaba -y no, no creas que es la primera vez que me pasa ;-) -

Pues de nuevo muchas gracias por tu paciencia y me da igual lo que diga
el "señor Lobo" :-) yo he aprendido un montón de cosas que no sabía y eso
es lo que más me gusta.

Gracias de nuevo.

Un saludo.

PD: por cierto, el tema de "los canales" y el uso de
funciones "genéricas" -como tú las llamas- para imprimir o para leer creo
que en su tiempo fueron ampliamente desconocidas y que realmente deberían
haber sido "la vanguardia" de la programación, mientras que lo que más se
estilaba era decir que las rutinas de la ROM eran muy lentas sin comprender
realmente el porqué de esa "lentitud".
Responder Con Cita
  #69 (permalink)  
Antiguo 14-05-2008, 08:31:03
Pepe Pérez
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

> Es que es correcto. Mira lo que pone al principio:
> http://www.users.globalnet.co.uk/~jg...01/yr01_71.htm
> SYSTEM VARIABLES
> The Microdrive, LAN and RS232 software uses more system variables;
> these are described as follows:

entonces creo que ya entiendo a que te refieres. Esa dirección 23735
corresponde a esta definición:

X2 23735 VECTOR Address used to extend the BASIC interpreter

_solo_ cuando está conectado un microdrive o similar... mientras que si no
hay aparato alguno "adosado" al spectrum pues se cumple todo lo que hasta
ahora estamos hablando -y que además es lo que pone en el manual-... vamos,
que como dices debí leer todo al completo y no solo la parte que me
interesaba -y no, no creas que es la primera vez que me pasa ;-) -

Pues de nuevo muchas gracias por tu paciencia y me da igual lo que diga
el "señor Lobo" :-) yo he aprendido un montón de cosas que no sabía y eso
es lo que más me gusta.

Gracias de nuevo.

Un saludo.

PD: por cierto, el tema de "los canales" y el uso de
funciones "genéricas" -como tú las llamas- para imprimir o para leer creo
que en su tiempo fueron ampliamente desconocidas y que realmente deberían
haber sido "la vanguardia" de la programación, mientras que lo que más se
estilaba era decir que las rutinas de la ROM eran muy lentas sin comprender
realmente el porqué de esa "lentitud".
Responder Con Cita
  #70 (permalink)  
Antiguo 14-05-2008, 09:44:10
Forni
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

On 14 mayo, 09:31, Pepe Pérez wrote:
> PD: por cierto, el tema de "los canales" y el uso de
> funciones "genéricas" -como tú las llamas- para imprimir o para leer creo
> que en su tiempo fueron ampliamente desconocidas y que realmente deberían
> haber sido "la vanguardia" de la programación, mientras que lo que másse
> estilaba era decir que las rutinas de la ROM eran muy lentas sin comprender
> realmente el porqué de esa "lentitud".


Este tema de los canales fue uno de los que más me costó entender
cuando lo leí en su día. Pero claro, no es lo mismo leerlo con 13 años
y siendo el artículo de MicroHobby la única fuente, con la dificultad
añadida de probarlo en la máquina real que cuando se colgaba se perdía
todo, que ahora con mucho más de el doble de edad, con la carrera tras
las espaldas, trabajando de desarrollador desde hace tiempo...

Aun así coincido contigo en tu apreciación de que la implementación de
los canales en el Spectrum fue algo realmente inteligente. Si te lees
el manual del Interface I verás que haciendo uso de los canales puedes
leer y escribir en el microdrive utilizando PRINTs e INPUTs !!!! O
hacer uso de la LAN que podías crear con hasta 64 Spectrums de una
manera sumamente sencilla y desde el BASIC.

E igualmente coincido en que no se explotó de manera adecuada. Casi
siempre que he visto algún programilla o alguna rutina de utilidad que
las usa hace una pequeña ñapa para utilizar los canales, en vez de
hacerlo de manera adecuada con sus OPEN, CLOSE, PRINT # ...

Por ejemplo esta rutina:

http://microhobby.speccy.cz/mhf/022/MH022_14.jpg
http://microhobby.speccy.cz/mhf/022/MH022_15.jpg
http://microhobby.speccy.cz/mhf/022/MH022_16.jpg

En vez de tenerse que utilizar "a pelo", POKEando los valores a
imprimir en una posición de memoria fija y después llamando a la
rutina directamente (la cual abre el canal "S" y utiliza la rutina de
impresión del s.o.), podría haberse instalado como un nuevo canal de
salida (por ejemplo creando el canal "H", por lo de High Resolution, o
reutilizando el "P" de la impresora) y añadiendo un simple filtrado
para los códigos AT, TAB, INK, PAPER, ... (si se quiere, pues no sería
imprescindible utilizarlos) poderlo utilizar de una manera tan
sencilla como:

OPEN #4, "h": PRINT #4; "Texto en 64 columnas, como mola"

Y los cambios y el esfuerzo en el C.M. serían mínimos.

Como ejemplo de como utilizar bien los canales creo que el programita
PROPAN (PROcesador-de-PANtallas creo que se llamaba) del curso de
Código Máquina de la MH era un buen ejemplo (ahora no tengo por aquí
el PDF del cursito para comprobarlo). Ampliaba las capacidades de
manejar la pantalla de una manera muy sencilla desde BASIC para poder
hacer scrolls y copia de secciones de la pantalla utilizando simples
PRINTs y códigos de ontrol.

Responder Con Cita
 
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último mensaje
CAMBIAR DIRECCION DE CORREO ELECTRONICO O DIRECCION DE MESS Danger.ve Newsgroup microsoft.public.es.msn.messenger 8 20-03-2007 21:54:06
Conexión extraña José Manuel Newsgroup es.comp.virus 16 23-01-2007 21:00:12
IP MUY EXTRAÑA Q Newsgroup es.comp.redes.misc 10 08-06-2006 11:22:07
peticion extraña CADchondo Newsgroup es.comp.cad.autocad 0 28-10-2005 10:25:25
cosa extraña en C Ricardo Catalinas Jimenez Newsgroup es.comp.os.linux.programacion 48 26-04-2005 21:49:19





Powered by: vBulletin, Versión 3.6.8
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.