C64 a Fondo – 6502 vs 6510 Parte 6 – MOS 6503 Una Rareza 

Hola, en esta entrega vamos a estudiar al Procesador MOS 6503 una verdadera rareza. Se trata de un procesador de la familia del 6502 y del 6510 pero con muchos menos pines (28 en lugar de 40) y la capacidad de direccionar solo 4kb de memoria ram.

Cosas en común con la familia 6500

Este 6503 tiene algunas cosas fundamentales en común con la familia del 6500 sin las cuales cualquier desarrollo en esta plataforma sería muy pero muy difícil.

La primera es el código máquina, este posee las mismas instrucciones a las que ya estamos acostumbrados en nuestros 6502 y 6510, poseyendo también los mismos modos de direccionamiento de memoria.

El timing del mismo está dentro de lo esperado para la familia pudiéndose comunicar con los VIA y CIA si se sincronizan los relojes de estos chips entre sí.

La cantidad de registros y la forma de accederlos se mantienen para toda la familia estos son los familiares A, X e Y, el Status Register y el Stack Pointer, los 5 registros, de 8 bits y el Program Counter de 16 bits.

Tomando en cuenta el análisis de Jim Butterfield – Wikipedia un prócer del lenguaje en código máquina para Commodore el 6503 es sólo un 6502 con menos pines e idéntico funcionamiento.

También posee 8 bits bidireccionales de datos. Todavía podemos encontrar procesadores compatibles como el Synertek 6503

Pin-Out y diferencias

Aquí salta a la vista la diferencia más grande ya que ¡A este chip le han robado unas patitas! Sí, su formato es DIP28 en lugar de los ya tradicionales DIP40 que nos acostumbraron el 6502 y el 6510. ¿Y dónde es que nos faltan esas patitas? Ni más ni menos que en el address bus.

Este posee solo 12 pines (pin AB0 a AB11) en lugar de los tradicionales 16 direccionando solo 2ˆ12 bytes, o sea 4096 bytes o 4 kb para direcciones de memoria.

Aquí hay que tener especial cuidado al armar alguna placa que tenga chips que esperen 15 o 16 bits en su direccionamiento, en las mismas tenemos que asegurarnos que esos pines no queden flotando (no conectados ni a ground ni a 5v). Típicamente en una maqueta de breadboards pueden conectar los pines sobrantes a ground o 5v dependiendo si queremos 0 o 1 para ese bit en particular.

/RES Pin de reset, este pin sirve para realizar un reset del procesador cuando se conecte a 0v. El reset tomará 7 ciclos de reloj y buscará en las posiciones de memoria $0FFC y $0FFD donde está el vector (otra posición de memoria) que posee la primera instrucción a ejecutar. El reset debe ser mantenido en 0v por lo menos durante dos ciclos de reloj para que sea reconocido. Nótese que no usamos las tradicionales $FFFC y $FFFD.

VSS Pin de Ground, este pin se conecta al common ground del diseño.

PHI1 o 01 (OUT) Pin de Salida de Reloj, el mismo es una salida de reloj para conectar a otros dispositivos. El PHI1 es típicamente la señal del PHI2 pero invertida.

/IRQ Pin de interrupción. Al conectar este pin a 0V, si las interrupciones están habilitadas, el procesador guardará el contenido de los registros actuales y buscará en las posiciones de memoria 0FFE y 0FFF donde está el vector (otra posición de memoria) que posee la primera instrucción a ejecutar para atender a esta interrupción. Nótese que no usamos las tradicionales $FFFE y $FFFF.

/NMI Pin de interrupción no enmascarable. Al conectar este pin a 0V el procesador guardará el contenido de los registros actuales y buscará en las posiciones de memoria 0FFA y 0FFB donde está el vector (otra posición de memoria) que posee la primera instrucción a ejecutar para atender a esta interrupción. Este tipo de interrupción es incondicional y siempre será honrada. Nótese que no usamos las tradicionales $FFFA y $FFFB.

VCC Pin de Energía. El procesador típicamente trabaja con +5v ± 5% de sobre o sub fluctuación en el voltaje.

AB0 a AB11 Pines del Bus de Direccionamiento. Son pines bidireccionales que permiten recibir las direcciones de los dispositivos a los cuales comunicarse (memorias, otros chip en la placa, registros de I/O, etc). Al ser un bus de 12 bits direcciona hasta 4096 bytes o desde $0000 hasta $0FFF.

DB0 a DB7 Pines del Bus de datos, Este es un bus bidireccional que permite recibir y escribir datos junto con el bit de R/W a memorias y registros de I/O.

R/W Pin de Lectura/Escritura. Este pin indica si el procesador está realizando una lectura o una escritura. Cuando se encuentra en 1 o en estado High el procesador está realizando una lectura cuando está en 0 o estado Low una escritura.

PHI0 o 00 (IN) Pin de entrada de Reloj, Este pin permite conectar un reloj interno al procesador para sincronizarse con otros dispositivos.

PHI2 o 02 (OUT) Pin de Salida de Reloj, el mismo es una salida de reloj para conectar a otros dispositivos.

Cómo funciona en la Commodore 64

El 6503 no se utilizó en la Commodore 64, ni en ninguna computadora Commodore conocida, fue hecho por MOS Technologies para dar un 6502 con un paquete de 28 pines, lo cual era más barato tanto en espacio de pcb utilizado como en costo del chip.

El 6503 en acción

Bueno aca les dejo un video del 6503 en acción donde vamos a explicar como funciona cada uno de sus pines, programarlo a mano utilizando resistencias con la instrucción de código máquina EA (correspondiente a NOP o no operación) y estudiar que pasa por sus pines y qué direcciones usa al bootear,

6503 una rareza, 6502 vs 6510 Parte 6

Artículos en la serie C64 a Fondo

A continuación les dejo los links a los artículos anteriores de la serie

Introducción

Parte 1 – El módulo de reloj

Parte 2 – Pinout 6510 y 6502

Parte 3 – Codeando a Mano la Primera Instrucción de Código Máquina

Parte 4 – Primer Programa desde EEPROM

Parte 5 – I/O Pins del Procesador

Referencias

A continuación les dejo algunos links donde profundizar el tema:

Video de la serie 6502 vs 6510 Parte 6 – 6503 una rareza:

6503 una rareza, 6502 vs 6510 Parte 6

6503 Datasheet 

W65C02S 8–bit Microprocessor 

MOS Technology MPS6503A

commodore.ca | The New 6500 Processors (CPU) by Jim Butterfield  

Synertek 6503

Y como siempre la serie de Ben Eater del 6502

Build a 6502 computer | Ben Eater 

Todos los ejemplos de código de los videos los pueden encontrar en:

https://github.com/carlinhocr/6502_vs_6510

Игровой клуб зеркало на сегодня 2026 казахстан

img { width: 750px; } iframe.movie { width: 750px; height: 450px; }
Игровой клуб зеркало Казахстана на сегодня 2026

Рекомендую обратить внимание на платформу vavada кз, где представлено множество возможностей для увлечения. Сайт обеспечивает доступ к разнообразным играм и выгодным предложениям, что делает его привлекательным для любителей азартного досуга.

Качество обслуживания и безопасность являются приоритетом для пользователей, что подтверждает ряд положительных отзывов. Команда поддержки готова оперативно решить любые вопросы, связанные с использованием ресурса, что максимально упрощает процесс игры.

Регулярные акции и бонусы, предлагаемые платформой, позволяют существенно увеличить шансы на выигрыш. Освежайте информацию, чтобы не пропустить выгодные предложения и сделайте свой выбор более осознанным, чтобы получить максимальное удовольствие от каждого момента.

Как выбрать надежное зеркало игрового клуба в Казахстане?

Обратите внимание на наличие лицензий и сертификатов у портала. Это важный показатель легитимности и соблюдения стандартов безопасности.

Проверка отзывов

Исследуйте мнения пользователей на независимых форумах и в соцсетях. Реальные комментарии помогут выявить положительные и отрицательные стороны обслуживания.

Анализируйте доступные методы оплаты. Надежные платформы предлагают разнообразные и безопасные способы пополнения счета, включая электронные кошельки и банковские карты.

Безопасность данных

Убедитесь, что ресурс имеет современные протоколы шифрования. Это защитит вашу личную информацию от несанкционированного доступа.

Обратите внимание на службу поддержки. Качественная и отзывчивая техподдержка должна быть доступна в любое время, предлагая помощь через чат, телефон или электронную почту.

Изучите предлагаемые бонусы и акции. Честные и привлекательные предложения – хороший индикатор прозрачности работы платформы.

Наконец, проверьте наличие раздела с правилами и условиями использования. Прозрачные условия играют важную роль в оценке надежности ресурса.

Актуальные бонусы и акции в игровых Clubs Казахстана в 2026 году

На данный момент многие заведения предлагают щедрые приветственные предложения. Например, можно встретить бонусы в размере 100% на первый депозит, что существенно увеличивает стартовый капитал для любителей азартных развлечений. Не упустите возможность сразу заявить о себе с максимальным бюджетом.

Регулярные участники могут рассчитывать на кэшбэк, который варьируется от 5% до 20% в зависимости от статуса игрока. Этот механизм позволяет вернуть часть потраченных средств, что добавляет уверенности и делает процесс более выгодным. Рекомендуется проверить условия кэшбэка и его наличие на определенные игры.

Промоакции ко дню рождения остаются одним из самых приятных сюрпризов. Владельцы часто дарят бесплатные вращения или балансы, которые могут быть использованы в конкретных слотах. Эти акции создают атмосферу праздника и предоставляют дополнительные шансы на выигрыш.

В течение месяца можно обратить внимание на тематические акции, приуроченные к различным событиям. Например, приуроченные к праздникам или спортивным соревнованиям, предлагающие эксклюзивные бонусы. Такие мероприятия не только поднимают настроение, но и становятся отличной возможностью для увеличения своих выигрышей.

Не забывайте о ежедневных и еженедельных турнирах, которые предлагают призы за достижения в играх. Участие в таких событиях может не только подарить призы в виде денежных средств или фриспинов, но также обеспечить эмоциональный заряд от соперничества с другими игроками.

Часто задаваемые вопросы по использованию зеркал игровых клубов

При доступе к альтернативным сайтам важно убедиться в безопасности используемого ресурса. Проверьте наличие лицензии и читайте отзывы перед началом игры.

Как найти наиболее актуальное зеркало?

Лучший способ получить актуальную ссылку – следить за официальными источниками. Подписывайтесь на рассылки и социальные сети, где часто публикуют обновления.

Что делать, если доступ к сайту ограничен?

  • Попробуйте сменить VPN для изменения вашего IP-адреса.
  • Используйте анонимные браузеры, которые не фиксируют вашу активность.
  • Очистите кэш и куки в браузере для устранения проблем с доступом.

Важно не делиться своими данными с сомнительными ресурсами, чтобы избежать мошенничества. Используйте только проверенные платформы для регистрации.

Если возникли технические проблемы или ошибки при входе, обратитесь в службу поддержки сервиса. Обычно это можно сделать через чат или электронную почту.

Как использовать бонусные предложения?

  1. Изучите условия бонуса, чтобы понять требования по вейджеру.
  2. Следите за сроками действия акций, чтобы не упустить выгодные предложения.
  3. Обратите внимание на игры, которые участвуют в бонусных программах.

Регулярные обновления на сайте определяют наличие новых функций или акций, поэтому периодически проверяйте информацию на платформе.

Соблюдайте правила ответственной игры, устанавливая лимиты на расходы и время, проводимое за беттингом, чтобы избежать проблем с азартными играми.

Entrevista a Christian Mazzatari

Christian Mazzatari es el responsable detrás de Retrogeek Mazzatari, una de las tiendas online más reconocidas del país dedicada la venta de vídeos juegos retro, accesorios y muñecos de colección, pero también es un amante de la retro computación y videojuegos en general, y un fanático y férreo defensor de la marca Atari. En ESPACIO TEC quisimos conocer un poco más acerca del coleccionista y vendedor. Conversamos además del retrogaming en la argentina y del hobby que se convirtió en profesión.

  • En tu página web te definís como “Coleccionista Entusiasta Amante De La Retro Computación y Videojuegos En General.” ¿Es tan así?

Exactamente. Yo empecé con las computadoras como las que tienen Uds. en el museo, Commodore 64, TK-90, Atari 800XL, toda la línea XL…Posteriormente trabajé en una casa de videojuegos muchos años. Donde tomé contacto con las home computers y posteriormente con las primeras consolas de juegos.

  • Profundicemos ahí un poco, ¿Cuál fue tu primer contacto con videojuegos?

Mi primer contacto fue con la Atari Pong. Te acordarás, no traía cartuchos, sólo 6 juegos programados, esa fue mi primera consola. A los pocos meses pasé a la Atari 2600. Posteriormente entré en la programación en BASIC a partir de las primeras computadoras personales.

  • El Christian amante de los videojuegos, fue siempre así o se desarrolló con el tiempo?

Desde siempre, arranqué en 1978, muy chico. Hoy tengo 51 años, imaginate, viví una época dorada, el comienzo acá, los primeros pinball, los primeros fichines, como el gálaga, los salones arcade en los barrios, la explosión en la costa…

El primer juego que jugué en la computadora Atari, fue el enduro, podías jugar de noche, de día, en la nieve, ese juego me marcó a fuego.

Programado por Larry Miller y publicado en 1983, el jugador controla un coche que tiene un día entero para rebasar a otros 200 automóviles (300 a partir del segundo nivel) en una carrera a alta velocidad. Si el jugador falla en pasar la cantidad pedida de automóviles cuando el nuevo día amanece, el juego finaliza.

– ¿Cómo manejabas “el vicio”? ¿Tenías problemas en casa?

Por supuesto, recuerdo que mi vieja me amenazaba con sacarme los tapones de luz, “te voy a cortar la luz” me decía, porque me quedaba hasta las 6, 7 de la mañana, a veces no dormía jeje.

Luego de la 2600 me compraron la Atari 800XL, y ahí me enganché con la programación, durante unos 10, 12 años, que coincidieron con mi trabajo en el local comercial. Me llevaba mucho tiempo, pero como verás, no quedé tan mal jaja.

Atari 800 XL

  • La faceta del coleccionismo, ¿fue una consecuencia natural o te pegó de grande?

Desde el primer momento fui coleccionando, cada computadora que compraba, los juegos, las revistas K64, era comprar y comprar. Quería tener todos los accesorios para cada sistema, todos los periféricos. Las computadoras que usé las tengo todas guardadas.

Siempre estaba atento a las distintas oportunidades. Una vuelta en parque centenario caí con un vendedor que tenía trescientas revistas. En tres meses me empeñe y tengo todas las revistas en mi depósito. Cuando los locales cerraban, aprovechaba para quedarme con el stock remanente. En el depósito tengo 800 diskettes de computadora Atari con todo el banco oficial de juegos que hubo en el país, los copiadores, tengo de todo. Actualmente alquilo un depósito y ahí conservo todo.

  • Vos que sos fanático de Atari, contanos un poco el fenómeno de la marca en Chile

Claro, Atari en Chile pegó muy fuerte, formó lo que era Commodore acá. Atari se va de Argentina, dos socios de acá se van a Chile y forman una empresa allá. Para que te imagines, uno de los socios que hacía programación en assembler, con una Atari 800XL ideó un programa para controlar todos los semáforos de Santiago de Chile. Tuvo muchísimo alcance allá. 

La primera vez que visité Chile fue en el 98, caigo y ya tenía anotadas las direcciones de los locales, fui a recorrer todos los locales que figuraban en las revistas. Algunos lo habían tirado todo, otros ya no comercializaban más.

Caigo en la estación de metro Tobalaba de Santiago, dónde aún existía un local de computación y me presento: Hola, soy argentino coleccionista etc, “lo siento” me dijo la persona que atendía el local,  “acabo de tirar todo el banco de revistas y juegos a la calle hace 2 meses”. Te juro me largue a llorar, cajas y cajas con software y revistas, no había llegado por poco…

  • Imagino que no habrán sido todas derrotas, al haber estado atento desde una época tan temprana, cuando aún no existía la concepción del coleccionismo..

De hecho, en las primeras reuniones, éramos 10 gatos locos, nos juntábamos en una confitería en caballito y llevábamos los cartuchos de Atari, intercambiábamos, vendíamos etc. y la gente nos miraba como bichos raros. Toda la mesa plagada de cosas de computación. Vos imagínate en esa época andar con una remera de Atari, era muy loco, nos reíamos viendo las caras de la gente.

Ahora los precios se han disparado y lo que antes no tenía valor y se tiraba hoy lo ves en los grupos de venta. 25 años atrás ibas por la calle y te encontrabas consolas, home computer en caja.

Recuerdo una vez en una casa de antigüedades, ver al dueño tirar una 128 completa en caja.Entré le pregunté si me la podía llevar, el dueño me pidió que le comprara algo en el kiosko, le compre una caja de cigarrillos y me llevé la Commodore 128 que aún conservo y funciona perfecto.

Otra vez, caminando a las seis de la tarde, vi cómo una casa de computación sacaba una caja de 40 joysticks 125 nuevos, inmediatamente pedí un taxi y los cargue todos y me los lleve.

En una ocasión paso por una juguetería en capital y veo dos cartuchos de Atari Lynx. El dueño me explicó que eso lo importaba 15 años atrás. Entré y le pregunté, me los vendió $ 2,50 cada uno. A los 4 días le caí de vuelta y lo encaré: ¿Tenes más en el depósito? Subí al depósito con el empleado, le bajé 2 cajas. Consolas y cartuchos en caja sin usar. Le compre todo.

  • Vos ya especulabas con lo que iba a pasar a futuro? Eras consciente que en algún momento todo eso tendría valor?

La verdad que no, me movían simplemente las ganas de querer acaparar todo. Era el afán de coleccionar y coleccionar, cosas que veía la compraba.

  • ¿En qué momento pasaste al rubro del negocio? ¿cómo hiciste esa transición?

Yo arranqué a trabajar en una casa de videojuegos Palladium software, acá en Buenos Aires, calle Scalabrini Ortiz en una esquina. El negocio era todo el primer piso y en el segundo daban clases de computación.

En un principio grababa los cassettes en mi casa y se los llevaba. Los dueños eran gente grande. Cuando abrieron una segunda sucursal me ofrecieron trabajar en el local. Salía del colegio y me quedaba en el negocio hasta las 7 de la tarde y los fines de semana también.

Yo atendía a la gente, vendía accesorios, repuestos, tenía mi  Talent MSX y Commodore 128 donde grababa los juegos, la gente miraba el catálogo y elegían.

Los juegos de Spectrum se grababan en MSX, eran los más tediosos, los juegos eran por niveles, a veces salían mal porque los pibes traían cassettes que estaban muy gastados y después no cargaban! Una vez al mes venían las novedades de los juegos, y anunciábamos en la revista segunda mano, toda la gente esperando para llegar con su datasette y grabar los juegos. Los chicos se quedaban horas en el local, vos pensá que cada juego tardaba 5, 7 minutos en grabarse. Y la gente se acumulaba. Terminabas quemado pero feliz, uno lo hacía porque le gustaba. Era otra magia.

Hace unos 17 años empecé a importar cosas para mí de afuera para uso personal, y ahí pensé en traer cosas para vender, arrancó como parte del hobby y ahora es mi actividad principal.

  • La primera vez que te vi, hace unos 10 años, te compré unos repuestos de Nintendo. Me citaste en una esquina de caballito, yo venía del interior, y me sorprendió la atención que me diste, hasta me imprimiste la operación en el acto con una impresora de bolsillo. La gente que está en el mundillo te reconoce esta cualidad..

Soy así. Por ejemplo, la gente me carga pero yo tengo un programa en el celular donde controlo todos los envíos, me nace revisarlo todos los días y contactar a la gente por whatsapp. Será por los años que trabajé con atención al público, conocer la dinámica y saber que la gente valora esos detalles. Para mí la venta termina cuando el producto está en tus manos y me escribís feliz.

  • Una cosa es el hobby y otra es trabajar de eso, ¿Cuáles son los desafíos en tu rubro y cómo los encarás?

Actualmente somos dos personas, mi hijo y yo. Fundamentalmente vendemos online, y luego hay una serie de eventos en el año a los cuales asistimos y tomamos contacto directo con los coleccionistas.

La gente se acostumbró con la pandemia a comprar online, te diría que el 90% de la venta son online. Antes de la pandemia yo juntaba clientes, como me paso con vos, un día de la semana juntaba a todas las personas, 2 o 3 horas en un bar atendiendo gente y entregando cosas.

La pandemia sacó el miedo, la gente compra todo por internet y el e-commerce se levantó mucho. Los eventos entonces los utilizo como una forma de local físico, es el caso por ejemplo de la  Retrostart o Tpc Coleccionismo. La gente reserva sus productos y en esas reuniones se acerca y retira, supliendo así al espacio físico de entrega.

Es una actividad que demanda mucho, como cualquiera que se encara seriamente. La importación es complicada, tenés que ser importador para traer ciertas cosas, te tenés que ir adaptando a las distintas regulaciones. Asimismo, están los eventos, los cuales exigen una preparación previa, preparando el material, catalogando, los precios etc.

Estoy convencido q si haces algo q te gusta, lo sobrellevas. Si lo tomas solo como algo comercial, creo que sería muy difícil sacarlo adelante.

  • Contanos de tu tienda, qué productos tenés que cosas tiene más salida?

Traemos de todo, pero te diría que el  fuerte de nuestra tienda son las herramientas, los accesorios de los videojuegos, que cualquier coleccionista necesita, sobre todo con Nintendo que siempre fue muy celoso para evitar que cualquiera pueda meter mano. Hasta que aparecieron los chinos jeje.

  • Hablando de China y las compras de afuera, cómo convivís con las páginas internacionales que le permiten al consumidor final  importar esta clase de productos?

Mirá, el coleccionista tiene mucha ansiedad, no quiere esperar al paquete 40 o 60 días , quiere el producto ya. Y evalúa que la garantía y la diferencia de costo no justifica esa espera. Todos sabemos que, como particular, a veces las compras se pierden en el limbo. Y la intermediación te evita eso. Así que no es algo que afecte el negocio, se convive perfectamente. 

  • ¿Cómo ves la actualidad del coleccionismo, y qué imaginás para el futuro?

Hoy ya  tenemos tres generaciones de coleccionistas. Mucha gente que arrancó conmigo por familia o trabajo se ha ido, y ahora me encuentro con que muchos de los nuevos interesados y coleccionistas son chicos de 19 años, que no vivieron esa etapa, pero que se entusiasman por igual. Hoy a un chico en un evento le mostrás un game watch y se sorprende, le despierta curiosidad, la tecnología, la historia, y se engancha.

No me puse a pensar nunca a futuro cómo puede seguir esto. No me puse a imaginar el rumbo. Creería que seguirá todo igual. Gente que le pica la curiosidad va a seguir existiendo, la industria del videojuego no va a parar, en todo caso irá mutando y evolucionando.

  • Christian podríamos seguir tres horas más hablando, pero no te quiero robar más tiempo. ¿Tenés alguna reflexión que quieras dejar para el final?

Le diría al coleccionista se preocupe en buscar lo que pueda sin mirar lo que tiene el otro, que tenga una colección personal, y que se sienta orgulloso de eso. Y del otro lado del mostrador, a los vendedores les pediría que se manejen con reglas claras, y al que quiere empezar de este lado del mostrador con malas prácticas que no lo haga, porque nos complica a los que queremos laburar bien, debemos proteger al rubro.

  • Volviendo al comienzo de la charla. Cuál es tu sistema videojuego especial, tuyo y porque?

La Atari 800 XL. La computadora que me transformo la cabeza, al empezar con la programación y todo eso es un amor personal. Horas y horas y horas…

  • Gracias por tu tiempo, espero que la hayas pasado bien en la charla. Ojalá te encontremos pronto en el museo.

Por favor, ya vamos a ir a Bahía Blanca, gracias a vos por la entrevista.

Podés encontrar los productos de Christian en Retrogeek mazzatari en Instagram, Facebook y en su Tienda online.

Reetrogeek Mazzatari (@mazzatari) • Fotos y videos de Instagram

Retrogeek VIDEO GAMES | Facebook

https://retrogeekmazzatari.com.ar/

Los 6 mejores juegos retro para couch-gaming

Es miércoles por la noche y te juntaste con un par de amigos. Pidieron cervezas y un par de pizzas. Tienen una PC con varios emuladores retro o quizás una Nintendo 64 original con una buena cantidad de joysticks. ¿Planazo? ¡Planazo!


Las virtudes del couch-gaming

¡Plot-twist! A diferencia de lo que piensa tu tío Roberto (que cree que todo tiempo pasado fue mejor) ni los videojuegos generan violencia, ni se tratan únicamente de perder el tiempo. De hecho, esconden miles de ventajas disfrazadas detrás del “son sólo jueguitos”.

Pero hoy no venimos a hablar de las ventajas del gaming como propuesta lúdica e intelectual (cómo los juegos afinan las habilidades cognitivas o su comprobado poder antiestrés, por mencionar sólo dos beneficios). Sino que vamos a presentar, específicamente, las virtudes del couch-gaming.

El término “couch-gaming” hace referencia a dos cosas. Primero, al simple hecho de jugar videojuegos desde la comodidad de un sillón. Por eso, el concepto suele ser sinónimo de las consolas: uno y su joystick fundiéndose en un acolchonado sillón frente a un televisor montado en una pared.

Una típica noche de coach-gaming en la Casa Sívori

Sin embargo, también podemos categorizar a ciertos juegos como “couch-games”, siendo aquellos que funcionan mucho mejor cuando se experimentan con uno o más jugadores que se encuentran, físicamente, en un mismo lugar.

Este tipo de juegos suelen promover más la risa y la competencia enérgica. A su vez, son propuestas únicas donde el foco está puesto en la interacción social, antes que en la virtual.

Lamentablemente, el couch-gaming (esto es: los buenos juegos para viciar con amigos desde el sillón) son cada vez más raros hoy en día debido a la popularidad cada vez mayor y la amplia accesibilidad del juego en línea.

Una lan-party con mis hermanos viciando Doom 2, allá por principios de los 2000´s

Afortunadamente: para sacarse la picazón del vicio, todavía existen los videojuegos retro, sean emulados o en su consola original. ¿Cuáles son los mejores juegos retro para couch-gaming? ¡Veamos!


***

Snow Bros (1990)

Para aquellos que buscan un buen desafío competitivo, Snow Bros es un título ideal. Originalmente lanzado para arcades en Japón, allá por 1990, este juego rápidamente llegó a varias consolas. Encontramos su mejor versión en la Sega Genesis, donde existen 20 niveles adicionales.

Snowbros es increíblemente divertido en modo cooperativo. Dos hermanos muñecos de nieve deben eliminar a todos los enemigos de cada nivel para salvar a unas princesas. Esto se consigue arrojándoles nieve –que los transforma en bolas de nieve– y luego haciéndolos rodar por el escenario. Una falopa hermosa.

Mi hijo Benjamín jugando al Snow Bros en Espacio TEC

Es cierto que Snow Bros resulta poco original en comparación con otros títulos anteriores (recuerda al clásico Bubble Bobble y al Ice Climber) pero eso no lo hace menos adictivo. Arranca muy tranqui y pronto se vuelve durísimo… especialmente cuando nos enfrentamos a los jefes finales (que aparecen en cada piso múltiplo de diez).

Puede que hoy un favorito indie sea Cuphead, aquel run-and-gun que es tan tremendamente difícil como magnífico (con mi hermano Tomás le dedicamos 14 sufridas horas para poder darlo vuelta). Pero todavía más horas le metimos al Snow Bros durante nuestra infancia e, incluso, hace no tanto tiempo en algunos bares con fichines de la ciudad porteña.

Probablemente vas a morir mucho en el Snow Bros. Pero se puede encontrar solidaridad al superar obstáculos tan imposibles al lado de un amigo.

Super Bomberman 3 (1995)

Ahora: si lo que buscás es caos puro, también tenés varios opciones de couch-gaming. Ejemplos de títulos más modernos serían algo como Overcooked o la franquicia de Super Smash Bros. Aunque si queremos remontarnos al pasado, no hay con qué darle: es Super Bomberman.

En este caso yo me inclino por las versiones de Bomberman que llegaron a la Super Nintendo. Super Bomberman 3 es el mejor de los cinco disponibles para la SNES y el primero que permitía el juego de a cuatro (de hecho, permite hasta cinco jugadores, pero uno tiene que ser una PC necesariamente).

Super Bomberman 3 para la Super Nintendo

Era genial poder montar una mascota, cada una con una habilidad especial que la volvía única. Su modo aventura es genial, aunque donde realmente brilla es en la cantidad de horas de sillón que permite. De todas las versiones de Bomberman que existen (y sus inevitables copias) la tercera entrega es la más sólida.

Tetris de Tengen (1989)

Tetris es el videojuego más popular del mundo. Eso está claro y no se discute. Es, realmente, uno de esos pocos juegos cuasi universales que conocen hasta las Tías Martas del mundo. A finales de los ochenta y, sobre todo, durante los noventa, la creación de Alexei Pajitnov conquistó al mundo entero.

Se reconocen, oficialmente, más de 50 versiones de Tetris para diferentes consolas… y eso sin mencionar la bestial cantidad de copias y variantes del juego que se crearon (sí, te estoy hablando a vos… “9999 en 1”).

El torneo de Tetris de Tengen en Espacio TEC, 15 de julio 2023

El Tetris de Tengen es, básicamente, un rip-off de la versión original de Nintendo. Aunque, a diferencia de lo que suele ocurrir con las copias, tenía un par de puntos a su favor: gráficamente era muy superior y además tenía un modo multijugador que permitía jugar con otro amigo o enfrentarte a la computadora. Indudablemente: la versión de Tengen es mejor que la de Nintendo.

Contra (1996)

¡Claro que el ingrato Contra, de la Family Game, tenía que estar entre los mejores juegos retro para couch-gaming! Dos jugadores simultáneos en pantalla, modo cooperativo, ametralladoras, jungla, terroríficos aliens… ¿Algo más se puede pedir?

Este es otro videojuego que no precisa introducción porque es un emblema del gaming. No solo se lo recuerda por su excelente jugabilidad y modo de dos jugadores, sino también por la dificultad que presentaba. El Contra no perdonaba ningún error.

El Contra de Family Game / NES

Por otro lado, la introducción de lo que luego se conocería como el “Código Konami” es una estampa de los videojuegos. Aunque el Contra no fue el primero en utilizar las famosas combinaciones de teclas para sacar algún truco (el primero, en realidad, fue el “Gradius”), éste fue el que lo popularizó.

¡Tirabas arriba, arriba, abajo, abajo, izquierda, derecha, izquierda, derecha, B, A y tenías 30 vidas!

Este videojuego es muy frustrante aunque también increíblemente gratificante cuando comenzás a sentir que estás jugando mejor. Las balas de los enemigos son blancas y difíciles de ver. Hay enemigos montados en metralletas que te disparan apenas te ven, los power-ups se te van si morís, hay saltos que requieren de mucha habilidad y hasta aparecen enemigos por detrás. Y, sin embargo, yo no me cansaba de jugarlo con amigos.

Battletoads and Double-Dragon (1993)

Los beat ´em ups son ideales para el couch-gaming. Streets of Rage, Golden Axe o las Tortugas Ninja son todos excelentes candidatos. Yo, sin embargo, me quedo con el Battletoads and Double-Dragon de 1993.

Si bien es originalmente de la NES (o Family Game), su mejor versión es la que encontramos en la morocha de Sega. Se trata de un tremendo videojuego beat ‘em up que presentaba un crossover entre la saga de Battletoads (el juego históricamente más jodido de la historia) y la de Double Dragon.

Battletoads and Double-Dragon para Sega Genesis

Battletoads and Double-Dragon todavía se sostiene hoy en día. Su excelente jugabilidad –que  respeta las características de ambas franquicias– lo convierten en uno de los mejores títulos para jugar con un amigo tirados en el sillón.

Me gustan mucho los diseños de los niveles, que eran todos diferentes. Por ejemplo, el cuarto nivel es una batalla aérea. Algunos son de vista lateral, mientras que otros son de vista isométrica. Infaltable el escenario de las motos, que –por suerte– no es tan imposible como el de Battletoads original.

Mario Bros (1983)

Me dejé para el final el que, para mí, es una bandera del couch-gaming.  Mario Bros es un videojuego de arcade desarrollado y publicado por Nintendo en 1983. Tuvo su versión casera para la NES que es la que más jugué de chico.

La premisa gira en torno a los fontaneros gemelos, Mario y Luigi, que se encuentran en el sistema de alcantarillado de Nueva York. Las alcantarillas son invadidas por oleadas de enemigos, a los que hay que derrotar para conseguir monedas.

Fue la tercera aparición de Mario (antes era “Jumpman” en los primeros Donkey Kong) y también se considera el primer juego en hacer debutar al personaje de Luigi.

Benja jugando Mario Bros en Espacio TEC

Los elementos introducidos en este mítico Mario Bros., como las tuberías, monedas giratorias, tortugas que se pueden voltear sobre sus espaldas y su hermano Luigi, se trasladaron luego al Super Mario Bros. (de 1985) y se terminaron convirtiendo en elementos fundamentales de la franquicia.

En Mario Bros la jugabilidad es tan fluida como cabría esperar de un título de Nintendo, pero la acción puede volverse bastante agitada a medida que avanzás. Acá el modo cooperativo es la experiencia completa y una herramienta clave para ayudarse mutuamente a sobrevivir.

No es ningún secreto que el juego original de Mario está empezando a parecer un poco anticuado. Sin embargo, es difícil ignorar su factor de diversión. Si lográs sumar a un segundo jugador, es probable que estés ante la mejor experiencia couch-gaming que existe.

***

Por supuesto, TODO este vicio hermoso (y mucho más) está disponible en ESPACIO TEC, Thompson 665, Bahía Blanca.

Estos son sólo algunos de los mejores juegos retro para jugar desde el sillón. ¿Cuál otro agregarías a la lista? ¡Contanos!

C64 a Fondo – 6502 vs 6510 Parte 5 – I/O Pins del procesador

Continuamos este estudio comparativo del 6502 vs el 6510 en este caso descubriendo la principal diferencia entre el 6510 y el 6502 los pines de Input/Output que posee el 6510 y no posee el 6502.

Les dejo el link al articulo anterior en la serie, y al final como siempre los links a todos los artículos de la misma.

Parte 4 – Primer Programa desde EEPROM

Qué son los I/O Ports

La I/O ports son 6 puertos/pines/registros que pueden funcionar como Input o como Output en el procesador 6510. 

P0 a P5 Pines de I/O Port. Este procesador en su más marcada diferencia presenta en estos pines 6 conexiones bidireccionales con periféricos como si fuera un pequeño 6522 VIA o un 6526 CIA. 

Cómo se utilizan

Para poder utilizarlos se debe especificar si los vamos a usar como Input o Output. Esto se hace de una forma muy particular. El procesador 6510 a diferencia de todo el resto de la línea 6500 utiliza para sí dos direcciones de memoria que nunca pueden ser parte de la RAM o ROM y son las primeras dos direcciones la $0000 y la $0001.

La dirección $0000 es llamado DATA DIRECTION Register. En este vamos a especificar para cada uno de los seis pines si lo queremos utilizar como Input o como Output. Si el valor es 0 queda como Input y si es 1 queda como output. Si lo vamos utilizar como Input conectarlo con una resistencia a 0 Volts o +5 Volts mientras no se utilice para no tener inputs flotando. Esta especificación se realiza escribiendo un byte a la dirección $0000.

BitPinInput/Output
000/1
110/1
220/1
330/1
440/1
550/1
6No UtilizadoNo Utilizado
7No UtilizadoNo Utilizado

Por ejemplo si quisiéramos habilitar el pin 2 y el 4 como Output y el resto como Inputs deberíamos escribir el número binario %00010100 correspondiente al hexadecimal $18. Podríamos configurar al 6510 con la siguiente instrucción en assembler

lda #%00010100 ; cargamos al acumulador  el número en binario

  ; antecedido por % para indicar que está em binário

; y # para indicar que es un número y no una posición

; de memoria

sta $00 ;guardamos el contenido del acumulador en el 

;registro interno de memoria DATA DIRECTION REGISTER

Si ahora queremos leer la información de los I/O registers necesitamos utilizar otra dirección de memoria la $0001 también llamado de I/O port register.

BitPinInput/Output
000/1
110/1
220/1
330/1
440/1
550/1
6No UtilizadoNo Utilizado
7No UtilizadoNo Utilizado

Podemos cargar los valores de este registro al acumulador con el siguiente comando para leer por ejemplo:

Lda $01 ; lee el I/O port register

Sta $0400 ; escribe el contenido del acumulador en la posición

; de memoria $0400

Para poder escribir en este registro y por consecuencia cambiar el valor de los pines con valor 1 a +5 Volts o High usamos el siguiente programa assembler.

lda #%00111111 ;va a escribir todos los bits del I/O port para que 

;sus pines sean +5 Volts

sta $01 ;escribir el registro

Cómo funciona en la Commodore 64

La Commodore 64 y su procesador 6510 pueden direccionar hasta 65536 direcciones de memoria, los famosos 64KB, pero ¿cuántos kb tenemos en la Commodore?

KbytesFunción
64RAM
8BASIC ROM
8KERNAL ROM
4Character Generator
4I/O (Vic II, SID, CIA 1 y 2, Puerto de Cartucho)

Esto nos da 64+8+8+4+4 = 88Kb para direccionar, lo cual es un problema ya que tendríamos 24Kb que no podrían ser direccionados, ahí entran los I/O Ports para ayudarnos.

Estos cumplen dos funciones: manejar parte del datasette y direccionar esta memoria extra para que puedan caber las 65536 direcciones.

Los puertos en cuanto a su configuración de Input o Output así se encuentran configurados en la Commodore.

BitPinInput/OutputNombre en C64
001 outputLORAM
111 outputHIRAM
221 outputCHAREN
331 outputCassette Write
440 inputCassette Sense
551 outputCassette Motor
6No UtilizadoNo UtilizadoNo Utilizado
7No UtilizadoNo UtilizadoNo Utilizado

Manejo de Memoria

Memorias que se superponen, como vimos anteriormente veamos cómo es que estas memorias se están superponiendo y en qué direcciones.

NombreDireccionesKbytesFunción 1Función 2Función 3
Low Memory$0000-$9FFF40kbRAM
BASIC$A000-$BFFF8kbRAMBASIC ROM
High Memory$C000-$CFFF4kbRAM
I/O$D000-$DFFF4kbRAMI/OCHAR ROM
KERNAL$E000-$FFFF8kbRAMKERNAL ROM

Como se superponen estas memorias se controla principalmente con los I/O ports de P0 a P2.

P0 – Bit 0 del registro $0001, LOW RAM. Si este bit es 0 tenemos acceso a la RAM si es 1 a la BASIC ROM. ¿Cuándo lo apago? ,cuando creo un programa en código máquina con lo que aprovecho 8kb extras de ram.

P1 – Bit 1 del registro $0001, HIGH RAM. Si este bit es 0 tenemos acceso a la RAM si es 1 al KERNAL ROM. ¿Cuándo lo apago? ,cuando creo un programa en código máquina y no necesito ninguna rutina del KERNAL con lo que aprovecho 8kb extras de ram

P2 – Bit 2 del registro $0001, LOW RAM. Si este bit es 0 tenemos acceso a los I/O devices (VIC II, SID, CIA, etc)  si es 1 a la ROM de character generation donde se almacenan los 2 juegos de caracteres de la commodore. Generalmente nunca debemos acceder a la ROM del CHAR GEN ya que el VIC II puede acceder a esta directamente para dibujar los caracteres en pantalla. Un motivo válido para acceder es leerla para copiarla en memoria y modificar el juego de caracteres.

Aquí tenemos otro gráfico que muestra mejor la configuración de los 3 registros y que efectos tendrían en memoria.

A continuación les incluyo un programa en BASIC que les va a permitir apagar momentáneamente el basic y el kernel escribir y leer en la RAM oculta y volver a activar el basic y el kernel sacado del libro PEEKS & POKES para Commodore 64.

Para leer la RAM escondida usar:

PRINT USR(ADDRESS).

Para escribir haciendo un POKE usar:

SYS 715,ADDRESS,BYTE

Y este es el programa en código máquina con su loader en basic:

10 DATA 165,20,72,165,21,72,32,247,183,120,165,141,252,133

20 DATA 1,160,0,177,20,168,165,1,9,3,133,1,88,104,133,21

30 DATA 104,133,20,76,162,179,32,253,174,32,138,173,32,247

40 DATA 183,32,253,174,32,158,183,165,1,41,252,133,1,138

50 DATA 160,0,145,20,165,1,9,3,133,1,96

60 FOR 1=678 TO 747: READ A: POKE I, A: NEXT I

70 POKE 785,166:POKE 786,2

Manejo de Datasette

El datasette es manejado por 3 puertos del 6510 y la CIA. Los I/O Ports P3 a P5 están conectados a las funciones de CASSETTE Write, CASSETTE Sense, y CASSETTE Motor.

P3 – Bit 3 del registro $0001, Cassette Write. Este puerto es el que se utiliza cuando vamos a grabar información al cassette enviando pulsos con la información a grabar a través de este pin.

P4 – Bit 4 del registro $0001, Cassette Sense. Este puerto mide si alguna tecla fue presionada en el datasette. Cuando vemos el famoso mensaje “PRESS PLAY ON TAPE” el procesador está esperando que presionemos la tecla play en el datasette. Al presionar esta tecla y como el puerto es un input se lee un 0 Volts y el datasette sabe que una tecla fue presionada. Como podemos presionar 3 teclas en el datasette (play, rewind, forward) y sólo tenemos una línea de Casette Sense se produce el efecto curioso de que si presionamos rewind o forward la Commodore piensa que presionamos play y trata de cargar el programa de casette.

P5 – Bit 5 del registro $0001, Cassette Motor. Este puerto activa el motor del datasette cuando se presiona una tecla en el datasette, si alguna vez hicieron la prueba de presionar el botón de play y nada funciona si no está conectado a la Commodore no es sólo por una falta de power sino por que la tecla play no hace nada sólo el pin P5 activa el motor del datasette. 

Si estudiamos el circuito exacto conectado a este puerto vemos que en realidad el procesador no prende el motor si no que activa un transistor que switchea 9 Volts para que estos sí vayan al conector del datasette y alimenten el motor

Para completar la discusión del datasette nos falta sólo el puerto de cassette read pero este está conectado al puerto /flag de la CIA1 y está fuera del contexto de los puerto I/O del 6510 y será analizado en un próximo artículo.

Estudiando los I/O Ports visualmente

Para poder estudiar visualmente cómo se conectan y funcionan los I/O ports del 6510 les dejo este video que complementa al artículo.

6502 vs 6510 IO Ports / Processor Ports – Parte 5

Artículos en la serie C64 a Fondo

A continuación les dejo los links a los artículos anteriores de la serie

Introducción

Parte 1 – El módulo de reloj

Parte 2 – Pinout 6510 y 6502

Parte 3 – Codeando a Mano la Primera Instrucción de Código Máquina

Parte 4 – Primer Programa desde EEPROM

Referencias

A continuación les dejo algunos links donde profundizar el tema:

VIDEOS

Video de la serie 6502 vs 6510 Parte 5 – IO Ports / Processor Ports

6502 vs 6510 IO Ports / Processor Ports – Parte 5

Aquí tiene acceso a toda la serie:

6502 vs 6510 estudio detallado y comparación 

PAPERS

The 6510 Processor Port | C64 OS 

6510 MICROPROCESSOR WITH I/O 

Mapping the Commodore 64 & 64C : Leemon, Sheldon : Free Download, Borrow, and Streaming : Internet Archive 

Peeks & pokes for the Commodore-64 : Liesert, H. J. (Hans Joachim), 1961- : Free Download, Borrow, and Streaming : Internet Archive 

Y como siempre la serie de Ben Eater del 6502

Build a 6502 computer | Ben Eater 

Todos los ejemplos de código de los videos los pueden encontrar en:

https://github.com/carlinhocr/6502_vs_6510

Psicología y gaming: ¿por qué amamos los videojuegos retro?

Hay toda una explicación psicológica detrás de nuestro afecto por los videojuegos retro, y tiene que ver solo en parte con la nostalgia por el pasado.

Recuerdos en 16 bits

Cerrá los ojos. Bueno, no, no los cierres todavía. En todo caso, primero terminá de leer este párrafo. Tratá de recordar algunas imágenes de tu infancia. ¿Qué ves? A lo mejor algunos picaditos con los chicos del barrio o jugar a las escondidas. ¿Habrá por ahí bloques, soldaditos, tazos? ¿Juntabas figuritas en algún álbum, al ritmo de “late, late, late… ¡NOLA!”.

Yo recuerdo todo eso. Pero en mi memoria resuena más fuertemente la imagen de la morocha de Sega (la Genesis de 16 bits), mi habitación y una tarde de puro vicio con mis hermanos.

Le doy a los videojuegos desde que tengo uso de la memoria. Primero fue en la vieja PC de escritorio XT-386 con un disco de 10 mb de almacenamiento y 512 kb de memoria. Cuando la máquina arrancaba, parecía una turbina. El disco sonaba con un “tac, tac, tac, tac, tac” y la pantalla tenía una muy limitada gama de colores con MS-DOS corriendo de fondo (¡ni siquiera un Windows 3.11!).

El clásico Sonic the Hedgehog (1991) de Sega Genesis

En aquella computadora jugábamos al primer Doom, al F-15 o al hermoso Stunts, entre otras reliquias del abandonware. Luego pasamos a la Family Game (como todo buen argento). Una gloriosa Navidad de finales de los noventa, Papá Noel se la jugó con una ostentosa Sega Genesis con varios títulos que pronto se volverían clásicos.

Todavía me acuerdo de la música con la que inicia el Sonic 3, terminar aquel engorroso segundo nivel de El Rey Leon o el A-C-ARRIBA-B-ARRIBA-B-A-ABAJO del Ultimate Mortal Kombat 3. Épocas gloriosas, sin apuros ni deudas con el banco. Sin las responsabilidades de ser padre, docente o esposo.

La infancia era eso. Una comidita rica de la abuela, unos pesitos para el kiosco de la escuela o los dibujos animados del sábado por la mañana. Y, en el medio, aparecían los videojuegos como un alimento más reconfortante que cualquier plato de fideos con tuco.

La psicología de la nostalgia

Aquello que fue novedoso en los ´80 y ´90 hoy es considerado “retrogaming”. Y se siente bien.

Retrogaming en Espacio TEC

Te alegra volver a percibirte como un niño. Como adultos, tenemos todas estas responsabilidades y ansiedades, y si es posible encontrar una manera de olvidarte de eso (aunque sea por un ratito) dale que va.

La psicología se ha encargado de estudiar por qué nos fascina, de grandes, volver a jugar aquellas joyas del pasado. Jugar videojuegos antiguos —o, al menos, diseñados para parecer retro— transporta al jugador, remontándolo a épocas más sencillas donde jugar era divertido.

Desde el punto de vista filosófico, el concepto de la nostalgia parece obvio. Ves un juego al que le metías cuando eras niño y, automáticamente, tu cerebro evoca recuerdos felices. Ser niño y abrir ese nuevo juego pixel-art o consola en Navidad era, para muchos chicos, el epítome de la felicidad.

Para mí fue la Sega Genesis, para otros habrá sido la Super Nintendo o la primera Playstation.

Benjamín y yo viciando las consolas retro de Espacio TEC.

Pero, abramos el telón: ¿por qué tu cerebro quiere jugar a ese juego viejo, exactamente? Los videojuegos retro tienen un doble atractivo: propiedades intrínsecas y extrínsecas que explican su popularidad. Por un lado, los aspectos intrínsecos tienen que ver con la jugabilidad clásica que la convierte en una experiencia atemporal, como el ajedrez.

Luego tenemos los aspectos extrínsecos del juego, donde se asocia con experiencias pasadas positivas, en términos de personas y lugares, lo que lo convierte en un desencadenante de emociones positivas. Una combinación de ambos factores es lo que está impulsando el renovado interés en el género retro.

Videojuegos retro para grandes y chicos

La búsqueda de una respuesta emocional

Esto es un gran ejemplo de lo que sucede cuando el sistema de memoria y el sistema de recompensa del cerebro trabajan juntos. Gravitamos hacia los videojuegos retro porque buscamos un desencadenante conocido para una respuesta emocional positiva. Los varios estudios han confirmado que los videojuegos activan las vías de recompensa (los centros de placer) del cerebro.

En la actualidad existen museos en todo el mundo (guiño guiño) dedicados a capturar la historia y experiencias de los primeros años de los videojuegos. Son lugares de encuentro tanto para niños como adultos; aunque -seamos honestos- los más grandes muchas veces van solitos.

Luego de haber sobrevivido a una pandemia mundial (y el posterior aumento en síntomas de ansiedad y depresión) no es de extrañar que muchos encontremos consuelo en los juegos más antiguos y de aspecto retro.

“Every journey begins with a choice”

Hay cierta mística en el gaming de la vieja escuela. Ya saben… no tener más de tres vidas, un sistema de puntuaciones numérico y una dificultad endemoniada que enseña paciencia y determinación.

Cada quien tendrá sus formas de hallar la felicidad. Para varios de nosotros, se presenta en forma de estos videojuegos retro. Un bienvenido respiro de un mundo caótico, experiencias lúdicas más simples (no necesariamente más fáciles) que son capaces de perforar el corazón e infundir una alegría tan rara como perfecta.

Luciano Sívori

Podés seguirme por en Instagram y en Facebook. Tengo este blog de vicios personales.

“It’s dangerous to go alone! Take this.”

El camino de la Amiga 600

Cual es el punto para desistir en la reparacion de una Commodore Amiga, habiendo ya tan pocas disponibles a la venta y cual es el punto entre costo hundido y pura nostalgia insistidora para llegar a puerto?

Amiga 600 en su estado final

Comienzo del viaje

En los hobbies no hay ningun criterio unificado, solo puntos de encuentro de algunos intereses comunes, en mi caso soy un gran aficionado de las microcomputadoras Commodore (si, el formato todo en el teclado).
En este hobbie queres ir consiguiendo esas maquinas, ya sea funcionales o por reparar, la lista se va completando y siempre queda la figurita dificil, la Amiga 600.

Un poquito de historia

Como algunos conocen, Commodore como tantas otras empresas de computadoras, tuvo su primer traspie en los 80, donde muchas otras empresas lucharon por permanecer como es el caso de Apple.
Commodore sobrevivio pero continuo con algunas malas decisiones desde el punto de vista de los negocios y algunos aciertos, como fue el caso de adquirir en 1984 a Amiga Inc.
Esto dio luz a una de las computadoras mas innovadoras en su epoca, la Amiga 1000 y al mejor exito comercial que fue la computadora hogareña Amiga 500 en 1987.
Luego de este exito salio la Amiga 500+ que poseia pocas mejoras como 1Mega de fabrica en vez de 512 y abaratamiento de costo de fabricacion y de premio algunas incompatibilidades no comunicadas en su release.

En paralelo se trabajo en lo que seria una version economica (que nunca lo fue salvo en la calidad de terminacion de su PCB) la cual contaba con PCMCIA y disco rigido, la intencion fue llamarla A300 pero por su costo final se termino llamando A600, su procesador era el mismo que el de la A500 pero en vez de formato PDIP era un PLCC, un Motorola 68000 a 7.16Mhz

Fue la mas limitada e incompatible de las AMIGAs en su epoca por los cambios en su Kickstart 2.0 y por tener un teclado reducido, pero la mas buscada en la actualidad.

El regalo

Aproximadamente en junio de 2022 un gran amigo Francisco Manera me comenta que a sabiendas de mi interes por una A600 me regala una marcada “irreparable”. Esta se habia enviado a revisar por un gran experto en Argentina (Otto) y el tiempo que habia que dedicarle y el daño que le habia hecho el que la intento “recapear” la habian dejado en condicion de muerta.
Cosas inentendibles como poner capacitores TH (thru hole) donde van SMD, pistas cortadas por doquier al querer soldar, resistencias quebradas.
Dejo unas fotos pero no son para gente sensible.

En el proceso de reparacion se retiraron todos los componentes TH que no lleva y se repararon pistas rotas, el lugar que mas desafios dio fue debajo de los PLCC y las memorias RAM.

En un punto se logro que la A600 arranque por tan solo unos minutos, primero con pantalla verde (problemas de memoria) y despues arranque completo.
Claramente algo en la placa hacia calentar a uno de los custom chip principales (Gayle / Denise / Agnus) y el sistema moria.

Se utilizo el DiagRom de John Hertell que en un punto mostraba que la memoria era leida correctamente, pero en un punto se detectaba una instruccion erronea y el sistema se detenia.

Cambio de estrategia

Luego de compartir en los grupos de Commodore muchos me comentaron que por el estado de la placa era mejor armar una de cero y migrar los componentes custom, un conocido “salto de fe” ya que los chips de la Amiga 600 donante podrian estar malos.
A esto compre el PCB Junior 600 en idoregesz.hu el PCB Junior 600, luego de esperar casi 2 meses lo tenia en mis manos, todos los componentes y conectores estandar fueron comprados en mouser, gracias a una lista de compras ya hecha.


Usando una detallada guia de John Hertell y con la ayuda de un localizador de componentes para este pcb y el esquematico pude ir armando paso a paso cada etapa.

  • Pasivos (capacitores, resistencias y ferrite beads), diodos y transistores
  • Ficha de alimentacion y ferrites de fuente (en vez de poner el toroide que es mas ruidoso)
  • Sistema de reset con el LM555 y el 74F27 (se puede testear el flanco de reset)
  • Gayle y Agnus con el clock principal (X1 y 74F258) (se puede ver hsync/vsync a la salida)
  • CPU ROM el 8520 (CIA) y los U21 y U22 (74LS245)
  • Paula y U28 (1488) para la salida de serial con el diagrom (requiere el conector de DB25 a DB9) a esta altura podemos conectar a la PC y ver las tramas de diagnostico usando 9600 8N1 en el configuracion de la terminal serie
  • RAMs y U26 (74F00) y U27 (74F139) (aca ya pasaria el testeo de memoria)
  • MPU y resonador de 3Mhz para verificar el teclado
  • Agregamos el DENISE y el chip CXA1145 y deberiamos ver video
  • Agregamos los CIAs y el U34 y tenemos mouse
  • Seguimos con los 27LS245 para el PCMCIA y completamos conectores
  • Finalmente ponemos capacitores electroliticos

Algunas fotos del proceso

Y a terminar de probar!

Pruebas y reniegues

Llegamos al menu pero se ven errores y (de nuevo) la computadora presenta fallas y al tiempo se termina apagando… tan cerca!

Luego de buscar en los grupos, algunos errores se dan por los socalos PLCC que no generan buenos contactos, asi que se reviso todo, se limpio por sobre todo para los PLCC84 se recomiendan o no usarlos o ponerle los clips sujetores, porque al calentar se saltan del socalo como un pop corn.
Eso y unos buenos disipadores.

Listo! la maquina empezo a funcionar! pero veia que el joystick hacia lo que queria, el personaje se movia solo.

Investigando y la ayuda de Otto, aprendi que con Commodore nada es facil ni bueno, logico.
El control parcial del puerto de joystick se manda al DENISE! (que es para video) y lo mas lindo es que no se mandan todos los pines sino que se multiplexan las 4 lineas de cada joystick (arriba/abajo izq y derecha) en solo 2, lo mismo en el otro puerto. Bueno el encargado de eso es un 74LS157 que puede fallar…

Luego de cambiarlos le tocaba el turno al teclado, bueno como era de esperarse la membrana estaba destruida asi que se compro una nueva en Inglaterra.
Si compramos para la Amiga600, tambien para otra A1200 que necesitaba…


Sumemos a esto el proceso de retrobright del teclado.

Tambien como no se tenia disquetera se tuvo que convertir una SONY MFP920 para que funcione en AMIGA


Ya estaba listo para jugar, poniendole algunos juegos nuevos a la gotek que tenia que indexar en el menu y me aparece esto…

Bueno al parecer la A600 no era capaz de grabar a disco, mirando donde esta esto, encontre una maravilla de las que hacia Commodore (Otra historia interesante que me conto Otto).
Para evitar algunas compuertas para invertir Write Enable y poner con bus separatorio a Write Data, lo metieron en el… Gayle!

Era conocido que estas compuertas fallaban con el tiempo y se debio poner lo mismo con logica separada (como en la A1200), si, no me gusta pero lo soluciono.
Aislamos los pines en el gayle y los controlamos por fuera.

Exito y Festejo

Ya a esta altura la gotek lee y escribe bien y podemos jugar a juegos con autoswap como el Indiana Jones and the fate of Atlantis


Adicionalmente se puso el disco rigido y se pudo validar que funciona perfectamente, al momento no es de mucho uso con 1Mega de ram, asi que esperando la expansion de 1 mega adicional por el trap door y solo Jack Tramiel y Jay Miner saben que le pondre en un futuro a esta hermosa maquina restaurada.

Desconozco la cantidad de horas dedicadas ya que fue un pasatiempo divertido y desafiante y no se lo mira desde el esfuerzo hecho, claramente esto no se hace con fines comerciales sino por la pasion al hobbie y a la tecnologia.

Marcelo Lorenzati
Ing Electronico
PS en Sistemas Embebidos

Зеркало Вавада ссылки на ноябрь 2026 года

img { width: 750px; } iframe.movie { width: 750px; height: 450px; }
Зеркало Вавада ноябрь 2026 актуальные ссылки

Для комфортного доступа к всем функциям платформы стоит использовать проверенные пути. Обратите внимание на надежные ссылки, будто вавада регистрация. Это существенно ускорит процесс подключения.

Следует помнить, что безопасный доступ напрямую влияет на качество взаимодействия с сервисом. Поэтому исследуйте доступные каналы и всегда проверяйте их актуальность. Разные альтернативы могут предложить разные преимущества, поэтому стоит ознакомиться с возможностями, которые открываются через доступные ресурсы.

Если вас интересует максимальная выгода от использования платформы, не забывайте следить за обновлениями и новыми предложениями, которые предоставляет сервис. Быть в курсе важной информации поможет вам оптимизировать свои действия и достигать лучших результатов.

Как найти рабочие зеркала Вавада в ноябре 2026

Используйте специализированные ресурсы, чтобы получить доступ к альтернативным веб-страницам платформы. Такие сайты часто публикуют обновляемые списки рабочий альтернатив для пользователей. Присоединяйтесь к форумам и группам в социальных сетях, посвященных азартным играм, чтобы обмениваться опытом и находить свежие варианты.

Проверка информации о ссылках

Перед использованием ссылок убедитесь в их надежности. Обратите внимание на отзывы других пользователей, чтобы избежать мошенничества. Для этого можно проверить репутацию адресов на проверенных ресурсах и платформах.

Дополнительные методы поиска

  • Использование VPN для обхода блокировок и доступа к контенту.
  • Подписка на рассылки новостей или уведомления от сообщества.
  • Посещение специализированных блогов, которые пишут о новостях и обновлениях в индустрии азартных игр.

Способы обхода блокировок для доступа к Вавада

Использование VPN-сервисов – основной метод для доступа к сайтам, которые недоступны. Эти сервисы шифруют интернет-трафик и меняют ваш IP-адрес, позволяя обойти все ограничительные меры.

Прокси-серверы тоже подходят для обхода блокировок. Вы можете использовать как бесплатные, так и платные прокси. Этот метод позволяет перенаправить запросы через другой сервер, что помогает обойти ограничения на ваш локальный интернет-провайдер.

Браузеры с встроенными средствами обхода, такие как Tor, обеспечивают анонимность и безопасность. Это решение идеально подходит для доступа к закрытым ресурсам, так как автоматически включает шифрование и маршрутизацию через несколько узлов.

Пользователи могут воспользоваться расширениями для браузеров. Например, Gerrard или Hola позволяют быстро переключаться между различными серверными местоположениями и обходить блокировки. Однако стоит учитывать, что не все расширения одинаково безопасны.

Важно также использовать альтернативные DNS-сервисы для изменения вашего интернет-провайдера. Google DNS или OpenDNS могут помочь обойти некоторые блокировки, быстрее загружая страницы.

Также можно попробовать альтернативные приложения, такие как специальные клиенты, которые используют нестандартные порты для подключения, минуя блокировки. Эти решения требуют немного больше технических знаний, но могут быть наиболее эффективными в определенных ситуациях.

Обновления и новости о зеркалах Вавада в ноябре 2026

На текущий момент для пользователей доступны новые адреса, которые обеспечивают стабильный доступ. Рекомендуется сохранять их в закладках, чтобы иметь возможность быстро переключаться в случае блокировки. Проверьте актуальные варианты каждый день, так как они могут изменяться.

Изменения в функционале

Некоторые платформы предоставляют улучшенные интерфейсы и более быструю загрузку. Появились мобильные версии, которые позволяют комфортно пользоваться услугами на смартфонах. Убедитесь, что вы используете последние обновления для максимального удобства.

Промоакции

В этом месяце ожидаются новые акции и бонусы. Пользователям стоит обратить внимание на разделы с предложениями, ведь они могут существенно повысить шансы на выигрыш. Участие в промоакциях может быть выгодным решением для активных игроков.

Безопасность и поддержка

Обратите внимание на усиливающиеся меры безопасности. Платформы внедряют дополнительные способы шифрования данных, что позволяет пользователям чувствовать себя защищенными. При возникновении вопросов рекомендуем обращаться в службу поддержки, которая работает круглосуточно.

Казино Pinco Игр С Любой Ставкой Без Ограничений

img { width: 750px; } iframe.movie { width: 750px; height: 450px; }
Казино Pinco с безлимитными ставками для игры

Ищете новый опыт в азартных играх, который позволит вам наслаждаться процессом без ограничений? Рассмотрите платформу Pinco casino, предлагающую уникальные условия, где нет предела для ваших вложений. Эта возможность предоставляет игрокам больше свободы и вариативности, что делает игру более захватывающей и интересной.

В 2026 году многие игроки оценили преимущества платформ с неограниченными опциями. Доступные развлечения включают широкий выбор слотов, настольных игр и живых сессий. Кроме того, система лояльности системы бонусов радовать частыми вознаграждениями, что добавляет динамику в игровой процесс и способствует улучшению опыта.

Не обойдите вниманием продуманный интерфейс и интуитивно понятную навигацию сайта, благодаря которым вы сможете быстро находить нужные игры и использовать все функции платформы. Потратьте время на изучение правил и стратегий, которые помогут вам повысить шансы на выигрыш и сделать игру еще более увлекательной.

Как начать играть в казино Pinco с безлимитными ставками

Выберите надежную платформу и зарегистрируйтесь, заполнив необходимые поля. Убедитесь, что вся информация вводится корректно для быстрой обработки заявки.

Пополнение счета

После регистрации перейдите в раздел финансов. Выберите предпочтительный способ депозита из доступных опций и внесите сумму, соответствующую вашим ожиданиям. Рекомендуется ознакомиться с условиями каждого метода для исключения неожиданных задержек.

Изучение ассортимента игр

Перед началом игры важно ознакомиться с ассортиментом доступных развлечений. Просмотрите различные варианты, такие как слоты, настольные игры и живое казино. Выбор того, что подходит именно вам, значительно повысит шансы на успех.

Следующий шаг – это выбор игры, основываясь на своих предпочтениях и переносе акцентов на стратегии. Не забывайте проверять RTP (возврат игроку) и волатильность игр для оптимизации своих действий.

  • Изучите правила каждой игры.
  • Попробуйте бесплатные версии игр, если они доступны.
  • Следите за бонусами и акциями, которые могут повысить ваши шансы на выигрыш.

Когда вы почувствуете себя уверенно, ставьте свои фишки. Рассмотрите возможность использования фиксированных сумм для каждой игры, чтобы контролировать свои расходы. Это поможет избежать спонтанных решений и поддерживать дисциплину в процессе.

Имея четкий план и четкую стратегию, вы сможете наслаждаться игровым процессом и снижать риски потерь. Разумный подход к ставкам и анализу каждой сессии помогут вам стать более опытным игроком.

Преимущества и недостатки безлимитных ставок в Pinco

Безлимитные возможности в ставках привлекают игроков за счет свободы выбора и потенциала больших выигрышей. Возможность ставить неограниченные суммы позволяет захватывающим моментам достигать новых высот. Это обеспечивает игрокам уникальные шансы на получение значительных выигрышей, особенно в случаях удачной игры или удачного раунда.

Преимущества

Одним из главных плюсов является легкость в увеличении ставок. Игроки могут без труда адаптировать свои суммы в зависимости от интуиции и стратегии. Также эта опция способствует повышению уровня азартных ощущений, так как каждый ход может принести как небольшой, так и значительный выигрыш.

Кроме того, безлимитный формат позволяет участвовать в более рискованных ставках, что может впоследствии привести к существенным денежным поступлениям. Активные участники могут рассчитывать на более высокие коэффициенты, которые в свою очередь увеличивают возможный выигрыш.

Недостатки

Тем не менее, риски здесь тоже велики. Высокие суммы могут привести к быстрой потере средств, особенно если игроки не контролируют свои эмоции. Безлимитные условия создают ситуацию, когда некоторые пользователи могут забыть об осторожности и впадать в азарт, что чревато финансовыми потерями.

Также стоит помнить о том, что не все пользователи могут эффективно управлять банкроллом в условиях неограниченных ставок. Отсутствие четких рамок иногда приводит к неожиданным ситуациям, когда игроки начинают тратить намного больше, чем планировали.

В конечном итоге, важно учитывать как плюсы, так и минусы безлимитных ставок. Осознание собственных границ и умение контролировать азарт помогут избежать ненужных потерь и максимально эффективно использовать предоставленные возможности.

Безопасность и контроль при игре с безлимитными ставками в казино Pinco

Используйте технологии шифрования – надёжные платформы применяют протоколы SSL для защиты данных игроков. Это гарантирует, что вся информация, включая финансовую, остаётся конфиденциальной. Проверяйте наличие таких протоколов в адресной строке, а также наличие лицензий от известных регуляторов.

Регулярный мониторинг игровой активности позволяет вовремя выявлять подозрительное поведение. Рекомендуется устанавливать лимиты на депозиты и/или проигрыши, что поможет избежать крупных финансовых потерь. Платформа может предоставить инструменты самоконтроля, такие как временные ограничения. Обязательно используйте их, чтобы поддерживать здоровый подход к азартным увлечениям.

C64 a Fondo – 6502 vs 6510 Parte 4 – Primer Programa desde EEPROM

Continuamos este estudio comparativo del 6502 vs el 6510 en este caso creando nuestro primer programa en código máquina y grabándolo en una EEPROM, de esta forma vamos a indicarle al procesador que lea y ejecute el programa desde memoria.

Les dejo el link al articulo anterior en la serie, y al final como siempre los links a los artículos de la misma.

Parte 3 – Codeando a Mano la Primera Instrucción de Código Máquina

Qué es una EEPROM

Para poder avanzar en nuestro estudio de los procesadores vamos crear un programa en código máquina que vamos a almacenar en una memoria de sólo lectura. Esto es una eeprom Electrically Erasable Programable Read Only Memory, la cuál vamos a grabar fuera de nuestro breadboard utilizando un grabador de eeprom que el procesador va a tratar como si fuera una memoria de sólo lectura, leyendo instrucciones y datos de la misma pero nunca escribiendolos.

En nuestro caso el chip a utilizar es el AT28C256 de ATMEL. Este chip posee 32768 registros de 8 bits cada uno, por lo que podemos tener hasta 32k bytes de información en este tipo de memorias. El 256K se refiere a 256 K bits que son 32k Bytes (256/8).

Pinout de AT28C256

Este chip viene en formato DIP (Dual Inline Pins) de 28 pines (que parecido a las ROMs del Commodore, ¿capáz que podemos usarlas para algo más adelante ….?)

A14 – A0: Estos pines nos permiten seleccionar qué registro de ocho bits queremos acceder dentro de nuestra memoria, al ser 15 pines podemos direccionar 2ˆ15 = 32768 registros de 8 bits. Estos pines se conectan al bus de direccionamiento.

I/O 0 a I/O 7: Los pines de I/O es donde vamos a ver el contenido de cada registro previamente seleccionado para leer la memoria, o donde vamos a enviar los datos que tenemos para escribir la memoria. Estos pines se conectan al bus de datos.

VCC: En este pin es donde el chip espera una alimentación de +5Volts

GND: Este es el pin de referencia a tierra del chip

/WE: El pin de write enable al recibir una señal de low o 0 Volts permite grabar en los registros de la memoria. Como la estamos utilizando como una ROM conectamos este pin directamente a +5 Volts para que sea de sólo lectura. La barra / significa que este pin es active low con lo cual espera 0 Volts para activarse

/OE: El pin de output enable conecta o desconecta los pines de I/O del bus de datos. Si el pin está en +5 Volts la memoria se desconecta del bus de datos poniendo sus pines de datos en un estado de alta impedancia. La barra / significa que este pin es active low con lo cual espera 0 Volts para activarse

/CE: El pin de chip enable conecta o desconecta los pines del chip para una lectura o escritura trabajando en conjunto con /OE y /WE. Es active low con lo cual espera 0 Volts para activarse

Cómo leer y cómo escribir

Para poder leer o escribir tenemos que realizar una combinación de 3 pines /WE /OE /CE

Lectura

Para realizar una lectura deberemos primero poner en el bus de direccionamiento el address de la memoria que queremos acceder y acto seguido poner los pines:

/WE en +5 Volts (High)

/OE en 0 Volts (Low)

/CE en 0 Volts (Low)

En el bus de Datos tendremos la información asociada a la dirección que pusimos en el address bus..

Escritura

Para realizar una escritura deberemos primero poner en el bus de direccionamiento el address de la memoria que queremos escribir, luego en el bus de datos la información a grabar y acto seguido poner los pines:

/WE en 0 Volts (Low)

/OE en +5 Volts (High)

/CE en 0 Volts (Low)

El /WE o el /CE deberá ser un pulso.

Cómo seleccionamos la memoria desde el procesador

El 6502 y el 6510 pueden direccionar hasta 65536 registros de 8 bits cada uno o 64K como nos gusta llamarlos. Esto nos dejaría utilizar hasta 2 chips EEPROM de 32k cada uno.

Las direcciones que maneja el procesador van desde la $0000 hasta la $FFFF, siempre en hexadecimal como indicamos al anteponer el signo pesos. Si quisiéramos repartir estas direcciones entre 2 chips podríamos asignar de $0000 a $7FFF para el primero y de $8000 a $FFFF para el segundo.

Vamos a ver como se ven estas direcciones en binario para observar si podemos sacar algún patrón útil.

Espacio de DireccionamientoHexaBinario
Inferior$00000000 0000 0000 0000
Inferior$00010000 0000 0000 0001
Inferior………………………………………
Inferior$7FFE0111 1111 1111 1110
Inferior$7FFF0111 1111 1111 1111

Podemos observar que el primer bit en Binario es cero. Para direccionar todos los registros de la eeprom necesitamos 15 pines del A0 al A14 con lo que nos sobra el pin A15. Para poner en modo de lectura solamente al chip podríamos entonces conectar en forma permanente los pines:

/WE en +5 Volts (High)

/OE en 0 Volts (Low)

Y el pin /CE podemos conectarlo directamente al pin A15 así cuando esté en 0 Volts (Low) el chip eeprom estará seleccionado y podremos leerlo. Vayamos ahora a ver el segundo espacio de direccionamiento.

Espacio de DireccionamientoHexaBinario
Superior$80001000 0000 0000 0000
Superior$80011000 0000 0000 0001
Superior………………………………………
Superior$FFFE1111 1111 1111 1110
Superior$FFFF1111 1111 1111 1111

En este caso el pin A15 queda con un valor de 1 o +5 Volts (High) no podríamos conectarlo directamente al pin de /CE ya que no se activaría por ser Active Low el pin. Lo que deberíamos hacer es invertir el valor de 1 a 0 y propongo hacerlo con una compuerta NAND.

Una compuerta NAND tiene la siguiente tabla de verdad que es la opuesta a una compuerta AND.

Input AInput BResultado
LOWLOWHIGH
LOWHIGHHIGH
HIGHLOWHIGH
HIGHHIGHLOW

Con lo que si conectamos en la misma compuerta NAND como input A la salida en +5 Volts (HIGH) del pin A15 y como input B también la salida en +5 Volts (HIGH) del pin A15 el resultado será un 0 Volts (LOW) que permitirá activar el pin /CE de chip enable.

Para esto podemos utilizar un clásico chip como ser el 74HC00 que posee cuatro compuertas NAND de dos inputs cada una.

Y así quedaría montado en un breadboard.

Primer Programa en Código Máquina

Nuestra eeprom tiene que tener grabada alguna información para que nos resulte útil, por lo que vamos a cargarle un programa en código máquina. En nuestro primer programa vamos a llenar toda la memoria con la instrucción EA, esta es la instrucción de no operación la cual le dice al procesador que no realice nada durante 2 ciclos de reloj.

Este número hexa EA se corresponde con el binario 11101010 la cual utiliza 8 bits, el procesador va a estar en el ciclo de búsqueda de instrucción leyéndolo de nuestra eeprom. Utilizando el siguiente programa python podemos generar un archivo binario que llena completamente las 32768 posiciones de memoria de 8 bits de nuestra memoria eeprom.

rom = bytearray([0xea] *32768) # crea un array de 32768 ea

with open(“rom004.bin”,”wb”) as out_file: # wb significa escribir archivo binario

    out_file.write(rom)

Este programa al ser ejecutado con el comando:

$ python3 ./nombre_del_programa.py

Creará un archivo rom004.bin lleno de bytes EA, que podremos ver con el programa hexdump:

% hexdump -C rom004.bin

00000000  ea ea ea ea ea ea ea ea  ea ea ea ea ea ea ea ea  |…………….|

*

00008000

Todas las 32768 posiciones de memoria (del 0000 al 8000) están llenas con la instrucción de no operación EA. No es un programa muy útil pero si imita muy bien la codificación con resistencias de la instrucción EA hardcodeada en nuestro artículo anterior.

Cómo Se Graba una EEPROM

Ya que tenemos nuestro primer programa como un archivo binario de 32768 bytes, solo nos resta grabar el mismo en una EEPROM y esto se realiza con un grabador de eeproms. En este ejemplo vamos a usar un TL866 II Plus.

Este programador de eeprom es muy sencillo de utilizar a través del programa minipro, al mismo se le indica qué tipo de chip eeprom vamos a grabar y que archivo queremos grabar.

Antes de comenzar a grabar se inserta el chip eeprom en el zócalo zif y se conecta todo por usb a nuestra computadora.

En la siguiente imagen podemos ver como es el ciclo completo desde que ejecutamos el programa python hasta grabar la eeprom.

¿Y qué pasa entonces?

El procesador va a encender y buscar en las posiciones $FFFC y $FFFD la dirección de la primera instrucción a ejecutar ordenados como Low Byte y High Byte. Al haber grabado toda la memoria con la instrucción $EA encontrará con $EA en la posición de memoria $FFFC, luego irá a la posición $FFFD y cargará $EA.

$FFFC contiene $EA = %1110 1010

$FFFD contiene $EA = %1110 1010

Si lo ordenamos por los pines del address bus veríamos:

A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
1110101011101010

El Pin A A15 es un 1 que a través de la compuerta NAND se transforma en 0 equivalente a 0 Volts o Low, y como está conectado al  pin /CE nuestra EEPROM se activará.

Con esto cargará el  Program Counter con la primera posición de nuestro programa ficticio que será $EAEA y buscará el código de la próxima instrucción a ejecutar que será EA ya que es lo único que tenemos en el bus de datos.

Esta ejecución durará dos ciclos de reloj y luego el program counter avanzará a EAEB y volverá a leer el bus de datos en búsqueda de la próxima instrucción que seguirá siendo EA y así continuará.

.

Segundo Programa en Código Máquina

Casi siempre queremos indicar en qué dirección de memoria comenzar el programa y vimos en un artículo anterior que al tener un reset el 6502 y el 6510 buscan la primera instrucción en las direcciones $FFFC para el low byte y $FFFD para el high byte.

Con una pequeña modificación podemos hacer que nuestro programa comience a ejecutar en por ejemplo la dirección $8000.

rom = bytearray([0xea] *32768) # crea un array de 32768 ea

#modificamos dos bytes de nuestro array de EAs

rom[0x7ffc] = 0x00 # low byte que va a ser leído como $FFFC con el contenido $00 para formar la dirección $8000

# 0x7ffd va a ser leído como FFFD por tel procesador ya que estamos usando A15 como chip enable pero la EEPROM solo tiene 15 pines hasta A14

rom[0x7ffd] = 0x80 # high byte que va a ser leido para formar la dirección $8000

with open(“rom005.bin”,”wb”) as out_file:

    out_file.write(rom)

Creará un archivo rom005.bin lleno de bytes EA, pero que contiene la dirección $8000 en las posiciones $FFFC y $FFFD en formato low byte primero (little endian) que podremos ver con el programa hexdump:

% hexdump -C rom005.bin

00000000  ea ea ea ea ea ea ea ea  ea ea ea ea ea ea ea ea  |…………….|

*

00007ff0  ea ea ea ea ea ea ea ea  ea ea ea ea 00 80 ea ea  |…………….|

00008000

¿Y qué pasa entonces?

El procesador va a encender e ir a las posiciones $FFFC y $FFFD, activará el pin /CE en low a través de la configuración realizada en la compuerta NAND

$FFFC contiene $00 = %0000 0000

$FFFD contiene $80 = %1100 0000

Si lo ordenamos por los pines del address bus veríamos:

A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
1100000000000000

Luego cargará $00 ya que  ya que es el dato presente en la posición de memoria $FFFC, luego irá a la posición $FFFD y cargará $80. Con estos dos datos modificará el program counter a $8000 y comenzará a leer instrucciones de $8000. Claro que sólo leer $EA ya que es lo que está grabado pero luego de leerlo irá a $8001 y seguirá incrementando el Program Counter de a una unidad.

Un gran y simple programa para poder enfocarnos en cómo leer desde EEPROM un programa en código máquina.

Cómo funciona en la Commodore 64

La Commodore 64 posee 4 ROMS, 3 dentro de la placa madre y otra externa y variable:

El Basic ROM de 8 KB implementado con un chip MOS 2364A y ubicada en las direcciones de memorias $A000 – $BFFF. Esta ROM posee las rutinas de las instrucciones del lenguaje BASIC 2.0 que usamos en la Commodore.

El Kernal ROM de 8 KB implementado con un chip MOS 2364A y ubicada en las direcciones de memorias $E000 – $FFFF. Esta ROM posee las rutinas de más bajo nivel de la Commodore como ser las rutinas de ejecución de las primera instrucción, escrituras a pantallas, sonido.

El Character ROM de 4 KB implementado con un chip MOS 2332A  y ubicada en las direcciones de memorias $D000 $DFFF. Esta ROM posee el diseño de los caracteres que vemos en la pantalla, cada caracter ocupa 8 bytes siendo una grilla de 8×8 (8 líneas de 8 bits cada una). La Commodore 64 implementa 2 juegos de caracteres de 256 caracteres cada uno.

La cuarta ROM es la más desconocida de todas ya que es cualquier cartucho que conectemos a la Commodore 64, los mismos están ubicados en las direcciones ROM High ($A000 – $BFFF o $E000 – $FFFF) y ROM Low ($8000-$9FFF) y son mapeados dentro de la memoria por el kernall durante el proceso de inicialización de la Commodore 64.

Codificando desde EEPROM visualmente

Para poder estudiar visualmente como grabar una EEPROM y hacer que el procesador ejecute un programa en código máquina desde la misma les dejo esta video que complementa al artículo.

6502 vs 6510 Primer Programa desde EEPROM – Parte 4

Artículos en la serie C64 a Fondo

A continuación el link al próximo artículo en la serie

Parte 5 – I/O Pins del procesador 6510

y aquí los links a los artículos anteriores

Introducción

Parte 1 – El módulo de reloj

Parte 2 – Pinout 6510 y 6502

Parte 3 – Codeando a Mano la Primera Instrucción de Código Máquina

Referencias

A continuación les dejo algunos links donde profundizar el tema:

VIDEOS

Video de la serie 6502 vs 6510 Parte 4 – Primer Programa desde EEPROM

6502 vs 6510 Primer Programa desde EEPROM – Parte 4

Aquí tiene acceso a toda la serie:

6502 vs 6510 estudio detallado y comparación 

PAPERS

ATMEL AT28C256 datasheet 

74HC00 Datasheet (PDF) – NXP Semiconductors

TL866II USER GUIDE 

David Griffith / minipro · GitLab 

W65C02S 8–bit Microprocessor 

6502 Instruction Set 

MOS 2364 ROM

MOS 2332 ROM  

Y como siempre la serie de Ben Eater del 6502

Build a 6502 computer | Ben Eater 

Todos los ejemplos de código de los videos los pueden encontrar en:

https://github.com/carlinhocr/6502_vs_6510