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

Debugging a KIM-1 computer

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

  • Agent Orange
    replied
    Dwight that's some nice looking stuff - you are an artist.

    Leave a comment:


  • Dwight Elvey
    replied
    I finally got around to debugging my adapter. It is often hard to debug ones own work. Especially when you get older. I had everything working except for the phase of clk2. Luckily it is a PAL change so it is a simple source change. I chose the wrong phase for what the board had.
    I was going to post a picture but I can't figure how to do that on this new MB. I can't even see my older pictures?
    I'll make a run of the corrected boards.
    The adapter had 2 issues. The board interconnect holes were two small ( I had to use 30 ga. wire instead of the planned 28 ga. ). I also missed one wire.
    The debug board missed a three pullup resistors but otherwise worked fine.
    My progress has been slow but I'm finally seeing the end.
    I've written most all of the debug code for the debug board. I need to write up the instructions as well.
    Progress is being made.
    Dwight

    IMG_4691.jpg

    You can see the wire to U16 for the proper clock. It will be fixed in the next PAL.
    Last edited by Dwight Elvey; April 23, 2017, 10:35 AM.

    Leave a comment:


  • Dwight Elvey
    replied
    pictures:
    One shows the two small adapter boards that would go under the
    6532, to replace the 6530.
    The other shows the debug board attached to the extension connector.
    Notice the rats nest in place of the 6530-002. To the right of the 6532 is
    the EEPROM holding the -002 code. The other dark blob is the two logic
    chips that form the address decoding.
    The first two small boards replace these.
    I'll have an update this weekend with the small boards put together
    and hopefully working.
    Dwight
    Attached Files

    Leave a comment:


  • Dwight Elvey
    replied
    Sorry for the long delay on getting back on progress.
    I've made a prototype run of boards. I've not checked the adapter boards
    yet because I'm waiting on a friend that is blowing the PAL fuses for
    me.
    The debug has a couple non-functional issues but otherwise works.
    I did forgot the pullup resistors on the K3, K4 and DEN lines. I'll fix this on then
    main run of boards. For now, I'll tack on resistors.
    I'd not made the solder mask clearance on the bottom of the board
    for the connectors ( required some scrapping ).
    The adapter boards ( 2 are stacked ) had the holes for the interconnect
    too small. I'd planned on using 28 ga. wire but the holes only fit 30 ga.
    I'm glad I'd made a proto run.
    Considering that this is my first boards I'm reasonably happy.
    I've got a connector issue. The 44 pin connectors I located don't have
    enough end clearance, for more blank board at the ends of the pins. I'm thinking
    I may just use a small end mill the extend the ends.
    Dwight

    Leave a comment:


  • hanso
    replied
    Originally posted by Dwight Elvey View Post
    Success!!!
    It is all complicated.
    Dwight
    Still a great read! Any progress to report?

    Hans

    Leave a comment:


  • Dwight Elvey
    replied
    Success!!!
    Between bungling the code, the programmer and the swapped
    wire, I'd had a lot of mistakes.
    I've booted the KIM to the EEPROM. Yaaaaeeee!
    Now to learn to do the KIM input.
    Also write some more test code.
    Part of the problem was that after fixing the swapped wire,
    I'd been using the EPROM programmer wrong. It has a separate
    step to enter the file name and then transfer the file to
    its buffer. I'd been to frazzled that I realized that I didn't
    remember to transfer the file to the buffer ( separate step ).
    There was so many steps and I was just wearing down.
    I have the LED doing two things. If the code is loading, it
    flashes fast and then goes out if it worked.
    If it failed it would come on steady. I've been seeing the
    steady light so much I'd just about given up.

    Early on, I realized that once I switched the ROM to be the -002
    image, I'd lose the NMI vector in my boot image. The KIM expects
    it to vector through the RAM at $17FA. I've not written the test
    code yet to check the RAM in the -002 or the -003 so I'd modified
    my -002 image to go to my EEPROM programming code in RAM.
    I need to test that RAM to make sure it will take the
    jump to interrupt vector. Then I can have a clean image.
    I'd done that to minimize the variables.
    I'll write code to patch the correct vector in the EEPROM as
    part of the programming code.
    It is all complicated.
    Dwight

    Leave a comment:


  • Dwight Elvey
    replied
    It is a ST M28C64A. The data sheet seem to indicate that
    the A type doesn't support the bulk erase.
    I'd swapped the WR* and G* wires so it wasn't right.
    I've swapped the wires but still have no luck. I've not yet
    tried the soft protect disable.
    I'll do that this morning.
    Dwight

    Leave a comment:


  • dave_m
    replied
    Originally posted by Dwight Elvey View Post
    I'd got the EEPROM from Anchor Electronics and I suspect it has the
    software protect enabled.
    What brand of 28C64? SEEQ, Xicor, NEC, ? They should be erasable in your PROM Programmer no matter any software protect. I think the most Programmers erase the part before programming new data.

    Most 28C64's allow +12V on the OE signal (pin 22) with CE and WE low for 10mS to erase the chip.

    Leave a comment:


  • Dwight Elvey
    replied
    I'm having problems programming the EEPROM. I've read the spec
    several times and think I got it right.
    I'd got the EEPROM from Anchor Electronics and I suspect it has the
    software protect enabled. I may have miswired something as well.
    I'd not setup the addressing to be able to undo the software disable
    so I had to rip it out to rewire. I had it nicely tucked under the sockets
    but now it'll dangle off to the side because I'm not digging in there again.
    Anyway I'll want it off to the side where I can put an oscilloscope on
    it.
    I'd just put pullups on the unused addresses. I'm going to need to attach
    the odd and even address, A10, A11 and A12, to odd and even addresses
    that are being use. In other words, connect A12 to A8, A11 to A9 and A10
    to A6 as pairs. That way I can do 1555 and 0AAA addresses needed.
    I suspect that Anchor got some NOS that had been preprogrammed and software
    locked. I can use the software lock rather than a jumper on the WE\ pin.
    I only need the jumper for -002 and -003, making things simpler.
    Dwight
    Last edited by Dwight Elvey; November 25, 2016, 09:05 AM.

    Leave a comment:


  • Dwight Elvey
    replied
    Thanks for the pointer.

    I was looking on the adapter and the data sheet for the EEPROM.
    I have G* and E* swapped. I'll fix that before running my code to program
    the -002 data.
    I'll post a new schematic soon. I want to make sure there are no other issues.
    Dwight

    Leave a comment:


  • hanso
    replied
    Originally posted by Dwight Elvey View Post
    I wonder if anyone has the firmware for the TIM?
    Dwight
    Here: http://retro.hansotten.nl/home/6502-sbc/tim-6530-004/

    Leave a comment:


  • Dwight Elvey
    replied
    The prototype adapter is working, at least for the first level. My display test works.
    Now for my next trick to see if I can write to the EEPROM.
    I may still have other issues but it is a lot easier to check things with a
    working monitor. I will continue to write more EPROM drive test. It is just that
    things are so much easier if I know all is working.
    I'd bought some cheap 6532s from China. The first one was dead so I suspect
    something else may be bad in the part that is working so far, maybe RAM or timer.
    I was worried the there was something wrong with the adapter ( some 50 or so
    crossed wires ).
    Still, a working KIM monitor will make the job a little easier than not knowing if
    there was a problem in my code or in the hardware.
    Dwight

    Leave a comment:


  • Dwight Elvey
    replied
    I thought about that but I wanted to keep it simple for the KIM-1 only.
    Others have made adapters for Commodore stuff. They weren't as clean
    as this one will be.
    I've decided to use a PLCC 16L8 instead of the separate gates. It'll add a little
    bit of height but a lot simpler wiring for the PC. You just bring the wire to
    whatever input you'd like to use. The only restricted areas are the outputs.
    One can skip every other pin ( cut them off once programmed ) to use for
    more routing. Routing is going to be the bigger issue.
    Also, I wanted to make it so one could change it form -002 to -003 for both
    the I/O and the ROM. The way it is now it would take another chip to be able to do that.
    One still has to program both ROM sections but that will be easy with the debug
    board. The 16L8 is so much more flexible and actually uses less board space.
    I just wish it were flatter. I can bring more wires to the 16L8 to make it more
    universal. It could have all the signals use in the original 6530!
    I've settled on using KiCad. Both cheap and many think it is quite good.
    CS1 is the proper name of the 6530 pin, when used as a select.
    Dwight

    Leave a comment:


  • dave_m
    replied
    Originally posted by Dwight Elvey View Post
    can you review it?
    Dwight,
    Looks good. I think you got it. I was a little confused until I realized CS1 on your schematic is the K5 decoder output on the KIM-1. You may want to denote that on the schematic.

    To make the 6530 replacement kit a universal design, I think you need add jumper selects into the 6532 CS1, /CS2 and /RS inputs to open the circuits and allow jumpers to any address line that may be required. But more than that I notice that the 6530 in the 4040 disk drive uses pin 19 as a chip enable while the KIM-1 uses pin 18. So cut and jumpers may be needed for some applications anyway.
    -Dave

    Leave a comment:


  • Dwight Elvey
    replied
    I redid the schematic but forgot to hit the send button. It'll have to wait for
    tomorrow.
    Dwight

    Got it now.
    Dave, you have a good eye, can you review it?
    I have a few redundant wires shown that are in the first drawing.
    If I get time, I'll delete them in the first drawing to remove confusion.
    Thanks
    Dwight
    Attached Files
    Last edited by Dwight Elvey; November 17, 2016, 12:35 PM.

    Leave a comment:

Working...
X