Conectividad Dragon - PC

Avatar de Usuario
pser1
Mensajes: 2857
Registrado: 08 Dic 2012 18:34
Agradecido : 623 veces
Agradecimiento recibido: 746 veces

Conectividad Dragon - PC

Mensajepor pser1 » 30 Dic 2013 23:09

Ataco de nuevo,
y ahora va un pack altamente peligroso . . .
Se trata de conectar via puerto serie nuestro Dragon con un PC.
Implica preparar un cable con conector DIN para Dragon y con puerto RS232 (serie) para el PC. En mi caso, he usado luego un conversor de RS232 a USB ya que no dispongo de puerto serie en mi PC.
Se compone de dos partes, el servidor en el PC, hecho en JAVA y el cliente en Dragon (ensamblador)
Desafortunadamente, Java no soporta directamente los puertos serie, así que hay que buscarse una librería en Java que si lo haga. Yo me he decidido por la RXTXComm, ésto significa que hay que instalarla o no funcionará nada. Se incluye en el pack.
Basicamente he buscado dos facilidades:
a) que el PC sea terminal de Dragon (teclado y pantalla), son mas comodos y podemos currar a 80 caracteres de anchura sin problemas
b) usar la pantalla del PC como impresora de Dragon, para los que no tenemos impresora conectada (ni sin conectar)
Os adjunto como siempre el fichero VDK y los fuentes en DRM, BAS y ejecutable BIN para Dragon
Por lo que se refiere a Java encontraréis tanto las clases fuente como el jar ya compilado que funciona si todo está bien instalado . . .



pues eso, dejemos el hilo abierto para aquellos que quieran experimentar y les surjan problemas.
Creo que a mi me pasaron de todos los tipos y colores, nada hace lo que debería hacer o queremos que haga de buenas a primeras -banghead
Animo, cuando furrula todo es divertido y útil -thumbup
pere

Avatar de Usuario
ron
Mensajes: 18853
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1939 veces
Agradecimiento recibido: 1666 veces

Re: Conectividad Dragon - PC

Mensajepor ron » 30 Dic 2013 23:43

Te sales Pere, te sales !!!

Por si sirve de algo, hace un tiempo estuve experimentando.

viewtopic.php?p=100032604#p100032604

A ver si estos días encuentro un rato para extender el Dragon con todo y tenerlo un par de semanas furrulando ya que se me acumulan tantas cosas para ver.

Menudo fin de año que te estás marcando, muchas gracias !!!

Avatar de Usuario
luiscoco
Mensajes: 2413
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 36 veces
Agradecimiento recibido: 57 veces
Contactar:

Re: Conectividad Dragon - PC

Mensajepor luiscoco » 31 Dic 2013 02:45

Este tema esta muy bueno, es lo mio, pero por ahora tengo la Atari fuera y en reparaciones, y no puedo con tantas a va vez, pero de que me tomo un tiempo me lo tomo

Avatar de Usuario
pser1
Mensajes: 2857
Registrado: 08 Dic 2012 18:34
Agradecido : 623 veces
Agradecimiento recibido: 746 veces

Conectividad Dragon - PC

Mensajepor pser1 » 31 Dic 2013 11:07

una curiosidad respecto a este pack:
Como casi todos usamos controladoras del tipo Dragon Data, Eurohard, el programa en Dragon necesita saltarse la necesidad de pulsar una tecla en la máquina al hacer DIR, por lo que pasa a MAPA1 (RAM) y allí copia y modifica el D.O.S.
Cuando finalizamos la conexión mediante F3, intencionadamente dejo el Dragon en MAPA1 (RAM), para que se pueda ver el efecto del cambio al hacer DIR:
Muestra todos los ficheros y pide tecla solo al final, si hay muchos ficheros a mostrar. no para al llenar la pantalla. Si además utilizáis el de Lafumat, veréis que el caracter a la izquierda de bytes libres está cambiado por un signo semigráfico.
Podéis lanzar ahora este comando: POKE&HFFDE,0 y pasaréis a MAPA0 (ROM) con lo cual DIR se comportará como cuando arranca Dragon (sin los cambios aplicados)
Si posteruiormente hacéis POKE&HFFDF,0 regresaréis al MAPA1 (RAM) usando nuevamente la versión modificada del D.O.S.
Solo tened en cuenta que en modo MAPA1 (RAM) el bendito poke rápido (POKE&HFFD7,0) NO va a funcionar puesto que solo puede acelerar la ROM, que ahora está deshabilitada
Espero comentarios, propuestas sobre vuestros experimentos.

Nota:
La parte JAVA, usando la biblioteca RXTXComm, me parece mala o cuando menos mejorable, así que se aceptan ideas sobre como optimizar la sincronización (handshaking) entre ambas máquinas para poder acelerar la transmisión.
En este proyecto tiene escasa importancia porque la velocidad de tecleo de un usuario es realmente baja respecto a los 19200 baudios de trabajo actuales, pero para otro proyecto basado en la transmisión de discos VDK completos sería muy interesante tener un servidor optimizado para dale caña al Dragon. Si me da tiempo, antes de Reyes, os pondré en otro hilo este otro proyecto aunque es menos estable actualmente (por culpa de mi PC)
saludos

Avatar de Usuario
luiscoco
Mensajes: 2413
Registrado: 15 May 2011 04:23
Ubicación: Caracas, Venezuela
Agradecido : 36 veces
Agradecimiento recibido: 57 veces
Contactar:

Re: Conectividad Dragon - PC

Mensajepor luiscoco » 31 Dic 2013 21:53

No se si conoces el Drivewire 4 de la color computer https://sites.google.com/site/drivewire4/

Avatar de Usuario
ron
Mensajes: 18853
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1939 veces
Agradecimiento recibido: 1666 veces

Re: Conectividad Dragon - PC

Mensajepor ron » 01 Ene 2014 22:16

Pere si necesitas que se hagan pruebas y se pueda ayudar, cuenta conmigo para colaborar en lo que pueda, este proyecto es muy interesante para todos los que tienen un D64 y al igual que con el cable XE141 hacemos con las paneras, aunque sea via Serie, a mi me encantaría que en un futuro pueda haber un programa que nos permita hacer cositas desde un PC.

Creo que el proyecto del Apple ][, el ADT te va a resultar familiar.
viewtopic.php?f=14&t=200028741

Avatar de Usuario
pser1
Mensajes: 2857
Registrado: 08 Dic 2012 18:34
Agradecido : 623 veces
Agradecimiento recibido: 746 veces

Re: Conectividad Dragon - PC

Mensajepor pser1 » 02 Ene 2014 21:46

Hola a tod@s,

esta aplicación para usar el PC como terminal 80 columnas y como impresora es la primera parte de un sueño
En XRoar se pueden cargar ficheros planos de texto siempre que contengan instrucciones que el BASIC de Dragon las pueda ejecutar al vuelo.
Me gustaría poder trabajar tranquilamente en un editor de PC (ya sé que no me validará la sintaxis), guardar el fichero como texto y luego
cargarlo en Dragon de una sola transmisión. Había pensado en añadir una opción a esta aplicación para que abriera una ventana de explorador, que
nos permita buscar el fichero creado y transmitirlo a Dragon (obviamente con números de linea)

Cualquier otra sugerencia será bien recibida!
saludos


Pd. esta aplicación tiene pocos requerimientos de velocidad, a mi me funciona y espero que a vosotros también sin tener que andar ajustando retardos
que aquí no están implementados. No puedo pediros mas que si alguien lo utiliza comente en este hilo los problemas que ha tenido y como los ha solucionado
Si fuera necesario iría modificando el programa Java o de Dragon según vuestras experiencias.

Avatar de Usuario
ron
Mensajes: 18853
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1939 veces
Agradecimiento recibido: 1666 veces

Re: Conectividad Dragon - PC

Mensajepor ron » 03 Ene 2014 22:21

dragoncom1.jpg
dragoncom1.jpg (28.01 KiB) Visto 3207 veces


Si señor, arrancar si que arranca. Pero en la parte de Dragon no. Se queda colgado.

DSCF9653.JPG


DSCF9654.JPG


El Dragon está conectado a mi PC por el COM1.

Una cuestión, ¿ verdad que no hace falta arrancar todo desde modo D64 ? , es decir sin cursor azul y sin exec de arranque.

Y en programa T.BAS en la línea 120 a mi me casca un ? SN ERROR IN, cambiando con un CLOADM "... ya chuta pero al hacer el EXEC&H4000 para arrancar se queda frito.

Avatar de Usuario
ron
Mensajes: 18853
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1939 veces
Agradecimiento recibido: 1666 veces

Re: Conectividad Dragon - PC

Mensajepor ron » 03 Ene 2014 22:42

Se me ha ocurrido una idea, la pongo en practica y ya comento que tal ha ido.
Es cambiar el COM1 a COM3

Edito: El Dragon se cuaja !

Esto es todo por hoy, a ver que novedades nos cuenta Pser1.

Avatar de Usuario
pser1
Mensajes: 2857
Registrado: 08 Dic 2012 18:34
Agradecido : 623 veces
Agradecimiento recibido: 746 veces

Re: Conectividad Dragon - PC

Mensajepor pser1 » 04 Ene 2014 13:39

hola ron,
veo por el pantallazo que no se reconoce correctamente en tu Dragon la linea 120, que debería ser:
120 LOAD"TERMPRT2.BIN"
Esto es signo evidente de que no tienes la unidad de disco conectada, por lo que LOAD no es interpretado como un comando y en su lugar el BASIC pone la admiración.
El programa lo hice para poder gestionar las copias de discos, reorganizar ficheros de un disco a otro y además para crear y/o editar programas en BASIC pero siempre
pensando en la unidad de disco (en cinta me parece tedioso, demasiado lento).
He probado yo en mi máquina SIN la unidad de disco conectada y el programa en Dragon no hace lo que se espera que haga, al no encontrar ningún sistema DOS.
Se le tendría que añadir un control para que si no existe cartucho de DOS conectado, no lo intente copiar a RAM para modificarlo, claro, así podría emplearse sin discos
TOMO NOTA, versión en curso . . .
Lo que está claro es que en un Dragon32 al no haber puerto serie, ya lo descartamos.

Cuando funcione comprobando Si hay DOS o NO, se deberia poder hacer esto:
Usar el WAV que se incluye en el pack TERMPRT2-BIN.WAV y reproducirlo en el PC después de sustituir LOAD por CLOADM en el T.BAS que también podrias cargar desde su WAV.
Hecho esto, haces RUN con el Basic modificado y cuando quiera cargar de cinta, reproduces el WAV del binario.
A mi me lo ha hecho correctamente, pero al no haber DOS conectado se ha colgado también, como a tí.
Procedimiento seguido:
Preparar en pantalla de Dragon la orden EXEC&H4000 e ir al PC y ejecutar la parte JAVA
Asumiendo que el cable esté conectado al COMM1, seleccionar esta opción y luego darle Intro en Dragon. AQUI es donde se ha colgado el Dragon!!
Si todo ha ido bien en el PC debería aprecer el OK de Dragon y a partir de este momento lo que se escriba en el PC lo recibe Dragon y responderá adecuadamente.
Por ejemplo tecleando LIST y pulsando enter, se recibe el listado del Dragon (T.BAS)

espero no tardar demasiado en añadir el control de presencia de DOS
muchas gracias por experimentarlo y reportar el problema!!
saludos

Avatar de Usuario
pser1
Mensajes: 2857
Registrado: 08 Dic 2012 18:34
Agradecido : 623 veces
Agradecimiento recibido: 746 veces

Re: Conectividad Dragon - PC

Mensajepor pser1 » 04 Ene 2014 17:18

era fácil, afortunadamente.
Ahora el programa ensamblador de Dragon mira si hay unidad de discos conectada y en caso contrario, no hace los cambios y lo mas importante:
Evita el bucle que se generaba en la rutina de recepción de datos en el control que se hace para esperar a que el motor del disco se pare . . . si no hay discos, se puede meter en bucle eternamente!!
Además he modificado el programa T.BAS para que el también detecte si hay disqueteras conectadas, de forma que si las hay, entonces carga desde disco, pero si no encuentra discos, entonces carga de caset (podéis reproducir el WAV desde el PC, yo utilizo Audacity, un gran programa que permite utilizar el PC como si fuera el reproductor/grabador de caset de Dragon) a pesar de que la lentitud en este sistema sea dolorosa, si no tienes discos pues eso o a hablar con nuestro comañero lafumat para conseguir una controladora!
Pues nada, ron aquí tienes otra versión para probar. COPIA TODO, Java incluido pues hay algún pequeño cambio explicado en el fichero LEEME.TXT


ya me contaréis . . .
saludos
pere

Avatar de Usuario
ron
Mensajes: 18853
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1939 veces
Agradecimiento recibido: 1666 veces

Re: Conectividad Dragon - PC

Mensajepor ron » 04 Ene 2014 20:24

Correctísimo, a ver, si está puesto no lo vi, o simplemente no leí que debía tener la controladora conectada. Evidentemente ante la excitación del mero hecho de transmitir chicha al Dragon obvié ese punto. Me di cuenta que algo faltaba pero antes de decidir hacer comentarios preferí ponerlo tal cual, pero siempre desde la perspectiva de alguien que tiene un Dragon pero que no tiene controladora.

Una vez comentado y si me lo permites, quisiera preguntar si sería posible ( ya que la parte de PC es necesaria ) aprovechar una aplicación tipo servidor que haga uso de los comandos DLOAD y DLOADM desde Dragon 64. Ya, el 32 se queda cojo, pero sigue siendo una alternativa que se puede al menos conocer, descubrir y aprender.

Es decir, desde la parte PC/Linux/Mac que hace de servidor ... ¿ es viable ?, lo digo porque del mismo modo que es posible definir una impresora serie en dragon...

POKE &H3FF,1

y desde BASIC, tan solo tenemos que usar LLIST o PRINT #2

El puerto serie del Dragon enviará el contenido y el PC lo recibirá.

No se, son bocetos sin concretar, ideas... a ver si se puede aprovechar algo de todo esto. Por mi parte intentaré reproducir y probar todo lo que nos vas dejando que está de lujo y es una gozada.

Avatar de Usuario
pser1
Mensajes: 2857
Registrado: 08 Dic 2012 18:34
Agradecido : 623 veces
Agradecimiento recibido: 746 veces

Re: Conectividad Dragon - PC

Mensajepor pser1 » 04 Ene 2014 22:13

hola ron,
de entrada decirte que NO está avisado en ninguna parte de mis TXT que sea necesario tener las disqueteras conectadas y en marcha, porqué NO es indispensable.
El problema es que mi Dragon siempre está con la controladora de lafumat y solamente hice pruebas con discos. Obviamente sin ellos NO funcionaba el programa.
La versión 2.1 debería corregir este problema ya .
Una vez comentado y si me lo permites, quisiera preguntar si sería posible ( ya que la parte de PC es necesaria ) aprovechar una aplicación tipo servidor que haga uso de los comandos DLOAD y DLOADM desde Dragon 64. Ya, el 32 se queda cojo, pero sigue siendo una alternativa que se puede al menos conocer, descubrir y aprender.

No veo ningún problema para hacerlo, salvo dedicar una buena cantidad de tiempo en analizarlo, programarlo y luego hacer un montón de pruebas.
A mi, DLOAD me parece utilizable aunque impica un protocolo de ida y vuelta bastante tedioso.
Lo ideal sería replicar una serie de funciones de nuestro D.O.S en Java, para poder pedirle por ejemplo:
- DIR
- FREE
- LOAD"NombreFichero" (para BASIC)
- LOADM"NombreFichero (para Binarios)
Obviamente sería perfecto llegar a replicar también
- SAVE"NombreFichero
- SAVEM"NombreFichero,Inicio,Fin,Ejecucion
y tantos otros comandos no tan utilizados, pero importantes como
- COPY"Origen" TO "Destino"
y seguro que me olvido algunos vitales . . .

POKE &H3FF,1
y desde BASIC, tan solo tenemos que usar LLIST o PRINT #2

El programa ensamblador hace exactamente eso: POKE &H3FF,1 cuando ejecutamos &H7002 solo que además prepara el puerto serie para que funccione a 19200 baudios y así se pueda entender con el PC que parametriza el puerto serie a esta velocidad (es la máxima permitida por la ACIA SY6551 montada en Dragon 64)
Evidentemente EXEC&H7004 lo que hace es POKE &H3FF,0 para dejarlo a puerto paralelo

La verdad es que lo primero es obtener un sistema fiable y sobre todo sin bucles de retardo para comunicarse y poder enviar los datos del PC a Dragon en cualquier ordenador.
Esta parte la solucioné ayer, cuando comparé el programa Java de enviar VDK con una versión de hace mucho tiempo. Sorpresa! en la antigua había puesto un control del flag CTS en Java que resulta que cambia a 1 cuando el Dragón pone a 1 el DTR, cosa que hace antes de recibir un byte, indicando al PC que está esperando datos.
Como tengo una copia de esta aplicación para intentar pasar un fichero de texto (BASIC) desde PC a Dragon usando el terminal de 80 columnas, le añadí esta linea en el código java y comenté el bucle de retardo. Funciona perfectamente!
Ahora solo queda finalizar otro proyecto (este en BASIC de Dragon de momento) que permite saber donde estan almacenados los programas en disco (sectores ocupados), datos imprescindibles para poder leer estos sectores en el VDK y enviarlos como un churro al Dragon, esto serviria como equivalente de LOAD para binarios
En fin, tendré que ir cerrando historias a medio hacer para concentrarme en la conexión RS232 para usar el PC como unidad de disco del Dragon.
Tengo otro tema abierto que es un programa BASIC que encontré en internet, un desensamblador para 68x09, lo he estado trasteando y ahora me desensambla sin problemas tanto 6809 como 6309.
Me hice un programa que genera una sentencia de cada opcode (por lo menos) para verificar si el desensamblador las entiende todas. Actualmente la respuesta es SI!
No tengo la menor idea de si alguien puede estar interesado en un desensamblador que sea tanto para 6809 como para 6309. En mi Dragon 64 tengo instalado un 6309.

Vaya rollo, parece fin de semana!
saludos
pere

dancresp
Mensajes: 5497
Registrado: 13 Nov 2010 02:08
Agradecido : 254 veces
Agradecimiento recibido: 343 veces

Re: Conectividad Dragon - PC

Mensajepor dancresp » 05 Ene 2014 00:57

Interesante proyecto y mis felicitaciones al autor.

Todavía recuerdo los problemas que tuvo ron...

Avatar de Usuario
ron
Mensajes: 18853
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1939 veces
Agradecimiento recibido: 1666 veces

Re: Conectividad Dragon - PC

Mensajepor ron » 05 Ene 2014 10:25

dancresp escribió:Interesante proyecto y mis felicitaciones al autor.

Todavía recuerdo los problemas que tuvo ron...


Off Topic
Tengo la impresión que lo dices por esto:
viewtopic.php?p=100039374#p100039379


Pues va a ser difícil explicar que pasó. A mi opinión se trataba de poltergeist ya que la máquina es un Dragon 64 raro.
Si, frabicado en Gales y reempaquetado por Eurohard pero si te acuerdas vendido como Dragon 64 cuando este mismo se trata de un TANO.

http://www.youtube.com/watch?v=V2yoOHBFjPE


Ahora es PAL, que cosas... de aquella se cambió el LM1889 y todo el problema pensamos que vino por la RAM alta ( o eso creimos porque en modo 32 funcionaba perfectamente, es como tener dos máquinas en una ). Dudo que el uso del RS232 tuviera nada que ver en todo ello, simplemente pasó y ahora es una anécdota. Al final realmente el problema vino por un contacto en mal estado, por lo que dependiendo de como estuviera funcionaba o no, eso lo explica todo aunque existía un problema de fondo que creemos se solventó cambiando un IC de RAM. Digo lo de creemos porque esto es lo más ortodoxo que se nos presentó.

Y la explicación de mi Dragon :

The first batch of "Dragons by Tano" were made in Dragon Datas factory in Wales, and was Dragon 64s modified to meet the US NTSC television standard.

These Welsh made "Dragons by Tano" had the gray colour of the European Dragon 64s. Later Tano set up licensed production in the US, these were also Dragon 64s, but in the creamy colour of the European Dragon 32s.

The Tano Dragons didnt manage to compete with the all-american Tandy CoCo, so the whole "operation" was rather short lived.

Avatar de Usuario
pser1
Mensajes: 2857
Registrado: 08 Dic 2012 18:34
Agradecido : 623 veces
Agradecimiento recibido: 746 veces

Re: Conectividad Dragon - PC

Mensajepor pser1 » 05 Ene 2014 21:00

ya de vuelta de la cabalgata de mi barrio, aprovecho para dejaros un pequeño presente de Reyes:
La aplicación pasa a versión v2.2 y ahora ya permite enviar ficheros de texto que contengan BASIC hacia el Dragon!

Desafortunadamente el BASIC deMicrosoft en Dragon tiene un pequeño bug que impide entrar mas de 249 caracteres en una linea BASIC (a pesar de que editando permite meter hasta 254)
He utilizado un fichero de pruebas que supera esta longitud en dos lineas (os lo adjunto en el paquete)
Actualmente el programa Java, con los controles que le he añadido, nos envía un mensaje indicando la linea que va a ser truncada por Dragon y además muestra los caracteres que se han perdido.
Por tanto, bastará con editar estas lineas desde la pantalla del PC, pues seguimos conectados y añadir dichos caracteres y a guardarlo en disco o caset, a vuestro gusto.
Mas info al respecto en el fichero LEEME.TXT del paquete.
En esta versión viene:
El disco VDK completo
La biblioteca RXTXComm en una carpeta
La carpeta JAVA con los fuentes y el jar ejecutable
Los ficheros WAV (de Basic y Binario) y el DRM de DskDream
Además está el fichero TXT de prueba y el LEEME.txt

_Bloc 04 - PC como Terminal 80 col para D64 via RS232 v2.2 (2014-01-05).zip
versión 2.2 (envío de ficheros BASIC)
(1.69 MiB) Descargado 80 veces

Nota:
Este añadido ha servido para probar el envío de ficheros completos a pantalla de Dragon, que sobre la marcha tokeniza las órdenes BASIC y las convierte en lineas de programa ya ejecutables.
Como coste, al usar el modo terminal, el Dragon envía a pantalla (y por tanto al PC) todos y cada uno de los bytes recibidos. Que palo esperar que Dragon envíe lo que ha recibido para poder enviarle el siguiente byte. Veremos si puede evitarse este comportamiento, pero aceptándolo el resultado es bueno. Podemos pasarnos los ficheros que tengamos en txt a Dragon y guardarlos ya!
Como todo se realiza desde una función disparada por F4 (una pulsación de tecla), la pantalla del PC no se actualiza hasta finalizada la transmisión, o sea que no veréis nada nuevo en pantalla
hasta que acabe la transmisión. A mi me tarda unos 40 segundos y luego aparece el programa completo con las dos lineas recortadas.

que no os regalen solo carbón y/o calcetines -507
Saludos
pere


Volver a “Dragon”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 8 invitados