suche 74xx IC, was die Funktionen eines ORs und zweier Inverter in sich vereint

Bin mal wieder in der Old Skool Ecke unterwegs:

formatting link

Leider wird ROML beim C64 für RW low nur dann low, wenn der C64 im Ultimax Modus ist, also GAME auch auf low ist. Oder anders ausgedrückt, wie ich es eigentlich von

formatting link
für meinen PLA-Nachbau her hätte wissen müssen:

roml

Reply to
Frank Buss
Loading thread data ...

Am 09.11.2013 15:06, schrieb Frank Buss:

7402, sofen die Gatterlaufzeiten kein Problem machen.

Gruß Dieter

Reply to
Dieter Wiedmann

Danke, war eigentlich naheliegend, bin wohl noch nicht ganz wach :-)

Mit den Gatterlaufzeiten sollte gehen. Ein 74LS02 hätte maximal 15 ns Gatterlaufzeit, und der Takt im C64 ist 1 MHz, sodaß die benötigten zwei Gatter in Reihe für die OR-Funktion kein Problem sein sollten. Aber ich werde vorsichthalber nochmal die benötigten Setup/Hold Zeiten im C64 überprüfen.

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Ja, denn Schreibbefehle gehen by default immer ins DRAM. Ausnahmen gibt es wenige und für ROMs aus naheliegenden Gründen schon mal gar nicht weil sonst die Datenleitungstreiber von CPU und ROM gegeneinander arbeiten.

74LS02, 4 x NOR.

Ich denke aber nicht, daß das funktionieren wird weil die PLA im C64 ROML für Schreibzugriffe eben nicht low setzen wird solange du nicht im Ultimax-Modus bist. Schaltest du aber in diesen Modus um ist so ziemlich dein ganzes DRAM sofort weg (Zumindest aus Sicht der CPU, AFAIK bleiben

4 KB RAM ab $0000 übrig). Irgendwo musst du aber deine Daten, die ins Flash sollen, zwischenlagern und nebenher den Rechner am Laufen halten.

Gerrit

Reply to
Gerrit Heitsch

Das sollte kein Problem sein. Im Ultimax-Modus habe ich folgendes Speicherlayout:

4K RAM von $0000-$0FFF 8K Cartridge ROM von $8000-$9FFF 4K I/O von $D000-$DFFF 8K Cartridge ROM von $E000-$FFFF

Damit kann man einiges machen. Das aktuelle Filetransfer-Testprogramm ist 3 kB lang, und da ist verschwenderisch der Titelbildschirm einfach per 2 kB Charset/Color aus dem CBM Prg Studio Screen-Editor als .byte-Anweisungen mit enthalten.

Ich habe per MIDI 2 kB/s Nettoübertagungsrate (der Inhalt muß leider in Note-Off Nachrichten verpackt werden, da einige billige eBay-MIDI Adapter keine SysEx-Nachrichten länger 3 Bytes verschicken, sonst hätte ich über 3 kB/s), also 500 us pro Byte. Das Flash braucht maximal 20 us pro Byte zum Programmieren und man kann byteweise programmieren, daher muß ich nichts zwischenspeichern. Nur beim Start brauche ich 100 ms Pause, da das die maximal benötigte Zeit für ein Chip-Erase ist.

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Frank Buss schrieb:

Wenn Du vom C64 sprichst, denkst Du aber schon daran, dass bei $0000-$0001 der Port der CPU liegt, auérdem die beiden ersten Speicherseiten für ZeroPage und Stack reserviert sind? In den restlichne 3,5kB magst Du Dich dann austoben.

--
  Mit freundlichen Grüßen | /"\ ASCII RIBBON CAMPAIGN | 
    Andreas Bockelmann    | \ /  KEIN HTML IN E-MAIL  | 
   F/V +49-3221-1143516   |  X   UND  USENET-GRUPPEN  | 
                          | / \  www.asciiribbon.org  |
Reply to
Andreas Bockelmann

Du hast aber schon verifiziert, daß du, wegen Transfer ins Flash, im Ultimax-Mode dort auch wirklich schreiben kannst?

Gerrit

Reply to
Gerrit Heitsch

Wie meinst du das? Ich werde natürlich das Programm in den Bereich von $0000 bis $0FFF kopieren und von dort ausführen, sonst könnte ich auch nicht einfach ein Chip-Erase machen, sondern müsste was kompliziertes per Sector-Erase programmieren.

Man kann mit dem Kick Assembler den ich verwende sowas leicht machen: einfach einen Block per ".pseudopc" definieren, und es wird dann fortlaufend assembliert, aber so, als wäre der program counter da, wo er mit .pseudopc angegeben wurde. Verwende ich aktuell bereits für die PRG-Filetransfer Routine, da die aus dem EPROM Bereich ab $8000 nach $c000 kopiert wird, um vor dem Ausführend eines PRGs das EPROM ausschalten zu können.

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Nein, ich meine, du hast verifiziert, daß du im Ultimax-Mode dein Flash-ROM bei R/_W=LOW auch wirklich ansprechen kannst?

Ich meine dabei nicht nach den im Netz zu findenden Gleichungen der PLA sondern per Oszi am lebenden System.

Gerrit

Reply to
Gerrit Heitsch

Nimm ein 4fach NOR: 7402...

1 NOR plus 1 NOR als Inverter gibt 1 OR bleiben noch 2 NOR als Inverter übrig

BINGO

Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang

--
Wolfgang Allinger, anerkannter Trollallergiker :) reply Adresse gesetzt! 
Ich diskutiere zukünftig weniger mit Idioten, denn sie ziehen mich auf 
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p 
(lt. alter usenet Weisheit)      iPod, iPhone, iPad, iTunes, iRak, iDiot
Reply to
Wolfgang Allinger

Frank Buss schrieb:

Das wäre dann der 7402, vierfach NOR mit je zwei Eingängen.

Holger

Reply to
Holger

War etwas beschäftigt, aber habe jetzt Zeit gefunden das zu verifizieren. Sieht etwas abenteuerlich aus, aber den C64 stört scheinbar nicht, wenn etwas längere Drähte dranhängen:

formatting link

Damit konnte ich dann vom C64 aus die ID des Flashs lesen, und den Flash löschen und neu beschreiben. Beim Beschreiben wurden allerdings manchmal ein paar Bytes verschluckt, aber ich hoffe das liegt am Aufbau und ist nicht noch irgendein fieses Timing-Problem.

Habe die Schaltung angepasst und neu geroutet (revision 0.2), die neuen Platinen sollten in ein paar Wochen da sein:

formatting link

Da noch ein 74LS74 fehlte, um die Taktfrequenz für das MIDI-Interface einstellbar zu machen (es gibt welche mit 2 MHz und welche mit 500 kHz, aber gibt keine bezahlbaren 500 kHz Quarzoszillatoren in DIP-Bauform für

5V), wurde es schon ziemlich eng auf der Platine und ich habe ein klein wenig geschummelt und noch ein 5-Pin SMD-Oder-Gater auf die Rückseite platziert, denn ich hatte mich für den Ultimax-Modus vertan und habe es nicht mit weniger Gates hinbekommen, denn der ist aktiv, wenn nur GAME auf Low ist, und EXROM auf High, nicht wenn beides auf Low ist. Aber sonst ist es alles Retro-Style geblieben :-)

So wird die neue Version aussehen:

formatting link

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

In meinem aktuellen Testaufbau konnte ich alles ins RAM laden und dann das Programm irgendwo unterhalb von $1000 ablegen (in meinem Test bei $0900). Beim Flashen schalte ich dann jeweils zum Lesen eines neuen Bytes den Ultimax-Modus ab, lese das Byte aus dem RAM, schalte den Ultimax-Modus wieder an und brenne es ins Flash. Funktioniert prima. Es muß also im Prinzip nur die reine Flash-Schreibroutine irgendwo unterhalb $1000 liegen und die ist nur ein paar Bytes lang. Hier das schnell gehackte Testprogramm:

formatting link

Aber ich hatte ja schon berechnet, daß man auch direkt beim Empfang der MIDI-Daten ohne Zwischenspeicherung brennen kann, z.B. wenn man die vollen 512 kB des Flashs programmieren will.

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Als Taktteiler bevorzuge ich den 74LS93, deutlich einfacher zu beschalten. :)

Gerrit

Reply to
Gerrit Heitsch

Klar, ginge auch. Scheint aber langsam auszusterben, denn Reichelt hat den merkwürdigerweise nicht mehr. Den 74LS74 bekommt man da aber noch. Bei Farnell gibt es noch beides, aber der 74LS93 kostet satte 1,63 Euro, der 74LS74 nur 52 Cent. Logisch, im Zähler sind ja auch bestimmt mehr als dreimal soviel Flip-Flops drin :-)

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Dann nimm den 74LS193. 26 Cent bei Reichelt. :)

Gerrit

Reply to
Gerrit Heitsch

Lag am Aufbau. Die neue Platine ist heute angekommen und gibt jetzt keine Flash-Schreibfehler mehr. Habe es auch in ein Gehäuse eingebaut:

formatting link

--
Frank Buss, http://www.frank-buss.de 
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.