Announcement

Collapse

Forum etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


"PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

Needed: Microcontroller programming (D8749)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Needed: Microcontroller programming (D8749)

    No matter how I try, my Willem programmer doesn't seem inclined to program D8749H microcontrollers (oddly, it managed a D8748H just fine). Is there anyone in the UK who can reliably program these?

    (I can provide the two chips I tried with; they've had 20 minutes under the UV lamp, so should be blank).

    #2
    I'm 99% sure my old Stag will. it certainly can manage 8748s I also have another device programmer (that's up for grabs) it may well do them too, but I'll have to check.
    "Don't it always seem to go
    That you don't know what youíve got Ďtil itís gone" (BANG )

    Comment


      #3
      In case it's relevant.

      I have a Willem unit. The 8748 and 8749 require the MCS-48 adapter. The MCS-48 adapter requires 5.6V VCC to it instead of 5V (due to a diode), and so one normally changes the 5V/5.6V jumper on the Willem to the 5.6V position, and uses a power supply rather than a USB power source. However, having done that, I had problems with 8742s. I can't remember what the symptom was, but when I investigated, I discovered that at the 8742 VCC pin was dropping to about 3v during burning. After I removed the 5V/5.6V jumper (i.e. 6.2V generation) on the Willem, that resulted in around 5V at the 8742 VCC pin during burning. I can't remember if that removed the symptom. It's just something I remember encountering.

      Comment


        #4
        I'm using the adaptor and an external power supply, but I must admit I didn't know about the 5.6V requirement.

        The symptom I'm getting is that the programmer seems to write the first byte of its buffer to each byte of the EPROM, causing verification to fail when the byte it should have written is different. My ROM image starts 23 3F, so it normally writes 23 23 and fails. But if I write a ROM image that starts 23 23 22, it writes 23 23 23 and fails; and so on.

        Comment


          #5
          Originally posted by JohnElliott View Post
          I'm using the adaptor and an external power supply, but I must admit I didn't know about the 5.6V requirement.
          It can be seen in the schematic of the MCS-48 adapter, at http://mpu51.tripod.com/eprom/pdf/MCS48_41_SCH.pdf
          Top-right corner.

          Originally posted by JohnElliott View Post
          The symptom I'm getting is that the programmer seems to write the first byte of its buffer to each byte of the EPROM, causing verification to fail when the byte it should have written is different. My ROM image starts 23 3F, so it normally writes 23 23 and fails. But if I write a ROM image that starts 23 23 22, it writes 23 23 23 and fails; and so on.
          You can burn a 8748, but not two 8749s. The 8749 differs from the 8748 in that it has twice the ROM. More current consumption? Did you try adjusting the 5V/5.6V jumper - first to the 5.6V position and then to 6.2V (jumper off altogether)?

          Comment


            #6
            I have two Willem units - one a PCB35 and the other a V50B. I have a couple of D8749H and so I attempted to burn them. Both of my Willem units fail when verifying the second byte.

            The second byte (address 0x000001) read back is always whatever the first byte is. For example, if the first two bytes are AA/BB, it writes AA and reads back AA, writes BB but reads back AA.

            I can tell by file names that I have successfully burnt a D8749H in the past (recently). I'm puzzled as to why I can no longer burn a D8749H. I'll work on the issue, just to satisy my own curiousity, but it will have to wait for now.

            Comment


              #7
              Originally posted by modem7 View Post
              You can burn a 8748, but not two 8749s. The 8749 differs from the 8748 in that it has twice the ROM. More current consumption? Did you try adjusting the 5V/5.6V jumper - first to the 5.6V position and then to 6.2V (jumper off altogether)?
              I've tried both of those now, with the same unsuccessful result. I also tried programming the chip with the software configured as "8748", in case there was a software bug that only affected the 8749. It didn't make any difference.

              Comment


                #8
                Hi John,

                I used to be a moderator on willem.org before Willem passed away and have a half dozen different Willem-type programmers.

                You're not going to have much luck programming NMOS devices on most of those programmers. Depending on the type, NMOS devices will draw 30-125mA from VCC and that's too much current for the transistor used to switch VCC to the device. AFAIK, the Willem 4.1 is the only programmer that attempted to address this shortcoming in the design. There was an optional relay that is mandatory for NMOS devices.

                Some EPROMs are programmed at VCC=5V, but most are programmed at an elevated VCC so programming margin can be verified explicitly (devices smaller than 64Kb used an open loop programming algorithm).

                Willem programmers have fewer issues with VPP because current draw is usually less than 30mA and the transistor switch handles it better. That is, unless you're using one of those programmers with the step-up regulator. Most of them use an inductor that saturates at a low current and don't work well for VPP > 12.5V; 8749 require 21V (I assume you already knew this).

                Willem programmers are decent hobbyist programmers, but Users need to know what they're doing to program devices reliably. You need to blank verify at VCC=4.2V and program verify at VCC=6-6.25V. The software used for Willems doesn't comprehend this; most versions don't even allow you to set the correct programming pulse width. Another deficiency is that most programmers don't have the flexibility to set the correct voltages. I've modified the power section of the ones I use for programming...

                Erase needs to be a verified operation. Time is dependent on a number of factors. Trying to program a device that hasn't been erased properly can waste a lot of time.

                If I have any, I'll give it a try when I get a chance.

                Regards,
                Dennis

                Comment


                  #9
                  I have some D8748 (note: no 'H' suffix). I can burn those without problem, but not my D8749H. What I found in my setup: Whether burning a D8748 or D8749H, the Vdd pin (with respect to Vss) is only going as high as about 18.5 volts (under load). So even thought the specification is 21 volts, maybe the D8748 can work with 18.5 volts but the D8749H can't.

                  Comment


                    #10
                    As I wrote erlier, there is an indication that I was able to burn a D8749H using one of my Willem units. Something that I may have done was to set the two 12.5/15/21/25 volt jumpers to the 25 volt setting, knowing that the voltage that reached the chip (under load) would be significantly lower. With no D8749H in the socket, I measured 23 volts on the Vdd pin during burning. I decided to proceed. I attempted to burn both of my D8749H in that configuration. Now neither D8749H will hold even the first byte, something they did before. Doh.

                    The only other thing that I thought I may have done earlier to successfully burn a D8749H, was to upgrade my external power supply to a 12Vac @ 1.7A one that I have laying about. In retrospect, I should have tried that before the 25 volt configuration. Oh well.

                    Comment


                      #11
                      Originally posted by modem7 View Post
                      I have some D8748 (note: no 'H' suffix). I can burn those without problem, but not my D8749H. What I found in my setup: Whether burning a D8748 or D8749H, the Vdd pin (with respect to Vss) is only going as high as about 18.5 volts (under load). So even thought the specification is 21 volts, maybe the D8748 can work with 18.5 volts but the D8749H can't.
                      On checking, I think the 8748 I successfully burned must have been a D8748 with no H, as well.

                      Comment


                        #12
                        Originally posted by modem7 View Post
                        As I wrote earlier, there is an indication that I was able to burn a D8749H using one of my Willem units. Something that I may have done was to set the two 12.5/15/21/25 volt jumpers to the 25 volt setting, knowing that the voltage that reached the chip (under load) would be significantly lower. With no D8749H in the socket, I measured 23 volts on the Vdd pin during burning. I decided to proceed. I attempted to burn both of my D8749H in that configuration. Now neither D8749H will hold even the first byte, something they did before.
                        Since VPP is the highest voltage allowed on the device, exceeding max VPP is the easiest way to damage the device. The datasheet for Intel 2732A (VPP=21V) says that exceeding 22V on OE#/Vpp will cause permanent damage. It also says sufficient supply bypassing should be provided to prevent voltage transients that could also damage the device. The 8749 datasheet doesnít give much programming information, but itís the same generation as 2732A.

                        The only other thing that I thought I may have done earlier to successfully burn a D8749H, was to upgrade my external power supply to a 12Vac @ 1.7A one that I have laying about. In retrospect, I should have tried that before the 25 volt configuration.
                        For PCB3 variants, using an external supply higher than 9V just causes unnecessary dissipation in the 5V regulator. Itís the current that matters; and the voltage drops in the transistors switching VCC and VPP. This doesnít change the fact that most Willem programmers with a step-up regulator canít provide stable VPP > 12.5V.

                        Programming EPROMs at out-of-spec conditions is asking for trouble. VPP is used to attract electrons to the floating gate and to supply electrons in the channel. When VPP is too low (the 8749 datasheet isnít very specific WRT programming, but 21V EPROMs require 21V +/- 0.5V) youíre likely to end up with less charge than intended on the floating gate; so long term, and most likely short term, reliability are negatively affected.

                        Program verification is done at nominal VCC (5V). On most Willem programmers, VCC will drop to 4V or less with NMOS devices. Verifying at that voltage doesnít mean the device will work at 5V. At less than 4V, the device may not function properly.

                        Regards,
                        Dennis

                        Comment


                          #13
                          I'm running into the _exact_ same issue -- first byte is duplicated on D8749H units, and of course verification fails. Blank check passes fine. Power supply is 12 vdc @ 1.2 amps; I'm using the PCB50B unit with the 98D12c3 software. Tried both 5.6 and 6.2v jumper settings for pgm; no joy. Program voltage is set to 21v.

                          dgl says "I've modified the power section of the ones I use for programming...". Was that mod for a Willem PCB50, and would you be willing to share? This is soooooo frustrating!

                          Comment


                            #14
                            Problem solved (at least it works for me)

                            After a fair amount of observation and experimentation, I soldered a 1M resistor and a 5000pf capacitor in parallel between pins 20 and 25 on the MCS-48 target socket. Problem solved. Programming happily away.

                            Hope that helps someone.

                            jml

                            Comment


                              #15
                              Originally posted by jml9904 View Post
                              After a fair amount of observation and experimentation, I soldered a 1M resistor and a 5000pf capacitor in parallel between pins 20 and 25 on the MCS-48 target socket. Problem solved. Programming happily away. Hope that helps someone.
                              I'm sure that it will. Thank you.

                              Comment

                              Working...
                              X