Otros TODO menos prioritarios, de aqui hasta el final del archivo:



*** Debug ***

-Assembler para Motorola y MK14
-Assembler para opcodes del Next
-Assembler instrucciones DD/FD+CB no documentadas. ej: LD B,RLC (IX+dd)
-Detectar errores sintaxis en assembler

-Quizá agregar stack Trace en kernel panic. Que pasa con stack de mk14 y Motorola?
Implica leer memoria para sacar el stack. Conviene hacerlo después de un panic?


Menu debugger:
-Doble ptr, uno para codigo y otro para memoria

-posicion electron no va bien en: zx81, tsconf. Revisar otras maquinas. En 48k funciona bien

-poder indicar mas de una accion en misma breakpoint condition, ejemplo
condition: pc=4000h

action: prints hello ; menu

-cuando hay breakpoint pc en otras vistas, tambien mostrarlo

-Menú debug cpu extra debug con extended debug, cpu history, code coverage etc

-Quiza darle mas buffer a disassemble en debug cpu: motorola tiene opcodes muy largos a veces. ir por ejemplo a direccion F0H

-al cambiar de core reduced o no, si habia breakpoints, aparecen como activos aunque realmente el core no esta usando el debug core (se ha perdido el nested)

-con multitarea on, en debug cpu, en step mode, por lo tanto, no ejecuta cpu opcodes de fondo, si se activa OSD, se ejecutaran opcodes mientras dure el OSD
En ese mismo OSD, si pulsamos una tecla en el OSD, se quedara colgado, pues no vuelve -> parece que incluso sin modo step, el osd se colgara al enviar una tecla : en el caso de que no es modo step, realmente no se ha colgado, solo que se ha quedado la tecla indicada pulsada-> pulsar misma tecla para liberarlo

-con menu abierto no se disparan acciones, excepto si se va a menu debug cpu: logicamente pues eso solo se gestiona al iniciar el menu

-Si un breakpoint de menu y otro de accion (prints por ejemplo) coinciden al mismo tiempo, solo salta el breakpoint de menu
->problema que el breakpoint que ha saltado, indicado por la variable catch_breakpoint_index, solo puede ser uno cada vez...

-en menu debug, poder ver sprites del chip de sprites ZGX

-Desensamblador, que permita copiar código assembler a texto
->desensamblador, pero de momento no puede copiar a texto

-condiciones outfired e infired no se disparan cuando son operaciones i/o de dma. es debido 
a que las variables debug_fire_in y out se resetean antes del core y se comprueban despues, 
pero la dma va aparte 


-debugger z80: que sea capaz de mostrar direcciones NNNN correctas (para JR CC DIS) aunque se este debugando con memory zone y direccion alta.
Por ejemplo:
estamos en full ram en zxuno, vamos a la direccion donde empieza propiamente la rom 0, a la 131072:

 20000 F3       DI
 20001 01036C   LD BC,6C03
 20004 0B       DEC BC
 20005 78       LD A,B
 20006 B1       OR C
 20007 20FB     JR NZ,0004

Este JR NZ deberia aparecer como 20004

-visor sprites: quizá mejorarlo para que se pueda elegir el incremento de salto para cada scanline... Por ejemplo, sprites de tsconf saltan de 256 en 256

-Paso a paso cuando hay condición de debug activa no deja salir (en menú) : ocurre porque sale y al momento salta 
breakpoint y vuelve a entrar. Es normal->opcion para poder salir de ahi aun con breakpoint activo? tiene sentido?

-menu debug keys. que muestre en pantalla las teclas que se pulsan

-Set breakpoint en dirección vista en ZRCP


->Esto siguiente de debug_dump_nested_functions ya está corregido en principio
void debug_dump_nested_functions(char *result)
  Ver en cada caso que haya algo en la lista y que ademas,
  el handler (por ejemplo, cpu_core_loop) apunte a handler nested
  Sucede que si por ejemplo activamos kartusho, y luego hacemos un smartload,
  el kartusho se desactiva, pero la lista contiene funciones nested, aunque los handler de peek y poke
  apuntan a los normales y no a kartusho (como debe ser)
->Se deberia tener algo que , cuando se cambian los handler (peek, poke, cpu etc) se borrase la lista nested,
aunque no es necesario, pues cuando se crea un elemento y el handler no apunta a nested, se crea lista nueva,
y ademas, la funcion de debug_dump_nested_functions ya controla esos casos y no retorna nada de la lista

*************
