Grabación y Lectura en Disco en Ensamblador

Por manolito74

Paragon (1189)

Imagen del manolito74

05-02-2015, 05:32

Hola:

Estoy buscando Info sobre la Grabación en DiSCO. Lo que quiero hacer es un Programa en Ensamblador con el que poder grabar una determinada zona de memoria en DISCO.

He estado "Googleando" pero no encuentro ningún ejemplo o documento que lo explique explícitamente. ¿Alguien puede echarme un cable?

Y ya puestos pues también el Proceso Inverso: programa en Ensamblador que lea un Fichero de Disco.

Gracias & Saludetes. ;-)

Login sesión o register para postear comentarios

Por jrcp_kun

Paragon (1410)

Imagen del jrcp_kun

05-02-2015, 15:12

En portar. Creo que tienes algo ahi. No obstante te miro lo que tengo yo y te lonposteo luego.
Lo que quieres salvar son datos o graficos??

Por manolito74

Paragon (1189)

Imagen del manolito74

05-02-2015, 16:50

Hola:

Pues son DATOS.

Gracias & Saludetes. ;-)

Por Warchild

Paragon (1280)

Imagen del Warchild

05-02-2015, 17:19

He visto en el foro en inglés que además es para MSX1. Hay una forna, no sé si te servirá, que es hacer al intérprete Basic ejecutar un comando, en este caso BSAVE o BLOAD. Esto lo puedes encontrar en el MSX Top Secret, al final de los capítulos dedicados al Basic creo.

Por jrcp_kun

Paragon (1410)

Imagen del jrcp_kun

06-02-2015, 09:33

Yo lo he mirado pero la Rutina que tenia yo es grafica. Es para leer un fichero y volcarlo a la vram tipo bload"",s.
Ya te lo pongo esta noche porque supongo que los parametros de como cargar el fichero y demas te serviran.

Por manolito74

Paragon (1189)

Imagen del manolito74

07-02-2015, 07:28

Ok. ¡Gracias! ;-)

Por manolito74

Paragon (1189)

Imagen del manolito74

07-02-2015, 23:25

Hola @jrcp_kun:

He estado ojeando el "MSX TOP SECRET" y no veo lo que comentas. ¿Seguro que era en ese Libro?

Gracias & Saludetes. ;-)

Por manolito74

Paragon (1189)

Imagen del manolito74

07-02-2015, 23:42

Hola de nuevo:

Me auto respondo a mí mismo...

Las "Llamadas a Comandos en BASIC" están en el Tema 2, Página 36. Las llamadas a BSAVE y BLOAD en concreto aparecen en la Página 37. Las pongo aquí:

BSAVE --> Dirección: 39CCH ---> TOKEN: D0H
BLOAD --> Dirección: 39CAH ---> TOKEN: CFH

Por cierto: me resulta curioso que la Msx-Club no dedicara en su día un artículo al tema del manejo de la Disquetera desde Ensamblador. :-(

¡Gracias & Saludetes! ;-)

Por manolito74

Paragon (1189)

Imagen del manolito74

08-02-2015, 08:03

Hi again:

Pues nada, que soy un zote y no sé como hacerlo... :-(

Estoy intentado hacer un ejemplo chorra en el MSX usando el RSC-2 pero estoy perdido no: lo siguiente.

Hago esto:

10 ORG &HC000
20 ;
30 INS:    DEFM "BSAVE"
40 NOM:  DEFM¨PATATA.BIN"
50 INI:    DEFM "&HC000"
60 FIN:   DEFM "&HC119"
70 ;
80 TECLA:        EQU &H9F
90 INTRO:        EQU &H00
100 SAVEDISK:  EQU &H39CC
110 ;
120 LD HL, 
130 LD IX, SAVEDISK
140 :
150 CALL SAVEDISK
160 CALL TECLA
170 RET

El caso es que en la línea 120 tendría que cargar el texto a ejecutar, pero que no sé como ponerlo (lo he puesto así para que se entienda) Además hay que tener en cuenta que habría que meterle también la pulsación de la tecla "INTRO" :-(

Otra pregunta chorra... (y no os riáis...) Vale, sé que el código de este Programa va a empezar en &HC000 pero... ¿cómo sé dónde acaba? O dicho de otra forma, ¿cómo sé cuanto ocupa mi Programa?

Gracias & Saludetes. ;-(

Por jrcp_kun

Paragon (1410)

Imagen del jrcp_kun

08-02-2015, 10:17

Has puesto fin en c119. Por lo tanto la longitud de bytes a grabar es lo que deberias poner. Osea 0119h es la lo gitud de lo que grabas. Ya miro como va tu rutina. En que screen estas haciendo el juego o el programa en sc2??

Por manolito74

Paragon (1189)

Imagen del manolito74

08-02-2015, 21:32

Hola de nuevo:

Perdona, me expliqué mal (o no lo suficiente)

Me refiero a que yo digo en el Program Ensamblador que el Código de mi Programa Ensamblador se va a situar a partir de la Dirección &HC000. Lo que yo quiero saber es para grabar el Código Máquina generado por mi Programa Ensamblador, ¿cómo sé la dirección final que ocupa mi Listado ASM?

Gracias & Saludetes. ;-)