DRAGON 64: Controladora jose_leandro

dancresp
Mensajes: 5195
Registrado: 13 Nov 2010 02:08
Agradecido : 76 veces
Agradecimiento recibido: 148 veces

DRAGON 64: Controladora jose_leandro

Mensajepor dancresp » 17 Oct 2012 22:29

Viene de este hilo: http://retrowiki.es/viewtopic.php?p=100057252#p100057252

Para situaros, la controladora me reconocía la disquetera como unidad 2, y si no hacía un DRIVE 2 no funcionaba ya que por defecto usa el DRIVE 1.

He realizado las modificaciones que me explicó flopping, y a la primera ya tengo el "DRIVE 1" funcionando.

Como se ve en la foto, he quitado la resistencia "000", que ha desaparecido (supongo que ha salido disparada al desoldarla) y he hecho un puente con estaño en el punto "DS0".

Cuando te lo explican tan bien es difícil hacerlo mal.

171020123598_2.jpg


También he aprovechado para poner un cable que solo tenía 2 conectores de disquetera de 3,5" y he recortado el del extremo, que está cruzado, para dejar el cable más corto y presentable. Ha quedado así de bien.

171020123603.jpg


Y el primer "DIR" lo he hecho en honor a flopping.
Como digo, a funcionado a la primera.

171020123604.jpg


Entre el perfecto acabado de la controladora, mérito de jose_leandro y la modificación en la disquetera de flopping, tengo un DRAGON 64 la mar de completito, y yo más feliz que una perdiz. -drinks


Pero como los problemas no pueden acabar aquí...

He pasado varios programas BASIC, copiados hace años de revistas a disquet y funcionan sin problema, pero he copiado el "NUCLEAR INVADERS" (http://retrowiki.es/viewtopic.php?p=100041373#p100041373) y no salen las imágenes. -hypo

Este programa vuelca directamente los gráficos a la memoria de pantalla en modo 256x192 (dirección 1536) y los guardo con la instrucción GET, pero como digo no funciona si la controladora está conectada.

¿Es posible que la controladora modifique la dirección de la memoria de pantalla, o anule algún comando del BASIC?

flopping
Mensajes: 2137
Registrado: 26 Jun 2011 17:50
Agradecido : 1 vez
Agradecimiento recibido: 2 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor flopping » 18 Oct 2012 08:53

Hombre que bien, me alegra que mis explicaciones tengan una aplicacion practica y alguien aprenda algo de ellas, ese "DIR", me ha llegado muy profundo, -drinks jajajajaja.....decirte tambien que si le colocar otro conector al cable que tienes, puedes tener las dos disqueteras conectadas, puesto que ahora tienes una en DF0 y la otra como DF1, es mas, podrias incluso conectar hasta 4 disqueteras, siempre y cuando esten correctamente seleccionadas, DF0, DF1, DF2 y DF3.

Puedes incluso usar el mismo conector que has cortado con los cables cruzados, este se puede desmontar y volver a pinchar en la cinta plana, de esta forma tendras un cable con dos conectores para disqueteras.

Lo de los graficos, resulta raro, no conozco el mapa de memoria del dragon y tampoco las posiciones de memoria que ocupa la disquetera, pero si los demas programas no te han dado problema, es raro que este te los este dando, igual la ubicacion de los graficos del programa esta mal situada, ten en cuenta que al ser un programa no comercial, no se ha tenido en cuenta que ciertas posiciones de memoria que en principio estan libres, pasen a estar ocupadas al conectar la controladora de discos, por lo que es un fallo del programador, una solucion seria reubicar los graficos de ese programa en concreto, pero eso ya se sale de mis conocimientos de programacion, aunque para ti, si que seria factible, por lo que si quieres investigar por ese camino, ya sabes.

Ten en cuenta que los programas comerciales si que estan programados bajo ciertas condiciones y es por eso que la controladora no interfiere, por lo que tendras que "ver", donde guarda ese programa los datos de los graficos y "reubicarlos" en alguna otra posicion de memoria que no interfiera con la controladora, probablemente con reubicar todo el codigo en otro "espacio" de memoria, se solucionaria el problem, o eso creo.

Bueno, esa es mi teoria, pero puedo estar equivocado y que sea otra cosa, ya nos contaras si descubres algo nuevo, salu2.

dancresp
Mensajes: 5195
Registrado: 13 Nov 2010 02:08
Agradecido : 76 veces
Agradecimiento recibido: 148 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor dancresp » 18 Oct 2012 09:10

flopping escribió:Lo de los graficos, resulta raro, no conozco el mapa de memoria del dragon y tampoco las posiciones de memoria que ocupa la disquetera, pero si los demas programas no te han dado problema, es raro que este te los este dando, igual la ubicacion de los graficos del programa esta mal situada, ten en cuenta que al ser un programa no comercial, no se ha tenido en cuenta que ciertas posiciones de memoria que en principio estan libres, pasen a estar ocupadas al conectar la controladora de discos, por lo que es un fallo del programador, una solucion seria reubicar los graficos de ese programa en concreto, pero eso ya se sale de mis conocimientos de programacion, aunque para ti, si que seria factible, por lo que si quieres investigar por ese camino, ya sabes.

Vamos, que he hecho algo mal... -banghead ... porque el "NUCLEAR INVADERS" lo he programado yo en BASIC.

Pero como digo, si quito la controladora funciona, pero si la dejo no salen los gráficos.

-nb

flopping
Mensajes: 2137
Registrado: 26 Jun 2011 17:50
Agradecido : 1 vez
Agradecimiento recibido: 2 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor flopping » 18 Oct 2012 09:32

No es que este mal programado, lo que creo es que esta mal ubicado, eso suele ocurrir generalmente por desconocimiento del funcionamiento interno de la maquina, en spectrum creo que hay una instruccion para ubicar los datos a partir de una posicion de memoria, asi proteges una zona en concreto, no se si el basic del Dagon tambien la tiene, quiza lo que este diciendo sea una tonteria, pero por probar no se piede nada, creo que la instruccion era CLEAR XXXXX donde xxxxx es la direccion de memoria a partir de la cual se va a ubicar el codigo, todo lo que este por encima de XXXXX esta protegido.

Como te digo, no se si al colocar la controladora, esta se "come" algo de memoria y tampoco se en que direccion se ubica esa porcion de memoria que ocupa, lo que si que es evidente es que "algo" pasa al conectar la controladora, no creo que elimine comandos del basic al conectar la controladora al dragon, en todo caso los añadira, pero con estas cosas nunca se sabe.

Como lo de la programacion es tu fuerte, quiza podrias comparar uno o varios programas escritos en basic con el tuyo y asi ver por donde podrian ir los "tiros" o como se muestran los graficos en pantalla, no te puedo decir mas, puesto que esto no es mi "fuerte", solo puedo darte ideas sobre lo que yo creo que puede estar pasando.

Voy a ver si miro esquemas y busco algo de info sobre la controladora, para intentar averiguar por donde nos movemos, salu2.

Avatar de Usuario
ron
Mensajes: 17868
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 857 veces
Agradecimiento recibido: 912 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor ron » 18 Oct 2012 09:57

no se puede uno tomar un par de días de asueto en RW, se queda uno obsoleto en cuestión de horas. -dr4g0n -codrg1

Vamos a ver si me entero de la jugada, el tema es que el Nuclear Invaders ( el cuál llegué a probar ) dices que con la controladora se te "piran los gráficos ", pues para que lo sepas a mi me paso lo mismo.

Entonces me dije, coño si estás usando un Dragon 64, nada más arrancar le casqué un EXEC, con lo cual pasa a modo Dragon64 y sale el cursor azul. Cargué el programa Basic desde disco: [ LOAD "NINV.BAS" ], lo listé y le casqué un RUN. Entonces, si lanzas el programa BASIC directamente a ejecutar con el [RUN "NINV.BAS"] resulta que funciona a la primera. Supongo que cuando el programa BASIC entra desde disco los TOKEN que deben crearse están sin inicializar.

Para salir de dudas, prueba a hacer un PRINT MEM en modo 32 y luego hazlo desde modo 64. [ EXEC ó EXEC 48000]

CLEAR
The CLEAR command erases all variables and reserves space for string
storage.
CLEAR 500
will reserve 500 bytes of storage for string variables.
The CLEAR command can also be used to set the highest BASIC address in
memory to reserve space for machine language routines.
CLEAR 200,14000
will reserve 200 bytes for string storage and set the highest address for BASIC
to 14000. Machine language routines may now be stored from 14001 onwards.
If CLEAR is not used 200 bytes of string space are automatically reserved.




32-ae618e266a.jpg


33-53f7c1b1f4.jpg


34-e8abab4653.jpg


...continuará

Entonces, si lanzas el programa con un RUN NUMERO_LINEA, pues en base tu programa, es cuestión de lanzarlo.

Imagen

dancresp
Mensajes: 5195
Registrado: 13 Nov 2010 02:08
Agradecido : 76 veces
Agradecimiento recibido: 148 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor dancresp » 18 Oct 2012 10:32

Gracias ron, lo pruebo esta noche y os cuento.

flopping
Mensajes: 2137
Registrado: 26 Jun 2011 17:50
Agradecido : 1 vez
Agradecimiento recibido: 2 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor flopping » 18 Oct 2012 20:23

¿Has probado ya el tema?, ¿Funciona o no?, por cierto, mañana por la mañana, asi tempranito, estate atento al foro que voy a crear un hilo que seguro que te interesa, hay lo dejo, jajajaja.....saludos

jose_leandro
Mensajes: 306
Registrado: 23 Ene 2012 20:20
Agradecimiento recibido: 25 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor jose_leandro » 18 Oct 2012 22:03

Hola

Deberías echarle un vistazo al manual de la controladora . En la página 5, indica que al ponerla se modifica la memoria de video

dragon.png


Saludos

José Leandro

P.D ¿Como se inserta una imagen? He probado lo de [img] pero no se como decirle el directorio donde esta la imagen

Editado por el moderador flopping:

Te he editado el mensaje , espero que no te importe y te explico como hacerlo.

Cuando escribes el mensaje, abajo hay una pestaña que pone subir adjuntos, seleccionas el archivo, le das a agregar archivo y veras que aparece al final del mensaje el archivo adjunto, ahora colocas el cursor donde quieras que se inserte la imagen y le das a insertar texto, así veras que se añade un texto asociado a esa imagen, de esa forma se añade la imagen, editate el mensaje y lo veras, salu2

flopping
Mensajes: 2137
Registrado: 26 Jun 2011 17:50
Agradecido : 1 vez
Agradecimiento recibido: 2 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor flopping » 18 Oct 2012 22:43

Por la respuesta de José Leandro y tal como pone en el manual de la controladora, vemos que efectivamente se modifica el área de pantalla al colocar la controladora, por lo que habrá que reubicar tu código para que no lo pise el de la controladora, lo que ya no se si con el comando Clear o alguno similar se podrá solucionar, salu2.

dancresp
Mensajes: 5195
Registrado: 13 Nov 2010 02:08
Agradecido : 76 veces
Agradecimiento recibido: 148 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor dancresp » 19 Oct 2012 00:06

Pues BINGO para jose_leandro !!!

He modificado la línea 4000, y he puesto un 3072 en lugar del 1536 que había.

181020123606.jpg


Y ya funciona bien.

181020123605.jpg


Debe haber alguna variable de sistema que indica donde está la memoria de pantalla, porque si en lugar de POKEar directamente en la posición de memoria lo hago a través de un PSET (activar un punto) en BASIC si que funciona correctamente.


Pues nada, muchas gracias a todos !!!

-thanks

P.D.:
Que gustazo utilizar el DRAGON con la disquetera en lugar del cassette...

flopping
Mensajes: 2137
Registrado: 26 Jun 2011 17:50
Agradecido : 1 vez
Agradecimiento recibido: 2 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor flopping » 19 Oct 2012 09:23

Hombre que facil a sido todo, me alegro que ya este el tema resuelto, siempre se aprende algo nuevo, ahora a hacer juegos como loco para el dragon, jajajajaja....lo de cargar con disquetera es una maravilla, ¿a que parece que el dragon tenga un disco duro de lo rapido que carga?.

Bueno, pues nada, misterio solucionado y por cierto he creado un hilo con otro "mistero" que quiza te interese visionar, buscalo que seguro que sabras cual es y lo encuentras ensegida, que disfrutes de la lectura, salu2.

Avatar de Usuario
ron
Mensajes: 17868
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 857 veces
Agradecimiento recibido: 912 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor ron » 19 Oct 2012 11:50

Es que el momento que el Dragon tiene una unidad de Disco " echa fuego" !!! jojojoojojjo ya me entendisteis cuando dije que un ordenador cambia un montón para bien, y lo mismo le pasa al QL.

flopping
Mensajes: 2137
Registrado: 26 Jun 2011 17:50
Agradecido : 1 vez
Agradecimiento recibido: 2 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor flopping » 19 Oct 2012 12:02

Pues asi es, aun me acuerdo cuando me compre el disciple para spectrum, eso si que era una gozada, se acabaron los tiempos de espera, cargar un juego en 2 segundos era como un milagro, eso si, si parpadeabas, ni te enterabas de la pantalla de carga, jajajaja....salu2.

dancresp
Mensajes: 5195
Registrado: 13 Nov 2010 02:08
Agradecido : 76 veces
Agradecimiento recibido: 148 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor dancresp » 19 Oct 2012 12:27

Sobre este tema, una duda:

La controladora no funciona en un DRAGON-32, ¿no?

Entonces, cuando la pones en un DRAGON-64, este arranca como un DRAGON-32 y funciona la controladora perfectamente.

Pero si hago un EXEC y paso a modo 64 (cursor azul), entonces la controladora ya no funciona (ayer hice un DIR y no respondía).

¿Como funciona el DRAGON-64 con la controladora? -hypo

flopping
Mensajes: 2137
Registrado: 26 Jun 2011 17:50
Agradecido : 1 vez
Agradecimiento recibido: 2 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor flopping » 19 Oct 2012 12:38

La controladora debe de funcionar en un dragon 32 y en un 64, yo solo tengo dragon 32, aunque aun no lo he podido probar, pues me falta la fuente, a ver si alguien con dragon 64 te comenta lo que te esta pasando, Ron te necesitamos, jajajaja....salu2.

Avatar de Usuario
ron
Mensajes: 17868
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 857 veces
Agradecimiento recibido: 912 veces

Re: DRAGON 64: Controladora jose_leandro

Mensajepor ron » 19 Oct 2012 12:48

La controladora debería funcionar indistintamente igual en un 32 o en un 64.

La única diferencia que tiene el 64 es que aparte de 32 KB extras de RAM tiene puerto serie. Y modo basic 64 en donde reubica la ROM al final de la RAM dejando 48KB disponibles.

0001.png
Dragon 32KB BASIC
0001.png (12.44 KiB) Visto 2515 veces


0002.png
Dragon 64KB BASIC
0002.png (18.54 KiB) Visto 2517 veces


d32_6a.jpg
d32 Memory map


Volver a “Dragon”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado