05 de Julio de 2021, 07:15:01 pm
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
1 Hora
1 Día
1 Semana
1 Mes
Siempre
Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias
:
Inicio
Ayuda
Buscar
Ingresar
Registrarse
Karoshi MSX Community
>
Desarrollo MSX
>
Desarrollo (Español/Spanish)
>
Dudas con respecto a HALT
Páginas: [
1
]
« anterior
próximo »
Imprimir
Autor
Tema: Dudas con respecto a HALT (Leído 4313 veces)
0 Usuarios y 1 Visitante están viendo este tema.
SapphiRe
Visitante
Dudas con respecto a HALT
«
:
16 de Abril de 2006, 01:09:39 am »
Hola a todos:
Esta mañana comentábamos JLTurSan y yo sobre la sincronización utilizando la instrucción HALT y nos ha surgido una duda que igual alguien puede despejarnos para bien o para mal.
El caso es el siguiente: ¿cuándo se detiene la ejecución de un HALT? La respuesta parece fácil y lo es: cuando le llega una interrupción al Z80 siempre que éstas estén habilitadas, claro. Ahora viene la pregunta complicada, no iba a ser todo tan sencillo, jejeje. Supongamos que nuestra rutina termina dentro del primer tercio de pantalla y ahí comienza a ejecutarse el HALT, que se detendrá en la próxima interrupción que, nosotros esperamos, debería suceder al terminar el barrido de la pantalla.
Y aquí viene la pregunta gorda: ¿puede dispararse una interrupción (no provocada por el VDP) digamos a media pantalla y destrozarnos la sincronización? En caso afirmativo, ¿quién podría provocarla? ¿Cómo podríamos evitar que se produjera?
Gracias
--
SapphiRe
En línea
WYZ
Visitante
Re: Dudas con respecto a HALT
«
Respuesta #1 :
16 de Abril de 2006, 12:12:03 pm »
Es mas! Si la sincronizacion se fuera al garete por esa causa, podríamos usar el bit 7 del registro de estado del VDP para evitar el problema?
En línea
SapphiRe
Visitante
Re: Dudas con respecto a HALT
«
Respuesta #2 :
16 de Abril de 2006, 12:27:43 pm »
Cita de: WYZ en 16 de Abril de 2006, 12:12:03 pm
Es mas! Si la sincronizacion se fuera al garete por esa causa, podríamos usar el bit 7 del registro de estado del VDP para evitar el problema?
¡Sí! Esa sería una buena solución: si no es debida al VDP ejecutamos otro halt dentro de la rutina de servicio de interrupciones y en paz. La pregunta es... ¿haría falta?
En línea
WYZ
Visitante
Re: Dudas con respecto a HALT
«
Respuesta #3 :
16 de Abril de 2006, 12:31:45 pm »
y otra custion mas: ¿es esa interrupcion del registro de estado una copia de la del z80?
PS:Jodidos analisis!!
En línea
SapphiRe
Visitante
Re: Dudas con respecto a HALT
«
Respuesta #4 :
16 de Abril de 2006, 12:51:43 pm »
Mira en snippets que ahí tienes una actualización de la rutina de parcheo de interrupciones
Lo he hecho un poco de memoria sin probarlo, espero no haberme equivocado.
Saludos
--
SapphiRe
En línea
jltursan
Karoshi Forum's Guru
Mensajes: 1516
¿Que es lo que has aprendido hoy?
Re: Dudas con respecto a HALT
«
Respuesta #5 :
17 de Abril de 2006, 09:19:01 am »
Esto es demasiado para mí un lunes por la mañana....
En línea
Doom dee doom dee doom
SapphiRe
Visitante
Re: Dudas con respecto a HALT
«
Respuesta #6 :
17 de Abril de 2006, 12:36:12 pm »
Pues aún hay un pequeño retoque que hacer, luego lo explicaré con más detalle, ya que en algunas ocasiones puede ser que salte una interrupción justo entre el ret y el halt... hay que mover el EI de sitio
En línea
SapphiRe
Visitante
Re: Dudas con respecto a HALT
«
Respuesta #7 :
17 de Abril de 2006, 04:01:47 pm »
Pues en Snippets tenéis actualizada la rutina. De nuevo lo he hecho de cabeza pero ahora (al menos en teoría) no cabría la posibilidad de que se colase una interrupción antes de que llegase el HALT, ya que justo antes se ejecuta EI. Es un pelín más lenta que la anterior, ya que hay un call más, pero no debería ser un tremendo aumento del coste.
Saludos
--
SapphiRe
En línea
Páginas: [
1
]
Imprimir
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Desarrollo MSX
-----------------------------
=> Desarrollo (Español/Spanish)
=> Development (English/Ingles)
=> Rutinas - Snipets
=> Herramientas - Dev Tools
=> Hardware
=> Enlaces - Links
=> Team-Up
-----------------------------
MSX Actualidad
-----------------------------
=> General
=> Eventos - Events
=> Concursos - Contest
=> Reviews
-----------------------------
Archivo (pre 2018)
-----------------------------
=> Karoshi Corporation
===> Karoshi Open Source
===> Videogames | Juegos
===> Unfinished projects | Proyectos inacabados
===> Applications | Aplicaciones
=> Media
=> MSXdev Archives
===> MSXdev '14
===> MSXdev '13
===> MSXdev '12
===> MSXdev '11-'03 (wip)
=> AUIC - Comunicados
=> AAMSX - General
=> English Boards
===> Off-topic
===> Contests
===> Suggest a Game
===> General Info
=> Otros
===> Sugierenos un juego
===> Compro/Cambio/Vendo/Subasto
===> Off-topic
Cargando...