RSX para instalar ROMs en el Symbiface II

Cómo pasar juegos a diferentes archivos, herramientas, software.
Avatar de Usuario
syx
Master of The Forum
Master of The Forum
Mensajes: 1353
Registrado: Mié 02 Sep , 2009 9:55 am

RSX para instalar ROMs en el Symbiface II

Mensajepor syx » Jue 02 Sep , 2010 1:35 pm

Buenas, por aquí tengo uno de esos mini-programas que tengo paradillos por pereza, cada vez que pienso en tener que ponerme a hacer un interfaz gráfico en el 2010, se me quitan todas las ganas... y si a eso ya se le añade que no tenga hardware donde hacer las pruebas, pues la motivación se pone al máximo :P

Lo que he hecho es crear un RSX, de apenas un centener de bytes, que cargará un fichero con la rom que le digamos en uno de los 32 "slots" de los que dispone la symbiface.

Para usarlo pues lo cargamos en memoría con:

Código: Seleccionar todo

MEMORY &9FFF
LOAD"rom2sym.bin",&A000
CALL &A000
La sintaxis del comando es muy sencilla:

Código: Seleccionar todo

|ROM2SYM,"Nombre del Fichero",Número de rom de 0 a 31
Y un ejemplo de uso sería:

Código: Seleccionar todo

|ROM2SYM,"MAXAM.ROM",4
No puedo garantizar que no queme la symbiface, etc etc etc... y por supuesto, podría haber algún bug (solo por esto no he publicado los fuentes, al menos hasta que no estemos seguro de que va perfect), aunque de darse el caso, pues se corrige y punto :mrgreen:

Así que si a alguien le mola, le interesa ó quiere hacer un interfaz para el programa que lo comente 8)
Adjuntos
rom2sym.dsk
(199.71 KiB) Descargado 110 veces

Avatar de Usuario
MiguelSky
Lord of Short Time
Lord of Short Time
Mensajes: 6969
Registrado: Sab 08 Oct , 2005 2:02 am
Contactar:

Re: RSX para instalar ROMs en el Symbiface II

Mensajepor MiguelSky » Jue 02 Sep , 2010 5:12 pm

A mí me mola :) Pero aprovecho para indicar que TFM está trabajando también un programa para trabajar con las ROMs del Symbiface desde AMSDOS http://cpcwiki.eu/forum/index.php/topic,833.0.html El interfaz es similar al programa análogo para FutureOS.

Imagen Imagen

Más que nada por no duplicar esfuerzos...

Avatar de Usuario
syx
Master of The Forum
Master of The Forum
Mensajes: 1353
Registrado: Mié 02 Sep , 2009 9:55 am

Re: RSX para instalar ROMs en el Symbiface II

Mensajepor syx » Jue 02 Sep , 2010 7:07 pm

Jejejeje, pues genial, porque lo del interfaz es tan aburrido, cuando has hecho lo mismo unas cuantas veces, el interés de volver a hacerlo es mínimo, y los únicos componentes que tengo listos son el puntero del ratón, los botones y un selector de ficheros en plan lista.
gui.png
(10.27 KiB) Descargado 40 veces
En cuanto a lo de duplicación de esfuerzos, no te preocupes, quitando el interfaz el programa no es más que una decena de líneas. Pego el fuente aquí por si hay alguien interesado:

Código: Seleccionar todo

; ---------------------------------------------------------------------------
; RSX que permite instalar ROMS en la Symbiface II
; (c) SyX 2010
; ---------------------------------------------------------------------------
; Sintaxis del RSX:
; |ROM2SYM,"Nombre del Fichero",Número de rom
; Ejemplo de uso:
; |ROM2SYM,"VDRIVE.ROM",4

include "firmware.i" ; Hacemos uso extensivo del firmware

ORG #A000

inicio
LD HL,work_space
LD BC,jump_list
JP KL_LOG_EXT ; Instalamos los RSXs

work_space
DEFS 4 ; Espacio de trabajo para el Kernel

; Definición de los RSXs
jump_list
DEFW name_list ; Puntero a la lista de los nombres de los RSXs

; Tabla de saltos de los RSXs
JP rom2sym ; Rutina de inicialización de la ROM

; Nombres de los RSXs
name_list
DEFB "ROM2SY","M" | #80
DEFB #00 ; Fin de la lista de nombres

; Código del RSX
rom2sym
CP 2 ; Comprobamos el número de parámetros
JP NZ,error_en_parametros

; Obtenemos el nombre del fichero
LD L,(IX + 2)
LD H,(IX + 3)
LD A,(HL) ; Longitud del nombre del fichero

INC HL
LD E,(HL)
INC HL
LD D,(HL)
EX DE,HL ; Puntero al nombre del fichero

LD E,A ; Guardamos temporalmente la longitud del nombre

LD A,(IX + 0) ; Obtenemos el número de rom que vamos a modificar, solo nos interesa el byte bajo,
AND #1F ; nos aseguramos que es una rom entre 0-31

; Páginamos la ROM del Symbiface II a modificar
LD BC,#DF00
OUT (C),A

; La hacemos visible en la zona entre #4000 - #7FFF para poder modificarla
LD BC,#FD17
IN A,(C)

; Cargamos el fichero haciendo uso del Amsdos
LD B,E ; Recuperamos la longitud del nombre
CALL CAS_IN_OPEN ; Abre un fichero para lectura y lee la cabecera de Amsdos (HL y B)
LD HL,#4000 ; Dirección de carga
CALL CAS_IN_DIRECT ; Lee un fichero con cabecera del Amsdos
CALL CAS_IN_CLOSE ; Cierre un fichero abierto para lectura

; Volvemos a hacer invisible la ROM que pusimos entre #4000-#7FFF
LD BC,#FD17
OUT (C),A

RET

error_en_parametros
LD HL,mensaje_error_en_parametros
muestra_mensaje
LD A,(HL)
OR A
RET Z
CALL TXT_OUTPUT
INC HL
JR muestra_mensaje

mensaje_error_en_parametros
DEFB "BAD PARAMS",#0A,#0D,#00

DEFB "ROM2SYM (c) 2010 SyX"
END inicio

Avatar de Usuario
MiguelSky
Lord of Short Time
Lord of Short Time
Mensajes: 6969
Registrado: Sab 08 Oct , 2005 2:02 am
Contactar:

Re: RSX para instalar ROMs en el Symbiface II

Mensajepor MiguelSky » Vie 03 Sep , 2010 8:33 pm



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic