Jump to content
IGNORED

tried using printer with SD2IEC on VIC 20, why now no communication between the device and computer?


Recommended Posts

17 hours ago, OLD CS1 said:

Really, if you have grown tired of the hard drive noise, check out the SCSI2SD or ZuluSCSI.

Good Lord, man!  I have been using an XU1541 with CBMXfer for various tasks, including making and extracting D64 images on physical floppies.  This configuration also works with the CMD HD.

Oh so CBMXfer (with XU1541) can transfer to/from a CMD drive then? If things don't work out with the SD2IEC, this is something I could consider, in combination with a SCSI solution.

 

9 hours ago, brain said:

TO avoid the issue entirely, you can have someone reflash the AVR uC so the bootloader is not there (it's not required for normal operation), though you do lose the auto-update feature if you do so.

 

I accidentally stumbled across this while reflashing mine, as it has been corrupting, needing to be reprogrammed. Just a novice and fumbling around with some help, flashed the .bin firmware instead of the .hex and found that it just booted straight up instead of looking on the SD for an update.

Link to comment
Share on other sites

9 hours ago, brain said:

I think it depends on the type of sd2iec unit you buy.  There are lots of hardware variants, and some omit the 7406 "driver" IC found in the 1541.  If the proper 7406 is there, You should be able to turn off at least 2 devices in a 4 device chain and still have the unit function.  However, if a "weak" 7406 (74hc06, or 74ahc06) are used, all devices have to be on (and the number of devices allowed on the bus goes down a lot.  Nowadays, most folks only have 1-2 devices on, but you were able to do 5 devices (+ PC) in the olden days.

 

Tre trick is the specs for the 7406 variant in use. 

 

 

Hi Jim, I'm sure that my CBM experiences have benefited from your research and development a couple of times over the last 20 years - so first of all, a thankyou is in order for that :)

 

Please forgive a guy that cannot speak at the same technical level as you (to give you an idea I can go as far as build something from a schematic, but that's about it). I have read and re-read your post and I believe I understand, a 7406 that can do 40mA is needed for happy operation. Given that I have had similar issues to newTIboyRob in terms of what I perceived to be strange IEC behavior, and continual problems with my ATmega also corrupting since buying it 3-4 weeks ago (seller said he suspects that there is something wrong with my setup, however I feel like the unit may be a dud), I started asking questions online and at a local electronics shop and there was suggestion that a lack of interfacing (which I assume is likened to what you referred to as the driver/buffer) could be the culprit. Adding the SD2IEC also caused my C64 to no longer want to communicate properly with my CMD drive. A condition that actually persisted through even several days of system power off and only resolved after I unplugged the datasette (and subsequently plugged back in). After searching long and hard for different versions of schematic that have this sort of buffer, I came across this excerpt which I then added to my SD2IEC:

image.thumb.jpeg.72d5bd1288cd2332ee7806012349fff9.jpeg

 

Though the original schematic was not for a Atmega 1284p I made it anyway. It seemed to resolve the corruption of the SD2IEC, however it did not resolve the 'playing nice with the IEC bus' issue, and communication with the CMD also broke again. Subsequently the Atmega did end up corrupting again from a different cause (just power cycling it while the c64 and 1541 II were switched on). I have not found a schematic for an SD2IEC variant that has 7406 circuitry in it, if you are able to point me to an excerpt of a schematic diagram of that (which runs into a 1284p) I could possibly build that bit and bolt it on. @newTIboyRob I'd be happy to make one for you to bolt onto your unit too, so we could use our IEC bus like the good old days :) 

 

Failing that, sounds like the uIEC/SD would be the best drop in replacement for a CMD like you said Jim. Just had a poke around online, looks like the Retro Innovations site is your store? 

 

Link to comment
Share on other sites

Posted (edited)

I actually tried waiting a bit after turning on the VIC-20 with SD2IEC... to see if I could ride out the device non-recognition-in-time... but even waiting quite a bit still produced the DEVICE NOT PRESENT timing issue. So I think for me, I'll just stick with seeing that error message after typing the 3 second LOAD "$",8 and then just type the subsequent browser LOAD line. Will work fine for me. Thanks though :) 

Edited by newTIboyRob
Link to comment
Share on other sites

19 hours ago, joebal said:

 

Hi Jim, I'm sure that my CBM experiences have benefited from your research and development a couple of times over the last 20 years - so first of all, a thankyou is in order for that :)

 

Please forgive a guy that cannot speak at the same technical level as you (to give you an idea I can go as far as build something from a schematic, but that's about it). I have read and re-read your post and I believe I understand, a 7406 that can do 40mA is needed for happy operation. Given that I have had similar issues to newTIboyRob in terms of what I perceived to be strange IEC behavior, and continual problems with my ATmega also corrupting since buying it 3-4 weeks ago (seller said he suspects that there is something wrong with my setup, however I feel like the unit may be a dud), I started asking questions online and at a local electronics shop and there was suggestion that a lack of interfacing (which I assume is likened to what you referred to as the driver/buffer) could be the culprit. Adding the SD2IEC also caused my C64 to no longer want to communicate properly with my CMD drive. A condition that actually persisted through even several days of system power off and only resolved after I unplugged the datasette (and subsequently plugged back in). After searching long and hard for different versions of schematic that have this sort of buffer, I came across this excerpt which I then added to my SD2IEC:

image.thumb.jpeg.72d5bd1288cd2332ee7806012349fff9.jpeg

 

Though the original schematic was not for a Atmega 1284p I made it anyway. It seemed to resolve the corruption of the SD2IEC, however it did not resolve the 'playing nice with the IEC bus' issue, and communication with the CMD also broke again. Subsequently the Atmega did end up corrupting again from a different cause (just power cycling it while the c64 and 1541 II were switched on). I have not found a schematic for an SD2IEC variant that has 7406 circuitry in it, if you are able to point me to an excerpt of a schematic diagram of that (which runs into a 1284p) I could possibly build that bit and bolt it on. @newTIboyRob I'd be happy to make one for you to bolt onto your unit too, so we could use our IEC bus like the good old days :) 

 

Failing that, sounds like the uIEC/SD would be the best drop in replacement for a CMD like you said Jim. Just had a poke around online, looks like the Retro Innovations site is your store? 

 

Yep, I forgot some of the designs used the FETs in lieu of the '06. The FETs sink more current (320mA sink capability), but it doesn't looks like that design actually drives to ground directly.

 

I know not everyone is an electronics guru, but a Metal Oxide Semiconductor Field Effect Transistor (MOSFET) is not hard to understand, and you can think of it link a valve or a switch.

 

https://www.electronics-tutorials.ws/transistor/tran_7.html

 

In general, the "gate" (G) is the little top line of the MOSFET, while the "Source" (S) is the part where the arrow line connects to, and the Drain (D) is the line you are trying to control.

 

In your schematic, the gate is driven 100% of the time to be ON, because it's connected to VCC, while the Sink is connected to the AVR.  The Drain is hooked to the bus.  In this mode, it looks like they are using the FET to "convert" voltages (perhaps the AVR is running at 3V, while the IEC bus always run at 5V.

 

But., since the FET can only drive to ground through the AVR pin (by setting the pin to output and setting it to 0, I think you are still limited to 20mA (in a design, the sink current is equal to the weakest element).

 

In general, the sd2iec designs with separate *_IN and *_OUT lines are best.  Here's one that's not too bad.

 

https://www.hackup.net/wp-content/gallery/sd2iec-plug-1/schematics0.9.png

 

Look at the schematic on that slideshow. 

 

Notice that IEC_CLK comes in, goes into the Drain of the FET directly, just like in your schematic above, but the Source is connected to ground through F8 (18ohms). 18 is pretty small, so mainly a short.  The designer was trying to protect the FET by not allowing an infinite amperage to flow across the FET (our V = I * R equation ... or voltage = current * resistance, can be rearranged to voltage/resistance = current, so 5V/18ohm = 270mA, less than the 2n7002 can handle, and much less than the IRLML2803 can handle ~1A). If 5V is presented to the gate via AVR PA6 (port A, bit 6), the IEC Clock line will be pulled to ground.  Otherwise, it's left to float.

 

But, also notice the R10/R11 combo connected to IEC_CLK and then feeding into PA2.  That's a dedicated input line (2 AVR pins are used to handle IEC CLock line, one is a dedicated input, the other a dedicated output).  The reistors are there because the AVR in this schematic is running at 3.3V, so the 5V needs to be "cut down" to a lower voltage.  Two resistors like this allow you to passively lower voltage.  It's not perfect, but it does work.  THere's a calc to figure these out, but I always use an online calculator, like https://ohmslawcalculator.com/voltage-divider-calculator  If we drop in 5V, 10000 ohm, 22000 own, we get 3.438V at the AVR input pin, well within tolerance for a 3V3 uC.

 

In my opinion, this is a better design, as it allows the bus to be driven to ground hard (270mA) and even better than an 7406 (but, in this case, the 7406 in the 1541 or the printer becomes the limiting factor and thus limits the number of devices on the bus.  So, if you build a new sd2iec, I'd use this version of the circuit (you can re-use the 2n7002 fets in lieu of the IRLML2803), and adjust the firmware accordingly.

 

Keep bugging me to put the uIEC/SD design up on my github.  It should be there, as the unit is open source.

 

Jim

 

Link to comment
Share on other sites

21 hours ago, newTIboyRob said:

I actually tried waiting a bit after turning on the VIC-20 with SD2IEC... to see if I could ride out the device non-recognition-in-time... but even waiting quite a bit still produced the DEVICE NOT PRESENT timing issue. So I think for me, I'll just stick with seeing that error message after typing the 3 second LOAD "$",8 and then just type the subsequent browser LOAD line. Will work fine for me. Thanks though :) 

That is odd.  Not sure what is up there.

Link to comment
Share on other sites

18 hours ago, brain said:

In my opinion, this is a better design, as it allows the bus to be driven to ground hard (270mA) and even better than an 7406 (but, in this case, the 7406 in the 1541 or the printer becomes the limiting factor and thus limits the number of devices on the bus.  So, if you build a new sd2iec, I'd use this version of the circuit (you can re-use the 2n7002 fets in lieu of the IRLML2803), and adjust the firmware accordingly.

 

Keep bugging me to put the uIEC/SD design up on my github.  It should be there, as the unit is open source.

 

Jim

Thanks for that info Jim - it will take me some time to digest it all fully and get an understanding of FETs, however I will do that in my spare time over the next few days, will be reading and re-reading to absorb it. Just an interim reply to acknowledge all of Jim's info and to note that I am mindful to restrict my posting in this thread as I am not the OP, and do not want to hijack it (I apologize @newTIboyRob). Interestingly enough the 2803 based schematic you attached was one that I did find (and had referenced in another forum thread where I was discussing the issue). I actually even purchased the parts for it (and the gentleman at the parts shop looked at data sheets and found a local equivalent transistor to the IRLML2803, for everyone's reference, it was a BUK452-100B), after I got them home, I was embarrassed to discover what you mentioned, that the circuit attaches to six legs of the ATmega (presumably in+out like you said). Because I could not find a schematic that used six legs of the 1284p, I reverted to the other 2n7002 design which only connects to 3 legs. Your point about going with that other design in future is duly noted. I've reached a point where I might have to 'call it' and abandon this particular unit, a lot of time has been lost on it. Apologies again @newTIboyRob!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...