ORIC DSK Manager por overCLK.

Avatar de Usuario
ron
Mensajes: 17681
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 761 veces
Agradecimiento recibido: 807 veces

ORIC DSK Manager por overCLK.

Mensajepor ron » 03 Mar 2018 19:31

Hace eones que venimos hablando del tema de una herramienta mortadelo ( porque ya da chiste ) que queríamos denominar FILEMON, de File MONitor para ORIC.

Se han hecho intentos, hemos visto que en sites de internet había proyectos como el Oric Explorer, el fs para linux, e incluso por aquí se llegó a ofrecer algún plug-in para el total-commander quedando todo en el aire y al final no llegamos a nada.

Todos los que ya tenemos operativa la controladora de Microdisc de Silicebit, estamos encantados pero seguimos teniendo un problema muy grave.

¿ Cómo metemos nuestros propios ficheros en una imagen de disco Oric, si, en un DSK ?
¿ Cómo puedo montarme mi propio DSK con mis ejecutables preferidos ?

No tenemos problema a la hora de crear un disco físico partiendo de un DSK, tan solo es necesario meterlo en una gotek y tener conectada una unidad física, la velocidad es de vértigo y salen floppies perfectos que funcionan de maravilla.

Pero seguimos teniendo el problema, si quiero meter mis imágenes, mis músicas, mis programas en basic o lo que quiera de momento NO PODEMOS, ya que no tenemos ninguna herramienta que nos permita inyectar ficheros a una imagen DSK.

Recapitulando... que es gerundio.

Fichero DSK de Oric.
http://www.retrowiki.es/viewtopic.php?f=7&t=200031178

Proyecto OricDsk Plugin para Total Commander
http://www.retrowiki.es/viewtopic.php?f ... 200069102&

ORIC Explorer 2.0 - Nuevas funcionalidades
http://www.retrowiki.es/viewtopic.php?f=7&t=200032381


¿ Qué buscamos ?

Un FILE MONITOR para ORIC que funcione desde un PC, ya sea en Win, Linux, Mac, ya sea mediante una GUI o mediante comandos.

- Necesitamos que pueda inyectar ficheros en una imagen. Hay dos típos, Microdisc y Jazmin.

¿ Qúe podemos usar como punto de partida ?

El emulador Oricutron de Peter Gordon : https://github.com/pete-gordon/oricutron

Este maravilloso programa, permite leer y escribrir en imágenes Microdisc y Jazmin. Ahora .... mentes pensantes de RW.

Hay dos opciones. Podemos ponernos en contacto con el autor del programa y preguntarle si ya tiene alguna cosa hecha o directamente pillar el source que está ahí a la vista y con el hacernos un programa en C que nos permita inyectar los famosos ficheros desde nuestros pc. Extraerlos es lo mismo, así que veamos.

Este es el disc.c : https://github.com/pete-gordon/oricutro ... ter/disk.c

EN el oricutron hay dos opciones para grabar las imágenes de disco que se modifican:

F7 - Save all modified disks
Shift+F7 - Save all modified disks to new disk images


Ahora, en el GIT de Oricutron podemos leer estas dos cosas. El uso del propio emulador igual nos valdría para hacer lo que pretendemos.


Serial card (ACIA) emulation
============================

Oricutron can emulate ACIA at address #31C (standard address for Telestrat).
The emulation works for Oric, Atmos, Telestrat and Pravetz and can be used
together with any disk type.

The emulated ACIA communicates with the out-side world trough back-ends.
Back-ends can be configured from 'oricutron.cfg' or from command line
(see default 'oricutron.cfg' for usage).

Back-ends are:
- none - disables ACIA support
- loopback - every transmitted byte is returned to receive buffer (for testing purposes)
- com - Oricutron uses any real or virtual COM port in the host machine and communicates with the hardware attached to this serial port
- modem - unites ACIA with attached modem linked to internet with server and client sockets

In 'modem' mode are available folowing 'AT' commands:
AT - returns 'OK'
ATZ - initialize the modem
AT&F - initialize the modem
ATS0=0 - disable auto answering (close sever socket)
ATS0=1 - enable auto answering (open sever socket and start listening on selected port (default is telnet port 23))
ATA - same as 'ATS0=1'
ATS0? - returns 'AUTOANSWER OFF' or 'AUTOANSWER ON' depend on current sever socket state
ATH0 - disconnect currently connected sockets
+++ - if connected switches to command mode
ATO - returns from command mode to online
ATD ip:port - connects as client to ip:port. 'ip' can be any host name (ex.:localhost) or the real IP (ex.:127.0.0.1) on LAN or in Internet. ATDP and ATDT are alternative for compatibility.


CH376 card emulation
====================

Oricutron runs ch376 chip. This chip is able to read a sdcard and a usbkey
(and USB port). This chip handles FAT32. usbdrive/ folder is the CH376
emulation folder. It means that when we asked ch376 to read usbkey, it
reads in this folder. Please note, that read/write are emulated (see below for emulated ch376 command ). Please note that emulation runs only in
telestrat mode. Atmos can run this chip, but the rom had not been release yet (and the card with the rom).

Orix (http://orix.oric.org) works with this chip mainly. Don't modify ch376
emulation: contact Jede (jede@oric.org). Because this emulation is used
also in ACE emulator (cpc emulation). Offset and me are trying to keep the
same emulation. It's easier to work together than alone.

CH376 command emulated :
- CH376_CMD_GET_IC_VER
- CH376_CMD_CHECK_EXIST
- CH376_CMD_SET_USB_MODE
- CH376_CMD_GET_STATUS
- CH376_CMD_RD_USB_DATA0
- CH376_CMD_WR_REQ_DATA
- CH376_CMD_SET_FILE_NAME
- CH376_CMD_DISK_MOUNT
- CH376_CMD_FILE_OPEN
- CH376_CMD_FILE_ENUM_GO
- CH376_CMD_FILE_CREATE
- CH376_CMD_FILE_ERASE (not emulated under linux)
- CH376_CMD_FILE_CLOSE
- CH376_CMD_BYTE_LOCATE
- CH376_CMD_BYTE_READ
- CH376_CMD_BYTE_RD_GO
- CH376_CMD_BYTE_WRITE
- CH376_CMD_BYTE_WR_GO
- CH376_CMD_DISK_QUERY
- CH376_CMD_DIR_CREATE (not emulated under linux)
- CH376_CMD_DISK_RD_GO

Known bug :
Under windows, API's file does not send "." and ".." entries when we read the content on the folder. It's a problem because ch376 chip send these
entries, when we ask to this chip to read the content of a directory.

If someone wants to emulate CH376_CMD_DIR_CREATE and CH376_CMD_FILE_ERASE. It's easy to do : it justs need to copy WIN32 function and replace DeleteFile
and CreateDir with rm() and mkdir(). But it's not done because we are not able to test it.

CH376 emulation added for :
CH376_CMD_FILE_ERASE suppress a file
CH376_CMD_DIR_CREATE create folder


BUENO, ha llegado el momento de ponerse y de una vez zanjar este problemón que venimos arrastrando hace tanto tiempo. Esperamos todos los comentarios, sugerencias, ayudas, todo lo que se pueda. Y las gracias por delante.

Avatar de Usuario
ron
Mensajes: 17681
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 761 veces
Agradecimiento recibido: 807 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor ron » 03 Mar 2018 19:41

Voy a probar lo de la CH376 card emulation, no se si va en modo Atmos o Telestrat, pero si puede pasar cosas de un directorio a un DSK... esto merece ser visto. Compilando nueva versión....

La otra opción es conectarse por serie contra el PC local y usar el programa de COMMS para transferir ( de forma emulada ) ficheros desde el PC al disco del Oric. He de ir probando ambas opciones, por favor, si podéis probar del CH376... es importante !!!

-0r1c -0r1c -0r1c

Avatar de Usuario
ron
Mensajes: 17681
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 761 veces
Agradecimiento recibido: 807 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor ron » 03 Mar 2018 20:07

oricch376.png
oricch376.png (48.88 KiB) Visto 947 veces


Vale, esto está compilado de ahora mismo del source del Git y parece que en modo telestrat esto funciona, con lo que toca ponerse a hacer pruebas con imágenes DSK.... lo vamos comentando.

Saludos -drinks

Avatar de Usuario
Chema
Mensajes: 1801
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 793 veces
Agradecimiento recibido: 285 veces
Contactar:

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor Chema » 03 Mar 2018 21:14

Me parece que lo que estás probando es parte de un proyecto que se está desarrollando http://orix.oric.org/doku.php

Usa hardware adicional e implementa un OS nuevo que puede usar USB como almacenamiento principal. Aunque es un proyecto para el Telestrat, Jede también diseñó hard adicional que proporciona bancos de memoria adicional como los del telestrat para el Atmos, interface de joystick, etc. para poder usarlo en un Atmos.

Todavía anda algo verde.

Lo que quieres hacer es algo que hace falta, estoy totalmente de acuerdo. Estoy un poco desconectado del desarrollo retro últimamente, por líos en el "mundo real" XD", pero te cuento.

El único intento de hacer lo que dices que se hizo, creo que fue Dom que parcheó un montón de juegos A MANO para poder meterlos en un disco y cargarlos. De hecho a algunos los parcheó también A MANO y uno por uno para poderlos jugar con joystick incluso aunque el teclado dejase de funcionar (http://dominique.pessan.pagesperso-oran ... ystick.htm)

Muchos de esos juegos en disco están en la TOSEC de manera que te pones a probarlos y primero el disco no arranca, porque hay que arrancar SEDORIC con el master primero y después el juego parece que no funciona (http://forum.defence-force.org/viewtopi ... =23&t=1796).

El problema es que muchos juegos cargan en partes y hay que parchearlos para que en vez de cargar las partes de cinta lo hagan de archivos de disco. Otras veces el juego carga una parte y usa la memoria de página 4, cargándose el DOS. Cuando quieres cargar otra parte, pues ya no va. Otras veces una parte se ejecuta y hace llamadas a la ROM, que no está activa (está la Overlay Ram con la parte residente de SEDORIC)...

Como ves no hay manera de hacer algo automático para coger un tap y meterlo en un disco.

La única solución que yo le veo es usar snapshots. No conozco el formato que usa el Oricutron para grabar un snapshot, pero siempre se podría cargar un juego y crear un snapshot cuando arranque y usar esos datos junto con un programilla cargador para cargarlos desde disco al Oric real.

Por supuesto la primera parte es fácil una vez entendido el formato y decidido qué datos guardados son importantes. La segunda me parece que no tanto.

Se podría tener un disco Sedoric con un menú con los juegos que contiene y un programilla que se cargue en una zona "inofensiva" de memoria. El programa puede cargar los datos en su sitio, activar la ROM (o cargar una ROM en Overlay, para poder tener la del Atmos o la del 1), cargar los registros con los datos necesarios y saltar a la dirección de ejecución guardada en el snapshot.

Pero ¿dónde metes ese programa? Probablemente en página 4, si hay suerte y el programa no la usa. Si no podría meterse en la parte de la pila (página 1) que no esté usada, pero hay que tener cuidado.

Habría que hacer pruebas, pero si funciona, es perfectamente posible crear una utilidad de PC que tome snapshots y cree un disco de arranque SEDORIC con el menú y todo lo necesario para disfrutarlos.

Nunca me puse con ello. Creo que una vez intenté ver el formato de snapshot del Oricutron y no entendí bien cómo guardaba las cosas. No llegué más lejos.

Intenté que otros usuarios se subieran al carro, porque algunos habían hecho cosas parecidas para cargar juegos desde cartuchos enchufables al puerto de expansión, pero no mostraron mayor interés.

Avatar de Usuario
Silicebit
Mensajes: 1368
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 41 veces
Agradecimiento recibido: 107 veces
Contactar:

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor Silicebit » 04 Mar 2018 12:27

Creo que este señor debe saber bastante del tema... Habrá que pedirle ayuda.

Filemon.jpg
Filemon.jpg (39.92 KiB) Visto 887 veces

-507 -507 -507 -507 -507
El 6809 es el Rolls-Royce de los 8bits, el 6502 es el Mercedes, y el Z80 el SEAT 850. Sorry, but... I think different. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube

Avatar de Usuario
ron
Mensajes: 17681
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 761 veces
Agradecimiento recibido: 807 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor ron » 05 Mar 2018 12:59


Avatar de Usuario
ron
Mensajes: 17681
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 761 veces
Agradecimiento recibido: 807 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor ron » 05 Mar 2018 13:21

Ya lo hice ayer funcionar, a ver si me puedo meter a ver como opera y si es viable copiar desde el directorio que emula el USB a imagen de DSK

orixexecron.png
orixexecron.png (30.34 KiB) Visto 839 veces

Avatar de Usuario
ron
Mensajes: 17681
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 761 veces
Agradecimiento recibido: 807 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor ron » 05 Mar 2018 13:51

orix can't read floppy disk (if you want to code it). Let's go writing it ! can't start/read a sedoric file/jasmin

filemostia.png
filemostia.png (43.16 KiB) Visto 834 veces


Contestados todos.

Avatar de Usuario
ron
Mensajes: 17681
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 761 veces
Agradecimiento recibido: 807 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor ron » 05 Mar 2018 17:55

La opción que queda es intentar a través de la emulación del puerto modem, conectarse contra el sistema anfitrión y ver si se puede transferir un fichero al disco, una vez en el disco ya será más sencillo moverlo a otro ( dsk claro ).... a ver que sale de todo esto. Es una pena que bajo Orix no esté aún implementado el uso de floppies. Vamos a ver si sacamos los oric de la jaula. xD

modemoric.png
modemoric.png (33.55 KiB) Visto 814 veces


./oricutron -ma --serial loopback disks/MODEM.DSK

Avatar de Usuario
ron
Mensajes: 17681
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 761 veces
Agradecimiento recibido: 807 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor ron » 05 Mar 2018 18:28

Veamos, con el comando : ./oricutron -ma --serial loopback disks/MODEM.dsk, se arranca el emulador y el dsk de modem con la emulación serie en modo "loopback". Yo lo hago bajo linux pero imagino que en WIndows y Mac será algo parecido. Se trata de emular un Atmos con Microdisc y Serial Port ( contra loopback ).

modem.zip
(39.01 KiB) Descargado 8 veces


Ahora, ya en Oric, SETUP LINE
Las opciones, 9600, 8 bit, no parity, 1 stop bit. Flow control: None.
Es importante saber que la dirección base es: #31C!

serialoric031c.png
serialoric031c.png (56.18 KiB) Visto 810 veces


Por si queréis ir probando:

--serial_address N = Set serial card base address to N (default is $31C)
where N is decimal or hexadecimal within the range of $31c..$3fc
(i.e. 796, 0x31c, $31C represent the same value)



--serial <type> = Set serial card back-end emulation:
'none' - no serial
'loopback' - for testing - all TX data is returned to RX
'modem[:port]' - emulates com port with attached modem,
only minimal AT command set is supported and
data is redirected to TCP. Default port is 23 (telnet)

'com:115200,8,N,1,<device>' - use real or virtual <device> on host as emulated ACIA.
Baudrate, data bits, parity and stop bits can be set as needed
ex.: Windows: 'com:115200,8,N,1,COM1'
Linux: 'com:19200,8,N,1,/dev/ttyS0'
'com:115200,8,N,1,/dev/ttyUSB0'

Avatar de Usuario
ron
Mensajes: 17681
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 761 veces
Agradecimiento recibido: 807 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor ron » 05 Mar 2018 18:40

./oricutron -ma --serial modem disks/MODEM.dsk

consegoric.png
consegoric.png (50.6 KiB) Visto 806 veces


Vale, ya está, ahora solo queda preparar el tema para que pueda conectarme a mi máquina local y descargar un fichero a disco...

Pronto en sus pantallas... huele a retrocrypta ?

Avatar de Usuario
ron
Mensajes: 17681
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 761 veces
Agradecimiento recibido: 807 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor ron » 05 Mar 2018 18:51

Una cosa más, esta es la imagen de disco que he subido arriba. Modem.dsk

espacioriclibre.png
espacioriclibre.png (57.04 KiB) Visto 799 veces


12 ficheros, 392 sectores libres. Debería tener sitio para alguna cosilla no ???, en serio que nadie se anima ?

-0r1c -shock

P.S.: Me he acordado de...: viewtopic.php?f=65&t=200032693&p=200076976

Avatar de Usuario
overCLK
Mensajes: 214
Registrado: 26 Ene 2017 12:26
Agradecido : 65 veces
Agradecimiento recibido: 94 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor overCLK » 15 Mar 2018 13:29

Bueno, como respuesta a este grito de socorro, he desarrollado una aplicacioncilla java que intenta resolver la gestión de imágenes DSK para Oric. Me he basado en la información que he ido encontrando y en el estudio de los fuentes del tap2dsk y el oldmfm para entender como funciona la codificación del disco y también la estructura del sistema de ficheros de Sedoric.

Para ejecutarla necesitaréis al menos java 8. Con java 9 funciona salvo en OSX debido a un cambio en las API de JavaFX que intentaré solventar más adelante. Yo mis pruebas las he hecho todas en linux de momento.

De momento la aplicación soporta las siguientes características:
- Soporta sistemas de ficheros Sedoric.
- Abre ficheros DSK de tipo antiguo y nuevo, conservando la geometría, nombre de disco y cadena de inicio.
- Importa archivos desde ficheros DSK antiguos y nuevos y también desde ficheros TAP. Tan sólo hay que arrastrar el fichero a la lista de ficheros en la aplicación o bien usar la entrada "Importar Archivos desde..." del menú Archivo.
- Gestiona el nombrado de ficheros de forma automática para evitar colisiones de nombres o nombres inválidos en Sedoric
- Permite modificar la geometría de discos creados desde la aplicación (no abiertos con la opción de abrir DSK)
- Permite modificar los flags y atributos de un fichero.
- Exporta ficheros desde la imagen de disco al sistema de ficheros anfitrión, añadiéndoles una cabecera en caso de que el fichero tenga flags operativos. De este modo, el fichero se puede volver a importar en una imagen sin perder información sobre la dirección de carga, ejecución, flags,... Para esto se puede arrastrar el fichero desde la lista al escritorio o bien utilizar la opción "Exportar archivo..." del menú Archivo.
- Permite importar también ficheros arbitrarios a una imagen de disco. Se arrastran a la lista de ficheros, y la aplicación intenta autodetectar si son ficheros DSK o TAP. Si no son de estos tipos lo importa como un fichero regular.
- Permite generar imágenes autoarrancables Sedoric.

Creo que es todo. Seguramente tenga un millón de bugs, pero como he conseguido generar varias imágenes y luego usarlas sin mucho problema con el Oricutron, lo pongo aquí a vuestra disposición.

Esta es la pinta que tiene funcionando sobre sistema operativo linux:

oric-dsk-manager.png
oric-dsk-manager.png (41.42 KiB) Visto 667 veces



El código lo he subido a github y desde ahí podéis descargar la versión 0.1 del programa:

https://github.com/teiram/oric-dsk-mana ... er-0.1.jar

Espero que os sirva y me vayáis informando de los problemas que os vayáis encontrando al utilizarlo. :-)
Imagen

Avatar de Usuario
Chema
Mensajes: 1801
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 793 veces
Agradecimiento recibido: 285 veces
Contactar:

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor Chema » 15 Mar 2018 13:48

Jajajaja ¡No me lo puedo creer! Años pidiendo socorro y llegas y te haces una aplicación así... Es impresionante.

En cuanto pueda la descargo y pruebo. Cuando veáis si es suficientemente estable, la anunciamos en defence-force, porque esto es algo para anunciar a bombo y platillo.

¡Tío felicidades! -drinks

ron va a saltar de alegría... fijo que le dedica una retrocrypta -507

Avatar de Usuario
minter
Mensajes: 1686
Registrado: 22 Jul 2014 18:51
Agradecido : 944 veces
Agradecimiento recibido: 431 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor minter » 15 Mar 2018 14:14

osea, todo el problema que existía con un gestor de archivos para Oric, es que no te lo habían pedido.
Simplemente eso. Nadie pregunto a Overclk... "Oye! Puedes hacer un Filemón?"
Respuesta de Overclk: "Si, claro, como no! :D"

Jajaja! Flipante! Mojas los dedos en tinta y haces un programa en un plis!

De los bugs, no te preocupes, que Chema se tropezará con todos! -507

Avatar de Usuario
ron
Mensajes: 17681
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 761 veces
Agradecimiento recibido: 807 veces

Re: IMPORTANTE ORIC. La necesidad de un FILEMON. HELP !!!

Mensajepor ron » 15 Mar 2018 17:11

Acabo de ver esto, EEEEEEHHHHHHHHHHHHH !
Limpio las gafas , vuelvo a enceder el PC y miro de nuevo, esto no puede ser real


Volver a “Oric”

¿Quién está conectado?

Usuarios navegando por este Foro: jepifidel y 2 invitados