ZX Format #02: Hardware: Implementación de Interruptor Turbo/Normal en Scorpion

Vladimir Larkov presenta:
Interruptor turbo/normal para Scorpion ZS-256-Turbo.
...y un poco de reflexiones sobre el cambio de modos por software.
________________________________

Continúa el ciclo de conferencias para quienes manejan un soldador sobre mejoras del Scorpion. Para no repetirme en el futuro, diré de inmediato que no tengo nada en contra de la reimpresión y difusión de estas conferencias "hacia adentro" y "hacia afuera" del pueblo. Al mismo tiempo, se agradecerá la conservación del volumen y la autoría con un alegre grito de júbilo!

Así que, vamos. Los propietarios de Scorpiones turbo probablemente han notado que, junto con las indudables ventajas del modo turbo en el Scorpion, hay algunas incomodidades. Me refiero a la imposibilidad de cambiar de modos sin usar para ello un shadow. Y esto no siempre es deseable. Además de que hay una cierta cantidad de programas que "no les gusta" el shadow (usan activamente el stack, y no logran volver exitosamente al programa), cada vez hay más programas cuyos autores no desean que su código sea visto por el shadow, y "ahogan" este último. En este caso, el usuario está condenado. Y no podrá cambiar de modos mientras trabaja con tal programa.

Espero que, a pesar de la posibilidad de cambiar la velocidad desde el shadow o programáticamente (a través de RST), ya les haya convencido de la necesidad y conveniencia de tener un botón. Más aún, el botón no interfiere en absoluto con ninguno de los dos métodos, y, a diferencia de ambos, es invulnerable a todos los esfuerzos de los codificadores.

Así que, si están de acuerdo, es hora de tomar la placa y calentar el soldador. Para empezar, se puede pegar la indicación (me gusta este asunto). Encontramos un microcircuito de 20 pines en el campo de mejoras, en el que se ha hecho la turbo. En los esquemas se llamará "TURBO". El esquema es el mismo que para la mejora anterior, pero en caso de que no tengan el ZX-FORMAT #1, lo repetiré:

LED
+5V \
────████───── >──┐
300 Ohm / │

/──┘
16(TURBO) │/
─────────████─┤ КТ315
10 kOhm│\
\ emisor


─┴─

Ahora se puede apreciar lo hecho - genial. De inmediato se puede ver en qué modo trabaja la computadora - en turbo la lámpara brilla tanto que duele a los ojos...

Es hora de luchar por la soldadura del botón. Para ello se necesitan tres microcircuitos: LI1, ID7, TM2. Dado que es un lugar crítico, se recomienda elegir series más rápidas.

================================
Esquema de conmutación Turbo/Normal para la computadora Scorpion ZS-256:

! NO OLVIDEN primero desoldar un par de cables de los pines 12 y 14 de D53 a los pines 5 y 6 de TURBO!

14(D53) LI1
─────────────────┐ 1┌──┐
ID7 └──┤& │3 5┌─┐
4┌─┬─┬─┐15 2│ ├────┤ │
┌────────┤E0 │0├─────┤ │ │T│
│ ____ 5│_│ │ │14 4├──┤ │U│
│ WAIT ──┤E1 │1├─────┤& │6 6│R│
│ __ 6│ │ │.│ 5│ ├────┤B│
│ M1 ────┤E2 │.│ ┌───┤ │ 16│O│
│ 1│ │ │.│ │ └──┘ ┌──┤ │
│┌───────┤A0 │.│ │12(D53) │ └─┘
││ 2│ │ │.│ └─────── │
││ ┌─┤A1 │.│ │
││8(D2)│3│ │ │.│ │
││ ────o─┤A2 │7│ │
││ └─┴─┴─┘ │
│└────────────────────────┼────┐
└─────────────┐ ┌─────────┘ │
1kOhm │ │ TM2 │
┌─████── +5V │ │ 13┌──┬┬─┐ │
│ │ │ ┌───oR ││ │9 │
│ TM2 │ │ │ 12├──┤│ ├─ │
│ 1┌──┬──┬─┐ │ └─┼───┤D ││ │ │
o───oR │ │ │6│ │ 11│ ││ │ │
│ 2├──┤ │ O─┘ ┌─┼───/C ││ │8 │
│ ─┤D │ │ │ │ │ 10├──┤│ O──┘
│ 3│ │ │ │ │ o───oS ││ │
│ ─/C │ │ │5 │ │ └──┴┴─┘
│ 4├──┤ │ ├───┘ │
│ ┌─oS │ │ │ │
│ │ └──┴──┴─┘1kOhm │
│ o──────────████─o─ +5V
│ │
│ o ┌───────┐
│ ──o микpик│
└─o │
─┴─

! ATENCIÓN al микpик - se utilizan dos posiciones! Es decir, todos los tres contactos. En estado de reposo (cuando el микpик no está presionado) el pin 1 de TM2 debe estar conectado a tierra. !!!

Original idea de Sergey Sewasjanow.
Reparado y corregido por Dmitry Petrov.
================================

El cambio de modos ocurre sin problemas y se activa al soltar el botón, por lo que se puede presionar el botón lentamente, sin prisa (y no como magic, por ejemplo).

El modo establecido por este botón se mantiene hasta que se presiona reset o magic (por supuesto, si nadie intenta cambiar el modo programáticamente, pero de eso hablaremos más adelante). Después de un reinicio o salida del shadow, nuestro querido servicio shadow establecerá el modo elegido en él.

* * *

Ahora es hora de hablar sobre cómo cambiar programáticamente turbo/normal en el Scorpion. Esto puede ser necesario si su programa usa el puerto #FE para la transmisión/recepción de datos (terminal vicomov), usa multicolor (48 Hierros), para acelerar el trabajo del cargador IM2, y por muchas otras razones...

Hay dos formas.

La primera forma, que es la más sencilla, y yo la prefiero: para cambiar de modos se utiliza el comando LECTURA desde los puertos. Direcciones de los puertos:

turbo - #7FFD; normal - #1FFD.

El programa se vería aproximadamente así:

...
LD BC,#7FFD
IN C,(C) ; turbo ON
...
y
...
LD BC,#1FFD
IN C,(C) ; turbo OFF
...

Si es necesario guardar el par de registros BC, este fragmento se rodea con los comandos PUSH BC, POP BC o EXX. Este método es conveniente por su simplicidad y velocidad, y no es necesario saber si es un Scorpion o no, si es un Scorpion y tiene modo turbo - el modo cambiará, si no es un Scorpion, o no es un Scorpion turbo - simplemente no pasará nada.

Teóricamente es posible cambiar las direcciones de los "puertos turbo", pero prácticamente - esto no puede suceder antes de que aparezca un nuevo Scorpion, y aún así, personalmente no creo en esto (el cambio de direcciones, no la aparición de un nuevo Scorpion), por lo que utilizo este método.

Teóricamente también pueden haber errores en las máquinas antiguas con descifrado defectuoso, que toman el comando IN como un comando OUT. Prácticamente - tales computadoras deben ser desechadas o reparadas. Si la insistencia obliga a usar este método en tales máquinas - se pueden agregar algunos comandos y obtendremos aproximadamente esto:

...
LD BC,#1FFD
IN C,(C) ; turbo OFF
LD BC,#7FFD
LD A,la página necesaria
OUT (C),A
...

tal reordenación evitará la posibilidad de errores en máquinas problemáticas.

La segunda forma.

Teóricamente (según MOA) absolutamente correcta, pero más complicada - a través de RST 8.

...
RST #8
DEFB #87 ;turbo ON
...
y
...
RST #8
DEFB #88 ;turbo OFF
...

Al usar tales comandos hay que TENER EN CUENTA que en no-Scorpiones esto provocará un error. Por lo tanto, hay que protegerse de esto. Según Andrew MOA, para ello deberíamos interceptar ERR_SP, para que en caso de no-Scorpion o versión antigua del monitor no salgamos volando, sino que continuemos la ejecución del programa. Quienes deseen utilizar precisamente este método pueden llamar a Andrew MOA y discutir personalmente todo el tema de este método (tipo: ¿qué hacer si se ha dañado el octavo banco; o si hemos arrancado con la bloqueo #1FFD (ver ZX-FORMAT #1) etc...).

P.S. Sergey Zonov dijo que teóricamente este esquema no puede funcionar, sin embargo, esto no impide que ya durante más de medio año cambie de modos en nuestros Scorpions sin un solo error.

Con los mejores deseos, Vladimir.
San Petersburgo, 30-Nov-1995.

--- iS-EDIT 5.05+
________________

De la redacción de ZF
Quisiera agregar un poco sobre las variantes de conmutación TURBO. En una conversación personal, Andrey Larchenko, también conocido como MOA, afirmó que el uso de lectura desde los puertos puede, y debe, llevar a la pérdida de datos en los bancos adicionales. Sin embargo, si usted es propietario de un turbo-Scorp, podría haber notado que en la interfaz ZF se utiliza precisamente este método y no hemos notado ningún error. Si usted encuentra al menos uno, háganoslo saber. Y elegimos este método por la imposibilidad de usar RST #08 y la protección completa contra el "shadow" (a los codificadores no les gusta en absoluto que sus obras sean estudiadas sin permiso). Consideramos que el óptimo de ambos métodos (RST y puertos) es el tercero: no tocar nada (esto es para los codificadores, y para los usuarios - poner un botón). ¡Viva el pleno consenso entre productores y consumidores!
________________________________

Contenido de la publicación: ZX Format #02

  • IS-DOS
    Anuncio de un complejo hardware-software para escuelas por Iskra Soft y Peters, con una configuración de clase informática en red en ZX Spectrum con IS-DOS.
  • IS-DOS - Владимир Елисеев
    Explicación del monitor de línea de comandos y reinicio del editor de texto en IS-DOS usando la utilidad mon.com como ejemplo.
  • IS-DOS
    Introducción a las utilidades del sistema IS-DOS, cubriendo funciones como ayuda, menú de usuario, visualización de archivos, edición y operaciones de archivos.
  • IS-DOS
    Descripción detallada del programa eliminat.com para liberar memoria de tareas residentes y controladores, con modo interactivo y claves de línea de comandos. Números de canal específicos asignados para tipos de tareas y controladores. Incluye opciones de uso y personalización de colores.
  • Sistema de Ventanas IS-DOS - Владимир Елисеев
    Exploración de reinicios del sistema de ventanas IS-DOS para imprimir texto en ventanas y coordenadas de pantalla absolutas. Ejemplos de implementaciones de reinicios como lwt, adrwt, lenwt, prstr, str y lnstr. Continuación para cubrir reinicios auxiliares en el próximo número.
  • Ensamblador
    Introducción a los conceptos básicos del lenguaje ensamblador, centrándose en las banderas, operaciones aritméticas y manipulación de registros. Se discuten operaciones como suma, resta y operaciones complejas como multiplicación y división a través de ejemplos. Destaca comandos específicos de ensamblador y sus funciones para ZX Spectrum.
  • Hardware
    Discusión sobre modificaciones de hardware para Scorpion ZS-256-Turbo, incluida la implementación de un interruptor Turbo/Normal. Pros y contras de los métodos de cambio basados en software. Consejos sobre soldadura y ajustes de circuitos.
  • Hardware
    Discusión de un nuevo complemento musical para ZX Spectrum de X-TRADE y HACKER STINGER, llamado 'ZX GENERAL SOUND', que ofrece audio de alta calidad y uso mínimo del procesador.
  • Hardware
    Discusión sobre innovaciones de hardware y estrategias de marketing, enfocándose en interfaces de ratón y teclado para ZX Spectrum. Crítica a la publicidad engañosa de la competencia y análisis de la tecnología de ratón serial frente a pasiva. El autor cuestiona la necesidad y el costo de características avanzadas.
  • Hardware
    Discusión sobre métodos de aceleración de hardware para ZX Spectrum, centrándose en modos turbo y sus efectos en el rendimiento y la compatibilidad.
  • Juguetes
    Cuento de fantasía sobre criaturas mágicas luchando contra la intrusión humana. El personaje principal recluta aliados para restaurar la gloria pasada de la tierra. Desafíos incluyen encontrar herramientas, superar obstáculos y revivir compañeros.
  • Juguetes
    Reseña del juego 'Carrier Command', centrada en sus aspectos estratégicos y de simulación. Incluye detalles de mecánicas de juego, controles y objetivos. Destaca estrategias para el éxito y características únicas como la gestión de recursos y sistemas autónomos.
  • Entrevista
    Entrevista con Sergey Zonov y Andrey Larchenko discutiendo su experiencia con microprocesadores y el desarrollo del ZX Spectrum, incluyendo la creación del ordenador Scorpion ZS 256.
  • Información
    Información de contacto y lista de personal de ZX-Format No. 2 (1995) incluyendo editor, programadores y diseñadores.
  • Información
    Dirección del editor a los lectores de ZX Format, discutiendo comentarios positivos, errores pasados y la búsqueda de un caricaturista, con planes futuros para la revista.
  • Información
    Discusión sobre la nueva interpretación del sistema de menú de ventanas 'PULLDOWN' para ZX Spectrum, centrándose en las actualizaciones de la interfaz y las mejoras en la interacción del usuario.
  • Información
    Discusión sobre empresas que distribuyen ilegalmente ZX Format, enfatizando los beneficios de comprar copias oficiales.
  • Concurso
    El artículo discute la falta de participación en el concurso de ZX Format, detalla las reglas y premios, y alienta a los lectores a participar con nuevas ideas.
  • Vamos a Relajarnos
    Relato humorístico de los desafíos de un vendedor de software al tratar con clientes ignorantes, ilustrando la naturaleza estresante de su trabajo.
  • Buzón
    Descripción de componentes y precios para entusiastas de ZX Spectrum con detalles de pedido.
  • Buzón
    La sección de cartas de lectores en ZX Format #02 discute comentarios de los lectores, aborda problemas con las características de ZX Format y ofrece mejoras futuras.
  • Estreno
    Guía de Digital Studio v1.12, un editor musical para ZX Spectrum, incluyendo características, navegación del menú y uso de Digital Studio Compiler.
  • Para Programadores
    Exploración de herramientas que amplían el Basic 48 estándar, incluyendo Renumber para Basic 128, Trace & Speed, Blast Toolkit y ZXeditor, destacando sus funcionalidades y utilidades.
  • Varios
    Historia de los modelos de computadoras Amiga y su evolución desde A1000 hasta A4000/60T con especificaciones y características únicas. Explicación de términos técnicos y diferencias entre memoria chip y fast. Mención de nuevos desarrollos como el chipset AGA y modelos para diferentes necesidades.
  • Varios
    El artículo presenta lanzamientos de software para ZX Spectrum y revisa innovaciones de juegos como 'Aventuras de Winnie Pooh' y 'UFO 2: Demonios del Abismo'. Destaca características, creadores y requisitos técnicos. Incluye anuncios de SOFTLAND y Cracked Masters Group.
  • Sistemas
    Discusión sobre la creación de música con Instrument 3.01, centrado en el sonido digitalizado. Análisis de las capacidades del programa y conversión de ASC Sound Master. Instrucciones para composición y conversión.
  • Qué Hay de Nuevo
    Reseña de nuevos juegos para ZX Spectrum en el mercado de San Petersburgo a finales de 1995. Descripciones detalladas de juegos, requisitos de memoria, controles y evaluaciones de música/gráficos. Destacan Night Hunter, Extreme, Grell & Falla y más.