HispaMSX

RE: Una ayudita (MSX 1, BASIC)

2004-07-01 18:21:43
Bufff, menudo lio que me estoy haciendo :-), vamos a ver, por partes:

Thanx por lo del POKE, es a lo que me refería: efectivamente no es lo 
que necesito, ya que quiero scrolear texto en la zona inferior de 
pantalla. Con lo cual, lo que necesito en este caso es un programa 
ensamblador que lo haga. Según lo que he entendido...

1. Mi programa en BASIC detecta que he llegado al límite y es hora de 
hacer el scroll. Entonces lanzo el USR maldito.

2. Salta el ensamblador, que copia la zona de mapa de caracteres de 
VRAM a RAM de la zona que interesa y acto seguido vuelve a copiar a 
VRAM el texto subiendo una fila.

3. El BASIC vuelva a tener el control.

Voy a estudiar un poquillo esa rutina que me habéis estado 
escribiendo -muchas gracias, por cierto (^_^)- porque, sinceramente, 
el ensamblador para mi es como el egipcio antiguo, más o menos :-). 
Lo ideal sería hacer una rutina 100% reubicable, ya que todo el 
buffer de datos de la aventura (objetos, localizaciones y demás) va 
también en un BIN... buff, le daré una vuelta, a ver que saco en 
claro.

Gracias a todos, si a alguien se le ocurre algo alternativo, que 
hable ahora o calle para siempre :-))))

Jon Cortazar Abraido
aka "El Viejo Archivero"
Karoshi Corporation



--- En hispamsx(_en_)yahoogroups(_punto_)com, "Flyguille" <Flyguille@a...> 
escribió:

----- Original Message -----
From: "idrisbenali" <idrisbenali@y...>
To: <hispamsx(_en_)yahoogroups(_punto_)com>
Sent: Thursday, July 01, 2004 11:28 AM
Subject: [hispamsx] RE: Una ayudita (MSX 1, BASIC)



9000 KEYOFF:COLOR15,1,1:WIDTH 32
9010 RESTORE 9100:FOR I=56400! TO 56426!:READ A$:POKE I,VAL
("&H"+A$)
:
NEXT
9012 FOR I=56300! TO 56312!:READA$:POKEI,VAL("&H"+A$):NEXT
9013 ' 56301-02 (dir. RAM dibujo)
9014 ' 56307-08 (longitud dibujo)
9015 DEFUSR6=56400!:DEFUSR9=&H156

9100 DATA 21,c0,19:'ld hl,6592
9110 DATA 11,08,cf:'ld de,53000

9120 DATA 06,00:'   ld b,01
esta ultima linea tiene un error

9130 DATA 0e,ff:'   ld c,20
tambien, porque escribis una cosa y codificas otra?

9140 DATA cd,59,00:'call 89
9150 DATA 21,08,cf:'ld hl,53000
9160 DATA 11,a0,19:'ld de,6560
9170 DATA 06,01:'   ld b,01

9180 DATA 0e,40:'   ld c,20
aca tambien...

9190 DATA cd,5c,00:'call 92
9200 DATA c9:'      ret
9210 '
9220 DATA 21,00,00:' LD HL,0000
9230 DATA 11,00,04:' LD DE,1024
9240 DATA 01,00,00:' LD BC,0000
9250 DATA cd,5c,00:' CALL 77
9260 DATA c9:'       RET

Uy, he visto que me he columpiao. Las líneas 9220-9260 no sirven 
para
nada y la 9012 tampoco te sirve.

También lo estoy haciendo en BASIC (la aventura, quiero decir). Qué
horror tiene que ser programar un conversacional en ensamblador. 
Para
que luego digan que el BASIC no sirve de nada... ¡al que lo diga le
arreo! :)

Saludos!!!

Juanma





*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


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