[Coco] [COCO] MAME FDC Issue that can cause corruption

Gene Heskett gheskett at shentel.net
Tue Aug 1 13:03:17 EDT 2017


On Tuesday 01 August 2017 12:37:39 William Astle wrote:

> Actually, it sounds like the drive select bits in FF40 are being
> "latched" when drive motors are enabled (also a bit in FF40). Then, as
> long as the drive motors are on, changes to the drive select bits are
> ignored.
>
> While that could be a threading issue, it seems more likely that
> somebody didn't understand what the "motor enable" bit actually means
> in FF40 when they were modifying something somewhere along the way.
> (The motor enable bit turns on *all* drive motors on a Coco FDC which
> seems to me to be atypical.)
>
While it not universally done, William, leaving the motors on makes for 
much quicker disk to disk copies on the real hardware, and I'm rather 
positive that it was not ever a problem on the real hardware running os9 
or nitros9. I can't testify about rsdos/basic, never used it enough to 
see an error if there was one, but a backup operation could change the 
access lines as indicated on the front of the drive just as fast as the 
nitros9 drivers do.

An led tally  on the DS lines would prove the point, as would a dual 
trace scope set for slow sweep. Any overlap would not be the desired 
thing.

So this does have the smell of a MAME problem.

Logic 0 is the active state.

> On 2017-08-01 10:26 AM, Salvador Garcia via Coco wrote:
> > Thanks David. I just saw your last video. This is creepy.
> >
> > What happens if you introduce a delay in your BASIC program between
> > the two DIR instructions, just long enough for the drive to stop?
> >
> > Wait, but these drives are emulated, correct? So why are they even
> > "stopping"? It seems like something is un-syncing while the emulated
> > sound is being produced and the next DIR instruction is being
> > executed. I would probably have a look at how the code is being
> > executed, possibly in a different thread, so that the user can hear
> > the drive sound and have the next DIR execute. Salvador
> >
> >
> > On Tuesday, August 1, 2017, 10:28:12 AM CDT, David Ladd
> > <davidwladd at gmail.com> wrote:
> >
> > Salvador,
> >
> > You can link the videos if you want, but I did not make them public
> > so everyone on YouTube would be able to search for them.  I just
> > wanted to be able to just show these to the development team and
> > those whom do use MAME for the CoCo for now that there is a issue
> > and I was able to re-produce it.  I have been able to re-produce the
> > issue in both 32bit and 64bit Official 0.188 Windows Binaries.
> >
> >
> > Also I found if you wait till the drive motor shuts off and do a DIR
> > on the other drive the directory shows up correctly.
> >
> > I am currently uploading another video showing my tests in the
> > Official 32bit Windows Binary right now so that I have documented
> > proof it is re-producible in both binaries.
> >
> > Well I guess the video is done uploading and processing already so
> > here is the link for you to look at if you like:
> > https://youtu.be/yWdGQMb_qGU
> >
> > +-------------------------------------------------------------------
> >----+
> >
> > | David Ladd a.k.a. PacoOtaktay a.k.a. Drencor                      
> > |    | YouTube: http://www.youtube.com/user/PacoOtaktay             
> > |        | YouTube Gaming Live:
> > | https://gaming.youtube.com/user/PacoOtaktay/live | Websites:
> > | http://dwladd.com     &    http://www.theterrorzone.com   | G+: 
> > | https://plus.google.com/113262444659438038657                   |
> > | G+:  https://plus.google.com/+DavidLaddPacoOtaktay                
> > |   |
> > |
> > | Do you have your CoCo 3 yet?                                      
> > |    |
> >
> > +-------------------------------------------------------------------
> >----+
> >
> >
> > On Tue, Aug 1, 2017 at 10:18 AM, Salvador Garcia via Coco <
> >
> > coco at maltedmedia.com> wrote:
> >> David, I saw the videos that you posted. The video description
> >> mentions that it is a private, unlisted video. Does that mean that
> >> you prefer that we not share the video link?
> >>
> >> Also, it is clearly demonstrated that DIR 0: DIR 1 shows this
> >> issue, what happens when the two DIRs are on separate lines?
> >>
> >> Thanks, Salvador
> >>
> >>
> >>
> >> On Tuesday, August 1, 2017, 12:50:45 AM CDT, David Ladd <
> >> davidwladd at gmail.com> wrote:
> >>
> >> Dear MAME users,
> >>
> >> Over the last couple months I have been doing a LOT of disk testing
> >> and stuff with emulators, but is even more scary than I thought 2
> >> months ago.
> >>
> >> I just found out tonight that MAME does indeed have a issue related
> >> to the FDC emulation.  I can reproduce the issue in NitrOS-9 L1/L2
> >> or OS-9 L1/L2. I have even been able to re-produce some stuff in
> >> Disk Basic.
> >>
> >> Till this issue is fixed I would recommend to not use more than 1
> >> floppy drive in MAME.
> >> If you want to try it out the simplest way to show this off is to
> >> do this: Startup CoCo 2 or CoCo3 emulation
> >> Create a new disk image in drive 0
> >> Create a new disk image in drive 1
> >> DSKINI 0
> >> DSKINI 1
> >> Enter a quick basic program like this and save it to disk:
> >> 10 PRINT "DIR 0"
> >> 20 DIR 0
> >> 30 PRINT "DIR 1"
> >> 40 DIR 1
> >> 50 GOTO 10
> >> SAVE"TEST1.BAS"
> >>
> >> Then all you have to do to see the problem is to:
> >> DIR 0:DIR 1
> >>
> >> You will see TEST1.BAS show up twice.  Which it should not.
> >>
> >> So please take heed that this can cause corruption if data is
> >> written to both drives at same time.  I found this out the hard way
> >> tonight.
> >>
> >> I am also going to clarify I am doing this just as a warning.  I am
> >> not trying to scare people away from MAME or say one emulator is
> >> better than another one.  I just want people to take heed with this
> >> issue till the problem has been addressed.
> >>
> >> Also the more people who can also verify this problem and report it
> >> to the development website for MAME might also help motivate the
> >> dev team to fix the issue as well.
> >>
> >> Thank you for your time with reading this.
> >>
> >> +------------------------------------------------------------------
> >>-----+
> >>
> >> | David Ladd a.k.a. PacoOtaktay a.k.a. Drencor                     
> >> |     | YouTube: http://www.youtube.com/user/PacoOtaktay           
> >> |          | YouTube Gaming Live:
> >> | https://gaming.youtube.com/user/PacoOtaktay/live | Websites:
> >> | http://dwladd.com     &    http://www.theterrorzone.com   | G+: 
> >> | https://plus.google.com/113262444659438038657                   |
> >> | G+:  https://plus.google.com/+DavidLaddPacoOtaktay               
> >> |    |
> >> |
> >> | Do you have your CoCo 3 yet?                                     
> >> |     |
> >>
> >> +------------------------------------------------------------------
> >>-----+
> >>
> >> --
> >> Coco mailing list
> >> Coco at maltedmedia.com
> >> https://pairlist5.pair.net/mailman/listinfo/coco
> >>
> >> --
> >> Coco mailing list
> >> Coco at maltedmedia.com
> >> https://pairlist5.pair.net/mailman/listinfo/coco


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>


More information about the Coco mailing list