64k Eprom Karte von Solder

Es gibt 9 Antworten in diesem Thema, welches 2.075 mal aufgerufen wurde. Der letzte Beitrag (19. November 2015 um 15:55) ist von cbmhardware.

  • Auf der Suche nach einer Epromkarte mit passender Modulsoftware für den c16 bin ich auf die Karten von Solder gestoßen.
    Leider gibt es dazu nur noch Hinweise.
    Hat eventuell jemand einen Schaltplan, oder Eagle Dateien?

  • Ich glaube nicht, dass man heute noch etwas darüber finden wird. Wie ich gehört habe, macht der C. Schäffner auch schon lange nichts mehr.

    Es ist aber kein allzu großer Wurf, so etwas selbst zu bauen, wenn man mit einem großen ROM arbeiten möchte. Dieses also nicht mit dem P/4 oder C16 beschreiben möchte.

    Du baust Dir an $FD20-$FD2F eine Schaltlogik für Leitungen und Banking des ROMs. Da Du sowieso nur maximal 32KByte einblenden kannst, geht da auch ein größeres ROM. Damals war das sicher eine Preisentscheidung.

    Das erste 8-16KByte ROM, welches über CBM-Kennung (Bank $02) eingeblendet wird, enthält dann die Steuer- und Auswahlsoftware. Ist alles ein bisschen Arbeit, sollte aber realisierbar sein.


    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Hallo, muss ich mich mal einlesen....
    Ideal wäre natürlich, wenn man hier auch gleich brennen kann...., Software für den Tiny ist ja vorhanden.

  • Ich habe das beim Kaffee mal durchkalkuliert. Die einfachere Variante hat möglichst zwei ROM-Chips. Da bieten sich zwei 010er (128kBytex8) Flash- oder Eprom-ICs an.

    Zuerst muss man aber auf $fd20 kommen: ein 74LS30 und ein 74LS138 reichen für die Dekodierung. Dazu hat jeder ROM-Chip vier zu beschaltende Adressleitungen: A13,14,15 und 16.
    Da würde ich ein 8Bit-Register verwenden: 74LS574. D0-D3 übernimmt dann das Banking für die Low- und D4-D7 für die High-Bank. Dann fehlen noch die Select-Leitungen fürs C16- Banking. C1L, C2L, C1H und C2H.
    Das wird dann etwas kniffliger, weil aus dem ersten IC zumindest 8KByte eingeblendet werden sollen, damit man eine Auswahl per Software hat. Dazu nimmt man dann ein 74LS174 4Bit-Register und ein 74LS125 zum Isolieren der einzelnen Select-Leitungen, die im Moment nicht verwendet werden. Da nach dem Reset am Register an allen Ausgängen Low anliegt, kann C1L direkt über den ersten Ausgang geschaltet werden. Die anderen Leitungen brauchen dann einen Inverter: 74LS04.
    Das Register für die oberen Adressleitungen hat auch Low an den Ausgängen, also wird Bank $00 aus dem Low-ROM ab $8000 eingeblendet. That's all.

    Bauteile:

    Dekodierung; 740LS30 und 74LS138
    74LS574 (obere Adressleitungen)
    74LS174, 74LS04, 74LS125 (Select-Leitungen)
    2x 27010, oder 29010 jeweils Low und High-ROM

    Siehe weiter unten.

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Wäre nicht ein 74xx273 besser? Der hat ein RESET-Signal und kann damit beim Einschalten in einen definierten Zustand gebracht werden. Sonst hast du über die oberen Adressleitungen jedesmal andere Bänke ausgewählt.

    Ein 74xx574 ist nach dem Einschalten nicht notwendigerweise Null.

    Bei Verwendung von $FD2x nicht vergessen, daß der KERNAL an einer Stelle auf diesen Adressbereich zugreift.

    Der 74xx174 ist übrigens ein 6 Bit-Register, ich denke du meinst den 74xx175 wie er auch in der Banking-Logik des C16/+4 zu finden ist.

  • Ja, richtig 175er meinte ich und der 273 wird wohl die bessere Wahl sein.

    Das fand ich eben im ROM:

    Code
    LDA   #$09
            STA   $FD20
            ORA   #$80
            STA   $FD20

    $fd20 %01001001

    An der Dekodierung dann A1 oder A2 mit auswerten, damit man zumindest auf $fd21 und eine weitere Adresse kommt.

    Also mit Nachbesserung:

    740LS30 und 74LS138 ; Dekodierung
    74LS273 (obere Adressleitungen)
    74LS175, 74LS04, 74LS125 (Select-Leitungen)
    2x 27010, oder 29010 jeweils Low und High-ROM

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Für die Dekodierung könnte man noch einen Blick auf den 74xx133 werfen.

    Eine wirkliche Verbesserung wird das aber nicht bringen. Auch wenn man das untere Nibble von $fd20 für die Select-Leitungen verwendet, um mit den freien Invertern dann noch etwas anzupassen, wird man letztlich auch wieder beim zusätzlichen Dekoder landen. Würde aber auch schon allein für $fd2x nicht reichen.

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Statt einem 74LS04 kann man auch einen 74LS240 nehmen, der hat 8 Inverter die sogar noch in 2 Blöcken a 4 tristate können.

    Damit wird wohl eine feinere Dekodierung möglich sein. Man braucht aber zwei getrennt dekodierte Adressen, jeweils für die oberen Adressleitungen der ROMs und nochmal für die Select-Leitungen. Da sehe ich so keine Möglichkeit.

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |