Nuevo core de Oric Atmos de Kyp para ZX-Uno, ZX-DOS y ZX-DOS+

El Oric Atmos 48K fue un ordenador doméstico que salio en el año 1984 fabricado por Oric Products International Ltd, y que tenía en su interior un procesador 6502. Fue el sucesor del Oric-1 que nació un año antes para competir con el Sinclair ZX Spectrum. Su carcasa y teclado en colores negro y rojo hacen de él uno de los ordenadores de 8 bits más bonitos jamás construidos.

La gran noticia es que Kyp acaba de portar al ZX-Uno, ZX-DOS y ZX-DOS+ el core de Oric Atmos que hizo Rampa para las fpga MiST / Mistica / SiDi, y que ya había sido portado a otras FPGA como la MiSTer.

En el ZX-Uno ya existía una implementación del Oric Atmos que fue portada por Quest en el 2015, pero en la que no era posible cargar ningún programa. Luego en 2018 el búlgaro byrtolet corrigió una serie de problemas del core, y añadió soporte DOS8d que permitía la carga de disquetes de tipo Apple II desde la tarjeta SD en modo raw. El crear estos discos era ya bastante complicado y laborioso, pero lo peor era que el core estaba envenenado, y era prácticamente imposible que funcionase ningún juego que se intentase cargar. Han pasado 3 años desde entonces, pero por fin ha llegado el core de Oric Atmos que el ZX-Uno merecía.

Si bien este nuevo core de Oric Atmos no tiene aún implementada la controladora de disco, por lo que la carga de programas se tiene que realizar por ahora por audio, también se le han añadido algunas características interesantes que otros ports no tienen.

Especificaciones:

  • Implementa un Oric Atmos con 64KB de ram y 16KB de rom. La ROM oculta la parte alta de la memoria, pero al igual que en el Commodore 64 se puede acceder a todos los bancos de memoria mediante ensamblador
  • Se puede seleccionar trabajar con la rom 1.1, la original del Atmos, o la 1.22, que es una rom alternativa que corrige errores, añade alguna funcionalidad nueva, y acelera la ejecución del BASIC un 5% aproximadamente. Desde está página podéis descargar el archivo ROMv122.zip el cual tiene en su interior las diferentes versiones de la rom 1.22 y un archivo Doc ROM v122.doc donde se describe pormenorizadamente todos los cambios y mejoras.
  • Las direcciones del joystick están mapeadas a las teclas del cursor, y los dos botones de disparos a las teclas «espacio» y «s».
  • La carga de programas se tiene que realizar por audio. También es posible grabar los programas usando la salida de audio.
  • La salida de vídeo funciona por vídeo compuesto y por VGA (scandoubler). El core detecta en la BIOS la salida de vídeo puesta por defecto, y arranca el core con esa salida, pero es posible alternarla con la tecla Bloq. Despl.
  • La disposición de las teclas en el teclado de PC es lo más parecida a la que tiene un Oric Atmos real.

 

Versiones:

2021.08.25

– Versión inicial del core.
– El core para ZX-Uno os lo podéis descargar de aquí:

También podéis descargaros el core para todas las placas desde el GitHub de Kyp.

Podéis ver la presentación en primicia de este core en el programa emitido el 25/08/2021 en la Retrocrypta:

 

INSTRUCCIONES DE USO DEL CORE:

En este gráfico veréis las teclas de función propias del core así como la disposición de las teclas del Oric Atmos en un teclado español de PC.

plantilla_ayuda_oric_atmos.png

(plantilla en formato PDF y ODG editable)

Teclas de función del CORE:

CTRL+ALT+SUP/Del o F12 = Reset del core
CTRL+ALT+BACKSPACE o F11 = Reset de la fpga
Bloq. Despl / Scroll Lock = Alterna modo de video entre VGA y RGB 15 KHz / CVBS video
F1 = Selecciona la rom 1.1 y resetea el core
F2 = Selecciona la rom 1.22 y resetea el core
F5 = Provoca una NMI
F10 = Permite la salida de audio del comando CSAVE

Teclas del Oric Atmos:

– Las teclas de los cursores también están mapeadas en la Windows Izq., Alt Izq., Windows Der. y Menú.
– La tecla FUNCT del Oric en la tecla Alt Gr
ESC, DEL, CTRL y SHIFT están mapeadas a las teclas equivalentes en el teclado de PC.

Cuando el core arranca por primera vez está configurado para usar la rom 1.1. En esta rom las mayúsculas están activadas por defecto (en la parte superior derecha de la imagen verás CAPS), y no se puede escribir en minúsculas usando SHIFT o pulsando Bloq. Mayúsculas. Para desactivar las mayúsculas hay que pulsar CTRL+T, y volver a hacerlo para volver a activarlas. En la rom 1.1 las instrucciones BASIC solo son entendidas si se escriben en mayúsculas, mientras que en la rom 1.22 sí que se pueden escribir en mayúsculas o en minúsculas.

Asimismo, el sonido que se escucha al teclear puede ser activado y desactivado con CTRL+F, y para poder hacer BREAK de un programa basic no funcionará pulsando la tecla ESC, sino que hay que pulsar CTRL+C.

El resto de combinaciones más importantes se pueden ver en la plantilla del teclado de más arriba.

CARGA DE PROGRAMAS:

Por ahora la única posibilidad de carga de programas es por la entrada de audio. Por eso es muy recomendable tener un TZXduino / Maxduino / Miniduino con el firmware maxduino de rcmolina instalado. A partir de la versión 1.59 ya trae soporte de carga de ficheros .TAP de Oric.

Para cargar se debe escribir la siguiente instrucción en el BASIC:

CLOAD» o CLOAD»» y pulsar ENTER

En la línea superior veréis Searching.., lo que indica que está esperando que le entre el sonido de carga de una cinta.

Una vez empieza el sonido de carga el Oric intenta cargar el programa, y veréis que en la línea superior el texto cambia a Loading .. con el nombre que haya encontrado en la cabecera del fichero. Ahora solo toca esperar a que el programa termine de cargar (la velocidad estándar son 2.400 baudios), y que no haya errores en la carga.

He creado un pequeño script de linux llamado calorico.sh que usa bash y PHP para ejecutarse, que sirve para convertir ficheros .TAP de Oric en archivos .TSX, y que será útil para aquellos que sí dispongan de medios para reproducir estos tipos de ficheros en lugar de los .TAP de Oric. Usa las utilidades TSXphpclass de Natalia Pujol para realizar la conversión. Junto con el script tenéis una buena colección de programas en formato .TAP y .TSX para poder cargar en el core de Oric .

calorico-script  (11 MB)

Para convertir nuevos programas solo hay que meter los .TAP dentro de la carpeta TAP y ejecutar

./calorico.sh

Esto realizará la conversión de los ficheros y los dejará dentro de la carpeta TSX copiando los nombres y las estructuras de directorios originales. En el fichero calorico.log se podrá ver el resultado de la conversión.

Se pueden ver las instrucciones completas del script con

./calorico.sh --help

En este video presentan una selección de los mejores juegos clásicos del Oric, y que podréis encontrarlos dentro de una carpeta que paso con el script.

También dentro de la carpeta Homebrew encontraréis un buen puñado de juegos realizados fundamentalmente en las últimas dos décadas, y cuya calidad es muy superior a lo que se realizó en la época comercial, demostrando que el Oric Atmos es un ordenador, que si se le sabe exprimir bien, puede ser una plataforma de juegos muy válida.

En el archivo .7z va el script de conversión y una serie de archivos .TAP y .TSX listos para copiarlos a la tarjeta SD de vuestros maxduinos y similares. No se incluyen instrucciones, versiones alternativas, archivos README y créditos. Esto lo podéis conseguir en las páginas donde suelen alojarse los juegos. En el caso de los juegos de Oric recomiendo buscarlos en https://www.oric.org/software/ (necesitáis daros de alta para poder realizar descargas) o https://www.defence-force.org/index.php?page=games

GRABACIÓN DE PROGRAMAS:

Se puede grabar un programa BASIC por audio con una instrucción como esta

CSAVE "JUEGO"

Al grabar el programa JUEGO veremos en la línea superior que pone SAVING.. JUEGO B, pero no se escuchará nada. Para que se escuche el sonido de grabación es necesario pulsar la tecla F10 antes de ejecutar el comando CSAVE, y una vez terminada la grabación volver a pulsar F10 para desactivarlo. El motivo es que la habilitación del sonido de grabación hace que si se ejecuta una instrucción CLOAD» se escuche un ruido alto y agudo que imposibilita la carga por audio. Por eso esta funcionalidad está deshabilitada de normal, y solo se debe emplear si se quiere realizar una grabación de un programa por audio, siendo conveniente deshabilitarla cuando no se use.

Enlaces de interes:

Oric Atmos (wikipedia español)
Tangerine ORIC ATMOS (artículo de Chema Enguita )
Ordenador Edenspring Oric Atmos (1984) (Retro Ordenadores Orty)
Retrowiki Magazine 8 (Especial Oric)
Manual Oric Atmos (ENG)
Algunas webs sobre Oric (artículo de Silicebit)

Esta entrada fue publicada en Miniduino, Sin categoría, ZX-Uno y etiquetada , , . Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *