A ver si las volcais pronto (las del modo c64)
Por cierto no estaria mal un tutorial de como hacerlas funcionar.
Preservación ROM de Commodore 128 español
- zup
- Amiga 2500
- Mensajes: 2991
- Registrado: 04 Sep 2009, 20:07
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Nintendo DS/3DS
- Primera consola: Nintendo GameBoy
- Ubicación: Navarra
- Gracias dadas: 70 veces
- Gracias recibidas: 338 veces
- Contactar:
Re: Preservación ROM de Commodore 128 español
¿Habéis contactado con los de MESS? Supongo que les interesará poner otro clón más en su emulador.
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!
Además vendo cosas!
- scooter
- Amiga 1200
- Mensajes: 1031
- Registrado: 17 Jul 2012, 09:25
- primer_sistema: C64
- Ubicación: Alicante
Re: Preservación ROM de Commodore 128 español
commodoro escribió:A ver si las volcais pronto (las del modo c64)
Por cierto no estaria mal un tutorial de como hacerlas funcionar.
No se como serán; lel c64 "español" llevaba la ñ en el lugar de la libra esterlina, osea que no estaba en su sitio. Este c128 si que tiene cierto orden.
- mike_01
- Amstrad PCW 8256
- Mensajes: 142
- Registrado: 08 Dic 2012, 00:58
- Sistema Favorito: VIC20
- primer_sistema: VIC20
- consola_favorita: NeoGeo
- Primera consola: (Otro)
- Ubicación: Valencia
Re: Preservación ROM de Commodore 128 español
commodoro escribió:A ver si las volcais pronto (las del modo c64)
Por cierto no estaria mal un tutorial de como hacerlas funcionar.
Estoy terminando un pequeño tutorial, con los ficheros de las ROMs preparados para funcionar en el WinVICE. En cuanto tenga un rato lo subo.
Sobre volcar las ROMs del modo C64, la única manera que he encontrado hasta ahora es mediante el programa ROMDUMPER.prg que proponía el compañero GroovyDifter en otro foro, que adjunto también en este post. Para hacer el volcado:
- Pulsar la tecla CAPS LOCK/ASCII CC ------> no sé si es necesario o no, pero ante la duda activamos el teclado español
- Poner el comando GO64 -----> entramos en el modo C64
- Ejecutar el programa ROMDUMPER.prg desde el SD2IEC -----> este programa genera tres ficheros BIN con cada una de las ROM's, Kernal, Basic y Char.
Si GorGo64 puede ejecutar este programa y pasarnos las ROMs, probamos también si funciona en el WinVICE.
zup escribió:¿Habéis contactado con los de MESS? Supongo que les interesará poner otro clón más en su emulador.
No se me había ocurrido el MESS. Gracias, zup.
En cuanto lo tengamos todo bien probado, empezamos a propagarlo. En primer lugar al FTP de Zimmers, y después avisamos a los responsables del VICE, MESS y demás.
Saludos.
- Adjuntos
-
- romdumper.zip
- (642 Bytes) Descargado 474 veces
Última edición por mike_01 el 08 Abr 2015, 15:53, editado 1 vez en total.
- marcos64
- Amiga 1200
- Mensajes: 1376
- Registrado: 03 Sep 2011, 07:53
- Gracias dadas: 59 veces
- Gracias recibidas: 32 veces
Re: Preservación ROM de Commodore 128 español
Si no recuerdo mal, la ROM de caracteres se elegia mediante la tecla CAPS LOCK. Estoy seguro de que habia un cable soldado a la EPROM que posiblemente activaba alguna linea de direccion que elegia el correspondiente 'banco' de memoria. En modo C64 no creo que exista ninguna diferencia en las ROMs del BASIC ni del KERNAL, esto solo ocurre en el modelo japones (son difrentes las ROMs del modelo aleman?). Y la ROM de caracteres es la misma del modo 128. Aunque insisto en que solo es lo que recuerdo, hace ya muchos años que estuve mirando mi 128Ñ.
http://marcos64.orgfree.com/
Actualizacion 11/6/2015: Añadida Load'N'Run numero 3.
Actualizacion 11/6/2015: Añadida Load'N'Run numero 3.
- robcfg
- Amiga 2500
- Mensajes: 2173
- Registrado: 07 May 2009, 15:34
- Sistema Favorito: Amstrad CPC
- primer_sistema: Atari 800XL/600XL
- Ubicación: Estocolmo
- Gracias dadas: 930 veces
- Gracias recibidas: 198 veces
- Contactar:
Re: Preservación ROM de Commodore 128 español
Si quereis yo se las puedo mandar a la gente de MESS y asegurarme que sois correctamente acreditados por ello.
Re: Preservación ROM de Commodore 128 español
Gracias!
Lo del Mess me parece una gran idea.
Va a ser interesante que se preserve el juego completo de roms y se pueda emular.
Un saludo
Lo del Mess me parece una gran idea.
Va a ser interesante que se preserve el juego completo de roms y se pueda emular.
Un saludo
-
- Amstrad CPC 464
- Mensajes: 63
- Registrado: 24 Mar 2015, 21:03
- Sistema Favorito: C64
- primer_sistema: C64
- consola_favorita: Nintendo NES/Clónica
- Primera consola: Nintendo NES/Clónica
- Gracias dadas: 1 vez
- Gracias recibidas: 15 veces
Re: Preservación ROM de Commodore 128 español
Pues aquí va el dumpeado de las ROMs en modo 64, siguiendo las instrucciones de mike_01. A ver si llega todo a buen puerto!
- Adjuntos
-
- ROM 128ES C64 MODE.rar
- (14.37 KiB) Descargado 493 veces
- marcos64
- Amiga 1200
- Mensajes: 1376
- Registrado: 03 Sep 2011, 07:53
- Gracias dadas: 59 veces
- Gracias recibidas: 32 veces
Re: Preservación ROM de Commodore 128 español
GorGo64 escribió:Pues aquí va el dumpeado de las ROMs en modo 64, siguiendo las instrucciones de mike_01. A ver si llega todo a buen puerto!
Como recordaba las ROM son identicas a las de un C64 normal.
En modo C64 se pueden usar los caracteres españoles? O la tecla CAPS LOOK no hace nada? Creo recordar que no era posible usar la Ñ en modo C64...
http://marcos64.orgfree.com/
Actualizacion 11/6/2015: Añadida Load'N'Run numero 3.
Actualizacion 11/6/2015: Añadida Load'N'Run numero 3.
- mike_01
- Amstrad PCW 8256
- Mensajes: 142
- Registrado: 08 Dic 2012, 00:58
- Sistema Favorito: VIC20
- primer_sistema: VIC20
- consola_favorita: NeoGeo
- Primera consola: (Otro)
- Ubicación: Valencia
Re: Preservación ROM de Commodore 128 español
Después de varias pruebas con el WinVICE y con la ayuda de un editor hexadecimal (HxD), voy a explicar las modificaciones que hecho a los ficheros para que funcionen en el emulador.
En primer lugar, al hacer un volcado por los métodos que hemos utilizado se añaden dos bytes al inicio de cada fichero generado, que parecen corresponder a la dirección de inicio del bloque, pero intercambiados (0x0040 en el primer método, y 0x0040, 0x00C0, 0x00D0 y 0x00E0 en el segundo método). Así pues, con el editor hexadecimal he borrado estos dos bytes al inicio de cada fichero.
Por otra parte, la ROM del Kernal no contiene el último byte, que corresponde a la parte alta del vector de interrupciones y cuyo valor es siempre 0xFF. Así que, añadiendo este último byte al final de la ROM tenemos obtenemos el Kernal correcto.
El segundo método tenía la ventaja de que se obtienen los ficheros de cada ROM por separado, mientras que en el primer caso habría que trocear el fichero grande. De todas maneras, el resultado al final es el mismo: las ROMs correspondientes al BASIC (32KB), Edit Screen (4KB), Char Generator (4KB) y el "Kernal Part" del C128 (8KB).
Sin embargo, aún tenemos que hacer más modificaciones en estos ficheros para que funcionen en el emulador:
- La ROM del BASIC 7.0, que suele estar formada por dos ROMs más pequeñas (LO + HI de 16KB), no difiere en cuanto la versión regional del C128 (*) y no es necesario hacer ningún cambio.
- El Char Generator (o juego de caracteres) suele estar formado por dos juegos de caracteres, el internacional (común a cualquier C128) y el regional. Así pues he bajado el charset internacional del C128 de Zimmers, y después he concatenado nuestro charset español. El resultado es el fichero CHARGES (8KB).
- El Kernal que hemos obtenido es realmente el "Kernal Part", una parte del Kernal completo del C128. El Kernal completo está formada por la ROM del Edit Screen, la del Z80 BIOS (CP/M) y la Kernal Part. La Z80 BIOS es idéntica en cualquier C128, mientras que las otras dos difieren según la versión regional del ordenador. Así pues, a partir de una ROM del Z80 BIOS de Zimmers y las ROMs que hemos obtenido, he construído un fichero con las tres partes en ese orden: KERNALES (16KB).
Estos dos últimos ficheros son los que deberíamos enviar a Zimmers (los adjunto en este post), y también funcionan directamente en el VICE/WinVICE. Ahora explico cómo:
El VICE/WinVICE tiene en la carpeta C128 las diferentes ROMs del equipo separadas en archivos. Por un lado, tenemos los ficheros CHARG<DE/EN/FR/SE>, y luego los KERNAL<(EN)/DE/FI/FR/IT/NO/SE>. Lo que he hecho es sustituir los archivos de una versión existente por las españolas.
Ahora ejecutamos el emulador del C128, x128.exe, y en el menú Settings hacemos los siguientes ajustes:
- C128 model settings: aquí suelo el poner C128 PAL.
- Keyboard settings: El VICE permite tener una distribución de teclado simbólica (los caracteres que escribimos mediante el teclado de PC son las entradas de teclado del emulador) y posicional (se mantiene la misma distribución del teclado del C128 aunque los carcacteres no van a coincidir porque la posición es distinta en un teclado de PC). Aquí tengo pensado hacer un fichero de mapeado simbólico para un teclado español de PC, pero por ahora lo dejamos por defecto.
- C128 settings: Si hemos sustituido las ROMs por la de una versión en concreto, la seleccionamos. Si hemos sustuido las de la versión inglesa/internacional, no hace falta tocar nada.
Sólo nos queda hacer un Reset (File -> Reset -> Soft) y ya tenemos un C128 versión española. Para activar el juego de caracteres español hay que pulsar F4, que equivale a pulsar la tecla CAPS LOCK/ASCII en el C128. Después de esto, podemos ver como las caracteres tienen un trazo más fino, y si vamos pulsando algunas teclas podemos ir obtienendo los caracteres ¿, ¡, Ç, Ñ, las tildes y las diéresis.
(*) Realmente existen dos versiones del BASIC 7.0, una de 1985 y otra 1986. Me imagino que cada C128, en función de la fecha de fabricación, tendrá una versión u otra. Ni idea de cuales son las diferencias, pero en la web de Zimmers están las dos. La del equipo de GorGo64 es de 1985, y en cambio el WinVICE tiene la de 1986.
-- Actualizado 12 Abr 2015, 19:26 --
Pues esa misma pregunta es la que me hacía yo, y efectivamente tienes razón. Acabo de comparar las ROMs de un C64 normal (descargadas de la web de Zimmers) con las que hemos obtenido del modo 64 del C128, y las tres ROMs son idénticas.
Creía que, al menos, la ROM del Char Generator sería la misma que la de un C64 español (también preservada en Zimmers), pero no. Además, viendo el manual de servicio del C128 y esta página que he encontrado, el U18 es el chip del Char Generator compartido para ambos modos, el 128 y el 64.
Lo curioso es que, al pulsar la teclas CAPS LOCK en el modo 64 (probando con el WinVICE), los caracteres dibujados tienen un trazo más fino (como en el modo 128 cuando pulsamos CAPS LOCK), y el juego de caracteres cambia. Probando algunas teclas de caracteres especiales he conseguido obtener los símbolos ¿, ¡ y algunas vocales acentuadas, aunque en posiciones distintas a las del modo 128. También he probado en mi C128 alemán, y he conseguido obtener caracteres especiales de manera similar, pulsando otras teclas con símbolos distintos.
En primer lugar, al hacer un volcado por los métodos que hemos utilizado se añaden dos bytes al inicio de cada fichero generado, que parecen corresponder a la dirección de inicio del bloque, pero intercambiados (0x0040 en el primer método, y 0x0040, 0x00C0, 0x00D0 y 0x00E0 en el segundo método). Así pues, con el editor hexadecimal he borrado estos dos bytes al inicio de cada fichero.
Por otra parte, la ROM del Kernal no contiene el último byte, que corresponde a la parte alta del vector de interrupciones y cuyo valor es siempre 0xFF. Así que, añadiendo este último byte al final de la ROM tenemos obtenemos el Kernal correcto.
El segundo método tenía la ventaja de que se obtienen los ficheros de cada ROM por separado, mientras que en el primer caso habría que trocear el fichero grande. De todas maneras, el resultado al final es el mismo: las ROMs correspondientes al BASIC (32KB), Edit Screen (4KB), Char Generator (4KB) y el "Kernal Part" del C128 (8KB).
Sin embargo, aún tenemos que hacer más modificaciones en estos ficheros para que funcionen en el emulador:
- La ROM del BASIC 7.0, que suele estar formada por dos ROMs más pequeñas (LO + HI de 16KB), no difiere en cuanto la versión regional del C128 (*) y no es necesario hacer ningún cambio.
- El Char Generator (o juego de caracteres) suele estar formado por dos juegos de caracteres, el internacional (común a cualquier C128) y el regional. Así pues he bajado el charset internacional del C128 de Zimmers, y después he concatenado nuestro charset español. El resultado es el fichero CHARGES (8KB).
- El Kernal que hemos obtenido es realmente el "Kernal Part", una parte del Kernal completo del C128. El Kernal completo está formada por la ROM del Edit Screen, la del Z80 BIOS (CP/M) y la Kernal Part. La Z80 BIOS es idéntica en cualquier C128, mientras que las otras dos difieren según la versión regional del ordenador. Así pues, a partir de una ROM del Z80 BIOS de Zimmers y las ROMs que hemos obtenido, he construído un fichero con las tres partes en ese orden: KERNALES (16KB).
Estos dos últimos ficheros son los que deberíamos enviar a Zimmers (los adjunto en este post), y también funcionan directamente en el VICE/WinVICE. Ahora explico cómo:
El VICE/WinVICE tiene en la carpeta C128 las diferentes ROMs del equipo separadas en archivos. Por un lado, tenemos los ficheros CHARG<DE/EN/FR/SE>, y luego los KERNAL<(EN)/DE/FI/FR/IT/NO/SE>. Lo que he hecho es sustituir los archivos de una versión existente por las españolas.
Ahora ejecutamos el emulador del C128, x128.exe, y en el menú Settings hacemos los siguientes ajustes:
- C128 model settings: aquí suelo el poner C128 PAL.
- Keyboard settings: El VICE permite tener una distribución de teclado simbólica (los caracteres que escribimos mediante el teclado de PC son las entradas de teclado del emulador) y posicional (se mantiene la misma distribución del teclado del C128 aunque los carcacteres no van a coincidir porque la posición es distinta en un teclado de PC). Aquí tengo pensado hacer un fichero de mapeado simbólico para un teclado español de PC, pero por ahora lo dejamos por defecto.
- C128 settings: Si hemos sustituido las ROMs por la de una versión en concreto, la seleccionamos. Si hemos sustuido las de la versión inglesa/internacional, no hace falta tocar nada.
Sólo nos queda hacer un Reset (File -> Reset -> Soft) y ya tenemos un C128 versión española. Para activar el juego de caracteres español hay que pulsar F4, que equivale a pulsar la tecla CAPS LOCK/ASCII en el C128. Después de esto, podemos ver como las caracteres tienen un trazo más fino, y si vamos pulsando algunas teclas podemos ir obtienendo los caracteres ¿, ¡, Ç, Ñ, las tildes y las diéresis.
(*) Realmente existen dos versiones del BASIC 7.0, una de 1985 y otra 1986. Me imagino que cada C128, en función de la fecha de fabricación, tendrá una versión u otra. Ni idea de cuales son las diferencias, pero en la web de Zimmers están las dos. La del equipo de GorGo64 es de 1985, y en cambio el WinVICE tiene la de 1986.
-- Actualizado 12 Abr 2015, 19:26 --
marcos64 escribió:Como recordaba las ROM son identicas a las de un C64 normal.
En modo C64 se pueden usar los caracteres españoles? O la tecla CAPS LOOK no hace nada? Creo recordar que no era posible usar la Ñ en modo C64...
Pues esa misma pregunta es la que me hacía yo, y efectivamente tienes razón. Acabo de comparar las ROMs de un C64 normal (descargadas de la web de Zimmers) con las que hemos obtenido del modo 64 del C128, y las tres ROMs son idénticas.
Creía que, al menos, la ROM del Char Generator sería la misma que la de un C64 español (también preservada en Zimmers), pero no. Además, viendo el manual de servicio del C128 y esta página que he encontrado, el U18 es el chip del Char Generator compartido para ambos modos, el 128 y el 64.
Lo curioso es que, al pulsar la teclas CAPS LOCK en el modo 64 (probando con el WinVICE), los caracteres dibujados tienen un trazo más fino (como en el modo 128 cuando pulsamos CAPS LOCK), y el juego de caracteres cambia. Probando algunas teclas de caracteres especiales he conseguido obtener los símbolos ¿, ¡ y algunas vocales acentuadas, aunque en posiciones distintas a las del modo 128. También he probado en mi C128 alemán, y he conseguido obtener caracteres especiales de manera similar, pulsando otras teclas con símbolos distintos.
- Adjuntos
-
- C128_ROM_ES_VICE.zip
- (15.16 KiB) Descargado 455 veces
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados