Posts by Jan

    Das sieht aus wie so ein ganz einfacher IDE adapter, der praktisch nur das Adressdecoding macht. Sowas in diese Richtung: https://gitlab.com/MHeinrichs/AIDE

    Da es so simpel ist, kann es kein Autoconfig und der Standard Kickstat bringt auch keinen passenden Treiber mit.

    Am besten wäre es das Projekt dazu zu finden. Notfalls könnte aber sogar der Treiber von dem von mir verlinkten Projekt funktionieren, falls das Treil so funktioniert wie ich denke, Eventuell muss man aber die Adresse anpassen. Den Treiber kann man dann erst mal von Diskette testen und wenn er funktioniert in den Kickstart einbauen (falls du die möglichkeiten hast einen zu brennen)


    EDIT: hab den Beitrag von ronduc überlesen, der sagt das ja schon alles...

    Die 1MB Rom Emulation ist doch beliebter als ich gedacht hatte.

    Frage an die, die dafür gestimmt hatten:

    Würde euch auch der 1MB ROM sockel ausreichen oder wollt ihr die Emulation zum schnellen testen von custom Roms verwenden oder einfach vermeiden ROMs selbst brennen zu müssen?

    Hallo an alle Interessierten,


    ich habe vor eine kleine Erweiterung für den A500 zu bauen (Also das PCB Design dazu zu machen). Ich bin mir aber noch nicht ganz sicher welche Features ich alle integrieren will. Daher würde es mich interessieren, was ihr selbst gebrauchen könntet.

    Das Design würde ich dann zur Verfügung stellen und je nach Interesse vielleicht eine Sammelbestellung machen. Bitte erwartet aber nicht, dass ich es direkt nächste Woche fertig habe, ich habe gerade noch ein anderes Projekt am laufen und Prototyp PCBs werde ich erst zusammen mit dem anderen Projekt bestellen.


    Um den Rahmen zu setzten: Ich will die Logic ausschließlich mit diskreten through hole ICs aufbauen und die Erweiterung wird an den 86 Pin Expansion Slot am Amiga 500 auf der linken Seite angeschlossen. Die Erweiterung soll außerdem Daisychaining über einen Edge Connector auf der gegenüberliegenden Seite ermöglichen. Dieser wird direkt durchverbunden und sollte es dann auch erlauben, dass man die Karte auch im Copro Slot vom A2000 verwenden kann. Einen CLPD möchte ich nicht verwenden.


    Fast Ranger Ram

    Das Grund Feature, das auf jeden Fall enthalten sein soll ist 1MB SRAM, der an $C00000 eingeblendet wird, also da wo normalerweise die Trapdoor Erweiterung ist.

    Wozu, wenn es da doch schon die Trapdoor Erweiterung gibt? Ich habe nun schon ein paar mal gehört dass es praktisch wäre, wenn man keine Trapdoor Erweiterung hat, oder diese zu Chip RAM umgebaut hat. Oder wenn man echten Fast RAM will (der im Trapdoor ist langsamer, da er über Agnus geht). Einige Spiele scheinen wohl fest an $C00000 Speicher zu erwarten. Dazu kommt dass jeder mit dem ich darüber geredet hat, es für nicht möglich hält, bzw selbst daran gescheitert ist (wegen den Agnus Register Shoadows). Ich behaupte aber das funktioniert und ich habe einen funktionierenden Prototyp am B2000.

    Ich würde das mit 2 512Kx8 SRAMs realisieren und 4 74er logic ICs.


    Trapdoor Tandem

    Wenn man Ranger RAM im Trapdoor hat, würde dieser einfach durch den schnellen SRAM überlagert wird, was zur Folge hätte, dass man ihn nicht nutzen kann (er wäre einfach nicht sichtbar, aber man muss die Trapdoor Karte nicht ausbauen).

    Ich könnte eine Option einbauen um die Startadresse zu C80000 (also hinter die 512KB Trapdoor RAM) zu verschieben. Dafür brauch ich dann aber wahrscheinlich einen zusätzlichen IC und der Amiga würde zuerst den langsamen Trapdoor RAM verwenden.

    IDE

    Das nächste Feature nach dem ich schon gefragt wurde wäre IDE, das würde ich auf Basis dieses Projekts realisieren: https://gitlab.com/MHeinrichs/AIDE das verwendet allerdings nicht den IDE Treiber vom A600, sondern braucht einen eigenen Treiber. Zum Autobooten müsste man einen eigenen Kickstart brennen.

    1MB Kickstart Sockel

    wenn schon ein Custom Kickstart benötigt wird um von IDE zu booten würde es vielleicht Sinn machen, direkt einen Kickstart auf die Erweiterung zu integrieren, der zwischen dem eingebauten Kickstart umgeschaltet werden kann. Den würde ich dann direkt so auslegen, dass er auch 1MB Kickstarts unterstützt. Ein Kickstart muss aber trotzdem im internen Sockel vorhanden sein (Da ich das Overlay an $0 nicht nachbauen werde).

    Der Sockel wird aber das PCB wahrscheinlich ein gutes Stück vergrößern und noch 2 ICs mehr benötigen

    Zweite SRAM Bank

    Ich könnte noch eine zweite Bank von den SRAMs hinzufügen um den Adressbereich voll auszunutzen. Davon können aber nur 0.75MB verwendet werden, sodass man damit auf insgesamt 1,75MB Ranger RAM kommt.

    Die zweite Bank braucht neben den beiden SRAM Chips (je 4-6€) sonst nur noch einen zusätzlichen IC.

    ROM Emulation

    Die restlichen 256KB der zweiten Bank ungenutzt zu lassen wäre ja Verschwendung, diese liesen sich nutzen um einen 256KB Kickstart zu emulieren. Diesen könnte man dynamisch in den RAM laden und von dort aus neustarten. Ich könnte ihn auch mit einer Knopfzelle stützen, wenn der Amiga aus ist. Es wäre auch möglich 512KB ROMs zu emulieren (dann hat man nur 1,5MB Ranger RAM zur Verfügung) oder die komplette zweite Bank für 1MB Kickstarts zu verwenden (Aber dafür ist der teure SRAM fast zu schade). Das wäre dann über Jumper konfigurierbar. Aber denkt daran umso mehr Größen ich unterstütze, umso komplexer wird das ganze und ich brauche eventuell mehr ICs, besonders die 1MB Emulation ist etwas komplexer.

    14Mhz

    Ein Sockel für einen 68000 oder 68010, der dann mit 14Mhz läuft. Das braucht aber einerseits Platz für den Sockel und ca. 8 zusätzliche ICs, wenn man es richtig machen will, sodass auch andere Erweiterungen noch zuverlässig funktionieren. Der Prozessor kann dann mit vollem Speed, ohne extra Wait States auf den SRAM auf der Erweiterung zugreifen. Die extra Waitstates für den Kickstart auf dem Mainboard sollten sich auch deaktvieren lassen, das muss ich aber erst noch testen.

    Am besten wäre es dafür dann aber die CPU aus dem Mainboard Sockel zu entfernen. Ich könnte sie über BGACK auch Tristaten, aber dann würden andere Erweiterungen, die DMA verwenden, nicht mehr funktionieren.



    Welche Features wären für euch interessant? Denkt bitte daran, dass jedes Feature mehr ICs, höheren Routingaufwand für mich und ein größeres PCB bedeutet.

    Habt ihr sonstige Anmerkungen dazu?

    U7 ist der CIA, der dazu nötig ist, dass der Amiga, das ROM overlay bei $00000 deaktiveren kann und die LED Intensität / audifilter steuert. Außerdem bekommt er das change, trak0 und writeprotect signal vom floppy.

    Ohne diesen CIA kann der Amiga kein Bild machen, da er nicht an den Chipram kommt, wenn das ROM overlay an ist.


    U8 Steuert das floppy, macht den Motor an, stept den Kopf vor und zurück etc.


    So wie du das beschreibst deutet das auf ein Problem mit U8 hin. Wäre er kaputt und du würdest die CIAs tauschen, würde der Amiga erst gar kein Bild machen.


    Bevor du aber versuchst die CIAs zu tauschen bau erst mal den kaputten 1844 aus. Es kann sein dass er outputs vom CIA zu GND shortet und dadurch dessen korrekte Funktion stört.

    Außerdem würdest Du sonst beim Tausch riskieren, dass er auch noch den anderen CIA killt.



    EDIT: Hier gibts die Schaltpläne: https://www.amigawiki.org/dnl/schematics/A500_R6.pdf dich interessieren die Seiten 7 und 5 (_LED geht da zu pin 2 vom 1844 für den Audiofilter)

    Der MC1488 soll wohl auch den CIA töten, wenn man versucht die Spannung an PIN 2 oder 3 messen will, was bisher noch niemand richtig erklären kann wieso... Also sei damit am besten etwas vorsichtig.


    Du könntest den MC1488 mal entfernen und sehen ob der Amiga damit noch läuft. Wenn Du Pech hast, hat er aber vielleicht 12V zum CIA geschickt, der auch ein paar Signale vom Floppy, kontrolliert. Ohne den MC1488 sollte eigentlich nur die Serielle Schnittstelle, der Audiofilter und die Power LED (heller schalten) nicht funktionieren.

    Wenn Du kein equipment zum Entlöten hast, ist wohl das einfachste einfach die Beinchen abzuzwicken.

    Der A500+ sieht eigentlich noch gut machbar aus., ich hab ein B2000 board, das schlimmer aussah.

    Erst mal akku runter, dann mit essig und zahnbürste erst mal reinigen. In dem angegriffenen Bereich dann am besten mit einem Glasfaserstift bearbeiten. Nicht erschrecken, wenn sich dann große Teile der Soldermask lösen. Wenn sie sich löst, soll sie auch runter, weil es bedeutet dass da die Batteriebase schon drin ist. Machst du das nicht, kann die Base unter der Soldermask weiter arbeiten.

    Den 74LS244, am besten auch runter damit darunter sauber machen kannst.

    Dann mit Wasser reinigen, damit kein Essig zurück bleibt und dann mit IPA nachspühlen um das Wasser zu verdrängen.

    Danach sollte es zumindest nicht mehr schlimmer werden.

    Dann kommt der anstrengende Teil die Leitbahnen die durch den Bereich laufen durchzupiepen mit einem Multimeter um zu sehen welche unterbrochen sind. Dabei hilft dir dann die Schematics, damit du nur twischen den Beinen der ICs testen kannst und nicht die Leitungen nachverfolgen musst. Die unterbrochenen bahnen dann einfach mit Lize auf der Rückseite direkt zwischen den IC Beinchen brücken.

    Fortschritt: Bei MBRTest-2 habe ich vermehrt Fehler bei DTADD und FLOAT gesehen auf der Zorro Karte, die anderen Tests, zeigten aber keine Fehler. Das deutet auf ein Problem mit den Adressen hin. Laut Schematics kommt für die Bus Transceiver für den Zorro Bus 74LS245 und 74ALS245 zum Einsatz. Der Datenbus und die unteren 16 Bit verwenden LS, die oberen 8Bit des Adressbusses und und die Control Signale wie BAS verwenden einen ALS. Dass hier für die oberen 8Bit ein ALS verwendet wurde, deutet an, dass sie da wohl Probleme mit dem Timing hatten.

    Ich habe jetzt mal das AS Signal von der CPU zum Bus hin durch 2 NOT Gates verzögert, sodass die Adressbus Transceiver etwas mehr Zeit haben. Jetzt läuft er wesentlich stabiler. Er kann mit dem Zorro RAM problemlos bei 14Mhz booten. Allerdings bleibt nun der Speichertest manchmal einfach hängen, die Maus lässt sich aber trotzdem noch bewegen.


    EDIT: So wie es aussieht, mochte die C00000 Erweiterung die Verzögerung nicht, diese ist jetzt einfach direkt mit AS der CPU verbunden und bis jetzt läuft es ohne Probleme...

    Es hat wohl doch nichts mit der Temperatur zu tun. Der Raum war die woche über abgelühlt und er will trotzdem nicht.

    Dafür ist mir aber etwas anderes Aufgefallen: er scheint immer abzustürzen sobald er Code vom RAM auf dem SCSI Controller ausführt. Beim Booten geht es eine Zeit lang gut, aber stürtzt immer nach ungefähr der gleichen Zeit ab, wahrscheinlich ab da, wenn der KS sachen in dem RAM der Zorro Karte legt.

    Wenn ich ihn booten lasse und MBRTest-2 aus meinem C00000 RAM ausführe und dann hochtakte läuft er (sogar der auf dem Zorro RAM findet er keine Fehler, oder erst nach langer Zeit). Stürtzt dann aber gerne beim bewegen der Maus ab.


    Das erste was meine startup-sequence mancht ist den C00000 RAM zu Priorisieren. Bis das passiert ist, hat der KS aber trotzdem einige Sachen in den Zorro RAM gelegt.


    EDIT: Den RAM auf der Zorro Karte zu deaktivieren hilft auch. Und ich kann sogar bei 14Mhz Booten, wenn der RAM auf der Karte deaktiviert ist und sie im letzten Zorro Slot steckt (am weitesten Weg von der CPU). Im Slot der nahe bei der CPU ist, freezt es beim ersten Floppy Zugriff.


    Sollte ich der CPU vielleicht einen größeren Bypass Cap verpassen?


    EDIT2: Der Nexus Controller hat einen "Memory Test" Jumper, der verhindert, dass der Speicher autoconfiguriert wird, aber vom zugehörigen Testprogramm erkannt wird. Der Test findet Keine Fehler und der Amiga läuft gut, wenn die Karte im letzten Slot ist.

    Aus sicht vom Bus sollte es doch keinen Unterschied machen, ob sich die CPU daten oder Instruktionen vom Speicher holt.

    Ein Extra Bypass Cap an der CPU hat übrigens nicht geholfen.
    Und mein Board hat schon die Pull ups, an den Zorro Bus Transciver.

    Hm als mein Amiga eben kalt war hat er perfekt funktioniert, mit 3.1 ROM Emulation (den er über 2 Wochen gehalten hat) und dem Nexus Controller bei 14Mhz. Nach 20 Minuten speichertest hat er sich aber aufgehängt und ist jetzt nicht mehr stabil bei 14Mhz.

    Die Nexus Karte will nun doch, nur beim Einschalten, muss ich manchmal auf 7Mhz gehen.


    Der Gvp freezt sofort das System, sobald ich auf 14mhz umschalten. Wenn ich aber an AS und DTACK Messe, scheint die CPU noch irgendwas zu tun.

    Mir gelingt es bis jetzt aber leider nicht das mit meiinem GVP Impact II oder meinem Nexus SCSI Controller zum laufen zu bekommen. Der GVP läuft nur bei 7M. Sobald ich umschalte freezt das System. Boote ich mit 14Mhz bleibt er bei einem weißen Screen hängen und die HDD LED blinkt überhaupt nicht.


    Der Nexus will weder bei 7 noch bei 14Mhz, auch nicht wenn ich den extra RAM deaktiviere...

    So alle Waitstats für die Speichererweiterung habe ich (wahrscheinlich) nicht wegbekommen bekommen, aber deutlich weniger. Ich habe das DTACK von der Speichererweiterung an das Reset von U2b vom 14Mhz Mod angeschlossen.


    Jetzt komme ich in Sysinfo auf 1467 Dhrystones. Angeblich sogar schneller als der A1200 mit seinem 14Mhz EC020 und doppelt so schnell wie mein A2000 bei 7Mhz mit normalem Fast RAM. Leider ist es jetzt weniger stabil als vorher.

    Ich habe die Spannungsversorgung vom Breadboard verbessert und nun läuft es fast stabil (Ich kann den Speichertest Minutenlang laufen lassen). Mittlerweile habe ich auch einen 68000P12F drin, aber der hatte keine Verbesserung gebracht als ich ihn anstelle des 68000P8 verwendet habe. Wie stabil es jetzt am Ende mit dem 68000P8 und dem 68010P12 ist habe ich noch nicht getestet (beim aktuellen Aufbau ist es nicht ganz trivial die CPU zu ersetzen).


    Morgen werde ich noch austesten ob ich den Speicher schneller bekomme indem ich für meine Fastram Erweiterung die DTACK Logik vom 14Mhz Mod umgehe. In Sysinfo komme ich aber schon so auf 1044 Dryhstrones.


    Danach wird es dann Zeit, dass ich dann mal ein PCB daraus mache. Hilfe ist dabei gerne willkommen, ich habe noch nie ein PCB designt. Anstelle von so einzem Zwischenboard für den CPU Sockel würde ich gerne eine Karte für den CPU Slot machen.

    Wenn ich ein paar xor hinter den multiplexer mache kommt er zumindest bis zum weißen screen, manchmal auch bis zum Floppy einlegen screen.

    Nachdem ich jetzt hoffentlich alle Fehler aus dem Aufbau beseitigt habe, funktioniert es fast komplett. Er kommt mit 14Mhz hoch und das auch Taktteilen der E Clock und VPA und VMA Synchronisierung funktioniert.

    Für die 14Mhz clock nehme ich jetzt einfach XOR von 7M und VCDAC. Wenn ich an den Ausgang vom XOR direkt die clock vom 68000 anschließe funktioniert es auch. Nur wenn ich das 74F157 zum umschalten dazwischen schalte bleibt er bei einem grauen screen hängen. Das scheint wohl zu viel Delay hinzuzufügen (auch wenn das laut der Anleitung so gehen soll, aber vielleicht ist da mein 68000P8 schon hart an der Grenze.

    Ich habe es noch nicht zum laufen gebracht, aber ein paar neue Erkenntnisse:


    Es hilft DTACK etwas zu verzögern.

    Ein grüner Screen bei dunkler LED deutet auf ein Problem mit den CIAs hin. Ich vermute der CIA versteht die CPU nicht und kann deshalb OVL nicht ausschalten (und die LED nicht an) und dadurch scheitert der RAM test, weil noch der ROM overlayed.



    Ich habe das nun Fertig auf einem Breadboard aufgebaut, allerdings funktioniert es nur, wenn ich es auf 7Mhz schalte. Wenn ich der CPU aber 14Mhz aus VCDAC und 7M direkt gebe funktioniert der Amiga. Wenn ich DTACK aber direkt verbinde (anstatt durch den F157 zu gehen) bekomme ich nur einen schwarzen Screen. Wenn ich ein F56 anstelle des F157 zum verzögern von DTACK verwende, läuft es auch, aber weniger stabil.