BBC Micro

Acorn BBC Micro Model B

El Proton es el sucesor del Atom. Desarrollados ambos por Acorn Computers Ltd, el Proton nunca fue comercializado como tal, ya que su prototipo fue elegido por la BBC como el ordenador para informatizar las escuelas.

La BBC prácticamente había creado el concurso a mediada para el NewBrain, desarrollado por una empresa gestionada por el estado. Ante los retrasos en el diseño del NewBrain, la BBC abrió el concurso de tal forma que otras empresas pudieran presentar sus ordenadores. Se esperaba un ordenador basado en el Zilog Z-80 y con el sistema operativo CP/M, pero Acorn presentó el Proton, un sistema basado en el MOS 6502 y con un sistema operativo propietario. Sin embargo, el Proton no sólo fue el único en cumplir con las especificaciones completas pedidas por la BBC, si no en superarlas en prácticamente todos los parámetros.

Una de los características del Proton era el Tube, un interfaz propietario que permitía añadir un segundo procesador, lo que permitía fabricar una máquina asequible pero a la vez ampliable con procesadores más potentes y/o sofisticados. Otra característica del Tube era la capacidad de de delegar todo el procesamiento en el segundo procesador, encargándose el 6502 de la tarea de entrada y salida de datos (E/S).

Especificaciones Técnicas
Especificaciones Técnicas
NombreBBC Micro B
FabricanteAcorn Computers Ltd.
PaisU.K.
Año1981
Lenguaje IntegradoBBC BASIC
Teclado
CPUMOS 6502 @ 1,8 MHz
RAM32 KB
ROM32 KB
Modos de texto80 x 32-25, 40 x 32-25, 20 x 32
Modos gráficos640 x 256, 320 x 256, 160 x 256 (8 colores)
Sonido3 canales, 7 octavas
Puertos de E/SRF video output
Composite video output: BNC
RGB: DIN-6
Acorn Electron/BBC Micro RGB
Puerta analógica
Puerto Serie RS-423
Tape interface (600/1200 baud)
Econet (Opcional)
Disk Drive Connector
Puerto de impresora
Puerto del usuario
Bus de 1MHz
Puerto TUBE
AlimentaciónIntegrada
PeriféricosDisk Drive
Cassette
Memory expansion (RAM y ROM)
Co-Processors:
6502 Second Processor
Z80 Second Processor
32016 Second Processor

El Proton se convirtió en el prototipo del BBC Micro. Se diseñaron tres versiones del BBC Micro:

  • BBC Micro Model A: es la versión reducida con solo 16 KB de RAM.
  • BBC Micro Model B: con 32 KB de RAM, la versión “completa” se convirtió en uno de los ordenadores de 8 bits más populares en Gran Bretaña.
  • BBC Micro Model B+: con 64KB de RAM.

Otra de las características de ampliación del BBC Micro es que puede incluir 4 ROMs adicionales en la placa base, y hasta 16 con una ampliación hardware. Estas ROM se denominan ROM sideaways, ya que se accede a ellas mediante el espacio de direccionamiento lateral (sideway), que es como Acorn denomina a su implementación de la técnica de conmutación de bancos.

Por defecto, la máquina trae dos ranuras ROM ocupadas por el BBC BASIC (en algunas de sus versiones I o II). La otra estaba generalmente ocupada por el sistema de archivo de disco (DFS).

Otra peculiaridad clave del diseño del BBC Micro es la utilización de RAM de alta eficiencia, que funciona al doble de velocidad que el microprocesador, lo que permite que el controlador de video acceda a la RAM mientras la CPU se encuentra procesando los datos que acaba de leer de la memoria. De esta forma, y gracias a un cuidadoso diseño de los ciclos de reloj (timing), la CPU y la controladora de video podían compartir los accesos a la RAM.

El sistema operativo del BBC Micro permite que sus instrucciones puedan llamarse tanto desde rutinas en código máquina escritas por el usuario como desde el BASIC. Si una instrucción BASIC comienza con un *, entonces el resto de la línea se pasa directamente al sistema operativo. Para poder utilizar unidades de discos, el BBC tiene que tener instalada la ROM DFS (Disc Filing System), aunque normalmente el Model B la trae de serie.

Los comandos incluidos en el OS son:

  • *HELP: muestra una lista de las ROMs instaladas, incluyendo la ROM del Sistema Operativo, junto con su número de versión along with their version numbers and physical position on the system board by entering “*HELP“.
  • *ROMS: muestra la posición que las ROM’s ocupan en la placa base. (No funciona, por lo menos en la versión 1.20)
  • *DISC o *DISK: Estos dos comando seleccionan la unidad de discos como sistema de ficheros.
  • *NET: Selecciona como sistema de ficheros la red.
  • *TAPE: Selecciona como sistema de ficheros la unidad de cassette funcionando a la velocidad por defecto de 1200 baudios.
  • *TAPE3: Selecciona como sistema de ficheros la unidad de cassette funcionando a la velocidad por defecto de 300 baudios.
  • *TAPE12: Selecciona como sistema de ficheros la unidad de cassette funcionando a la velocidad por defecto de 1200 baudios.
  • *ROM: Selecciona el sistema de ficheros en el cartucho ROM.
  • *CAT: Muestra el catálogo del disco.
  • *TYPE filename: Muestra el contenido del fichero de textos de nombre filename.
  • *EXEC filename: Ejecuta el programa de nombre filename. Es similar a ejecutar un programa BASIC con CHAIN.
  • *TITLE disc_title: Establece el título del disco.
  • *LOAD filename: Carga una sección de memoria, no necesariamente un programa BASIC.
  • *COPY source, destination: Crea un copia del fichero fuente.
  • *DELETE filename or *DEL filename: Borra el fichero indicado.
  • *DIR o *.: Muestra el contenido del directorio.
  • *OPENIN filename: Abre un fichero para lectura.
  • *OPENOUT filename: Abre un nuevo fichero para escritura.
  • *CLOSE: Cierra todos los ficheros abiertos.
  • *DRIVE drive_number: Establece la unidad indicada como el disco activo.
  • *FORM <40/80> drive: Formatea un disco a 40 u 80 pistas.
  • *INFO *: Muestra información sobre todos los ficheros.
  • *RUN filename: Carga y ejecuta un programa en código máquina de nombre filename desde cassette, disco o red, dependiendo cual sea el sistema de ficheros seleccionado por defecto.
  • *SAVE filename: Guarda en el sistema de ficheros por defecto una sección de la memoria
  • *OPT: Determina como el ordenador reacciona a los errores durante la carga de cassettes y la cantidad de detalles.
  • *FX: Habilita al usuario para controlar un gran número de efectos en el ordenador.
  • *SPOOL filename: Copia toda la salida por pantalla a un fichero.
  • *MOTOR: Apaga y enciende el relé que controla el motor del cassette.
  • *TV: se utiliza para mover la imagen en pantalla arriba y abajo.
  • *BACKUP: Crea una copia de un disco.

El BBC soporta autoarranque desde disco, aunque no es un “autoarranque” tradicional, que inicia directamente la aplicación “de arranque” que esté en el disco. En el caso del BBC, cuando ha arrancado el sistema operativo se puede iniciar desde el disco, manteniendo pulsada la tecla SHIFT y pulsando la tecla BREAK, que se encuentre en la disquetera, siempre que este tenga un fichero denominado !BOOT.

Al pulsar SHIFT+BREAK el sistema operativo busca en el disco el fichero !BOOT, el cual ha de contener las instrucciones para hacer que el programa almacenado en el disco arranque, y lo ejecuta. Para crea un disco de inicio hay que ejecutar los siguientes comandos:

> *BUILD $.!BOOT<RETURN>
1 CHAIN"LOADER"<RETURN>
2 <ESCAPE>
> *OPT 4,3<RETURN>
>

El fichero LOADER es el encargado de cargar los ficheros de la aplicación.

También es posible mantener pulsada la tecla SHIFT y encender el BBC, pero esta forma genera un pitido continuo hasta que se ha cargado la aplicación. La combinación de teclas habitual es SHIFT+ BREAK, aunque se puede utilizar, según el sistema de ficheros utilizado, SHIFT+D+ BREAK en el caso del DFS, SHIFT+A+ BREAK si es ADFS,…

Hay que tener en cuenta que el BBC maneja las unidades de disco como volúmenes DFS, por lo que en el caso de tener 2 unidades de disco, el BBC puede utilizar hasta 4 volúmenes DFS. La primera unidad tendría los volúmenes “0” y “2”, y la segunda los “1” y “3”. Por tanto para copiar un disco en la primera unidad hay que hacer:

>*ENABLE
>*BACKUP 0 0
# Copia el primer volumen DFS del disco. Luego hay que copiar el otro volumen.
>*ENABLE
>*BACKUP 2 2

He conectado el BBC a la corriente pero no enciende. Tras abrirlo, compruebo que la fuente de alimentación no está dando la salida de 5V a la placa base. Tras desarmar la fuente, una ASTEC 894VO, y buscar en internet, parece que las fuentes que fallan suele ser debido generalmente a los condensadores C1, C2 y C9. He aprovechado y he quitado todos los condensadores electrolíticos para comprobarlos:

  • C1: RIFA 0.01uF 250V clase X, PME 271M510
  • C2: RIFA 0.1uF 250V clase X, PME 271M610
  • C6, C8: 100uF/250V
  • C9: 220uF/10V
  • C16, C19, C20: 1000uF/16V
  • C18, C21: 100uF/25V
  • C17: 2200uF/16V

Tras cambiarlos todos, sustituyendo los RIFA clase X por unos de polipropileno equivalentes de clase X2 y 275V, la pruebo y sigo sin 5V.

BBC Micro Power Supply Repair Guide

Por lo que he leído en https://stardot.org.uk/forums/viewtopic.php?t=19034, otros componentes que suelen fallar en la fuente de alimentación son:

  • R12 current limiter? 4R7 1W
  • R11 current limiter? 0R75 1W
  • Q2 Main switching transistor -> 2SC1942 -> BU208A -> BU508AW
  • Q1 Auxiliary transistor -> 2SC210 -> PN2222A
  • D7 rectification diode -> S10SC3M -> SBL2040
  • SCR1 part of overvoltage protection circuit -> TNY612. En mi caso lleva un 2N6395, que al comprobarlo está mal.

He cambiado el SCR1 y sigo sin tener 5V, y evidentemente tampoco +12V y -5V, aunque el de 12V no se utiliza en la placa base. Sólo en el conector de ampliación.

Al final he comprobado los siguientes componentes:

  • Bridge Rectifier GI KBP10 8337: OK!
  • Q1: D467C (BJT PNP): OK!
  • Q2: Main Switching Transistor: 2SC1942 -> BU208A: OK! (BJT NPN)
  • Q3: A950Y: OK! (BJT NPN)
  • Q4: TI8336: OK! (BJT NPN)
  • D1: RGP10A / GI8324: OK
  • D3: GI 8333: OK!
  • D6: S5S4M: Mal. Es un diodo Schottky Rectifier (SBD) de 40V, 5A. Buscado sustituto
  • D7: S10SC3M: OK!
  • D8: DF131

Al final tras todos los cambios no he conseguido que funcione. He encontrado que la placa esta partida y varias pistas levantadas.

En esta web 60W Acorn BBC Master power supply upgrade actualizan la fuente de alimentación de un BBC Master con una fuente Mean Well PT-65B que tiene triple salida (+5V, +12V y -12V). He comprobado las medidas en las especificaciones de la fuente, y la PT-65 entra también en la carcasa de la fuente del BBC Micro. Así que he decidido a hacer lo mismo con la fuente del BBC.

El BBC Micro utiliza +5, -5 y +12V, así que en lugar del modelo PT-65B he cogido la PT-65A que proporciona estas tensiones. Para poder utilizar la fuente en la carcasa de la fuente he diseñado un adaptador impreso en PLA+. En las especificaciones de la PT-65A los conectores se especifican como Molex 5277-02 y 5273-06 pero no los he encontrado en ningún lado. Tras medirlos y buscar por la red, los conectores se localizan en Aliexpress como CH3.96 3A y 6A (de 3 y 6 pines).

Colección
BBC Micro B
ModeloBBC Micro Model B (32K)
S/N01-ANB01-3042556
FuncionaSI
AccesoriosCon unidad de discos de 5 1/4″ MD200A de MicroPower LTD. (Akhter)

Tras montar la fuente, el BBC funciona. Al probarlo, la salida de video compuesto es B/N, pero he recordado haber leído que se podía cambiar la salida a color de forma muy fácil en algunos BBC. Tras buscar un poco, lo he encontrado: https://www.sprow.co.uk/bbc/howto.htm. La versión de la placa base es “Issue 7”, por lo que simplemente hay que “For the BBC Model B, issues 4 to 7, fit link S39“. En mi placa el “link S39” viene con un jumper, que sólo he tenido que cerrar.

Ya se ve a color la salida de video compuesto. Hay que recordar que la salida de video compuesto en el BBC utiliza un conector BNC en lugar del estándar RCA.

Le he conectado la unidad de disco Akhtek Group MD200A con la que venía el BBC, y he probado a leer algún disco. Cada vez que lee hace un ruido como de golpe. La he abierto para limpiarla y engrasarla y la unidad es una Mitsubishi M4851-125U. He probado varios discos y todos se leen.

Al ver la unidad, he pensado en si funcionaría la unidad DSDD del PC XT. Y dicho y hecho… La unidad del PC, que utilicé para las imágenes del SV-328, viene configurada como unidad 1, mientras que la del BBC viene como unidad 0. Cambio el jumper. Y funcionando.

BBC Microcomputer System User Guide

A Hardware Guide For The BBC Microcomputer

BBC Microcomputer Service Manual
The Advanced User Guide For The BBC Micro

Acorn DFS disc format

Draft release of the BBC Disc Drive and DFS Guide

Sideways ROM authoring notes

Ray Harper – Retro PC’s: Acorn Electron ADFS & DFS Game software, & BBC Rom archive.

60W Acorn BBC Master power supply upgrade

https://www.sprow.co.uk/bbc/howto.htm

https://www.acornelectron.co.uk/eug/66/a-scar.html

BBC Javascript Emulator

https://www.flaxcottage.com/BBC_ROMS/Default.asp

TítuloSubtítuloEditorISBNCode
Directions 1Firts DirectionsBrighouse/Godber/Patilla0-17-421421-9139-0867
BearingsBearings in ActionBrighouse/Godber/Patilla0-17-421404-9139-0851
Aztec/MasterwordESMES584
StorywriterESMES585
Fleet Street PhantomSherston Software
Directions 2Moving with DirectionBrighouse/Godber/Patilla0-17-421227-7139-0868
BEEBUG Members PackBeebug
SPACEX4MAT
AnglesTurning with AnglesBrighouse/Godber/Patilla0-17-421428-6139-0876
TETRISMirror Soft

Publicado

en

por