[Coco] [COCO] MAME FDC Issue that can cause corruption
William Astle
lost at l-w.ca
Tue Aug 1 12:37:39 EDT 2017
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.)
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
>>
>
More information about the Coco
mailing list