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
  #1 (permalink)  
Antiguo 11-05-2008, 17:31:25
Pepe Pérez
 
Mensajes: n/a
Predeterminado Extraña dirección de memoria

Hace muchísimo tiempo, recuerdo que para grabar un programa "del tirón" y
que no se mostrase el mensaje de "start tape and press any key" se usaba un
POKE mágico.

Hoy, ojeando aquí: http://www.sincuser.f9.co.uk/036/letters.htm he visto
que era en concreto: POKE 23736,181 ... es más, lo he probado -en el
emulador- y funciona correctamente ( también se menciona algo parecido aquí
http://microhobby.speccy.cz/mhf/095/MH095_07.jpg )

Lo que no comprendo, y es lo que querría preguntaros, es que según mi manual
del Spectrum -el del gomas 48k que es el que tengo- la última variable del
sistema está en la dirección 23732, es decir, unos 4 bytes antes de esa
dirección ¿¿???.

¿Como funciona entonces ese POKE? ¿Hay más variables del sistema además de
las que menciona el manual???? ¿Porqué precisamente 181 el valor?

Un saludo.






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

  #2 (permalink)  
Antiguo 12-05-2008, 03:10:45
Gandulf
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria


La verdad es que es una "variable" poco documentada. Es un vector de
llamada, no una variable, lo que no tengo claro que para que se usa
exactamente, pero tiene relacción con el intérprete de BASIC.

23735 VECTOR Address used to extend the Basic interpreter

Si pokeas en la 23736 con un valor, estás modificando la dirección del
vector, y posiblemente lo que hace al meter 181 es apuntar a un trozo
de código de la ROM que provoque el efecto que comentas. Se puede
pokear con más valores para apuntar a otros sitios, vamos, a cualquier
dirección de la RAM o ROM, así que puedes hacer que el vector apunte a
código tuyo, el tema está en que no he encontrado la documentación
sobre cuando el intérprete usa ese vector de salto.


Responder Con Cita
  #3 (permalink)  
Antiguo 12-05-2008, 03:10:45
Gandulf
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria


La verdad es que es una "variable" poco documentada. Es un vector de
llamada, no una variable, lo que no tengo claro que para que se usa
exactamente, pero tiene relacción con el intérprete de BASIC.

23735 VECTOR Address used to extend the Basic interpreter

Si pokeas en la 23736 con un valor, estás modificando la dirección del
vector, y posiblemente lo que hace al meter 181 es apuntar a un trozo
de código de la ROM que provoque el efecto que comentas. Se puede
pokear con más valores para apuntar a otros sitios, vamos, a cualquier
dirección de la RAM o ROM, así que puedes hacer que el vector apunte a
código tuyo, el tema está en que no he encontrado la documentación
sobre cuando el intérprete usa ese vector de salto.


Responder Con Cita
  #4 (permalink)  
Antiguo 12-05-2008, 03:10:45
Gandulf
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria


La verdad es que es una "variable" poco documentada. Es un vector de
llamada, no una variable, lo que no tengo claro que para que se usa
exactamente, pero tiene relacción con el intérprete de BASIC.

23735 VECTOR Address used to extend the Basic interpreter

Si pokeas en la 23736 con un valor, estás modificando la dirección del
vector, y posiblemente lo que hace al meter 181 es apuntar a un trozo
de código de la ROM que provoque el efecto que comentas. Se puede
pokear con más valores para apuntar a otros sitios, vamos, a cualquier
dirección de la RAM o ROM, así que puedes hacer que el vector apunte a
código tuyo, el tema está en que no he encontrado la documentación
sobre cuando el intérprete usa ese vector de salto.


Responder Con Cita
  #5 (permalink)  
Antiguo 12-05-2008, 10:47:55
Pepe Pérez
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

> La verdad es que es una "variable" poco documentada. Es un vector de
> llamada, no una variable, lo que no tengo claro que para que se usa
> exactamente, pero tiene relacción con el intérprete de BASIC.
> 23735 VECTOR Address used to extend the Basic interpreter

pues es verdad, apenas hay comentarios al respecto -o al menos no aparecen
más que un par de reseñas en google-.

Aún así, me he entretenido un con un par de PEEKs y resulta que 23735
contiene 9 y 23736 contiene 168 siempre (con "siempre" me refiero a sin
microdrives ni cosas raras, tal cual arranca el Spectrum).

Si realmente es un vector, quiere decir que por defecto señalaría a la
dirección 9+256*168=43017 pero desde luego esa dirección no está en ROM
¿¿¿????, claro que cuando se hace el POKE con 181, la cosa no va a mejor,
pues en ese caso sería 9+256*181=46345 y tampoco esa parece una dirección
muy "razonable".

En cuanto a esto:
> Si pokeas en la 23736 con un valor, estás modificando la dirección del
> vector, y posiblemente lo que hace al meter 181 es apuntar a un trozo
> de código de la ROM que provoque el efecto que comentas. Se puede
> pokear con más valores para apuntar a otros sitios, vamos, a cualquier
> dirección de la RAM o ROM, así que puedes hacer que el vector apunte a
> código tuyo,

yo no lo veo tan claro (y no solo por lo que decía más arriba de las
direcciones a donde señala el "vector"). Verás, según eso, si hiciera:
POKE 23735,0:POKE 23736,0:SAVE "xx"
debería ver un "bonito reset" al instante :-) , pero en lugar de eso
se "bloquea" todo... gracias al emulador sé que se bloquea en un HALT que
hay en la dirección 0x1303 -imagino que estarán las interrupciones
deshabilitadas cuando llega a él y no debíeran estarlo-, pero desde luego
cualquiera sabe como ha ido ahí a parar :-)

En fin, un extraño "misterio" que me temo que quedará sin resolver :-) ...
¿quien dice que ya se conoce todo de nuestra máquina?

Muchas gracias por contestar.

Un saludo.
Responder Con Cita
  #6 (permalink)  
Antiguo 12-05-2008, 10:47:55
Pepe Pérez
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

> La verdad es que es una "variable" poco documentada. Es un vector de
> llamada, no una variable, lo que no tengo claro que para que se usa
> exactamente, pero tiene relacción con el intérprete de BASIC.
> 23735 VECTOR Address used to extend the Basic interpreter

pues es verdad, apenas hay comentarios al respecto -o al menos no aparecen
más que un par de reseñas en google-.

Aún así, me he entretenido un con un par de PEEKs y resulta que 23735
contiene 9 y 23736 contiene 168 siempre (con "siempre" me refiero a sin
microdrives ni cosas raras, tal cual arranca el Spectrum).

Si realmente es un vector, quiere decir que por defecto señalaría a la
dirección 9+256*168=43017 pero desde luego esa dirección no está en ROM
¿¿¿????, claro que cuando se hace el POKE con 181, la cosa no va a mejor,
pues en ese caso sería 9+256*181=46345 y tampoco esa parece una dirección
muy "razonable".

En cuanto a esto:
> Si pokeas en la 23736 con un valor, estás modificando la dirección del
> vector, y posiblemente lo que hace al meter 181 es apuntar a un trozo
> de código de la ROM que provoque el efecto que comentas. Se puede
> pokear con más valores para apuntar a otros sitios, vamos, a cualquier
> dirección de la RAM o ROM, así que puedes hacer que el vector apunte a
> código tuyo,

yo no lo veo tan claro (y no solo por lo que decía más arriba de las
direcciones a donde señala el "vector"). Verás, según eso, si hiciera:
POKE 23735,0:POKE 23736,0:SAVE "xx"
debería ver un "bonito reset" al instante :-) , pero en lugar de eso
se "bloquea" todo... gracias al emulador sé que se bloquea en un HALT que
hay en la dirección 0x1303 -imagino que estarán las interrupciones
deshabilitadas cuando llega a él y no debíeran estarlo-, pero desde luego
cualquiera sabe como ha ido ahí a parar :-)

En fin, un extraño "misterio" que me temo que quedará sin resolver :-) ...
¿quien dice que ya se conoce todo de nuestra máquina?

Muchas gracias por contestar.

Un saludo.
Responder Con Cita
  #7 (permalink)  
Antiguo 12-05-2008, 10:47:55
Pepe Pérez
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria

> La verdad es que es una "variable" poco documentada. Es un vector de
> llamada, no una variable, lo que no tengo claro que para que se usa
> exactamente, pero tiene relacción con el intérprete de BASIC.
> 23735 VECTOR Address used to extend the Basic interpreter

pues es verdad, apenas hay comentarios al respecto -o al menos no aparecen
más que un par de reseñas en google-.

Aún así, me he entretenido un con un par de PEEKs y resulta que 23735
contiene 9 y 23736 contiene 168 siempre (con "siempre" me refiero a sin
microdrives ni cosas raras, tal cual arranca el Spectrum).

Si realmente es un vector, quiere decir que por defecto señalaría a la
dirección 9+256*168=43017 pero desde luego esa dirección no está en ROM
¿¿¿????, claro que cuando se hace el POKE con 181, la cosa no va a mejor,
pues en ese caso sería 9+256*181=46345 y tampoco esa parece una dirección
muy "razonable".

En cuanto a esto:
> Si pokeas en la 23736 con un valor, estás modificando la dirección del
> vector, y posiblemente lo que hace al meter 181 es apuntar a un trozo
> de código de la ROM que provoque el efecto que comentas. Se puede
> pokear con más valores para apuntar a otros sitios, vamos, a cualquier
> dirección de la RAM o ROM, así que puedes hacer que el vector apunte a
> código tuyo,

yo no lo veo tan claro (y no solo por lo que decía más arriba de las
direcciones a donde señala el "vector"). Verás, según eso, si hiciera:
POKE 23735,0:POKE 23736,0:SAVE "xx"
debería ver un "bonito reset" al instante :-) , pero en lugar de eso
se "bloquea" todo... gracias al emulador sé que se bloquea en un HALT que
hay en la dirección 0x1303 -imagino que estarán las interrupciones
deshabilitadas cuando llega a él y no debíeran estarlo-, pero desde luego
cualquiera sabe como ha ido ahí a parar :-)

En fin, un extraño "misterio" que me temo que quedará sin resolver :-) ...
¿quien dice que ya se conoce todo de nuestra máquina?

Muchas gracias por contestar.

Un saludo.
Responder Con Cita
  #8 (permalink)  
Antiguo 12-05-2008, 10:56:52
Gandulf
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria


Quizá no sea un vector puro y duro en el sentido de dirección de
llamada, es complicado saberlo sin saber de qué forma se usa (incluso
que la documentación de que sea un vector sea correcta). Yo como no
programo en Basic la verdad es que estas cosas no las he mirado nunca,
pero vamos, que me interesa como anécdota.
Responder Con Cita
 
  #9 (permalink)  
Antiguo 12-05-2008, 10:56:52
Gandulf
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria


Quizá no sea un vector puro y duro en el sentido de dirección de
llamada, es complicado saberlo sin saber de qué forma se usa (incluso
que la documentación de que sea un vector sea correcta). Yo como no
programo en Basic la verdad es que estas cosas no las he mirado nunca,
pero vamos, que me interesa como anécdota.
Responder Con Cita
  #10 (permalink)  
Antiguo 12-05-2008, 10:56:52
Gandulf
 
Mensajes: n/a
Predeterminado Re: Extraña dirección de memoria


Quizá no sea un vector puro y duro en el sentido de dirección de
llamada, es complicado saberlo sin saber de qué forma se usa (incluso
que la documentación de que sea un vector sea correcta). Yo como no
programo en Basic la verdad es que estas cosas no las he mirado nunca,
pero vamos, que me interesa como anécdota.
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 4 20-03-2007 20:54:06
Conexión extraña José Manuel Newsgroup es.comp.virus 12 23-01-2007 20:00:12
IP MUY EXTRAÑA Q Newsgroup es.comp.redes.misc 8 08-06-2006 10:22:07
peticion extraña CADchondo Newsgroup es.comp.cad.autocad 0 28-10-2005 09:25:25
cosa extraña en C Ricardo Catalinas Jimenez Newsgroup es.comp.os.linux.programacion 40 26-04-2005 20: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.