Averia VIC-20 Kernal ROM

ehontecillas
Mensajes: 221
Registrado: 09 Dic 2012 21:08
Agradecido : 4 veces
Agradecimiento recibido: 5 veces

Averia VIC-20 Kernal ROM

Mensajepor ehontecillas » 06 Sep 2019 21:41

Buenas nohes, compañeros

Recientemente he adquirido un VIC-20 que presenta pantalla en negro.

La avería reside en la "Kernal ROM", ya que le he transplantado la de otro VIC que funciona, y el ordenador arranca.

Se que se puede sustituir por una EPROM a la que habría que grabar la imagen que se puede bajar de la red, pero no tengo programador ni información de como se hace.

¿Alguno de vosotros tiene experiencia con esta máquina y esta avería?

Muchas gracias.

Avatar de Usuario
ron
Mensajes: 18494
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1669 veces
Agradecimiento recibido: 1390 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor ron » 07 Sep 2019 10:22

Haber hay varias opciones y combinaciones. Lo usual es que los integrados de commodre tengan 24 patilas y las eprom 28. Se adaptan fácilmente soldando unos puentes. En su día me compré un programador de Eprom y Eeprom Willem a los chinakos que vale dos duros y con eso prácticamente y salvo excepciones tienes para hacer de todo.

Necesitas adaptar la eprom, 2364 a 2764.

2364a2764.png
2364a2764.png (45.27 KiB) Visto 532 veces


Hay gente que usa un zócalo y así lo deja más curioso
24a28pin.jpg
24a28pin.jpg (23.92 KiB) Visto 531 veces


http://blog.tynemouthsoftware.co.uk/201 ... epair.html
http://hackjunk.com/2016/05/07/vic-20-r ... 128-eprom/

jltursan
Mensajes: 2608
Registrado: 20 Sep 2011 13:59
Agradecido : 183 veces
Agradecimiento recibido: 509 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor jltursan » 07 Sep 2019 10:29

Échale un vistazo a esta página, describen algo el proceso de cambio del Kernal: http://thegarage.space/2017/04/19/reparacion-de-commodore-vic-20/

Y efectivamente, parece que el principal problema es hacerse con un adaptador de 28 a 24 pines...o bien, que alguien que ya haya sustituido su Kernal operativo por una EPROM para algún tipo de mod, te lo pueda ceder.
Si no eres manitas, los adaptadores para el zócalo los puedes encontrar aquí: http://www.go4retro.com/products/23xx-adapter/

ehontecillas
Mensajes: 221
Registrado: 09 Dic 2012 21:08
Agradecido : 4 veces
Agradecimiento recibido: 5 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor ehontecillas » 09 Sep 2019 11:49

Gracias, compañeros.

En lo que se refiere al trabajo HW no hay problema, mi soldador y yo somos grandes amigos desde la infancia... :D

Muy agradecido por vuestra aportaciones. Con el esquemita que me ha puesto Ron, creo que lo tengo encauzado. Solo me falta comprar la EEPROM y conseguir uno de esos programadores baratitos...

ehontecillas
Mensajes: 221
Registrado: 09 Dic 2012 21:08
Agradecido : 4 veces
Agradecimiento recibido: 5 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor ehontecillas » 09 Oct 2019 15:59

Buenas de nuevo, compañeros,

Compré un programador willem, la versión 5.0E

Como dispongo de memorias AT29C010, me propuse utilizar esta en lugar de la 27C256.

Mirando esquemas, me he construido el siguiente adaptador

Imagen

Me he bajado la imagen .bin del kernal del VIC-20 http://www.zimmers.net/anonftp/pub/cbm/firmware/computers/vic20/kernal.901486-07.bin

la he grabado en la AT29F010 con el willem, me dice que ok, leo la memoria y aparentemente la ha grabado bien.

Monto la memoria en el adaptador y la pincho en el VIC....

Agua, pantalla negra. Le coloco una ROM original con el Kernal y arranca bien.

Es evidente que algo estoy haciendo mal, pero no se que... ¿Estoy grabando mal la memoria? ¿Está bien el esquema? esas resistencias de pull-up son correctas? ¿Estoy grabando en un banco y leyendo en otro? ¿Es incompatible esta memoria con el VIC?

Estoy un poco perdido y algo frustrado, Algún gurú de la electrónica digital que me oriente?

Muchas gracias.

Imagen
Imagen
Imagen
Imagen
Imagen

Avatar de Usuario
flopping
Mensajes: 2341
Registrado: 26 Jun 2011 17:50
Agradecido : 1 vez
Agradecimiento recibido: 47 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor flopping » 09 Oct 2019 16:38

A ver si te puedo ayudar, el esquema que has puesto es para adaptar la memoria nueva a la original , pero para poder grabarla y leerla, tienes que tener configuraciones de algunos pines distinta, es decir si pones A13, A14, A15 y A16 a "1", debes de grabar la memoria con esas patillas a "1" y luego ponerlas igual en el ordenador, es decir a "1" tambien, eso es correcto, pero para poder grabar la memoria, /WE debe de estar a "0", ya que /WE (Write Enable) se activa con nivel cero (Gnd), no con nivel uno (Vcc) y ya cuando la pongas en el ordenador la pones a "1".

Supongo que cuando has grabado la memoria, has comprobado que se habia grabado correctamente ¿no?, pero como digo si /WE esta siempre a "1" no se habra grabado nada, por lo que me extraña que te de OK en la comprobacion.

Aunque yo lo que haria es coger el archivo y duplicarlo tantas veces como quepa en la memoria, (creo que en este caso son 8 veces la capacidad de una 27c256) y asi seguro que cualquier banco seleccionado tiene el programa correcto, para ello coges el programa original y con un editor hexadecimal lo pegas uno a continuacion de otro y creas un archivo unico mas gordo, luego quitas las resistencias y demas, cableas las patillas como si fuera una 29C010 DIL y grabas ese archivo en el chip 29C010 sin ninguna adaptacion, simplemente seleccionas en tu grabador ese chip, cargas el archivo de las 8 copias y lo grabas, y luego ya lo puedes meter en tu ordenador con el adaptador con las resistencias tal como lo tienes en el esquema, a ver si asi te funciona.

Espero habeme explicado bien, si no entiendes algo, pregunta y te lo intento explicar mejor o de otra forma, tambien puedes bajarte los datasheets de cada memoria y ver las pastillas que se activan en la grabacion y en la lectura y los valores que estas toman en cada caso, salu2.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide que padezco.
(C) 1982-2019, 37 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".

ehontecillas
Mensajes: 221
Registrado: 09 Dic 2012 21:08
Agradecido : 4 veces
Agradecimiento recibido: 5 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor ehontecillas » 09 Oct 2019 21:29

flopping escribió:A ver si te puedo ayudar, el esquema que has puesto es para adaptar la memoria nueva a la original , pero para poder grabarla y leerla, tienes que tener configuraciones de algunos pines distinta, es decir si pones A13, A14, A15 y A16 a "1", debes de grabar la memoria con esas patillas a "1" y luego ponerlas igual en el ordenador, es decir a "1" tambien, eso es correcto, pero para poder grabar la memoria, /WE debe de estar a "0", ya que /WE (Write Enable) se activa con nivel cero (Gnd), no con nivel uno (Vcc) y ya cuando la pongas en el ordenador la pones a "1".


No uso el adaptador para grabar, solo para leer en el VIC. Ese adaptador pretende convertir la 29F010 en una 2364. Mi willem no tiene la opción de grabar 23XX, podría convertirlo al patillaje de la 27XX, pero al ser 29XX creo que trabaja con niveles de tensión diferentes.

Lo que hago es meter el PLCC32 en el willem y grabarla como lo que es, una 29C010, por eso la graba sin problemas, pero se ve que lo que yo grabo, el VIC, una vez metida en el adaptador, no lo lee.

flopping escribió:Supongo que cuando has grabado la memoria, has comprobado que se habia grabado correctamente ¿no?, pero como digo si /WE esta siempre a "1" no se habra grabado nada, por lo que me extraña que te de OK en la comprobacion.


Si, al grabar, hace una comprobación y yo, aparte, vuelvo a leer la memoria y veo que el contenido corresponde con lo que he grabado (al menos las primeras lineas). Lo del WE# no es aplicable aqui, por lo que he comentado antes, no uso el adaptador para grabar, solo para insertar la memoria grabada en el VIC.

flopping escribió:Aunque yo lo que haria es coger el archivo y duplicarlo tantas veces como quepa en la memoria, (creo que en este caso son 8 veces la capacidad de una 27c256) y asi seguro que cualquier banco seleccionado tiene el programa correcto, para ello coges el programa original y con un editor hexadecimal lo pegas uno a continuacion de otro y creas un archivo unico mas gordo, luego quitas las resistencias y demas, cableas las patillas como si fuera una 29C010 DIL y grabas ese archivo en el chip 29C010 sin ninguna adaptacion, simplemente seleccionas en tu grabador ese chip, cargas el archivo de las 8 copias y lo grabas, y luego ya lo puedes meter en tu ordenador con el adaptador con las resistencias tal como lo tienes en el esquema, a ver si asi te funciona.


Si esto que propones funciona, sería la mejor solución, como la memoria original es la 2364 (creo) serán mas bloques aún de los que comentas, y si funciona, ya lo suyo sería meter tambien al versión con el jiffidos, que creo que también lo hay para VIC20, y seleccionar con jumpers o un conmutador el acceso al banco en cuestión. Voy a ver cuantos bloques tengo que meter en la memoria y a ver si me aclaro en que posición se deben meter.

flopping escribió:Espero habeme explicado bien, si no entiendes algo, pregunta y te lo intento explicar mejor o de otra forma, tambien puedes bajarte los datasheets de cada memoria y ver las pastillas que se activan en la grabacion y en la lectura y los valores que estas toman en cada caso, salu2.

Te has expilcado bien, otra cosa es que yo te haya entendido, que creo que si... :D.
Te agradezco mucho la ayuda. Voy a probar la solución que propones de replicar el código n veces y ya comentaré los avances.
Mil gracias. Ernesto.

Avatar de Usuario
flopping
Mensajes: 2341
Registrado: 26 Jun 2011 17:50
Agradecido : 1 vez
Agradecimiento recibido: 47 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor flopping » 09 Oct 2019 23:21

Ok, entonces por lo que entiendo, en tu grabador (un willem), metes el zocalo PLCC32 sin ninguna modificacion o resistencia y grabas la memoria como lo que es una 29C010, pero solo grabas una copia del archivo que es de una 2364 y luego le pones el otro adaptador (el de las resistencias) en el vic para que este pueda leer esa memoria, ¿es asi?, si es eso, tengo que decirte que aunque la memoria se ha grabado correctamente, al leerla no lo estas haciendo bien y te voy a intentar explicar el por que.

Al grabar la memoria en el willen, este mete el codigo que ocupa 64Kbits (8KBytes) y el resto lo dejara a cero (00) o a 255 (ff), hasta aqui ¿ok?, vale, el problema esta en que al leer, las direcciones A13, A14, A15 y A16 estan fijas a 1, por lo que el vic no puede leer el codigo que esta grabado al principio de la memoria (posicion 0), por que ese caso no se da nunca, ya que para que pueda leer desde la posicion 0, tienes que poner esas direcciones a gnd (0) no a Vcc (1), ya que el grabador empieza a grabar poniendo todas las direcciones a 0 y luego va subiendo de valor, hasta poner todas las direcciones a 1.

Pero si tu "fuerzas" a que la direccion de lectura no empiece desde "0", si no que ya empieza desde una posicion muchisimo mas alta, nunca podras leer la posicion 0, ya que para poder llegar a "0", tiene que haber un momento en el que todas las lineas de direccion sean "0" y ese caso no ocurre nunca, ya que tienes 4 señales siempre a "1", ¿me he explicado bien?.

Resumiendo, tienes que poner las lineas de direcciones de la memoria que no use el vic a "0" y no a "1", vamos que quites las resistencias y pongas esas patillas a gnd directamente.

O puedes tambien hacer lo que te he comentado antes, grabar n veces el mismo archivo y asi seguro que no tienes problemas (o eso espero), prueba a ver si asi funciona, si no, igual tienes que poner /WE tambien a gnd, prueba a ver si lo consigues tal como te he comentado, salu2.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide que padezco.
(C) 1982-2019, 37 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".

ehontecillas
Mensajes: 221
Registrado: 09 Dic 2012 21:08
Agradecido : 4 veces
Agradecimiento recibido: 5 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor ehontecillas » 10 Oct 2019 00:35

Pues efectivamente, poniendo esas lineas a 0 arrancó !!!

He intentado copiar 2 veces el mismo trozo de código, pero no lo he conseguido. Empieza a grabar la memoria y al llegar al segundo pedazo,(Cuando llega al 50%) me da error. Supongo que el editor está metiendo basura tipo retorno de carro o algún caracter extraño. (Esto lo supongo por que el fichero original lo graba bien y el modificado no)

Lo estoy haciendo en win7 con un editor que se llama HxD.

¿Me recomiendas algun editor que funcione bien?

En todo caso, la prueba ha sido un exito !!! :D

Muchas gracias, flopping !!

Avatar de Usuario
WhatIsAMan
Mensajes: 433
Registrado: 10 Dic 2017 17:06
Ubicación: El castillo invertido
Agradecido : 122 veces
Agradecimiento recibido: 124 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor WhatIsAMan » 10 Oct 2019 00:52

ehontecillas escribió:Pues efectivamente, poniendo esas lineas a 0 arrancó !!!

He intentado copiar 2 veces el mismo trozo de código, pero no lo he conseguido. Empieza a grabar la memoria y al llegar al segundo pedazo,(Cuando llega al 50%) me da error. Supongo que el editor está metiendo basura tipo retorno de carro o algún caracter extraño. (Esto lo supongo por que el fichero original lo graba bien y el modificado no)

Lo estoy haciendo en win7 con un editor que se llama HxD.

¿Me recomiendas algun editor que funcione bien?

En todo caso, la prueba ha sido un exito !!! :D

Muchas gracias, flopping !!

Por curiosidad, ¿por qué quieres duplicar el contenido de la ROM? Poniendo las direcciones no usadas con un valor ya predeterminado no sería necesario duplicar. Si lo dejases "flotando", entonces tampoco tendrías que duplicar, sino que tendrías que repetir los datos 16 veces porque estás "fabricando" los valores de cuatro pines (24 = 16). Recuerda que con cada pin extra de direcciones duplicas el tamaño usable.

Yo si trabajo sobre segmentos de código ya compilado que debo repetir y grabar o bien uso programas hechos a medida (usando Java), intérprete de comandos y batch o algún que otro script.

Saludos!

ehontecillas
Mensajes: 221
Registrado: 09 Dic 2012 21:08
Agradecido : 4 veces
Agradecimiento recibido: 5 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor ehontecillas » 10 Oct 2019 10:21

Bueno, si lees los mensajes anteriores, verás que no estaba claro en que dirección de memoria se estaba grabando o leyendo, de ahí el duplicar el código hasta rellenar la memoria al completo. Ahora ya no es necesario, ya que flopping ha dado con el quid de la cuestión. El código se estaba grabando el la posición 0, pero en el VIC, se estaba accediendo a otra posición diferente. Al poner a "0" los 4 pines sobrantes, se solucionó el problema.

No obstante, es interesante ya no duplicar, si no grabar 2 códigos diferentes, por eljemplo la ROM original y la jiffyDOS que es una ROM mejorada y conmutar con jumpers o un interruptory asi seleccionar la ROM con la que quieres arrancar.

Para eso es necesario un editor hexadecimal que funcione bien y no me de los problemas que me ha dado el que he intentado usar.

Avatar de Usuario
WhatIsAMan
Mensajes: 433
Registrado: 10 Dic 2017 17:06
Ubicación: El castillo invertido
Agradecido : 122 veces
Agradecimiento recibido: 124 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor WhatIsAMan » 10 Oct 2019 10:55

ehontecillas escribió:Bueno, si lees los mensajes anteriores, verás que no estaba claro en que dirección de memoria se estaba grabando o leyendo, de ahí el duplicar el código hasta rellenar la memoria al completo. Ahora ya no es necesario, ya que flopping ha dado con el quid de la cuestión. El código se estaba grabando el la posición 0, pero en el VIC, se estaba accediendo a otra posición diferente. Al poner a "0" los 4 pines sobrantes, se solucionó el problema.

No obstante, es interesante ya no duplicar, si no grabar 2 códigos diferentes, por eljemplo la ROM original y la jiffyDOS que es una ROM mejorada y conmutar con jumpers o un interruptory asi seleccionar la ROM con la que quieres arrancar.

Para eso es necesario un editor hexadecimal que funcione bien y no me de los problemas que me ha dado el que he intentado usar.

Entonces debes hacerlo con cmd y usando el comando type (type rom1.bin rom2.bin > resultRom.bin). Entonces debes situar el jumper/interruptor en la línea de direcciones más baja que tengas disponible (A13). Si lo haces, no te olvides de un resistor pull, dependiendo de qué rom quieras por defecto (con el interruptor/jumper abierto) tendrás que decidir si pones un pullup o un pulldown.

Saludos!

BlackHole
Mensajes: 1126
Registrado: 03 Ago 2011 23:07
Ubicación: Aluche, Madrid
Agradecido : 11 veces
Agradecimiento recibido: 248 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor BlackHole » 10 Oct 2019 11:14

WhatIsAMan: ¿El comando TYPE no haría una conversión ASCII para sacar cosas por pantalla y perdería valores binarios?
Creo que en equipos Windows/DOS el comando adecuado es COPY /B rom1.bin+rom2.bin resultRom.bin /B
En macOS/Linux/Unix sí funciona tu sintaxis con la orden cat, pero en entornos Microsoft me parece que no.

Avatar de Usuario
WhatIsAMan
Mensajes: 433
Registrado: 10 Dic 2017 17:06
Ubicación: El castillo invertido
Agradecido : 122 veces
Agradecimiento recibido: 124 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor WhatIsAMan » 10 Oct 2019 11:42

BlackHole escribió:WhatIsAMan: ¿El comando TYPE no haría una conversión ASCII para sacar cosas por pantalla y perdería valores binarios?
Creo que en equipos Windows/DOS el comando adecuado es COPY /B rom1.bin+rom2.bin resultRom.bin /B
En macOS/Linux/Unix sí funciona tu sintaxis con la orden cat, pero en entornos Microsoft me parece que no.

No estoy seguro de si fallaría (yo acostumbro a concatenar usando un programa que escribí hace tiempo); con el comando copy sería "copy rom1.bin+rom2.bin=rom.bin".

Acerca de los errores. ¿Qué dimensión tiene el fichero que grabas? Si realmente inserta algo, la medida sería > 8KB y no 8KB exactos (16KB si añades una segunda imagen). Esto deberías poder verlo con un editor hex. Yo uso XVI32, con muy buenos resultados.

ehontecillas
Mensajes: 221
Registrado: 09 Dic 2012 21:08
Agradecido : 4 veces
Agradecimiento recibido: 5 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor ehontecillas » 10 Oct 2019 14:56

WhatIsAMan escribió:Acerca de los errores. ¿Qué dimensión tiene el fichero que grabas? Si realmente inserta algo, la medida sería > 8KB y no 8KB exactos (16KB si añades una segunda imagen). Esto deberías poder verlo con un editor hex. Yo uso XVI32, con muy buenos resultados.


Son bloques de 64K y cuando los concateno mide exactamente el doble (Si concateno 16, pues lleno la memoria entera, que es de 1 MB). No se que es lo que pasa, pero algo pasa, a ver si saco tiempo para probar ese editor que me dices y tb lo de los comandos DOS.

¿Sabéis que comando debería utilizar en linux (ubuntu)? El PC que uso habitualmente lo tengo con linux...

Ya diré algo...

Muchas gracias !

Avatar de Usuario
WhatIsAMan
Mensajes: 433
Registrado: 10 Dic 2017 17:06
Ubicación: El castillo invertido
Agradecido : 122 veces
Agradecimiento recibido: 124 veces

Re: Averia VIC-20 Kernal ROM

Mensajepor WhatIsAMan » 10 Oct 2019 15:04

ehontecillas escribió:
WhatIsAMan escribió:Acerca de los errores. ¿Qué dimensión tiene el fichero que grabas? Si realmente inserta algo, la medida sería > 8KB y no 8KB exactos (16KB si añades una segunda imagen). Esto deberías poder verlo con un editor hex. Yo uso XVI32, con muy buenos resultados.


Son bloques de 64K y cuando los concateno mide exactamente el doble (Si concateno 16, pues lleno la memoria entera, que es de 1 MB). No se que es lo que pasa, pero algo pasa, a ver si saco tiempo para probar ese editor que me dices y tb lo de los comandos DOS.

Ya diré algo...

Muchas gracias !

64KB? Estás sustituyendo memorias 2364, de 8KB.


Volver a “Commodore Vic20”

¿Quién está conectado?

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