

-datagear dma: timing (puesto tiempos arbitrarios), demos que hacen out no se ven bien, modo turbo next afecta a timing?
Y montones de flags y parámetros de dma que de momento no gestiono



--- Sprite Chip ZGX ---

-Scroll circular sin relleno de nada?
-Sprites que empiezan en coordenadas x -7 o más deben aparecer en pantalla. Ver vídeo 5
-Limitar tabla de sprites a máximo 65536/40=1638 sprites
-Limite de sprites por scanline? Tener en cuenta que sean sprites activos
-Desactivar chip sprites si reset y máquina no spectrum. Pero en set_machine si se hace ahi, fuerza a desactivar aunque en el .config se haya habilitado
-Sprites de 16x16?

-----------------------

--- +3 ---
-+3: funcionan :

3d kit disco 1

zigurat software:
autocrash
carlos sainz
gp f1
jungle warrior
senda salvaje
sito pons

Mirar porque fallan muchos dsk

al cambiar funcion de busqueda sectores: ahora busca sector id de cada sector:
emilio sanchez vicario: usa sectores consecutivos
paris dakar: NO va, pero veo que usa sectores consecutivos tambien (a partir de pista 1)
drazen petrovic basket
night hunter. aunque luego no carga la cara b

-autoload en +3 de cinta no va, seguramente porque al tener un dsk insertado, la rutina salta diferente (o le envia el enter antes)


-------------

--- Betadisk ---

-betadisk: nmi no parece guardar el snapshot, aunque lo intenta

-------------


------------------

--- MMC y DIVMMC ---

-Probar otros firmwares de divmmc, si es que los hay: fatware?

-Mmap para acceso a mmc/ide. Pero solo cuando se activa "persistent writes".
mmap tiene flags para decir que es solo lectura pero supongo que fallaria con segfault si escribimos en una zona de solo lectura
Sin persistent writes deberia hacerlo como siempre: escribiendo en memoria, sin mmap
Con mmap, se deja de hacer flush, ya que lo hará automáticamente (??) el sistema operativo, al activar mmap 

-TODO. Bit MAPRAM can be set to '1' only (when it's '1', only power-on can return it to '0').

-En Mac parece que siempre falla al escribir en imagenes de 2 GB (y superiores)
retorna:
ptr_mmcfile: 2017595472
escritos: -2147483648


-Revisar protección de escritura en páginas divmmc

-quizá accesos a mmc se deberían hacer directamente a disco, combinando fseek, en vez de memoria. hacer flush de por ejemplo imagen de 512MB en mac tarda unos 4 segundos. Fseek en Windows que limitaciones hay?

-Divmmc en teoría esto está mal:
It's also mapped instantly (100ns after /MREQ of that fetch is falling down) after executing opcode from area 3d00..3dffh.
->Debería paginar después de ejecutar opcode y en cambio lo está haciendo antes
->Pero realmente si lo cambio no funciona


-MMC (y tambien para IDE)
Mejorar mmc flush etc. Al escribir a disco, debería dejar las operaciones de escritura en espera, esto 
cuando se lanza desde otro thread desde timer Es critico. 
Si no hay threads, no hay problema, hay un solo hilo y los dos eventos no se dan nunca a la misma vez
Ejemplo:
Inicia escritura de byte en memoria mmc. Mete variable flush a 1. Pero aún no ha escrito
Inicia flush. Mete variable flush a 0. Aún no graba a disco
Sigue escritura de byte en memoria mmc. 
Sigue el thread de grabado a disco pero puede ser que el byte modificado no entre esta vez

Aunque entrará en el siguiente flush, si lo hay. 

En este caso esto puede quedar corregido simplemente si al expulsar mmc file siempre hacemos flush. 
Pero esto NO es recomendable pues entonces haríamos siempre flush de toda imagen, se haya escrito o no. 
Quizá activar flag cuando se escribe al menos una vez y al salir sabemos si hay que grabarlo o no 




------------------

--- IDE y DIVIDE ---

-Códigos ide de identify deberían tener los textos con los bytes alternados a pares
-No funciona IDE 8 bit

------------------


--- Interface 1 ---

Hacer un CAT se queda en bucle
Ahora de momento solo lee microdrive de prueba prueba.mdr
No hace ni read, ni write, ni format...
rom quitada de la distribucion. tiene nombre if1-v2.rom.demomento_desactivada

-------------------


--- SPECTRA ---

-no hace correctamente modos rainbow, ya que lee los atributos de pantalla tal cual de la memoria, y no como un modo normal
rainbow en que se coje del buffer buffer_atributos que se va escribiendo desde el core. Esto quiza es casi imposible de hacer,
aparte que no creo que en spectra se contemple esto, pues ademas el timing de la pantalla es diferente
Por tanto, solo tener en cuenta que con spectra activado, demos como la overscan no se ven bien

-no funciona scroll de sprite chip. Dado que spectra actualiza la pantalla segun su memoria interna, que se replica en cada operacion de poke_byte.
Pero el scroll del sprite chip no se realiza con poke_byte, sino con escritura directa a puntero de memoria

------------------

--- ZXPAND ---

-en CMDR, al mover archivos, mete el current dir apuntando al directorio de la derecha. Por tanto esto falla. Se puede corregir yendo a la izquierda y volviendo a seleccionar el directorio actual (si es el directorio raiz, seleccionar ".."). Pero esto parece un fallo de CMDR y no del emulador
-ordenacion de archivos en listado CAT

-operaciones de archivos son case insensitive (da igual si esta en mayusculas o minusculas). Pero subcarpetas dentro del zxpand filesystem debe
ser siempre en mayusculas. Carpetas siempre se muestran pero no se podran acceder las que no sean todo mayusculas


-zxpand en zx80 se ven caracteres de config por ejemplo mal. pero la rom tambien muestra caracteres mal, dado que usa una overlay rom de zx81, no de zx80

-lecturas que se producen al cargar CMDR pero despues de hacer fclose y sin hacer fopen. revisar:
debido a funcion setjoy. los valores de joystick deben volver incorrectos y hacen que puerto BC (registro B) se corrompa
(ver docs/zxpand_cmdr.txt)

-sound tracker de andy rea se cuelga. porque? stcplay , gasman y sound_demo usan el mismo player
requiere ramtop en 24999 y CONFIG "M=H"
carpeta aux_zesarux/zx81/sound_demo  tambien

-Zxpand+ nuevo firmware?
https://github.com/charlierobson/ZXpand-Vitamins/wiki/ZXpand---Online-Manual




------------------

--- Texas Instruments SN76489AN ---

-emulacion ruido chip SN mejorar


------------------

--- vdp 9918 ---

-corregir info de bits que puede estar al reves: en el datasheet original numeran los bits al reves: el bit 7 es el 1, el 6 el 2, etc

------------------


-emulación impresion seikosha gp-100a


-Dandanator nueva versión