Preservación ROM de Commodore 128 español

PET, VIC-20, MAX Machine, 64, 64x, SX-64, 16, Plus/4, 128, 65 ...
Avatar de Usuario
commodoro
Amiga 1200
Amiga 1200
Mensajes: 1280
Registrado: 17 Abr 2010, 17:32

Re: Preservación ROM de Commodore 128 español

Mensajepor commodoro » 07 Abr 2015, 18:47

A ver si las volcais pronto (las del modo c64)
Por cierto no estaria mal un tutorial de como hacerlas funcionar.

Avatar de Usuario
zup
Amiga 2500
Amiga 2500
Mensajes: 2967
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: 68 veces
Gracias recibidas: 322 veces
Contactar:

Re: Preservación ROM de Commodore 128 español

Mensajepor zup » 07 Abr 2015, 20:38

¿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!

Avatar de Usuario
scooter
Amiga 1200
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

Mensajepor scooter » 08 Abr 2015, 01:56

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.

Avatar de Usuario
mike_01
Amstrad PCW 8256
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

Mensajepor mike_01 » 08 Abr 2015, 11:08

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 420 veces
Última edición por mike_01 el 08 Abr 2015, 15:53, editado 1 vez en total.

Avatar de Usuario
marcos64
Amiga 1200
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

Mensajepor marcos64 » 08 Abr 2015, 11:42

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.

Avatar de Usuario
robcfg
Amiga 2500
Amiga 2500
Mensajes: 2137
Registrado: 07 May 2009, 15:34
Sistema Favorito: Amstrad CPC
primer_sistema: Atari 800XL/600XL
Ubicación: Estocolmo
Gracias dadas: 843 veces
Gracias recibidas: 168 veces
Contactar:

Re: Preservación ROM de Commodore 128 español

Mensajepor robcfg » 08 Abr 2015, 16:32

Si quereis yo se las puedo mandar a la gente de MESS y asegurarme que sois correctamente acreditados por ello.

Avatar de Usuario
commodoro
Amiga 1200
Amiga 1200
Mensajes: 1280
Registrado: 17 Abr 2010, 17:32

Re: Preservación ROM de Commodore 128 español

Mensajepor commodoro » 09 Abr 2015, 12:15

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

GorGo64
Amstrad CPC 464
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

Mensajepor GorGo64 » 10 Abr 2015, 10:16

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 438 veces

Avatar de Usuario
marcos64
Amiga 1200
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

Mensajepor marcos64 » 12 Abr 2015, 11:47

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.

Avatar de Usuario
mike_01
Amstrad PCW 8256
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

Mensajepor mike_01 » 12 Abr 2015, 18:16

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 --

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 401 veces


Volver a “Commodore”

¿Quién está conectado?

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