Pues desde un .COM puedes llamar a la BIOS de una forma sencillísima:
LD IY,0000h
LD IX,INIGRP
CALL CALSLT
Y ya está. Metes la dirección de la rutina de la BIOS a ejecutar en IX, el
slot al que quieras llamar (0-0 en este caso) en IY, y llamas a la función
CALSLT, que creo que está en 001Ch, y ya lo tienes.
Por ejemplo, yo sí uso una rutina hecha a mano para establecer SCREEN 2,
pero porque no quiero que me llene la pantalla con caracteres consecutivos y
porque utilizo el modo en el que sólo se utiliza un banco de tiles y no
tres. De todos modos, es tan sencillo como copiar los datos a los registros
de la VDP con OUTs o con CALL WRTVDP, como prefieras.
Un saludo,
Edu Robsy
From: yakumoklesk(_en_)yahoo(_punto_)es
Reply-To: hispamsx(_en_)yahoogroups(_punto_)com
To: hispamsx(_en_)yahoogroups(_punto_)com
Subject: Re: [hispamsx] Inicialización de screen2 sin bios.
Date: Fri, 11 Jun 2004 19:55:51 +0200
On 11 Jun 2004 at 11:18, jamque(_en_)zonan(_punto_)org wrote:
> Hola a todos los coders retros y desfasados del mundo.
>
> En al creación de un juego para msx1, q estamos desarrollando (no se me
> ocurre por q motivo o concurso ;) ) nos hemos encontrado con una
> dificultad en el momento de incializar modo de video.
>
> Hasta ahora hemos estado haciendo pruebas creando .bin e inicializabamos
> mediante CALLs a Bios. Peró queremos hacer el juego en formato ROM
> (Tampoco se me ocurre pq querremos hacerlo así, verdad ? ;) ) y hay q
> inicilizar sin Bios segun tenemos entendido. Actualmente estamos
probando
> con .COM y por ejemplo la interrup de 20 ms ya la controlamos.
>
> Nuestro problema : No nos aclaramos de como iniciar el modo screen 2 en
un
> .COM sin la BIOS.
>
> 4 lineas de codigo asm para hacerlo nos vendria muy bien. :_(
> Alguien se ofrece a mostrarnoslo ?
>
> Muchas gracias.
>
Pero por qué querrías complicarte la vida para hacer una inicialización de
screen2 sin usar
la BIOS. Poner el modo de pantalla es una cosa que haces pocas veces a lo
largo del
juego, con lo cual no necesitas optimizar mucha velocidad en eso, y usando
la función de
la BIOS vas que te matas. Pero antes de ponerme a refrescar la información,
dime por qué
quieres hacerlo sin usar la BIOS? Si no es mucho pedir, claro 8).
Enga!
David.
*HispaMSX. La mailing-list de MSX en castellano*
Para cualquier duda: hispamsx-owner(_en_)yahoogroups(_punto_)com
Web de lista: http://www.hispamsx.org
Enlaces a Yahoo! Grupos
hispamsx-unsubscribe(_en_)yahoogroups(_punto_)com
http://es.docs.yahoo.com/info/utos.html
_________________________________________________________________
Acepta el reto MSN Premium: Protección para tus hijos en internet.
Descárgalo y pruébalo 2 meses gratis.
http://join.msn.com?XAPID=1697&DI=1055&HL=Footer_mailsenviados_proteccioninfantil