HispaMSX

Re: [hispamsx] Alguien_sabe_de_algún_tutorial?

2004-04-12 13:38:08
Hola:
 
A ver en que te puedo ayudar, que el tema me interesa.

David Romero <mentaldarius(_en_)hotmail(_punto_)com> wrote:

En Super Cobra por ejemplo:

DI   
IM 1  
LD SP,0F800h    ;  Posiciona la pila
LD HL,0E000h    ;  Aquí lo que se hace es poner a 0 las direcciones de memoria 
de 0E000h a 0F800h
LD DE,0E001h    ; O sea, se prepara la pila y se reinicializa
LD BC,017FFh    ;
LD (HL),000h       ; No sé el sentido que tendrá hacer esto, quizás mas tarde 
utilicen todos estos 0's para algo? en fin

LDIR                   

esta parte coloca la pila y resetea desde &HE000 justo &H1800 con un LDIR 
(lo que es genial, en vez de hacer un bucle) que copia la direccion 
DE(stino)=HL(origen)+1. Si LD(HL)=1 llenaria esa zona de memoria con 1.


En Nemesis 1:

DI   
IM 1  
DI   
PUSH HL  ; Y digo yo, al principio del código, el registro HL contiene basura, 
¿Porqué lo guardan en la pila?
LD HL,0F0F1h ; Tampoco me llego a imaginar, porqué ponen a 1 esta dirección de 
memoria
LD A,001h  
LD (T6000H),A ; Las direcciones de memoria 6000h, 8000h  y 0A000h (¿Qué función 
tienen?)
LD (HL),A         ;
INC A   ; 
LD (T8000H),A 
INC HL   ; 
LD (HL),A  
INC A   ; 
LD (TA000H),A 
INC HL   ; 
LD (HL),A  ; 0F0F2 - Tampoco sé que función tiene esta dirección, he estado 
mirando en las variables del sistema, pero no he encontrado referencias.
POP HL  
EI

alguien que nos explique si tiene que ver con el mapeo de memoria.:)



Me gustaría sobre todo aprender técnicas para implementar el loop del juego en 
RST#38, con sus ejemplos y eso. Y en fin, aprender de la gente que ya lleva 
mucho tiempo en esto. ¿Para qué reinventar la rueda verdad? :)

 

Alguna vez he utilizado ese RST 38. que vendria a ser como un call &H0038. 
Si quieres hacer que las interrupciones apunten directamente a tus rutinas 
debes escribir en esa zona baja de memoria. Asi que,si no estas en MSXDOS, 
lo primero que habria q hacer es utilizar la RAM de la pagina 0, con lo que 
no puedes usar el BIOS. Asi que para ahorrarte lios usa los ganchos (o 
vectores) &hFD9A o &hFD9F (todavia mejor) que te ahorras trabajo.

Venga, un saludo a todos y cuídaos.

- David Romero -

Nos vemos en los bares

WYZ

 



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

    Antivirus • Filtros antispam • 6 MB gratis
    ¿Todavía no tienes un correo inteligente?

[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>