Sunday with my SuperBoard II

Post Reply
stm
Posts: 63
Joined: Mon Oct 27, 2014 10:23 pm
Location: Germany

Re: Sunday with my SuperBoard II

Post by stm »

BillO wrote: Mon Oct 10, 2022 6:47 pm That one actually just passes the DD line straight through.
What does that mean? That a pull-up resistor may be necessary?
BillO wrote: Mon Oct 10, 2022 6:47 pm Do you have a scope?
No, I don't, but I am considering to buy one.

Currently I only have an FPGA board that can be used as a basic logic analyzer.
C1P Model 600 CPU 1978 REV B, 40K (8K original and 32K BillO memory expansion), RS-232
Maintainer of cc65 OSI target and llvm-mos-sdk C1P target
BillO
Posts: 216
Joined: Tue Jul 08, 2014 4:03 pm
Location: Canada
Contact:

Re: Sunday with my SuperBoard II

Post by BillO »

stm wrote: Tue Oct 11, 2022 5:31 pm
BillO wrote: Mon Oct 10, 2022 6:47 pm That one actually just passes the DD line straight through.
What does that mean? That a pull-up resistor may be necessary?
No, it means that the memory board does not re-interpret the DD signal (the other RAM/ROM board does) it just uses it the way it is intended. So the signal on the expansion connector of the memory board is just wired straight through to the 600 board. It uses the existing pull-up resistor on the 600 board.
stm wrote: Tue Oct 11, 2022 5:31 pm
BillO wrote: Mon Oct 10, 2022 6:47 pm Do you have a scope?
No, I don't, but I am considering to buy one.
Too bad. You'd be able to see if your DD circuit is creating the appropriate low pulse when you read from teh FDC address.
stm wrote: Tue Oct 11, 2022 5:31 pm Currently I only have an FPGA board that can be used as a basic logic analyzer.
You may be able to see if a pulse is there using that, but you may not be able to see if the voltage levels are correct. I'm not familiar with the device so I really can't offer any advice.

One thing I can say though is, if the memory board is working then your DD circuitry on the 600 board is working properly as the memory board does provide a DD pulse when reading from any location on the board. I assume you have a multimeter? Check continuity from the anode of the diode to the DD line on teh 600 board. Also, check that the diode is functional. If all that is okay check continuity of the lines feeding your DD circuit. If that is not the problem check the supply voltage to the 74LS00 in your DD circuit. What did you do with the inputs to the unused gates? Those need to be pulled to ground or Vcc and leave teh outputs un connected. If everything is okay, then try to replace the 74LS00.

Having a scope would make this much easier as it would allow you to visualize what is happening and see if everything is behaving correctly.
Box stock Superboard II Rev. B
KLyball replica 600D, replica 610 & KLyball Data Separator
OMS SBME and SBME+ memory cards
OMS Digi-Mule expansion bus
KLyball memory card
stm
Posts: 63
Joined: Mon Oct 27, 2014 10:23 pm
Location: Germany

Re: Sunday with my SuperBoard II

Post by stm »

Bill,

I wanted to let you know that I appreciate your comments for finding the cause of the problem, but that I have not made any progress so far with the tools that are available to me. I'm now thinking about purchasing an oscilloscope, but that may take a while.

Thanks
Stephan
C1P Model 600 CPU 1978 REV B, 40K (8K original and 32K BillO memory expansion), RS-232
Maintainer of cc65 OSI target and llvm-mos-sdk C1P target
BillO
Posts: 216
Joined: Tue Jul 08, 2014 4:03 pm
Location: Canada
Contact:

Re: Sunday with my SuperBoard II

Post by BillO »

No problem Stephan.

Getting a scope would be a real benefit. Try to stay away from those cheap single channel and/or low bandwidth thing you get on eBay and the like. For digital electronics you really need a minimum of 50MHz. 100MHz or better is recommended.
Box stock Superboard II Rev. B
KLyball replica 600D, replica 610 & KLyball Data Separator
OMS SBME and SBME+ memory cards
OMS Digi-Mule expansion bus
KLyball memory card
stm
Posts: 63
Joined: Mon Oct 27, 2014 10:23 pm
Location: Germany

Re: Sunday with my SuperBoard II

Post by stm »

Hi Bill,

two things happened now since my last post:
  • I have now an oscilloscope that includes a 16-channel logic analyzer.
  • I tried the floppy controller board together with the add-on DD generator circuit directly in the extension socket, with your memory expansion board removed.
I was able to familiarize myself already a little bit with the scope, so I can do actual analysis of the problems.

Regarding using the floppy controller board standalone without the memory board, this basically seems to work. I was able to run a small test program that wrote values to port B of the 6821 chip, and it was possible to see the effect with the oscilloscope. Also in the machine monitor I can now inspect the memory range starting at 0xC000 upwards, and I no longer see 0xC0 but various different values.

So this looks to me like the DD generator that I had sketched in this preceding post is working on its own, but not in combination with the memory board. Is it possible that the memory board's DD signal generator is not "open collector", and that it keeps the DD line high even when the DD generator of the floppy controller tries to pull the line low? Or would a different kind of DD generator be needed for the floppy controller that collaborates correctly with the memory board?

Thanks
Stephan
C1P Model 600 CPU 1978 REV B, 40K (8K original and 32K BillO memory expansion), RS-232
Maintainer of cc65 OSI target and llvm-mos-sdk C1P target
BillO
Posts: 216
Joined: Tue Jul 08, 2014 4:03 pm
Location: Canada
Contact:

Re: Sunday with my SuperBoard II

Post by BillO »

The DD generator on the memory board is just an open drain 2N7000 MOSFET and it relies on the pull-up resistor on the 600 board to pull it up. It cannot hold the DD signal high - even if it failed. It can hold the DD signal low if it failed, but then your computer would just not work. Pin 2 of the MOSFET (or pin 17 of the GAL) should never go high while memory or devices outside it's address range are being accessed.

Does the computer work with just the memory board installed?

With the memory board installed, check for continuity through from your disk controller to the 600 board on the /DD line.

Also, unless there is something loading the data bus, you should likely see $C0 when reading empty memory locations in the range from $C000 to $C0FF as per your discussion with Mark. So with the disk controller and the memory card in place you are seeing values now?

BTW, which scope did you get?
Box stock Superboard II Rev. B
KLyball replica 600D, replica 610 & KLyball Data Separator
OMS SBME and SBME+ memory cards
OMS Digi-Mule expansion bus
KLyball memory card
stm
Posts: 63
Joined: Mon Oct 27, 2014 10:23 pm
Location: Germany

Re: Sunday with my SuperBoard II

Post by stm »

BillO wrote: Wed Jan 11, 2023 4:25 pm The DD generator on the memory board is just an open drain 2N7000 MOSFET and it relies on the pull-up resistor on the 600 board to pull it up. It cannot hold the DD signal high - even if it failed. It can hold the DD signal low if it failed, but then your computer would just not work. Pin 2 of the MOSFET (or pin 17 of the GAL) should never go high while memory or devices outside it's address range are being accessed.

Does the computer work with just the memory board installed?
Yes, and as far as I can tell the full 32 kB memory extension are working fine.
BillO wrote: Wed Jan 11, 2023 4:25 pm With the memory board installed, check for continuity through from your disk controller to the 600 board on the /DD line.
I checked that, and this is where it gets embarassing for me :lol: Not only the DD line does not have connectivity, apparently no line at all has connectivity when I plug the disk controller cable into the headers on the memory board.

Here are images of the memory board with its headers and of the floppy controller connector cable:
Memory board with headers in expansion port
Memory board with headers in expansion port
PXL_20230111_181651858.jpg (545.54 KiB) Viewed 2418 times
Memory board and floppy controller cable
Memory board and floppy controller cable
PXL_20230111_181702950.jpg (573.99 KiB) Viewed 2418 times
Pins of floppy controller cable connector
Pins of floppy controller cable connector
PXL_20230111_181723505.jpg (442.2 KiB) Viewed 2418 times
Although I feel a mechanical resistance when I push the floppy controller connector into the headers on the memory board, the pins are apparently too short and no electrical contact is made.
BillO wrote: Wed Jan 11, 2023 4:25 pm Also, unless there is something loading the data bus, you should likely see $C0 when reading empty memory locations in the range from $C000 to $C0FF as per your discussion with Mark. So with the disk controller and the memory card in place you are seeing values now?
I guess this question is obsolete now. I will need to build a new cable for connecting the floppy controller to the memory board headers.
BillO wrote: Wed Jan 11, 2023 4:25 pm BTW, which scope did you get?
A Siglent SDS1104X-E with the Siglent SLA1016 16 Channel Logic analyzer module. This does fit the recommandation that you gave me earlier (100 MHz bandwidth).
C1P Model 600 CPU 1978 REV B, 40K (8K original and 32K BillO memory expansion), RS-232
Maintainer of cc65 OSI target and llvm-mos-sdk C1P target
BillO
Posts: 216
Joined: Tue Jul 08, 2014 4:03 pm
Location: Canada
Contact:

Re: Sunday with my SuperBoard II

Post by BillO »

stm wrote: Wed Jan 11, 2023 6:44 pm A Siglent SDS1104X-E with the Siglent SLA1016 16 Channel Logic analyzer module.
That's a nice scope. I have one of those myself. Have you considered doing the "improvements" on it as detailed over on the eevblog website?
I did them to mine and now have a 230MHz scope. I also improved my SDS2104XP and now it dances at over 600MHz!

I really like Siglent stuff and went a little overboard on them this year landing about $5K worth of goodies. :o

Ahh .. it was time for some upgrades in the shop and I had saved up some mad money. I'm sticking to that story.

For those DIP connectors, the round pin female headers work better. You can actually just put them into the headers you have and then plug the DIP connector into them. I've done that with success in the past. They do tend to stay with the DIP connector when you remove it. That's either good or bad depending on your use case/perspective.
Box stock Superboard II Rev. B
KLyball replica 600D, replica 610 & KLyball Data Separator
OMS SBME and SBME+ memory cards
OMS Digi-Mule expansion bus
KLyball memory card
stm
Posts: 63
Joined: Mon Oct 27, 2014 10:23 pm
Location: Germany

Re: Sunday with my SuperBoard II

Post by stm »

BillO wrote: Wed Jan 11, 2023 7:18 pm
stm wrote: Wed Jan 11, 2023 6:44 pm A Siglent SDS1104X-E with the Siglent SLA1016 16 Channel Logic analyzer module.
That's a nice scope. I have one of those myself. Have you considered doing the "improvements" on it as detailed over on the eevblog website?
I did them to mine and now have a 230MHz scope. I also improved my SDS2104XP and now it dances at over 600MHz!
I was not aware of these improvements so far, I will take a look, thanks.
BillO wrote: Wed Jan 11, 2023 7:18 pm I really like Siglent stuff and went a little overboard on them this year landing about $5K worth of goodies. :o

Ahh .. it was time for some upgrades in the shop and I had saved up some mad money. I'm sticking to that story.

For those DIP connectors, the round pin female headers work better. You can actually just put them into the headers you have and then plug the DIP connector into them. I've done that with success in the past. They do tend to stay with the DIP connector when you remove it. That's either good or bad depending on your use case/perspective.
That might be a good alternative instead of building a new cable, I will try that out.
C1P Model 600 CPU 1978 REV B, 40K (8K original and 32K BillO memory expansion), RS-232
Maintainer of cc65 OSI target and llvm-mos-sdk C1P target
Post Reply