HispaMSX

problemas asMSX y VDP

2004-11-07 16:11:44
Buenas chavalones!!!
    bueno, comienzo mi andadura en el MSX (objetivo: MsxDev05)y me estoy
encontrando varios problemas/dudas.En otro correo haré un listado de ellas
para que los gurus del MSX me la resuelvan pero ahora hay algo que me
resulta más urgente y tiene que ver con el ensamblador asMSX:
    En primer lugar dar la enhorabuena a Eduardo, me parece un trabajo muy
bueno. Y ahora  mis problemas:
 
    1º- el más importante. Tengo un codigo que termina asi(antes hay mas).
 
[......]
.PAGE 3  ;para mis variables
 
TECLADO:
 ds  11  ;reservamos 11 bytes para almacenar el estado de las teclas
 
 CERO EQU 01H
 UNO EQU 02H
 DOS EQU 04H
 TRES EQU 08H
 CUATRO EQU 10H
 CINCO EQU 20H
 SEIS EQU 40H
 SIETE EQU 80H

OBJETO1:
 ds 4      ;4 BYTES PARA SPRITE BASICO
 db 0   ;ALMACENARE EL ESTADO
    
    pues bien, cuando ensamblo el programa (genero una ROM) me crea un
fichero de 24 Kb (desde luego mucho mas de lo que hay en total) y no
funciona. Sin embargo, si quito el último byte del trozo anterior (el cual
ahora mismo no uso) ya me genera una ROM de 8 Kb y todo funciona. Eso si,
sorpresa, porque si en vez de poner "db 0" pongo ".byte", ¡ya funciona!.
???????
  
2º- el "Snippet" sobre el modo mixto screen1/screen2 de la pagina de Robsy
no lo acabo de pillar. Entiendo lo que se pretende hacer, pero tras analizar
los valores que se introducen en los registros del VDP me quedo como estaba
porque me da la impresión de que se ponen los mismo valores que si estuviese
en "Graphics Mode". No veo donde se le está diciendo al VDP que redireccione
las 3 partes de la tabla de nombres a los primeros 2K de la tabla de
patrones original...Algo no lo veo bien. Y otra cosa, en el registro de modo
1 el bit de 4/16K se pone a 0 indicando por tanto que tenemos 4k de VRAM,
¿por qué? :-|          
3º- esto ya son exquisiteces: echo de menos el poder crear macros, o definir
estructuras comodamente,...
 
Bueno, y en posteriores sesiones mas dudas.
¡¡Un saludo y gracias!!
Dani
 
 


[Se han eliminado los trozos de este mensaje que no contenían texto]


<Anterior en la conversación] Conversación actual [Siguiente en la conversación>