¿ Que tal vais con las controladoras de Dragon ?

Avatar de Usuario
ron
Mensajes: 18845
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1932 veces
Agradecimiento recibido: 1659 veces

¿ Que tal vais con las controladoras de Dragon ?

Mensajepor ron » 21 Abr 2013 20:27

Se me había ocurrido preguntar a todos aquellos que consiguieron una controladora de Dragon cuando tuvimos la oportunidad con José Leandro y Lafumat

¿ qué tal vais con el Dragon y con la controladora ?

¿ estáis ya probando software de disco para Dragon ?

¿ habéis probado el OS9, NitrOS, algo nuevo ?

¿ habéis pasado cosas desde PC a disco para Dragon de y Cassette a Disco ?


En fin, que si la usáis y le sacáis partido y si habéis podido ver cosas nuevas. Me parece apropiado porque desde que tengo tanto la controladora original que me pasó lafumat como el clon de José Leando el Dragon se pone en otra categoría. Voy a aprovechar a ver si subo algo más al centro de preservación para que lo probéis.

jltursan
Mensajes: 2848
Registrado: 20 Sep 2011 13:59
Agradecido : 218 veces
Agradecimiento recibido: 645 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor jltursan » 21 Abr 2013 22:34

¡Por supuesto que se ha probado el NitrOS9! -507

El caso es que aunque está muy bien, me suele llamar más la atención el Flex. El hecho de que ya venga incorporado el Flex-BASIC lo hace muy interesante (ese CLS51 del BASIC es la caña -grin). El BASIC09 del OS9 se supone que es muy potente; pero no es compatible con el viejo BASIC y da pereza ponerse a usarlo.

Además, desde el Flex-BASIC y dado que tengo montado un 6309 (lo recomiendo), puedo activar el modo nativo de esta CPU mediante:

Código: Seleccionar todo

POKE 512,17
POKE 513,61
POKE 514,1
POKE 515,57
EXEC512


Y listos, ¡un 15% más de velocidad para el micro!

Si además le ejecuto el poke de "doble" velocidad:

Código: Seleccionar todo

POKE 65495,0


Ale, ya es un 40% más rápido. Usando el modo CLS51, se nota pero bien :-)

Una pena que en modo nativo del 6309 no funcione el interfaz de disco. Lo tengo con DOSPlus; así que probaré con el DragonDOS o el SuperDOS, a ver si alguno de esos soluciona el problema de compatibilidad. Si no es así, es posible que se trate del propio hardware que sea sensible a la temporización.

Respecto a los volcados desde PC, sin problemas. Ahí va un método sencillo usando unos pequeños scripts:

Utilizando las disqueteras de 3,5" no hay problema alguno (o yo no lo he encontrado)

Para volcar imágenes VDK de simple densidad (180K)

Código: Seleccionar todo

DSKINI /T40 %2
echo y | VCOPY %1 %2


Para volcar imágenes VDK de doble densidad (360K)

Código: Seleccionar todo

DSKINI /T40 /D %2
echo y | VCOPY %1 %2


Ambos scripts se ejecutarías pasándoles como parámetros 1) Archivo .VDK y 2) unidad de disco (A: ó B:)

El VCOPY y el DSKINI son utilidades para Dragon bastante populares. Nadie debería tener problemas para encontrarlas...

Avatar de Usuario
pser1
Mensajes: 2835
Registrado: 08 Dic 2012 18:34
Agradecido : 616 veces
Agradecimiento recibido: 744 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor pser1 » 26 Abr 2013 18:25

Buenas tardes,

el problema del 6309 en modo nativo es que guarda en el stack DOS nuevos registros que no tenía el 6809 (son el E y el F, que combinados se ven como el W)
Esto hace que las IRQ que utiliza el sistema operativo DOS tropiecen con els obstáculo de que al estar pensadas para el 6809 solamente recuperan del stack los registros propios y se olvidan de estos dos nuevos.
Yo también tengo un 6309 y para trabajar con discos en modo nativo lo que hago es copiar toda la ROM a RAM y allí modificar solamente DOS bytes:
POKE &HC6FD, &H6E (comprobar antes que su contenido era &H6C o sea dos bytes menos!) esto corrige el DOS
POKE &HAFF0, &H69 (verificando que antes contuviera &H67) esto repara la función de control de tiempos para el comando PLAY del BASIC (en caso contrario se cuelga)
En cualquier momento que quieras volver a modo nativo, hay que hacer los POKEs contrarios, poniendo el valor que había inicialmente.
Saludos

jltursan
Mensajes: 2848
Registrado: 20 Sep 2011 13:59
Agradecido : 218 veces
Agradecimiento recibido: 645 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor jltursan » 27 Abr 2013 12:31

¡Gracias por la info!. Eso pide a gritos que se generen binarios de paso a nativo/emulación y que engloben el copiado de la ROM a RAM y el parcheo correspondiente. O liandose la manta a la cabeza, parchear un DOS para que en la inicialización detecte el 6309+64K y lo haga el solito :-)
Por cierto, como ya digo, supongo que eso sólo será posible en el Dragon 64, ¿no?.

A ver si encuentro por ahí una rutina de copiado ROM/RAM, digo yo que si encuentro el desensamblado de la ROM valdrá con reciclar la del INIT.

Avatar de Usuario
ron
Mensajes: 18845
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1932 veces
Agradecimiento recibido: 1659 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor ron » 27 Abr 2013 12:41

jltursan escribió:¡Gracias por la info!. Eso pide a gritos que se generen binarios de paso a nativo/emulación y que engloben el copiado de la ROM a RAM y el parcheo correspondiente. O liandose la manta a la cabeza, parchear un DOS para que en la inicialización detecte el 6309+64K y lo haga el solito :-)
Por cierto, como ya digo, supongo que eso sólo será posible en el Dragon 64, ¿no?.

A ver si encuentro por ahí una rutina de copiado ROM/RAM, digo yo que si encuentro el desensamblado de la ROM valdrá con reciclar la del INIT.


http://www.6809.org.uk/dragon/6309fit.shtml

http://dragon32.info/info/memmap.html

The default EXEC address is set to $bf49 so an EXEC or EXEC 48000 from
initial D32 mode will enter 64K mode. This causes a switch to RAM mode, the
D64 BASIC ROM is copied to RAM $c000-$feff and 48K of RAM is available
$0000-$bfff to the BASIC system. Differences in 64K mode include auto
repeating keys, a blue cursor and the copyright date in the sign on message
changes from 1982 to 1983. On reset, the machine enters 32K mode, the warm
start interrupt routine points to $bf49 which re-enables 64K RAM mode and
checksums the upper RAM contents.

http://dragon32.info/info/d64difs.html

Código: Seleccionar todo

3.   Detailed 32K mode ROM differences from a Dragon 32

Addr   Dragon 32            Dragon 64

$8000   7e bb 40   JMP  $bb40      7e bb_3c_   JMP  $bb3c
   Jump table - Hardware Initialisation routine
   D64 routine contains additional serial port configuration routine

$802d   7e be 7c   JMP  $be7c      7e be_98_   JMP  $be98
   Jump table - read byte from serial port   
   D32 jumps to dummy routine which returns error
   D64 jumps to serial port handler routine

$8030   7e be 7d   JMP  $be7d      7e be_a6_   JMP  $bea6
   Jump table - send byte to serial port
   D32 jumps to dummy routine which returns error
   D64 jumps to serial port handler routine

$8c33    93 1f      SUBD <$1f      7e 9f ce   JMP  $9fce
$8c35   21 4f      BRN  $8c86      -
$8c36   4f      CLRA         4f      CLRA
   Patch to the MEM routine to handle >32K free memory on D64

$8ca0    a7 00      STA  0,X      a7 84      STA  ,X
   Change in assembly from 5 bit zero offset to no offset indexing

$98e3   cc ba 42   LDD  #$ba42      cc b8 44   LDD  #$b844
   Sets volume data default stored in $00df:00e0 - Each byte represents
   values sent to $FF20 as DAC data - clearing bit 1 in each case fixes
   problem with garbage being strobed to printer while DAC active.

$9b09   7e 8c 37   JMP  $8c37      7e 9f d0   JMP  $9fd0
   Patch to the VARPTR routine to handle >32K ptrs on D64

$9d00   9d 9f      JSR  <$9f      9d 9f      JSR  <$9f
$9d02   8d 09      BSR  $9d0d      9d 9f      JSR  <$9f
$9d04   34 10      PSHS X         8d 07      BSR  $9d0d
$9d06   8d 2d      BSR  $9d35      34 10      PSHS X
$9d08   35 40      PULS U         8d 2b      BSR  $9d35
$9d0b   c4 9f      STX  ,U         f1 a5      STX  [,S++]
   ?? DEF USR fix - note U now is unchanged ??

$9d0e   9d 9f      JSR  <$9f      9d a5      JSR  <$a5
   Bug fix in the USR function which required the D32 to use USR00-09
   instead of USR0-9

$9fce   00 00      Unused         93 1f      SUBD <$1f
$9fd0   00 00      Unused         0f 06      CLR  <$06
$9fd2   00 00      Unused         dd 52      STD  <$52
$9fd4   00 00      Unused         c6 90      LDB  #$90
$9fd6   00 00 00   Unused         7e 9c 3e   JMP  $9c3e
   Extra code to support VARPTRs >32K on the D64

$aae0   d1 19      CMPB <$19      5a      DECB
$aae2   22 09      BHI  $aaed   $aae1   86 06      LDA  #$06
$aae4   5a      DECB      $aae3   3d      MUL
$aae5    86 06      LDA  #$06   $aae4   db bc      ADDB <$bc
$aae7   3d      MUL      $aae6   d1 19      CMPB <$19
$aae8   db bc      ADDB <$bc      24 03      BLO  $aaed
   Fixes bug which allowed PCOPY page numbers such as 20ish ??

$ae1c   cc 7e 7e   LDD  #$7e7e      cc 7e 7c   LDD  #$7e7c
$ae71   86 7e      LDA  #$7e      86 7c      LDA  #$7c
$aef2   86 7e      LDA  #$7e      86 7c      LDA  #$7c
$af1b   86 7e      LDA  #$7e      86 7c      LDA  #$7c
   Fixes to the volume data sent to DAC to ensure printer strobe line
   remains low.

$b487   8b 8d      data         bf 49      data
   Changes the default EXEC address at $009d:009e to boot 64k mode on D64

$b4a8   00      data         05      data
   Change to set default auto-repeat delay at $011f on D64
   
$b8cc   26 34      BNE  $b902      26 fa      BNE $b8c8
   Change to ignore cassette i/o errors on match name block ??

$baad   0f 08      CLR  <$08      12      NOP
               $baae   5f      CLRB
   Bug fix to ensure DAC is always selected as audio source when
   producing a sound ??

$bad5   86 7e      LDA  #$7e      86 7c      LDA  #$7c
   Fixes to the volume data sent to DAC to ensure printer strobe line
   remains low.

$bb35   39 39 39 39 39 39 39         00 00 00 00 00 00 00
   Unused area ??

$bb3c   6e a4       JMP  ,Y         -   
$bb3e   39       RTS         -
$bb3f   39      RTS         -
$bb40   cc 00 34   LDD  #$0034   $bb3c   cc 00 34   LDD  #$0034
$bb43   8e ff 00   LDX  #$ff20   $bb3f   8e ff 00   LDX  #$ff00
        ....               ....
$bb67   6f 02      CLR  2,X   $bb63   6f 02      CLR  2,X
$bb69    a6 02      LDA  2,X   $bb65   cc 0a 98   LDD  #$0a98
   -      -      $bb68   fd ff 06   STD  $ff06
   -      -      $bb6b   b6 ff 04   LDA  $ff04
                  Inits Serial Port ACIA
$bb6b   8e ff c0   LDX  #$ffc0   $bb6e   8e ff c0   LDX  #$ffc0
   ....               ....
$bb75   f7 ff c9   STB  $ffc9   $bb78   f7 ff c9   STB  $ffc9
$bb78   85 04      BITA #$04   $bb7b   f7 ff dd   STB  $ffdd
                  64Kbit ram chips
$bb7a   27 05      BEQ  $bb81   $bb7e   20 03      BRA  $bb83
$bb7c   f7 ff db   STB  $ffdb   $bb80   7e bf 49   JMP  $bf49
   16Kbit ram chips        $bb80=48000 D64 64K mode boot exec
$bb7f   20 03      BRA  $bb84   $bb83   5f      CLRB
$bb81   f7 ff dd   STB  $ffdd      -      
   64Kbit ram chips
$bb84   1f 9b      TFR  B,DP   $bb84   1f 9b      TFR  B,DP

$bb92   ce 01 48   LDU  #$0148      bd be ff   JSR  $beff
   Patch to add code to clear serial printer delay and flag $03fd-03ff

$bba0   00 80      data         01 00      data
   Changes default cassette leader byte count at $0090:0091

$bbb1   20 44 4e 53   " DNS"         00 00 00 00   data
   Change to End of Line table default chrs $014d-0150

$bbe9   4d      TSTA         7e be e0   JMP  $bee0
$bbea   35 94      PULS  B,X,PC
   Patch to include Auto-repeat routine into key scan on D64 in 32K mode

$bcf7   f6 ff 22   STA  $ff22      7d 03 ff   TST  $03ff
$bcaa   56      RORB         7e be c5   JMP  $bec5
$bcfb   25 fa      BCS  $bcf7      -      -
   Patch to the lowest level printer routine to support serial printer

$bd16   5a      DECB         7e bf 0c   JMP  $bf0c
$bd17   20 f6      BRA  $bd0f      -      -
   Patch to include check for serial printer end of line delay

$be7b   39       RTS         34 05      PSHS CC,B
               $be7d   1a 50      ORCC #$50
               $be7f   86 08      LDA  #$08
               $be81   f6 ff 06   LDB  $ff06
               $be84   ca 01      ORB  #$01
               $be86   f7 ff 07   STB  $ff07
                $be89   c4 fe      ANDB #$fe
                $be8b   b5 ff 05   BITA $ff05
               $be8e   27 fb      BEQ  $be8b
               $be90   f7 ff 06   STB  $ff06
                $be93   b6 ff 04   LDA  $ff04
               $be96   35 85      PULS CC,B,PC
   Read a byte from serial port, JMPd to from $802a

$be7c   39       RTS      $be98   34 05      PSHS CC,B
               $be9a   c6 10      LDB  #$10   
               $be9c   f5 ff 05   BITB $ff05
               $be9f   27 fb      BEQ  $be9c
               $bea1   b7 ff 04   STA  $ff04
               $bea4   35 85      PULS CC,B,PC
   Sends a byte to serial port, JMPd to from $802d, also called
   from patched printer routine at $bedb

$be7d   53      COMB      $bea6   c1 07      CMPB #$07
$be7e   39      RTS      $bea8   24 12      BHS  $bebc
               $beaa   8e be be   LDX  #$bebe
               $bead   3a      ABX
               $beae   f6 ff 07   LDB  $ff07
               $beb1   c4 f0      ANDB #$f0
               $beb3   ea 84      ORB  #$84
               $beb5   f7 ff 07   STB  $ff07
               $beb8   1c fe      ANDCC #$fe
               $beba   20 01      BRA  $bebd
               $bebc    53      COMB
               $bebd   39      RTS

               $bebe   03 06 07 08 0a 0c 0e
                  Data table maps B to h/w byte
   Set serial port baud rate from B, JMPd to from $8030

               $bec5   26 14      BNE  $bedb
               $bec7   f6 ff 22   LDB  $ff22
               $beca   56      RORB
               $becb   25 fa      BCS  $bec7
               $becd   7f ff 02   CLR  $ff02
               $bed0   f6 ff 00   LDB  $ff00
               $bed3   ca 80      ORB  #$80
               $bed5   5c      INCB
               $bed6   26 f5      BNE  $becd
               $bed8   7e bc fd   JMP  $bcfd
   Added printer routine - see $bdf7, CC.Z is clear on entry if a serial
   printer is set up.  Otherwise, loops while Printer Busy is high, then
   loops if any key is pressed - this causes the Break check during
   printing to be rendered almost useless.

               $bedb   35 04      PULS CC,B
               $bedd   7e be 98   JMP  $be98
   Added routine to send byte to serial printer called from $bed5

               $bee0   f6 01 51   LDB  $0151
               $bee3   5c      INCB
               $bee4   26 03      BNE  $bee9
               $bee6   f7 01 1d   STB  $011d
               $bee9   4d      TSTA
               $beea   27 11      BEQ  $befd
               $beec   f6 01 1f   LDB  $011f
               $beef   b1 01 1d   CMPA $011d
               $bef2   27 03      BEQ  $bef7
               $bef4   58      LSLB
               $bef5   58      LSLB
               $bef6   58      LSLB
               $bef7   f7 01 1e   STB  $011e
               $befa   b7 01 1d   STA  $011d
               $befd   35 94      PULS B,X,PC
   Added subroutine to implement a simple auto repeat, JMPd to from $bbe9

               $beff   7f 03 ff   CLR  $03ff
               $bf02   7f 03 fd   CLR  $03fd
               $bf05   7f 03 fe   CLR  $03fe
               $bf08   ce 01 48   LDU  #$0148
               $bf0b   39      RTS
   Added code, patched from $bb92 to initialise serial printer data
   storage.

               $bf0c   5a      DECB
               $bf0d   27 03      BEQ  $bf12
               $bf0f   7e bd 0f   JMP  $bd0f
   Added code, patched in from $bd16 to check for the serial end of
   line delay

               $bf12   10 be 03 fd   LDY  $03fd
               $bf16   27 07      BEQ  $bf1f
               $bf18   bd bb c5   JSR  $bbc5
               $bf1b   31 3f      LEAY -1,Y
               $bf1d   26 f9      BNE  $bf18
               $bf1f   39      RTS
   Added sub, called from $bf0d to implement the serial printer end
   of line delay.

               $bf20   f6 ff 05   LDB  $ff05
               $bf23   2a 0d      BPL  $bf32
               $bf25   c4 08      ANDB #$08
               $bf27   27 08      BEQ  $bf31
               $bf29   b6 ff 06   LDA  $ff06
               $bf2c   84 fe      ANDA #$fe
               $bf2e   b7 ff 06   STA  $ff06
               $bf31   3b      RTI
   New interrupt service routine to support the serial port ACIA.
   If the serial port is not the source, the auto-repeat update at $bf32
   is run.

               $bf32   74 01 51   LSR  $0151
               $bf35   7a 01 1e   DEC  $011e
               $bf38   26 0c      BNE  $bf46
               $bf3a   86 ff      LDA  #$ff
               $bf3c   8e 01 51   LDX  #$0151
               $bf3f   a7 80      STA  ,X+
               $bf41   8c 01 5a   CMPX #$015a
               $bf44   25 f9      BLO  $bf3f
               $bf46   7e 9d 3d   JMP  $9d3d
   Clears the keyoard table to recognise new key codes, then JMPs
   to original IRQ routine

               $bf49   12      NOP
               $bf4a   1a 50      ORCC #$50
               $bf4c   8e bf 5a   LDX  #$bf5a
               $bf4f   ce 01 da   LDU  #$01da
               $bf52   c6 8f      LDB  #$8f
               $bf54   17 fc 40   LBSR $bb97
               $bf57   7e 01 da   JMP  $01da
   64K boot routine, JMPd to from $bb80 (64000) also set as default EXEC
   address in $009d:009e  This code is also called when doing a warm
   start from 64K mode since 32K ROM mode is re-enabled by the SAM.

               $bf5a   b6 01 1a   LDA  $011a
               $bf5d   81 55      CMPA #$55
               $bf5f   26 16      BNE  $bf77
               $bf61   b7 ff df   STA  $ffdf
               $bf64   8e c0 00   LDX  #$c000
               $bf67   cc 00 00   LDD  #$0000
               $bf6a   e3 81      ADDD ,X++
               $bf6c   8c ff 00   CMPX #$ff00
               $bf6f   25 f9      BLO  $bf6a
               $bf71   10 b3 01 1b   CMPD $011b
               $bf75   27 6f      BEQ  $bfe6

               $bf77   b7 ff de   STA  $ffde
               $bf7a   b6 ff 23   LDA  $ff23
               $bf7d   84 fb      ANDA #$fb
               $bf7f   b7 ff 23   STA  $ff23
               $bf82   f6 ff 22   LDB  $ff22
               $bf85   ca 04      ORB  #$04
               $bf87   f7 ff 22   STB  $ff22
               $bf8a   8a 04      ORA  #$04
               $bf8c   b7 ff 23   STA  $ff23
               $bf8f   b6 ff 22   LDA  $ff22
               $bf92   84 fb      ANDA #$fb
               $bf94   b7 ff 22   STA  $ff22
               $bf97   fe bf f0   LDU  #$bff0
               $bf9a   11 83 36   CMPU #$3634
               $bf9e   27 08      BEQ  $bfa8
               $bfa0   8a 04      ORA  #$04
               $bfa2   b7 ff 22   STA  $ff22
               $bfa5   7e 8b 8d   JMP  $8b8d

               $bfa8   7f 01 1b   CLR  $011b
               $bfab   7f 01 1c   CLR  $011c
               $bfae   8e 80 00   LDX  #$8000
               $bfb1   10 8e c0 00   LDY  #$c000
               $bfb5   ec 81      LDD  ,X++
               $bfb7   b7 ff df   STA  $ffdf
               $bfba   ed a1      STD  ,Y++
               $bfbc   f3 01 1b   ADDD $011b
               $bfbf   fd 01 1b   STD  $011b
               $bfc2   10 8c ff 00   CMPY #$ff00
               $bfc6   24 05      BHS  $bfcd
               $bfc8   b7 ff de   STA  $ffde
               $bfcb   20 e8      BRA  $bfb5

               $bfcd   8e bf f0   LDX  #$bff0
               $bfd0   9f 74      STX  <$74
               $bfd2   9f 27      STX  <$27
               $bfd4   9f 23      STX  <$23
               $bfd6   30 89      LEAX -200,X
               $bfda   9f 21      STX  <$21
               $bfdc   1f 14      TFR  X,S
               $bfde   8e bf 49   LDX  #$bf49
               $bfe1   9f 72      STX  <$72
               $bfe3   7e c0 00   JMP  $c000

               $bfe6   7e c0 03   JMP  $c003

Avatar de Usuario
pser1
Mensajes: 2835
Registrado: 08 Dic 2012 18:34
Agradecido : 616 veces
Agradecimiento recibido: 744 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor pser1 » 27 Abr 2013 14:58

Hola,
tengo un programa que extiende las funciones del Basic añadiendo unos cuantos comandos, entre los que están el pase a modo nativo y la vuelta a modo emulación para un 6309.
Por supuesto, contiene la copia de ROM a RAM y también le añadí las rutinas de autorepetición de teclado (ON - OFF)
Además tengo un pequeño programilla BASIC para probarlo y cargarlo en cualquier parte de la RAM (es binario pero totalmente reubicable)
Voy a preparar versiones en formato WAV que se pueden cargar directamente en la entrada de caset de Dragon simplemente reproduciendo el fichero WAV en un PC que tenga conectada su salida de audio al cable de caset del Dragon.
No sé como lo hacéis para insertar ficheros comprimidos ni que formato se recomienda en este foro.
Trataré de hacer una breve guia que explique los comandos implementados.
Si alguien me envia un correo a la dirección de abajo, se lo enviaré en formato zip.
Me podéis contactar en: psergm@gmail.com
Pere

Avatar de Usuario
ron
Mensajes: 18845
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1932 veces
Agradecimiento recibido: 1659 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor ron » 27 Abr 2013 19:33

puedes subir rar, zip indistintamente

Cuando contestes el post, en la pestaña que sale abajo a la iza, SUBIR ADJUNTO y desde ahí se suben.

Avatar de Usuario
pser1
Mensajes: 2835
Registrado: 08 Dic 2012 18:34
Agradecido : 616 veces
Agradecimiento recibido: 744 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor pser1 » 27 Abr 2013 20:26

muchas gracias por la información.
Paso a subir el ZIP, contiene un fichero leeme.txt con un rollazo sobre el tema
Espero vuestras opiniones y sugerencias!!
buen fin de semana
Pere
Adjuntos
NuevosComandos (2013) - pser.ZIP
(20.73 KiB) Descargado 136 veces

jltursan
Mensajes: 2848
Registrado: 20 Sep 2011 13:59
Agradecido : 218 veces
Agradecimiento recibido: 645 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor jltursan » 28 Abr 2013 12:50

¡Que bueno esto de los comandos para controlar un poquito a bajo nivel el Dragon!. Esto me va a venir bien para familiarizarme un poco con el entorno...:-)

Avatar de Usuario
ron
Mensajes: 18845
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1932 veces
Agradecimiento recibido: 1659 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor ron » 28 Abr 2013 13:14

Yo tengo una controladora original de Dragon, a la cual Lafumat le puso una Eprom con DragonDOS 4.1.
Tengo también la controladora de Jose_Leandro, pero me viene con DragonDos 4.0 si mal no recuerdo.

Por supuesto uso un Dragon64

Por lo que comentas, lo primero que haces es cargar el DDOS11C, lo tengo en un floppy y tengo algunos más.

Mi pregunta es: ¿ sabes si funciona con las controladoras de Jose_Leandro ?

[tabs][tabs: ]Nuevos comandos añadidos (si se añaden a progamas BASIC funcionan correctamente):
WCPU devuelve el tipo de CPU instalada (63x09 o bien 68x09)
WMODE indica el modo de trabajo si hay un 63x09 (emulación o nativo)
NAT63 pasa al modo nativo si hay un 63x09
EMU68 regresa al modo emulación
HMRAM indica si hay 32 ó 64k
WMAP nos dice en que tipo de mapa estamos (ROM - RAM)
GMAP0 pasa a mapa ROM (perdiendo lo que hayamos hecho en RAM alta)
GMAP1 pasa a mapa RAM (habilitando hacer chapuzillas donde queramos)
RPTON activa repetición de teclado
RPTOF la desactiva[/tabs]

PERE ! es un magnífico trabajo sobre 6809/3 y Dragon64, congratulations ! ! !

Avatar de Usuario
pser1
Mensajes: 2835
Registrado: 08 Dic 2012 18:34
Agradecido : 616 veces
Agradecimiento recibido: 744 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor pser1 » 28 Abr 2013 19:07

Hola Ron,

yo sólo tengo controladoras de Lafumat, ninguna de José Leandro, pero no creo que el harware tenga efecto alguno sobre estas utilidades.
El DOS instalado si es importante ya que cada uno tiene las rutinas de tratamiento de las IRQ en posiciones diferentes.
De momento yo trabajo en el emulador XROAR por la flexibilidad que me ofrece y mi bloque de utilidades funciona correctamente arrancando con cualquier DOS de Dragon Data
tanto el DDOS11c como el DDOS12a me funcionan sin problemas, luego los DDOS10, DDOS11, DDOS12 cabe suponer que también funcionarán igualmente.
Ahora estoy intentando probarlo con el DDOS4.1 (el DDOS4.0) es idéntico por lo que a IRQ se refiere respecto al 4.1 y funcionan los nuevos comandos salvo el NAT63 que se resiste (y es el importante).
Es el mas delicado y, al trabajar con DSKDREAM, se hace dificil debugarlo ya que los cambios de modo implican bloquear las interrupciones momentáneamente por lo que el debugger de Alldream no se puede utiizar directamente. Será mas lento debugar enviando mensajes a pantalla si no hay mas remedio, pero todo se andará (confío en poder solucionarlo, pero como solo puedo dedicarle parcialmente sábados tarde-noche y algo de los domingos, necesito muchos dias para acabar algo simple)
No he hecho la prueba de arrancar con el DOS4.1 de la controladora de Lafumat y cambiarle el DOS con el disco de cambio de sistemas DOS, pasando al DDOS11c por ejemplo y luego cargar las utilidades, pero me temo que el DOS de la tarjeta se impone (actualmente es así y ésto es lo que quiero evitar) por lo que NAT63 fracasa y por tanto no nos deja pasar al modo nativo . . .
Una solución hardware relativamente simple es tostar una EPROM con el DDOS11c o el DDOS12a de Dragon Data y ponerla en la controladora que tengas y listo, todas las utilidades funcionarán sin problemas!
Seguiremos en contacto en cuanto haya novedades.
Saludos
Pere

Avatar de Usuario
ron
Mensajes: 18845
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1932 veces
Agradecimiento recibido: 1659 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor ron » 28 Abr 2013 20:33

Pere ! gracias por el trabajo que has hecho, sobre todo por tomarte la molestia de documentar, que es donde se aprende con mayor amplitud.

Y pedazo de hilo que se está quedando, y eso que preguntaba como os iban las controladoras, ahora que somos unos cuantos los que las tenemos. ¿ Quien iba a pensar que los Dragon iban a seguir dando tanta guerra ?

Un saludo

Avatar de Usuario
pser1
Mensajes: 2835
Registrado: 08 Dic 2012 18:34
Agradecido : 616 veces
Agradecimiento recibido: 744 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor pser1 » 29 Abr 2013 20:07

Y la que van a dar mientras queden Dragoneros con ganas . . . y algo de tiempo para dedicarle.
Tengo un ficherito WAV que voy a probar ahora en mi Dragon 64 con la controladora de Lafumat, de momento en XRoar ya me funciona con los DOS de Eurohard. Veremos en vivo y en directo.
En cuanto esté verificado, lo subiré para que lo podáis probar los que ya habéis actualizado vuestro Dragon con un Hitachi 6309.
Luego tendré que juntar las dos variantes Dragon Data DDOS1x con los Eurohard DDOS4x en un único paquete.
De paso, como me he tenido que leer por encima las 15 roms de DOS que tengo para localizar donde estan las rutinas de tratamiento de las IRQ (que es donde duele), pues estaba pensando en añadir otro comando que muestre el DOS con el que estamos trabajando.
Este conjunto de comandos no es mas que una excusa para retomar el ensamblador oxidado del 6809 y cualquier idea puede irse añadiendo, mientras no pasemos de 8K ya que al final esto acabará tostado en una EEPROM de 16k, mitad para el DOS y mitad para inventillos.
Mi primer foro de Dragon fué el anglosajón "The Dragon Archive", tengo mucha información de allí y como está todo en inglés (qué raro, ¿no?) pues he acabado por documentar mis trabajos en Dragon en este idioma, para poderlo compartir con casi todo el mundo. Quien mas quien menos se tiene que aclarar con el idioma de Shakespeare tarde o temprano . . .
Seguimos en contacto
Saludos
Pere

Avatar de Usuario
ron
Mensajes: 18845
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1932 veces
Agradecimiento recibido: 1659 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor ron » 29 Abr 2013 20:12

Actualizar mi Dragon 64 a Hitachi 6309 es un tema que tengo pendiente desde hace tiempo, y con la pérdida de STGO se terminó por difuminar, pero me he entusiasmado de nuevo con hacer una ñapona-retro-cryptica y creo que lo mejor es preguntar:

A ver, que Hitachi 6309 hay que comprar. ¿ Algún sitio ? ¿ web ?
Luego la parte hardware, ¿ está documentado como hacer el cambio a 6309 ?

Tarde o tremprano me haré con un D64 en condiciones, el que tengo es un megamix de Dragon64 NTSC con la madre que lo fundó.... así que a darle cera por bicho raro. Además ya se me suicidó una vez-.

Avatar de Usuario
ron
Mensajes: 18845
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1932 veces
Agradecimiento recibido: 1659 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor ron » 29 Abr 2013 20:36

Pues al tema

Empezando a engullir lo que asoma por aquí: http://sourceforge.net/apps/mediawiki/n ... =Main_Page

Tengo un par de preguntas

¿ se sabe si las controladoras de Dragon funcionan en CoCo2 ? ¿ hay que hacerles cambios en algo, en ROM / EPROM ?

Por otro lado he visto que hay gente que ha echo andar el drivewire en Dragon64: http://comments.gmane.org/gmane.comp.ha ... coco/62074

Aparte de Dragon tengo un CoCo2 ampliado a 64K y Extended Basic, ¿ quien sabe ?

jltursan
Mensajes: 2848
Registrado: 20 Sep 2011 13:59
Agradecido : 218 veces
Agradecimiento recibido: 645 veces

Re: ¿ Que tal vais con las controladoras de Dragon ?

Mensajepor jltursan » 29 Abr 2013 21:35

La sustitución del 6809 es muy sencilla. Es muy normal que el Dragon lleve la CPU en zócalo; así que sólo se trataría de quitarlo y plantarle el 6309.

Yo tengo montado un HD63B09P y funciona sin problemas. Ese es el modelo de 2Mhz (no te va a hacer falta más) y se encuentran por [url=(HD63B09*,HD63C09*)]eBay[/url] a unos precios muy asequibles.

Las controladoras de Dragon no tengo la certeza de que puedan funcionar con un CoCo (pudiera sonarme quizás); pero lo que si que funciona seguro es la FD502 con un Dragon.

El Drivewire y otras cosilla se pueden apañar montando las ROMs Dragoncoco al Dragon. Así se tiene un Dragon/CoCo a golpe de conmutador.


Volver a “Dragon”

¿Quién está conectado?

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