Nas:
Mi triste contribucion al Underwater challenge se puede descargar desde MRC.
Crei que no la iban a subir pero si, eso si , sin noticia, pero me he reido
mucho al verlo.
Es el ejemplo que te decia Flyguille.
Se ve la diferencia entre emuladeros. No se porque BrMSX para DOS va tan
mal en este sentido cuando parece que la emulacion es muy buena.
nos vemos en los bares
WYZ
At 12:51 15/05/2004 -0300, you wrote:
en realidad esa rutina no funciona del todo bien...el porque se lo explica
perfectamente en la MAP
<http://map.tni.nl/articles/fast_loops.php>http://map.tni.nl/articles/fast_loops.php
agregando eso, si funcionaria .... bueno, estás usando en esa rutina, un
registro BC donde B es el byte bajo, y C es el alto.....y no es exacto,
porque no tiene la corrección, que dolor de cabeza para el
programador....!!!
insertate lo siguiente y suprimite los LD que pusiste.
dec bc ;Mystery fast loop calculus
ld e,b
ld b,c
inc b
inc e
O sea
> MI_RUTINA_1:
> ; Y esto no está muy optimizado, lo estoy programando "para que funcione"
> ; Hacemos que el puntero a VRAM del VDP esté donde queremos
> DI
> LD A,E
> OUT [99h],A
> LD A,D
> OR 40h
> OUT [99h],A
> ; Hacemos algún apaño
dec bc
ld e,b
ld b,c
inc b
inc e
> LD C,98h
> ; Empezamos el proceso de copia
> BUCLE:
> OTIR ; Copia datos
> DEC E
> JR NZ,BUCLE
> ; Y ya está
> EI
> RET
De esa manera, en forma perfecta y con absoluta exactitud, le pones en BC
cuantos bytes queres copiar.
----- Original Message -----
From: "Roberto E. Vargas Caballero" <i62vacar(_en_)uco(_punto_)es>
To: <hispamsx(_en_)yahoogroups(_punto_)com>
Sent: Saturday, May 15, 2004 9:37 AM
Subject: Re: [hispamsx] De vuelta On-topic: OPTIMIZACION
>
> 2.-Reprogramo la BIOS y consigo algo que funciona mejor y puede ser un
poco
> más rápido.
>
> LD HL,ORIGEN_RAM
> LD DE,DESTINO_VRAM
> LD BC,NUM_BYTES
> CALL MI_RUTINA_1
>
> MI_RUTINA_1:
> ; Y esto no está muy optimizado, lo estoy programando "para que funcione"
> ; Hacemos que el puntero a VRAM del VDP esté donde queremos
> DI
> LD A,E
> OUT [99h],A
> LD A,D
> OR 40h
> OUT [99h],A
> ; Hacemos algún apaño
> LD E,C
> LD C,98h
> ; Empezamos el proceso de copia
> BUCLE:
> OTIR ; Copia datos
> DEC E
> JR NZ,BUCLE
> ; Y ya está
> EI
> RET
>
Pruebalo en un MSX2 veras que risa te da esa rutina ;). En MSX2 hay algo
que se llama mas de 16K de vram y distintas paginas, asi que si no
compruebas el paso de una p.gina a otra vas mal por la vida.
Roberto
*HispaMSX. La mailing-list de MSX en castellano*
Para cualquier duda: hispamsx-owner(_en_)yahoogroups(_punto_)com
Web de lista: <http://www.hispamsx.org>http://www.hispamsx.org
Enlaces a Yahoo! Grupos
Para visitar tu grupo en la web, accede a:
<http://es.groups.yahoo.com/group/hispamsx/>http://es.groups.yahoo.com/group/hispamsx/
Para cancelar tu suscripción en este grupo, envía
un mensaje en blanco a:
hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com
El uso que hagas de Yahoo! Grupos está sujeto a
las Condiciones del servicio de Yahoo!:
<http://es.docs.yahoo.com/info/utos.html>http://es.docs.yahoo.com/info/utos..html
*HispaMSX. La mailing-list de MSX en castellano*
Para cualquier duda: hispamsx-owner(_en_)yahoogroups(_punto_)com
Web de lista: <http://www.hispamsx.org>http://www.hispamsx.org
Publicidad
----------
Enlaces a Yahoo! Grupos
* Para visitar tu grupo en la web, accede a :
*
<http://es.groups.yahoo.com/group/hispamsx/>http://es.groups.yahoo.com/group/hispamsx/
*
* Para cancelar tu suscripción a este grupo, envía un correo a:
*
<mailto:hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com?subject=Unsubscribe>hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com
*
* El uso que hagas de Yahoo! Grupos está sujeto a las
<http://es.docs.yahoo.com/info/utos.html>Condiciones del servicio de Yahoo!.