Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow REL file operations on real hardware #179

Open
fachat opened this issue Feb 28, 2021 · 13 comments
Open

Slow REL file operations on real hardware #179

fachat opened this issue Feb 28, 2021 · 13 comments
Labels

Comments

@fachat
Copy link
Owner

fachat commented Feb 28, 2021

On real hardware REL file operations so slow that the IEEE488 timeout needs to be disabled to actually make them work.
Observed by @snhirsch on PetSD
Originally reported in #177 but separated out here for clarity and tracking

@fachat
Copy link
Owner Author

fachat commented Mar 2, 2021

I have a setup with a PET, an early petSD2, and an SFD1001. I tried some tests creating and reading REL files, but never needed to set the timeout to make the REL file operations work.

Do you have a logic analyzed? Can you trace the IEEE488 bus (200kHz sample freq usually works) while such a timeout happens and send me the files (separately)?

@fachat
Copy link
Owner Author

fachat commented Mar 2, 2021

Did you actually set the fuses right for XD2031 on the petSD? In the firmware/petSD there is a README that hints on data loss on the IEC bus ... not sure if it may affect IEEE488, I never had a petSD.
I will have a further look at the hardware differences and what they mean for the firmware.

@snhirsch
Copy link

snhirsch commented Mar 2, 2021

I had sent you such a trace last fall :-). Let me do some digging and see if I can find the data.

@fachat
Copy link
Owner Author

fachat commented Mar 2, 2021

sorry that I forgot about that. Anyway, did you check the fuses?

@snhirsch
Copy link

snhirsch commented Mar 2, 2021

That's a sore subject. I bricked one MPU already by fiddling with fuses and would rather not repeat this exercise. What exact setting(s) are you referring to? Wait, sorry. I would certainly have run the petSD_fix_fuses.sh script when first installing the firmware. Didn't think it would work unless that had been done.

@fachat
Copy link
Owner Author

fachat commented Mar 2, 2021

I am talking about this README https://github.com/fachat/XD2031/blob/master/firmware/petSD/README - must be by @nils-eilers as I've never had a petSD.

@snhirsch
Copy link

snhirsch commented Mar 2, 2021

That would have been done, yes.

@fachat
Copy link
Owner Author

fachat commented Mar 2, 2021

just to be sure - you are using this device? http://petsd.net/orgpetsd.php?lang=en

@snhirsch
Copy link

snhirsch commented Mar 2, 2021

Yes, that's it. The only difference is that mine lacks clock and ethernet.

@fachat
Copy link
Owner Author

fachat commented Mar 2, 2021

hm. I have an intermediate version "petSD2" between that and petSD+ that lacks Ethernet but has a clock (at least it has a coin cell)....... can you pls verify that pin 1 of the 75160 or 75161 (TE signal) is connected to pin 1 (PB0) of the Atmega 1284? (or even check all signals as defined in firmware/petSD/hwdefines.h?

@fachat
Copy link
Owner Author

fachat commented Mar 2, 2021

Also, does the problem also appear with only the petSD attached to the PET (and the other drive(s) completely disconnected, not just switched off)?

@fachat
Copy link
Owner Author

fachat commented Mar 3, 2021

There are two operations / test cases that usually test the IEEE488 communication pretty well: using the DIRECTORY (or CATALOG) command on BASIC4, as this basically does a TALK/SECTALK/GET/UNTALK for every byte it reads - and a small test program I have written that dumps some data with single-character PRINT#. As DIR seems to work (or you'd probably have reported it already), can you also check and run this program https://github.com/fachat/XD2031/blob/180-rel-len/tests/seq.lst an see if the result is an 8k file that has just counting bytes like 00 01 02 ... fe ff 00 01 ... in it, and no byte missing?

@snhirsch
Copy link

snhirsch commented Mar 3, 2021

That test passes without incident. All 256-byte chunks are identical.

Here's the schematic for my PetSD:

petSD_schematic_0.7.2.1.pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants