Skip to content
This repository has been archived by the owner on Oct 27, 2021. It is now read-only.

Added a few ancient motorola parts. #895

Closed
wants to merge 4 commits into from
Closed

Added a few ancient motorola parts. #895

wants to merge 4 commits into from

Conversation

ghost
Copy link

@ghost ghost commented Jan 9, 2017

More precisely

6800, 6809, 6809E, 6840, 6845 and 6850. These are prefixed with MC as they are called in the 1982 microprocessors data manual. The base number added as a keyword for easy finding of all speed variants in library browser.

Also made 6821 KLC compliant but name not updated.

@jkriege2
Copy link
Collaborator

Hi!

this is a rather large effort, so it'll take some time to look through it ... one thing I already noted:
could you please unhide the power-pins and make them normal length pins? That is now common in all libs, except the Logic-lib, where we are discussion to change that ...

Best,
JAN

Added MC6843. An old Floppy disc controller. Pins arranged as in the
databook from 1982. That is, with pins to the left for the computer side
and points to thr right for the floppy drive side.
Added 6844. An old DMA disc controller. No symbol in the databook. Arranged
with inputs and bidirectional pins to the left and outputs to the right. At
least mostly I think.

I get complains from the checker about pin names against pin type. This is
probably due to IRQ pin beeing an output or open collector on some devices.
It really is.
The checker also complains about reference and name position. But I let the
script place these by itself (--fix) and still it complains after the next
session in the library editor. The EC01 error prevents me from wanting to
run --fix again.
@ghost
Copy link
Author

ghost commented Jan 14, 2017

Powerpins are now visible as requested. Also added two more chips. The MC6843 floppy controller and MC6844 DMA controller. There is no need to hurry. I added some of these because they were missing and used in an old piece of hardware I am reverse engineering for the fun of it.

bild

@jkriege2
Copy link
Collaborator

hi1

to start with this, I rand out check-scripts. Please fix the issues named in their output:

D:\KiCAD\kicad-library-review\library>..\..\kicad-library-utils\schlib\checklib.py -vv --enable-extra motorola.lib -p MC6800
checking component: MC6800
  Violating Rule 3.8
    Description and keywords properties contains information about the component.
    missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68A00
      missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68B00
      missing datasheet, please provide a datasheet link if it isn't a generic component
  Violating EC01 - Extra Checking
    Check pins names against pin types.
    pin ~HALT (2): double inversion (overline + pin type:Inverting)
    pin ~IRQ (4): double inversion (overline + pin type:Inverting)
    pin ~NMI (6): double inversion (overline + pin type:Inverting)
    pin ~RESET (40): double inversion (overline + pin type:Inverting)
  Violating EC03 - Extra Checking
    Check part reference, name and footprint position and alignment
    field: footprint, posx 50, posy -1250, recommended posx 150, posy -1350
checking component: MC68000FN
  Violating EC03 - Extra Checking
    Check part reference, name and footprint position and alignment
    field: reference, posx -650, posy 2350, recommended posx -200, posy 2425
    field: reference, justification C, recommended R
    field: name, posx 500, posy -2350, recommended posx -200, posy 2350
    field: name, justification C, recommended R
    field: footprint, posx -750, posy 2250, recommended posx 250, posy -2350
    field: footprint, justification C, recommended L

D:\KiCAD\kicad-library-review\library>checklib_extra_p.bat motorola.lib MC6809

D:\KiCAD\kicad-library-review\library>..\..\kicad-library-utils\schlib\checklib.py -vv --enable-extra motorola.lib -p MC6809
checking component: MC6809
  Violating Rule 3.8
    Description and keywords properties contains information about the component.
    missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68A09
      missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68B09
      missing datasheet, please provide a datasheet link if it isn't a generic component
  Violating EC01 - Extra Checking
    Check pins names against pin types.
    pin ~NMI (2): double inversion (overline + pin type:Inverting)
    pin ~IRQ (3): double inversion (overline + pin type:Inverting)
    pin ~FIRQ (4): double inversion (overline + pin type:Inverting)
    pin ~HALT (40): double inversion (overline + pin type:Inverting)
    pin ~DMA/BREQ (33): double inversion (overline + pin type:Inverting)
    pin ~RESET (37): double inversion (overline + pin type:Inverting)
  Violating EC03 - Extra Checking
    Check part reference, name and footprint position and alignment
    field: footprint, posx 50, posy -1250, recommended posx 50, posy -1350
checking component: MC6809E
  Violating Rule 3.8
    Description and keywords properties contains information about the component.
    missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68A09E
      missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68B09E
      missing datasheet, please provide a datasheet link if it isn't a generic component
  Violating EC01 - Extra Checking
    Check pins names against pin types.
    pin ~NMI (2): double inversion (overline + pin type:Inverting)
    pin ~IRQ (3): double inversion (overline + pin type:Inverting)
    pin ~FIRQ (4): double inversion (overline + pin type:Inverting)
    pin ~HALT (40): double inversion (overline + pin type:Inverting)
    pin ~RESET (37): double inversion (overline + pin type:Inverting)
  Violating EC03 - Extra Checking
    Check part reference, name and footprint position and alignment
    field: footprint, posx 50, posy -1250, recommended posx 50, posy -1350

D:\KiCAD\kicad-library-review\library>checklib_extra_p.bat motorola.lib MC6840

D:\KiCAD\kicad-library-review\library>..\..\kicad-library-utils\schlib\checklib.py -vv --enable-extra motorola.lib -p MC6840
checking component: MC6840
  Violating Rule 3.8
    Description and keywords properties contains information about the component.
    missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68A40
      missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68B40
      missing datasheet, please provide a datasheet link if it isn't a generic component

D:\KiCAD\kicad-library-review\library>checklib_extra_p.bat motorola.lib MC6843

D:\KiCAD\kicad-library-review\library>..\..\kicad-library-utils\schlib\checklib.py -vv --enable-extra motorola.lib -p MC6843
checking component: MC6843
  Violating Rule 3.8
    Description and keywords properties contains information about the component.
    missing datasheet, please provide a datasheet link if it isn't a generic component
  Violating EC01 - Extra Checking
    Check pins names against pin types.
    pin ~RESET (7): double inversion (overline + pin type:Inverting)
    pin ~IRQ (37): double inversion (overline + pin type:Inverting)
  Violating EC03 - Extra Checking
    Check part reference, name and footprint position and alignment
    field: footprint, posx 50, posy -1250, recommended posx 150, posy -1150

D:\KiCAD\kicad-library-review\library>checklib_extra_p.bat motorola.lib MC6844

D:\KiCAD\kicad-library-review\library>..\..\kicad-library-utils\schlib\checklib.py -vv --enable-extra motorola.lib -p MC6844
checking component: MC6844
  Violating Rule 3.8
    Description and keywords properties contains information about the component.
    missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68A44
      missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68B44
      missing datasheet, please provide a datasheet link if it isn't a generic component
  Violating EC01 - Extra Checking
    Check pins names against pin types.
    pin ~IRQ~/~DEND (33): double inversion (overline + pin type:Inverting)
    pin ~DRQ2 (36): double inversion (overline + pin type:Inverting)
    pin ~DRQ1 (37): double inversion (overline + pin type:Inverting)
    pin ~RESET (39): double inversion (overline + pin type:Inverting)
  Violating EC03 - Extra Checking
    Check part reference, name and footprint position and alignment
    field: footprint, posx 50, posy -1250, recommended posx 50, posy -1350

D:\KiCAD\kicad-library-review\library>checklib_extra_p.bat motorola.lib MC6845

D:\KiCAD\kicad-library-review\library>..\..\kicad-library-utils\schlib\checklib.py -vv --enable-extra motorola.lib -p MC6845
checking component: MC6845
  Violating Rule 3.8
    Description and keywords properties contains information about the component.
    missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68A45
      missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68B45
      missing datasheet, please provide a datasheet link if it isn't a generic component
  Violating EC01 - Extra Checking
    Check pins names against pin types.
    pin ~RESET (2): double inversion (overline + pin type:Inverting)
    pin ~CS (25): double inversion (overline + pin type:Inverting)

D:\KiCAD\kicad-library-review\library>checklib_extra_p.bat motorola.lib MC6850

D:\KiCAD\kicad-library-review\library>..\..\kicad-library-utils\schlib\checklib.py -vv --enable-extra motorola.lib -p MC6850
checking component: MC6850
  Violating Rule 3.8
    Description and keywords properties contains information about the component.
    missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68A50
      missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68B50
      missing datasheet, please provide a datasheet link if it isn't a generic component
  Violating EC01 - Extra Checking
    Check pins names against pin types.
    pin ~RTS (5): double inversion (overline + pin type:Inverting)
    pin ~IRQ (7): double inversion (overline + pin type:Inverting)
    pin ~DCD (23): double inversion (overline + pin type:Inverting)
    pin ~CTS (24): double inversion (overline + pin type:Inverting)

D:\KiCAD\kicad-library-review\library>checklib_extra_p.bat motorola.lib MC6809

D:\KiCAD\kicad-library-review\library>..\..\kicad-library-utils\schlib\checklib.py -vv --enable-extra motorola.lib -p MC6809
checking component: MC6809
  Violating Rule 3.8
    Description and keywords properties contains information about the component.
    missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68A09
      missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68B09
      missing datasheet, please provide a datasheet link if it isn't a generic component
  Violating EC01 - Extra Checking
    Check pins names against pin types.
    pin ~NMI (2): double inversion (overline + pin type:Inverting)
    pin ~IRQ (3): double inversion (overline + pin type:Inverting)
    pin ~FIRQ (4): double inversion (overline + pin type:Inverting)
    pin ~HALT (40): double inversion (overline + pin type:Inverting)
    pin ~DMA/BREQ (33): double inversion (overline + pin type:Inverting)
    pin ~RESET (37): double inversion (overline + pin type:Inverting)
  Violating EC03 - Extra Checking
    Check part reference, name and footprint position and alignment
    field: footprint, posx 50, posy -1250, recommended posx 50, posy -1350
checking component: MC6809E
  Violating Rule 3.8
    Description and keywords properties contains information about the component.
    missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68A09E
      missing datasheet, please provide a datasheet link if it isn't a generic component
    checking alias: MC68B09E
      missing datasheet, please provide a datasheet link if it isn't a generic component
  Violating EC01 - Extra Checking
    Check pins names against pin types.
    pin ~NMI (2): double inversion (overline + pin type:Inverting)
    pin ~IRQ (3): double inversion (overline + pin type:Inverting)
    pin ~FIRQ (4): double inversion (overline + pin type:Inverting)
    pin ~HALT (40): double inversion (overline + pin type:Inverting)
    pin ~RESET (37): double inversion (overline + pin type:Inverting)
  Violating EC03 - Extra Checking
    Check part reference, name and footprint position and alignment
    field: footprint, posx 50, posy -1250, recommended posx 50, posy -1350

Generally:

  • inverted pins should use the ~INT~-text and NO additional inverting circle!
  • you can ignore the datasheet-errors, when none is avilable online (anymore ;-)
  • try to set footprint-field (if applicable, i.e. unique) and FPFilters properly

Best,
JAN

Added footprint filter as best as I could. Does not seem to work however so
probably not correct.
@ghost
Copy link
Author

ghost commented Jan 17, 2017

Removed the rings for pins with the bar over the name. I agree that this is how it should be an now the complaints about name vs pintype is gone. However, I added the rings since I looked at the zilog library which is said to be 100% KLC compliant...

I also added a footprint filter but I expect this to be incorrect. When testing it does not seem to work. If I add one of the smaller ICs (6840, 6850) it still suggests 40pin dip in my tests.
There are actually at least 4 different footprints that are valid (long/short x socketed not socketed) so it would have been best just to point to the DIP library if that was possible.

@jkriege2
Copy link
Collaborator

Hi!

first of all: please fix the conflict!
second: ABout the FPFilters:

  • set the full footprint name (as you've put into the FPFilters) into the footprint field, but remove the _LongPads
  • set the FPFilters to DIP*W15.24mm* Together with the pin-count extracted from the symbol this will match the correct/applicable packages!

best,
JAN

@Misca1234 Misca1234 mentioned this pull request Oct 12, 2017
@Misca1234
Copy link
Collaborator

This push can be closed and deleted
A repush is here
#1719

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

Successfully merging this pull request may close these issues.

None yet

3 participants