HispaMSX

Re: [hispamsx] RE: ayuda con z88dk & assembler

2005-04-11 18:28:52
el compilador no reconoce outp  y no encuentro
alguna equivalencia.

en este ejemplo

http://www.timexsinclair.org/alvin/spritepack/examples/amxtest.c.txt

implementa el inp() como

uchar inp(uint p)
{
   #asm
   ld hl,2
   add hl,sp
   ld c,(hl)
   inc hl
   ld b,(hl)
   in l,(c)
   ld h,0
   #endasm
}

Quiza te sirva de base. 
Quiza el outp pueda ser...

void outp(uint p, uchar a)
{
   #asm
   ld hl,2
   add hl,sp ; hl quedaria apuntando al valor de a 
             ; "en teoria si" segun convencion del C
   ld a,(hl)
   inc hl
   inc hl

   ld c,(hl)
   out (c),a

   #endasm
}

si eso anda se podria hacer directamente el vpoke...

void vpoke(uint p, uchar a)
{
   #asm
   ld hl,2
   add hl,sp ; hl quedara apuntando al valor de a? 
             ; de nuevo "en teoria si"
   ld a,(hl)
   push af
   inc hl
   inc hl
   ld a,(hl)
   out (0x99),a
   inc hl
   ld a,(hl)
   or 0x40
   out (0x99),a
   pop af
   out (0x98),a
   #endasm
}

y cruzo los dedos porque todo esto lo hago "a ojo", jejeje

Cæ


        

        
                
___________________________________________________________ 
250MB gratis, Antivirus y Antispam 
Correo Yahoo!, el mejor correo web del mundo 
http://correo.yahoo.com.ar

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