cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Moderador: Fundadores

+3code
Siervo de Satán
Siervo de Satán
Mensajes: 6
Registrado: 16 Dic 2019, 08:17

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Mensaje por +3code »

Enhorabuena, un trabajo alucinante, este hack debería ser incorporado a las ROMs oficiales, es extraordinario. Un apunte: en el "leeme.txt" se afirma que se generan 4 ROMs (16k) para emuladores, pero igual lo he hecho mal o algo, yo solo obtengo ficheros únicos de 64k (una sola ROM). Sólo para DivMMC se genera un tap con 4 ROMs dentro. Para generar las ROMs para FUSE (interface de 8 bits) he añadido al .bat la linea GenRom t "+3e ZX8bmod Spanish" plus3es40ide8.rom plus3es40ide8.tap, con lo que sí tengo las 4 ROMs ahí dentro, luego las he sacado con ZX Blockeditor y funciona todo estupendo. Iba a pinchar aquí un zip con las ROM listas para FUSE (con la ROM2 cambiada) pero no sé si supone un problema (no creo, no he visto que Garry Lancaster haya puesto nunca problemas y sus ROMs se distribuyen con varios emuladores), pero por si acaso...

Lo dicho, enhorabuena, un trabajo acongojante.
Avatar de Usuario
desUBIKado
Le gustan las llamas
Le gustan las llamas
Mensajes: 83
Registrado: 11 Mar 2017, 01:21
Been thanked: 1 time

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Mensaje por desUBIKado »

+3code escribió: 16 Ene 2022, 09:50 Enhorabuena, un trabajo alucinante, este hack debería ser incorporado a las ROMs oficiales, es extraordinario.
Mírate esto: http://retrowiki.es/viewtopic.php?f=110 ... p200145549
Avatar de Usuario
javier2112
Demonio tercer orden
Demonio tercer orden
Mensajes: 884
Registrado: 30 Oct 2014, 12:36
Ubicación: Málaga
Has thanked: 11 times
Been thanked: 13 times

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Mensaje por javier2112 »

desUBIKado escribió: 17 Nov 2021, 14:10
javier2112 escribió: 17 Nov 2021, 09:11 Sobre el error que mencionas, es posible que sean nombre internos reservados que no se pueden usar; tendría que mirarlo ¿Se lo has comentado a Antonio? ¿Lo ha podido revisar?
La verdad es que no quisiera abusar más de su amabilidad dándole más mal. Ya lo estuve "molestando" por este cambio, incluso contacté con Rodolfo Guerra por lo mismo. La fama de pesado ya la tengo bien ganada, pero no es cuestión de que me banee :D

En fin, entiendo que no lo ha mirado, por lo que te agradecería que lo pudieses mirar tú, y en caso de encontrar el motivo realices la corrección para poder sintetizar una nueva rom en español. La rom en inglés no tiene el problema con el renombre de particiones.

Gracias.
Por favor, no digas eso, eres un crack con todo el trabajo que estás haciendo para el Zx-Uno.

Hiciste bien en contactar con Rodolfo; de hecho, cuando me enteré de su proyecto pensé en él, pero lo cierto es que el tiempo que tengo disponible está un poco limitado. No te prometo nada, salvo que tengo en cuenta tu petición y voy a intentar mirarlo.


Saludos.
Visita mi hilo de ventas:
viewtopic.php?t=4789
Avatar de Usuario
desUBIKado
Le gustan las llamas
Le gustan las llamas
Mensajes: 83
Registrado: 11 Mar 2017, 01:21
Been thanked: 1 time

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Mensaje por desUBIKado »

La verdad es que esta rom +3e mejorada con soporte de carga de ficheros .TAP es una parte fundamental para poder disfrutar a tope con la siguiente distribución que voy a publicar

Avatar de Usuario
Spirax !Sinclair 1
Demonio tercer orden
Demonio tercer orden
Mensajes: 715
Registrado: 09 Oct 2017, 17:03
Ubicación: Leganes (Madrid)
Has thanked: 24 times
Been thanked: 46 times

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Mensaje por Spirax »

Despues de ver un video de @desUBIKado en el que hablaba de un bug en la version en Español de las rom.
estuve investigando ya que no habia usado nunca esa opción.

Como este hilo sirvio de base para las modificaciones TAP de las roms y veo que se incluyeron en los repositorios d Antonio Villena, voy a pedir si alguien puede incorporar estos cambios en el repositorio ;) gracias

Resulta que la version en Español no tiene apenas bytes libres en la rom 2 y el comando rename fue eliminado por falta de espacio y su llamada es redireccionada al error general de "NO IMPLEMENTADO".
despues de buscar el error, localizar la rutina, buscar la rutina de rename en la rom inglesa he conseguido usar una rutina de rename, que usa partes de otras rutinas y solo necesita 35bytes, parece muy poco, pero ni siquiera hay 3 bytes libres consecutivos en la rom2 para poder implementarla :(
asi que la unica solución que se me ha ocurrido para poder poner esta rutina en la rom es quitar algunas palabras de los mensajes descriptivos de errores del +3e pero sin quitar el sentido del mensaje.
por ejemplo
"DISCO PROTEGIDO CONTRA ESCRITURA"
cambiado por
"DISCO PROTEGIDO ESCRITURA"

al quitar CONTRA y un espacio consigo 7 bytes

"FALLO DE BUSQUEDA"
cambiado por
"FALLO BUSQUEDA" 3 bytes menos

y asi hasta conseguir 32 bytes + 3 que ya habia libres en esta zona
ojo los mensajes modificados son de los mensajes adicionales del +3e no de los mensajes del sistema.
una vez conseguidos los 35 bytes
he añadido un parametro de compilación (rename_spanish = 1) ya que la idea es que se siga podiendo compilar como la original y que este cambio sea opcional.
al estar la opción anidada dentro de otras opciones como spanish y garry estos cambios solo se aplicarán si esta seleccionado spanish = 1, garry = 1 y rename_spanish = 1.

asi en el fichero plus3.asm
hay que hacer dos cambios.
cambio 1 buscar la seccion de los mensajes

Código: Seleccionar todo

        IF spanish
        defm    $8b, 13, $fb, "NO PREPARADA", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO PROTEGIDO CONTRA ESCRITURA"
        defm    $8e, $ff, $8c, 13, $fb, "FALLO DE BUSQUEDA", 13
        defm    $8e, $ff, $8d, "ERROR DE DATOS", 13
        defm    $8e, $ff, $8d, "SIN DATOS", 13
        defm    $8e, $ff, $8d, "FALTA MARCA DE DIRECCIONES", 13
        defm    $8e, $ff, $8b, 13, $fb, "FORMATO INCORRECTO", 13
        defm    $8e, $ff, $8d, "ERROR DESCONOCIDO", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO CAMBIADO; SUSTITUYALO", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO NO ADECUADO", 13
        defm    $8e, $ff, "Introduzca el disco en la unidad para ", $fe
        defm    " y luego pulse una tecla", $ff
        defm    "UNIDAD ", $fe
        defm    ":", $ff, $8b, " PISTA ", $fd, $ff, $8c
        defm    " SECTOR ", $fc, 13, $fb, $ff, $fa
        defm    "]REINTENTAR, IGNORAR O CANCELAR?", $ff
        defs    3
      ELSE
y substituir toda la sección por la nueva que incluye tambien los mensajes originales.

Código: Seleccionar todo

     IF spanish
        if rename_spanish
            defm    $8b, 13, $fb, "NO PREPARADA", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO PROTEGIDO ESCRITURA"
            defm    $8e, $ff, $8c, 13, $fb, "FALLO BUSQUEDA", 13
            defm    $8e, $ff, $8d, "ERROR DATOS", 13
            defm    $8e, $ff, $8d, "SIN DATOS", 13
            defm    $8e, $ff, $8d, "FALTA MARCA DE DIRECCIONES", 13
            defm    $8e, $ff, $8b, 13, $fb, "FORMATO INCORRECTO", 13
            defm    $8e, $ff, $8d, "ERROR DESCONOCIDO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO CAMBIADO; SUSTITUYALO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO NO ADECUADO", 13
            defm    $8e, $ff, "Introduzca el disco para ", $fe
            defm    " y pulse una tecla", $ff
            defm    "UNIDAD ", $fe
            defm    ":", $ff, $8b, " PISTA ", $fd, $ff, $8c
            defm    " SECTOR ", $fc, 13, $fb, $ff, $fa
            defm    "]REINTENTAR, IGNORAR O CANCELAR?", $ff
rename_sp
            push    hl
            push    af
            push    bc
            call    n2bd6
            pop     bc
            ccf
            ld      a, $39
j_n2c46:
            jp      nc, n2c46
            pop     af
            push    af
            ld      hl, $ef11
            call    n2b77
            jr      nc, j_n2c46
            pop     af
            pop     hl
            ld      de, $ef11
            push    bc
            ld      bc, $0010
            jp      n2c46 - #0A          
        else
            defm    $8b, 13, $fb, "NO PREPARADA", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO PROTEGIDO CONTRA ESCRITURA"
            defm    $8e, $ff, $8c, 13, $fb, "FALLO DE BUSQUEDA", 13
            defm    $8e, $ff, $8d, "ERROR DE DATOS", 13
            defm    $8e, $ff, $8d, "SIN DATOS", 13
            defm    $8e, $ff, $8d, "FALTA MARCA DE DIRECCIONES", 13
            defm    $8e, $ff, $8b, 13, $fb, "FORMATO INCORRECTO", 13
            defm    $8e, $ff, $8d, "ERROR DESCONOCIDO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO CAMBIADO; SUSTITUYALO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO NO ADECUADO", 13
            defm    $8e, $ff, "Introduzca el disco en la unidad para ", $fe
            defm    " y luego pulse una tecla", $ff
            defm    "UNIDAD ", $fe
            defm    ":", $ff, $8b, " PISTA ", $fd, $ff, $8c
            defm    " SECTOR ", $fc, 13, $fb, $ff, $fa
            defm    "]REINTENTAR, IGNORAR O CANCELAR?", $ff
            defs    3
        endif
        ELSE
hay que tener cuidado de dejar el IF Spanish inicial y el ELSE del final
ya que despues del ELSE van los mensajes en Ingles

-----------------------------------------------------

y el cambio numero 2 es en la llamada a la rutina rename
hay que buscar

Código: Seleccionar todo

     IF spanish
n2c1d   ld      a, $3a
        and     a
        ret
y cambiarlo por

Código: Seleccionar todo

     IF spanish
n2c1d: 
        if rename_spanish
            call    rename_sp
            ret
        else
            ld      a, $3a
            and     a
            ret
        endif
y aqui os preguntaries por que usa un call y despues un ret en vez de hacer un JP directo y ahorrarse un byte
la respuesta es para dejar exactamente el tamaño y posición del resto de rutinas como en la rom original, osea no se altera la posición de ninguna otra rutina con este MOD.

y por ultimo en las opciones de compilación añadir

Código: Seleccionar todo

	define  rename_spanish 1
  
o

Código: Seleccionar todo

	define  rename_spanish 0
  

la rutina rename_sp no es mia.
es una modificación de la rutina original rename de la rom Inglesa creada por Garry.
eso si en vez de ser la rutina completa que ocupa 45 bytes, hace llamadas y aprovecha partes de codigo de otras rutinas que ya estan en la rom para ocupar menos 35 bytes ya que anda la cosa jodida de espacio ;)

Saludos
Avatar de Usuario
Onlyfordj
Demonio segundo orden
Demonio segundo orden
Mensajes: 1023
Registrado: 30 Dic 2016, 09:28
Ubicación: Valencia
Has thanked: 58 times
Been thanked: 27 times

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Mensaje por Onlyfordj »

Esto es flipante
Avatar de Usuario
duca750 España - Extremadura
Hermano de Lucifer
Hermano de Lucifer
Mensajes: 2623
Registrado: 28 Ago 2017, 13:14
Has thanked: 378 times
Been thanked: 197 times

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Mensaje por duca750 »

Spirax escribió: 02 May 2022, 10:21 Despues de ver un video de @desUBIKado en el que hablaba de un bug en la version en Español de las rom.
estuve investigando ya que no habia usado nunca esa opción.

Como este hilo sirvio de base para las modificaciones TAP de las roms y veo que se incluyeron en los repositorios d Antonio Villena, voy a pedir si alguien puede incorporar estos cambios en el repositorio ;) gracias

Resulta que la version en Español no tiene apenas bytes libres en la rom 2 y el comando rename fue eliminado por falta de espacio y su llamada es redireccionada al error general de "NO IMPLEMENTADO".
despues de buscar el error, localizar la rutina, buscar la rutina de rename en la rom inglesa he conseguido usar una rutina de rename, que usa partes de otras rutinas y solo necesita 35bytes, parece muy poco, pero ni siquiera hay 3 bytes libres consecutivos en la rom2 para poder implementarla :(
asi que la unica solución que se me ha ocurrido para poder poner esta rutina en la rom es quitar algunas palabras de los mensajes descriptivos de errores del +3e pero sin quitar el sentido del mensaje.
por ejemplo
"DISCO PROTEGIDO CONTRA ESCRITURA"
cambiado por
"DISCO PROTEGIDO ESCRITURA"

al quitar CONTRA y un espacio consigo 7 bytes

"FALLO DE BUSQUEDA"
cambiado por
"FALLO BUSQUEDA" 3 bytes menos

y asi hasta conseguir 32 bytes + 3 que ya habia libres en esta zona
ojo los mensajes modificados son de los mensajes adicionales del +3e no de los mensajes del sistema.
una vez conseguidos los 35 bytes
he añadido un parametro de compilación (rename_spanish = 1) ya que la idea es que se siga podiendo compilar como la original y que este cambio sea opcional.
al estar la opción anidada dentro de otras opciones como spanish y garry estos cambios solo se aplicarán si esta seleccionado spanish = 1, garry = 1 y rename_spanish = 1.

asi en el fichero plus3.asm
hay que hacer dos cambios.
cambio 1 buscar la seccion de los mensajes

Código: Seleccionar todo

        IF spanish
        defm    $8b, 13, $fb, "NO PREPARADA", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO PROTEGIDO CONTRA ESCRITURA"
        defm    $8e, $ff, $8c, 13, $fb, "FALLO DE BUSQUEDA", 13
        defm    $8e, $ff, $8d, "ERROR DE DATOS", 13
        defm    $8e, $ff, $8d, "SIN DATOS", 13
        defm    $8e, $ff, $8d, "FALTA MARCA DE DIRECCIONES", 13
        defm    $8e, $ff, $8b, 13, $fb, "FORMATO INCORRECTO", 13
        defm    $8e, $ff, $8d, "ERROR DESCONOCIDO", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO CAMBIADO; SUSTITUYALO", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO NO ADECUADO", 13
        defm    $8e, $ff, "Introduzca el disco en la unidad para ", $fe
        defm    " y luego pulse una tecla", $ff
        defm    "UNIDAD ", $fe
        defm    ":", $ff, $8b, " PISTA ", $fd, $ff, $8c
        defm    " SECTOR ", $fc, 13, $fb, $ff, $fa
        defm    "]REINTENTAR, IGNORAR O CANCELAR?", $ff
        defs    3
      ELSE
y substituir toda la sección por la nueva que incluye tambien los mensajes originales.

Código: Seleccionar todo

     IF spanish
        if rename_spanish
            defm    $8b, 13, $fb, "NO PREPARADA", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO PROTEGIDO ESCRITURA"
            defm    $8e, $ff, $8c, 13, $fb, "FALLO BUSQUEDA", 13
            defm    $8e, $ff, $8d, "ERROR DATOS", 13
            defm    $8e, $ff, $8d, "SIN DATOS", 13
            defm    $8e, $ff, $8d, "FALTA MARCA DE DIRECCIONES", 13
            defm    $8e, $ff, $8b, 13, $fb, "FORMATO INCORRECTO", 13
            defm    $8e, $ff, $8d, "ERROR DESCONOCIDO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO CAMBIADO; SUSTITUYALO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO NO ADECUADO", 13
            defm    $8e, $ff, "Introduzca el disco para ", $fe
            defm    " y pulse una tecla", $ff
            defm    "UNIDAD ", $fe
            defm    ":", $ff, $8b, " PISTA ", $fd, $ff, $8c
            defm    " SECTOR ", $fc, 13, $fb, $ff, $fa
            defm    "]REINTENTAR, IGNORAR O CANCELAR?", $ff
rename_sp
            push    hl
            push    af
            push    bc
            call    n2bd6
            pop     bc
            ccf
            ld      a, $39
j_n2c46:
            jp      nc, n2c46
            pop     af
            push    af
            ld      hl, $ef11
            call    n2b77
            jr      nc, j_n2c46
            pop     af
            pop     hl
            ld      de, $ef11
            push    bc
            ld      bc, $0010
            jp      n2c46 - #0A          
        else
            defm    $8b, 13, $fb, "NO PREPARADA", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO PROTEGIDO CONTRA ESCRITURA"
            defm    $8e, $ff, $8c, 13, $fb, "FALLO DE BUSQUEDA", 13
            defm    $8e, $ff, $8d, "ERROR DE DATOS", 13
            defm    $8e, $ff, $8d, "SIN DATOS", 13
            defm    $8e, $ff, $8d, "FALTA MARCA DE DIRECCIONES", 13
            defm    $8e, $ff, $8b, 13, $fb, "FORMATO INCORRECTO", 13
            defm    $8e, $ff, $8d, "ERROR DESCONOCIDO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO CAMBIADO; SUSTITUYALO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO NO ADECUADO", 13
            defm    $8e, $ff, "Introduzca el disco en la unidad para ", $fe
            defm    " y luego pulse una tecla", $ff
            defm    "UNIDAD ", $fe
            defm    ":", $ff, $8b, " PISTA ", $fd, $ff, $8c
            defm    " SECTOR ", $fc, 13, $fb, $ff, $fa
            defm    "]REINTENTAR, IGNORAR O CANCELAR?", $ff
            defs    3
        endif
        ELSE
hay que tener cuidado de dejar el IF Spanish inicial y el ELSE del final
ya que despues del ELSE van los mensajes en Ingles

-----------------------------------------------------

y el cambio numero 2 es en la llamada a la rutina rename
hay que buscar

Código: Seleccionar todo

     IF spanish
n2c1d   ld      a, $3a
        and     a
        ret
y cambiarlo por

Código: Seleccionar todo

     IF spanish
n2c1d: 
        if rename_spanish
            call    rename_sp
            ret
        else
            ld      a, $3a
            and     a
            ret
        endif
y aqui os preguntaries por que usa un call y despues un ret en vez de hacer un JP directo y ahorrarse un byte
la respuesta es para dejar exactamente el tamaño y posición del resto de rutinas como en la rom original, osea no se altera la posición de ninguna otra rutina con este MOD.

y por ultimo en las opciones de compilación añadir

Código: Seleccionar todo

	define  rename_spanish 1
  
o

Código: Seleccionar todo

	define  rename_spanish 0
  

la rutina rename_sp no es mia.
es una modificación de la rutina original rename de la rom Inglesa creada por Garry.
eso si en vez de ser la rutina completa que ocupa 45 bytes, hace llamadas y aprovecha partes de codigo de otras rutinas que ya estan en la rom para ocupar menos 35 bytes ya que anda la cosa jodida de espacio ;)

Saludos
Gran trabajo, parecéis ingenieros de la época, bueno que coño, los superais :))
CPC464,CPC6128/GX4000/COMMODORE 64,AMIGA 500/ATARI STFM1024&800XL/ORIC1,ATMOS/DRAGON32/SPECTRUM+, +2,+3,48K,16K/MSX HB501P,101P,201P,MSX HB20P,HB75P,CANON V20,PHILIPS NMS8250,8020&8010&8000/ACORN ELECTRON/THOMSON MO08,MO05/ENTERPRISE 64.
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Mensaje por antoniovillena »

Spirax escribió: 02 May 2022, 10:21asi en el fichero plus3.asm
hay que hacer dos cambios.
cambio 1 buscar la seccion de los mensajes

Código: Seleccionar todo

        IF spanish
        defm    $8b, 13, $fb, "NO PREPARADA", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO PROTEGIDO CONTRA ESCRITURA"
        defm    $8e, $ff, $8c, 13, $fb, "FALLO DE BUSQUEDA", 13
        defm    $8e, $ff, $8d, "ERROR DE DATOS", 13
        defm    $8e, $ff, $8d, "SIN DATOS", 13
        defm    $8e, $ff, $8d, "FALTA MARCA DE DIRECCIONES", 13
        defm    $8e, $ff, $8b, 13, $fb, "FORMATO INCORRECTO", 13
        defm    $8e, $ff, $8d, "ERROR DESCONOCIDO", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO CAMBIADO; SUSTITUYALO", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO NO ADECUADO", 13
        defm    $8e, $ff, "Introduzca el disco en la unidad para ", $fe
        defm    " y luego pulse una tecla", $ff
        defm    "UNIDAD ", $fe
        defm    ":", $ff, $8b, " PISTA ", $fd, $ff, $8c
        defm    " SECTOR ", $fc, 13, $fb, $ff, $fa
        defm    "]REINTENTAR, IGNORAR O CANCELAR?", $ff
        defs    3
      ELSE
De primeras en el plus.asm que tengo hay un defs 5 en lugar de un defs 3, por lo que prefiero ver como quedaría el plus.asm final antes de liarla. Lo incluyo en el repositorio de Emuscriptoria.
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5580
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1184 times
Been thanked: 2697 times
Contactar:

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Mensaje por cacharreo »

duca750 escribió: 02 May 2022, 10:52Gran trabajo, parecéis ingenieros de la época, bueno que coño, los superais :))
Ojalá en la época se hubiera tenido acceso a los recursos de hoy en día, todo hubiera sido tan diferente pero, y en palabras de Howard Scott Warshaw a finales de los 70 el número de ingenieros con la cualificación necesaria era de solo unos cientos.
antoniovillena escribió: 05 May 2022, 01:10De primeras en el plus.asm que tengo hay un defs 5 en lugar de un defs 3,
Es el plus3.asm pero sí, hay un defs 5.
© cacharreo
Avatar de Usuario
Spirax !Sinclair 1
Demonio tercer orden
Demonio tercer orden
Mensajes: 715
Registrado: 09 Oct 2017, 17:03
Ubicación: Leganes (Madrid)
Has thanked: 24 times
Been thanked: 46 times

Re: cargando TAPs en un +3 con ROM´s +3e [LOGRADO]

Mensaje por Spirax »

antoniovillena escribió: 05 May 2022, 01:10
Spirax escribió: 02 May 2022, 10:21asi en el fichero plus3.asm
hay que hacer dos cambios.
cambio 1 buscar la seccion de los mensajes

Código: Seleccionar todo

        IF spanish
        defm    $8b, 13, $fb, "NO PREPARADA", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO PROTEGIDO CONTRA ESCRITURA"
        defm    $8e, $ff, $8c, 13, $fb, "FALLO DE BUSQUEDA", 13
        defm    $8e, $ff, $8d, "ERROR DE DATOS", 13
        defm    $8e, $ff, $8d, "SIN DATOS", 13
        defm    $8e, $ff, $8d, "FALTA MARCA DE DIRECCIONES", 13
        defm    $8e, $ff, $8b, 13, $fb, "FORMATO INCORRECTO", 13
        defm    $8e, $ff, $8d, "ERROR DESCONOCIDO", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO CAMBIADO; SUSTITUYALO", 13
        defm    $8e, $ff, $8b, 13, $fb, "DISCO NO ADECUADO", 13
        defm    $8e, $ff, "Introduzca el disco en la unidad para ", $fe
        defm    " y luego pulse una tecla", $ff
        defm    "UNIDAD ", $fe
        defm    ":", $ff, $8b, " PISTA ", $fd, $ff, $8c
        defm    " SECTOR ", $fc, 13, $fb, $ff, $fa
        defm    "]REINTENTAR, IGNORAR O CANCELAR?", $ff
        defs    3
      ELSE
De primeras en el plus.asm que tengo hay un defs 5 en lugar de un defs 3, por lo que prefiero ver como quedaría el plus.asm final antes de liarla. Lo incluyo en el repositorio de Emuscriptoria.
cierto es un DEFS 5
sorry culpa mia, lo copie de mis fuentes y yo lo tengo modificado, por que uso los dos bytes que faltan para otra cosa.
y tengo un defs 2 fuera del if spanish independientemente de si es en español o ingles.
y se me olvido al copiar el codigo aqui.

perdon :|

añadiendo los dos bytes que faltan en las dos partes del if rename_spanish, sería asi:

Código: Seleccionar todo

IF spanish
        if rename_spanish
            defm    $8b, 13, $fb, "NO PREPARADA", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO PROTEGIDO ESCRITURA"
            defm    $8e, $ff, $8c, 13, $fb, "FALLO BUSQUEDA", 13
            defm    $8e, $ff, $8d, "ERROR DATOS", 13
            defm    $8e, $ff, $8d, "SIN DATOS", 13
            defm    $8e, $ff, $8d, "FALTA MARCA DE DIRECCIONES", 13
            defm    $8e, $ff, $8b, 13, $fb, "FORMATO INCORRECTO", 13
            defm    $8e, $ff, $8d, "ERROR DESCONOCIDO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO CAMBIADO; SUSTITUYALO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO NO ADECUADO", 13
            defm    $8e, $ff, "Introduzca el disco para ", $fe
            defm    " y pulse una tecla", $ff
            defm    "UNIDAD ", $fe
            defm    ":", $ff, $8b, " PISTA ", $fd, $ff, $8c
            defm    " SECTOR ", $fc, 13, $fb, $ff, $fa
            defm    "]REINTENTAR, IGNORAR O CANCELAR?", $ff
rename_sp
            push    hl
            push    af
            push    bc
            call    n2bd6
            pop     bc
            ccf
            ld      a, $39
j_n2c46:
            jp      nc, n2c46
            pop     af
            push    af
            ld      hl, $ef11
            call    n2b77
            jr      nc, j_n2c46
            pop     af
            pop     hl
            ld      de, $ef11
            push    bc
            ld      bc, $0010
            jp      n2c46 - #0A  
           defs 2        
        else
            defm    $8b, 13, $fb, "NO PREPARADA", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO PROTEGIDO CONTRA ESCRITURA"
            defm    $8e, $ff, $8c, 13, $fb, "FALLO DE BUSQUEDA", 13
            defm    $8e, $ff, $8d, "ERROR DE DATOS", 13
            defm    $8e, $ff, $8d, "SIN DATOS", 13
            defm    $8e, $ff, $8d, "FALTA MARCA DE DIRECCIONES", 13
            defm    $8e, $ff, $8b, 13, $fb, "FORMATO INCORRECTO", 13
            defm    $8e, $ff, $8d, "ERROR DESCONOCIDO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO CAMBIADO; SUSTITUYALO", 13
            defm    $8e, $ff, $8b, 13, $fb, "DISCO NO ADECUADO", 13
            defm    $8e, $ff, "Introduzca el disco en la unidad para ", $fe
            defm    " y luego pulse una tecla", $ff
            defm    "UNIDAD ", $fe
            defm    ":", $ff, $8b, " PISTA ", $fd, $ff, $8c
            defm    " SECTOR ", $fc, 13, $fb, $ff, $fa
            defm    "]REINTENTAR, IGNORAR O CANCELAR?", $ff
            defs    5
        endif
        ELSE
muchas gracias Antonio. ;)
Responder

Volver a “Sinclair”