A DOSPlus Extender for Drivewire & CoCo-SDC

A place to discuss everything Dragon related that doesn't fall into the other categories.
MaestroSoftware
Posts: 24
Joined: Wed Jan 01, 2014 6:59 pm

Re: A DOSPlus Extender for Drivewire & CoCo-SDC

Post by MaestroSoftware »

Yep, bluearcus, that is what I was referring to when writing "maybe you use the special capability of the MPI to select a different slot for CTS (ROM) and SCS (floppy disk controller I/O addresses) "

However:
1) In the source code of DosPlusExtender, Pere seems to copy the upper nibble to the lower nibble every time the MPI slot is changed
2) More important, for me, the Race "mpi-like" expansion does not have such capability... and my goal is precisely to port DosPlusExtender MPI handling to the Race Expansion.
pser1
Posts: 1655
Joined: Sun Mar 25, 2012 7:32 pm
Location: Barcelona (SPAIN)

Re: A DOSPlus Extender for Drivewire & CoCo-SDC

Post by pser1 »

MaestroSoftware wrote: Sat May 29, 2021 11:07 pm does DosPlusExtender allow you to work simultaneously with physical floppies and CocoSDC on a Dragon 32?
Hello,
the DOSPlus5.0 extended has a few subroutines that verify for the presence of SDC and FDC too and saves the status in two variables:
- hdwFlow has the slot where the floppies have been found
- hdwSdc has the slot where SDC has been found (in routine tstHDW)
As we have access to four drives, we should do the same procedure that we would do in a CoCo computer with the Tandy multiPack:
- link a virtual VDK file to one drives using SDRIVE (card) or MOUNT (drivewire)
- issue SDRIVE1,OFF so that drive 1 is leaved to the floppy driver (or SDRIVE2,OFF)
That way after linking an VDK to drive 2, for instance, and having issued SDRIVE1,OFF, putting a physical floppy into drive 1
we could issue this command: BACKUP 2 to 1,1,40 to have a copy of the virtual file into the floppy disk
Of course we could do the same the other way round: BACKUP 1 to 2,1,40 to save a floppy into a VDK file in the SDCard
The DP50E will be reading and writting by changing slots accordingly to the needs ...
This is correct for VDK 180K but we could dothe same with disks 360K or 720K changing BACKUP 2 TO 1,2,40 (,2,80)
The main rotuines that test for hardware are tstMPI, tstSDC and tstFLO for multiPack, SDC and Floppies respectively
cheers
pere
bluearcus
Posts: 142
Joined: Wed Sep 07, 2016 4:45 pm

Re: A DOSPlus Extender for Drivewire & CoCo-SDC

Post by bluearcus »

The penny has just dropped... and I now understand a comment Pere made a long time ago in this thread...

viewtopic.php?p=13766#p13766

To do the sector read/write data ready synchronisation, the CoCo uses HALT, which is not demultiplexed at all by the MPI, whereas the Dragon uses !CART, which is, and is unfortunately bundled with !CTS. So the CoCo users can have SDC-DOS features which swap in just the floppy controller and all necessary control lines, to do floppy operations easily, without the floppy controller's ROM coming along as an unwelcome guest, whereas we, sadly cannot.

So DOSPlus either needs to be present on both the SDC and the floppy controller, or you need a 64k machine and run from RAM.
pser1
Posts: 1655
Joined: Sun Mar 25, 2012 7:32 pm
Location: Barcelona (SPAIN)

Re: A DOSPlus Extender for Drivewire & CoCo-SDC

Post by pser1 »

Hello,
I forgot to say in my previous comment that the *only* way to use SDC and floppies at the same time on the Dragon is to ensure that
both slots have the very *same* Operating System.
There are two ways to do that:
- we might change the EEPROM on the floppy controller and put inside a copy of DP50E (the same we use on the SDC)
- switch to MAP1 (all RAM) and copy the Basic and DOS System there. From that point on, both peripherals will share whatever O.S. we have in RAM
We can do that easily using the DosPlus5.0 Extended in case we have a Dragon64, unfortunately NOT for a Dragon32
Let's asume we have the DOSPlus in Flash bank number 5, then we will do:
BANK 5,R
That way we start the ROM in that bank but switching to MAP1, so copying it to high RAM, sharing OS with floppies.
This is how I do copy files or whole disks from FDC to SDC either direction
cheers
pere
pser1
Posts: 1655
Joined: Sun Mar 25, 2012 7:32 pm
Location: Barcelona (SPAIN)

Re: A DOSPlus Extender for Drivewire & CoCo-SDC

Post by pser1 »

Hello,
I have modified the DosPlus5.0 extended so that it is compatible with Ed Snider's mega-mini-MPI (4 slots)
This version incorporates two features programmed by Mike Miller, one of them allows the DP50 to show, in commands SDRIVE and SDIR,
files longer than 1Mb by changing the display view so that it shows length in Mb units. Good for people that uses big Hard disk files
for OS-9 and NitrOS-9 systems
The other feature is the capability of DP50E from now on to BOOT a virtual disk whether the boot sector is at Dragon track 0 or at Tandy track 34

You will find in the zip the source file, the compiled ROM and a virtual disk that will help you burn the new version to one bank in your CoCo-SDC
cheers!
pere
DP50E v0.25.13.ZIP
(87.02 KiB) Downloaded 324 times
pser1
Posts: 1655
Joined: Sun Mar 25, 2012 7:32 pm
Location: Barcelona (SPAIN)

Re: A DOSPlus Extender for Drivewire & CoCo-SDC

Post by pser1 »

Hello,
once uploaded DOSPlus v0.25.13 I did a few mods to optimize the code. The resut was v0.25.14 that, most probably, I forgot to publish
Immediately I begun to work on a new version that could be of help to any RACE multiport owner that wanted to use ths DP50E, it
uses a different port address, so I decided to make it easier to adapt, by using a variable that EQUs the correct address, so a single change
before compiling it, allows the user to have a ROM for Tandy MPI or RACE MPI
So, right now the very last version of my DOSPlus5.0Extended is v0.25.15
I am attachingf here an VDK virtual file that will help users to update a bank of their CoCo-SDC to use it.
You will find inside the zip, besides the VDK, a ROM file and the ASM source code
As usual, flash it in a different bank with respect to the one you are booting right now.
Have it as a test bank for some days and then you might decide to have it as the selected for booting.
Using BANKn you may start the new version after starting with the 'old' one.
cheers
pere
DP50E v0.25.15.zip
(87.16 KiB) Downloaded 281 times
lcurtisboyle
Posts: 21
Joined: Thu Nov 05, 2020 9:47 pm

Re: A DOSPlus Extender for Drivewire & CoCo-SDC

Post by lcurtisboyle »

This sounds awesome... look forward to hearing some feedback before next weeks show so I can relay some of your experiences during our news segment. There is another source of the CocoSDC (in Canada) that will be coming online in the not too distant future as well.
pser1
Posts: 1655
Joined: Sun Mar 25, 2012 7:32 pm
Location: Barcelona (SPAIN)

Re: A DOSPlus Extender for Drivewire & CoCo-SDC

Post by pser1 »

Hello L.Curtis
I forget to mention that the version 0.25.15 has been tested to be correct by some spanish users in the Retrowiki group.
Of course I am using it as starting OS since a lot of time with no issues at all
At the same time MIke Miller tested it to verify that his two added feautures do work well and finalyy I have to say that
I sent this version to Ed Snider so that he can use it in the next CoCo-SDC batches for Dragon users ...
cheers!
pere

Ps If you know of any other 'official' CoCo-SDC source, you can give them my email address so that we can contact and
I will add them to the distribution list for future versions
sixxie
Posts: 1346
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: A DOSPlus Extender for Drivewire & CoCo-SDC

Post by sixxie »

FYI, I pushed a snapshot of XRoar with a first go at RACE cage support. So something like this should work to put DragonDOS (configured with a different ROM) in the first slot:

Code: Select all

xroar -cart dragondos -cart-rom mydos.rom -cart mpi-race -mpi-load-cart 0=dragondos
It's basically a bodge over the existing MPI support except:
  • Different address
  • No initial slot selection - always defaults to 0 (is this correct?)
  • Reads do the same as writes: this suggests that a read sets the slot to '2', but I'm guessing that's just because that happens to be on the data bus during a PEEK command
  • No useful data provided by reads
Is your patched ROM happy outside a CoCoSDC? Would be cool to know if this works...
pser1
Posts: 1655
Joined: Sun Mar 25, 2012 7:32 pm
Location: Barcelona (SPAIN)

Re: A DOSPlus Extender for Drivewire & CoCo-SDC

Post by pser1 »

Hello Ciaran,
that's great news. I will give it a try ... when I have the time ;-)
The zip I uploaded here contains a ROM file that could be used in a read Dragon inside a disk controller that allows for 16Kb ROMs
But the compilation chain I use, creates a version of this ROM that will work with BECKER port instead, not sure if anybody would use it ...
I asume that the "mydos.rom" can be that ROM, but of course before trying that, it should be compiled changing the address that, by
default is assigned to $ff7f for the Tandy MPI.
And then I hope that nothing will go nuts ... I have not started the 2nd step towards RACE compatibility because I don't know by now
of a 'software' way to ensure/assert the presence of that module, whilst detection of the CoCo-SDC is easily done.
The MPI address, now converted into a redefinable LABEL is used a lot of times and I am afraid that most of the times it is going to
change the selected slot when we don't want it to happen. So this points of use should be commented out and just leave the points where
we do want to change de slot number or none at all and do the changes on the Basic/Dos prompt ... by now.
The source code added in that zip could be used freely to test ...
cheers!
pere
Post Reply