Welchen Schaltplan? Ich weiß von keinem online verfügbaren Schaltplan einer Karte mit einem Pi Pico...
Apple2IORPI
-
-
gute frage...
Hier, falls es der richtige ist.
https://github.com/oliverschmi…cs/apple2pi_schematic.jpgSo ähnlich ist bei mir der STM32F411 angeschlossen, über die interne Serielle Schnittstelle vom BASIS108.
Die Pegelwandler (MC1488 und MC1489) rausgeschmissen und direkt die Signale vom 6551 mit TTL Pegel genutzt.
Gruß Hubert -
https://github.com/oliverschmi…cs/apple2pi_schematic.jpg hat genauso wenig mit dem Pi Pico zu tun wie https://github.com/oliverschmi…/Hardware/Apple2IORPi.pdf.
Das sind beides einfach unveränderte Dateien aus den ge-fork-ten Repos.
-
OK.
-
Weil ich noch auf die Shenzen Schneckenpost warte, für benötigte Bauteile, hab ich mich mal genauer mit dem Schaltplan für Apple2iorpi beschäftigt.
Der ist ja wirklich von hinten ins Knie....
Merkwürdiger Handshake und ein Wunder, dass es überhaupt funktioniert, mit diesem komischen doppelten Hanshake.
Keine Synchronisation der R/W mit PHI1 (ist gar nicht benutzt).
Die Anbindung des (EEP)ROMS ($C800...$C8FF) verursacht mit Sicherheit Probleme mit Karten, die auch den 2k Speicherbereich nutze, wie z.B. die 80Z Karte.
Ich kann das Flipflop nicht finden, dass dafür sorgt, dass die Karte den Speicherplatz nutzt und bei Zugriff auf $CFFF wieder frei gibt.
Im MC Apple-Sonderheft, https://ia801700.us.archive.or…as%20Apple-Sonderheft.pdf
S87ff, Universalschnittstelle.... wird genau erklärt, wie die ROM-Anbindung richtig gemacht wird. Das ist zwar eine 6522 Karte, aber es geht ja um die ROM Anbindung. Desweiteren ist die Verknüpfung von R/W und PHI1 erklärt, aber in den Nachträgen, S. 95 korrigiert.
Wenn ich in der Schaltung statt des 6522 eine CH376 Board in die Schaltung einpasse, hab ich etwas ähnliches, wie die BOOTI card.
Bisher habe ich nur mal zum Test das CH376 Bord, ohne ROM, an den Bus angeschlossen, es scheint zu funktionieren, eine Abfrage ob das device present ist, funktioniert, genau wie die Afrage der Firmware Version. -
Die Karte hat kein $C800-$CFFF (aka Expansion) ROM, darum benötigt sie auch keine entsprechende Abschaltlogik.
-
Ok, Wozu ist dann das 8kB EEPROM?
Nur für die 256 Byte Bootrom?
Warum liegen dann A0 bis A10 vom ROM am Apple Adressbus , also werden 2k vom ROM adressiert ?
A11 und A12 gehen an einen LVC374 um zwischen vier 2k Bänken umschalten zu können.
Ich ärgere mich jetzt schon, dass ich die Platinen geordert habe, statt selbst etwas zu entwerfen.
Ich muss mir mal Experimentierplatinen (Lochraster Slotcard) besorgen und was eigenes entwickeln.
Leider hab ich nicht wirklich viel Ahnung von programmierbarer Logik, bei PAL, GAL gehts noch, aber FPGA usw. nicht wirklich, daher wird es wohl ein 74er Verhau. -
Ich kann Dir nicht sagen, warum welche Adressleitung wo anliegt und warum welches ROM welches Grösse hat. Was ich Dir sagen kann ist, dass die Karten kein Expansion ROM hat, sondern 4 Bänke des 256 Byte Slot ROMs. Diese Banking Logik emuliere ich hier:
https://github.com/oliverschmi…rryPiPico/board.c#L94-L95 -
Ok, also werden 7kB von 8kB verschwendet. 4 Bänke a 2kB, von denen jeweils "nur" 1/4kB genutzt werden.
Für das (expansion)ROM werde ich mich an die o.g. MC Sonderhet Schaltung anlehnen, mit RAM oder wahlweise (E)EPROM plus Bankswitching. -
Terence hat mir geschrieben, dass er ein Expansion ROM ganze bewusst weggelassen hat, weil der die Komplexität der Umschaltung vermeiden wollte - insbesondere bei der 80 Zeichen Shell. Oder anders ausgedrückt: Zur cooleren Hardware brauchst Du dann halt auch coolere Firmware. Ich kann/will nicht beurteilen, wie gut Du darin bist, Dir die dann zu schreiben. Für mich persönlich liegt der Wert eines Projekts wie Apple2-IO-RPi nicht in der Hardware, sondern in der Firmware und Software. Insofern also kein Wunder, dass ich mit neuer Hardware um die Ecke komme, die aber die original Hardware über weite Strecken emuliert, damit ich die Firmware und Software nicht total umbauen muss - was z.B. spätestens dann doof wird, wenn Terence seine Firmware und Software um neue Funktionen erweitert, und ich diese Änderungen alle in meine eigene Variante einbauen müsste. Aber das handhabt natürlich jeder alles so, wie es für ihn am besten ist.
-
Gute Frage, ja Firmware traue ich mir zu, nur die Prodos Geschichte ist nicht so meins. Ich denke mit der richtigen Literatur, einige Artikel in PEEKER, MC und anderen Computerzeitschriften sind meine bevorzugte Quelle, bzw. waren sie schon in den 70ern 80ern wirds schon klappen. Da sind auch die ganzen PRODOS APIs erklärt.
aber, mein Steckepferd ist dann doch die Hardware, die Software eher ein "muss".
-
aber, mein Steckepferd ist dann doch die Hardware, die Software eher ein "muss".
Dann würde ich Dir stark dazu raten, Dir etwas zu bauen, bei dem Du vorhandene Firmware / Software übernehmen kannst. Ich will Dir nicht zu nahe treten, aber der Aufwand, der darin steckt, wir von Hardware-"Bastlern" gerne sehr falsch eingeschätzt.
Just my two cents -
Werden wir sehen. Kann nur etwas dauern. Ich lerne grad mit dem Merlin32 Assembler mit VSCode zu arbeiten. Ich kann mir kaum vorstellen, dass die Programmierung schwieriger ist als Microcontroller zu programmieren, ich denke sogar einfacher, da ich viel hardwarenäher arbeite.
-
Mir ist zwischenzeitlich klar geworden, dass Dir offensichtlich nicht klar ist, dass die Karte eine individuelle Firmware pro Slot hat - wie eigentlich alle moderneren Designs. Hier also dann 7 x 4 x 256 Bytes.
-
Hm...
Zuerst mal, ich mache das ganze nur, weil es mir Spass macht.Individuelle Firmware pro Slot, warum?
Das macht doch nur Sinn, wenn die Firmware schlecht geschrieben ist und den Slot nicht selbstständig erkennt.
Ich mache eine Abfrage, in welchem Slot sich die Karte befindet, was ausreicht, desweiteren benutze ich relozierbaren Code.
Code zum herausfinden der Slotnr.:
JSR $FF58 oder irgendeine andere ROM Adresse mit RTS AnweisungTSX Stackpointer nach X
LDA $100,X $Cn nach Akku, wobei n die Slotnr. ist.
Nach dem Apple][ Referenz Manual, soll die kodierte ($Cn) Slotnummer im Scratchpad RAM $7F8 gespeichert werden und ist dann für die indizierte Adressierung vom scratchpad Bereich zu verwenden.
Vielleicht ist das etwas oldschool, aber erstens bin ich alt und zweitens halte ich mich damit an die Apple Vorgaben.
Bisher nutze ich für die Entwicklung ein 2k SRAM statt ROM.
Die 256 Byte Firmware (Bootrom) werden im RAM in den oberen 256 byte gespeichert.
Dann sind noch 1 3/4 kB benutzbares RAM im expansions Bereich, was recht praktisch ist, als Scratchpad RAM, oder einfach als Buffer. -
Hm...
Zuerst mal, ich mache das ganze nur, weil es mir Spass macht.Du klingst so, als hätte Dich hier jemand angegriffen. Du hast nicht verstanden, wofür das ganze ROM ist und ich habe es Dir erklärt. Nicht mehr und nicht weniger.
Individuelle Firmware pro Slot, warum?
Vermutlich ist das eine rhetorische Frage, aber womöglich liest ja jemand mit, den es tatsächlich interessiert:
- Einsparen von Platz und Zyklen für die von Dir beschriebene Erkennung
- Einsparen von Zyklen durch die absolute statt absolut-indizierte Adressierung beim I/O Zugriff
- Auch beim 6502 Möglichkeit der Nutzung des BIT Befehls beim I/O Zugriff (spart oft Platz und Zyklen)
- Freie Nutzung des X Registers für andere Zwecke (spart wieder Platz und Zyklen)
- Kein Workaround für den Phantom-Read bei STA,X z.B. beim 6551 notwendig (spart dann Platz und Zyklen)
[...] und zweitens halte ich mich damit an die Apple Vorgaben.
...aus einer Zeit, als man ROM in Gold aufgewogen hat. Nur wenige Jahre später hat es auch Apple nicht mehr so gemacht. Z.B. bei der Slinky RAM Firmware oder bei der 3.5 Floppy "Liron" Controller Firmware.
-
Ok, das sind gute Argumente.
Das werde ich übernehmen, da meine Experimentierkarte 2kRam hat, muss ich die Firmwate erstmal ins Ram laden,bleibt bei reset erhalten.
Da kann ich dann jeweils die für den Slot passende Firmware laden.
und nee, ich fühle mich wirklich nicht angegriffen´sorry´, wenn das so rüber kam. -
nee, ich fühle mich wirklich nicht angegriffen´sorry´, wenn das so rüber kam.
Schön, danke für die Klarstellung
-
Mir fehlen leider noch 2 ICs 74lvc374, in SMD sind sie leicht zu bekommen, aber die DIP Version finde ich nur aus USA.
Falls jemand welche übrig hat, oder eine günstige Quelle kennt, wäre cool.
Ich möchte schnell loslegen, nicht ewig auf Post von Übersee oder Fernost warten.
Mouser hat sie wohl on stocck, aber 20€ Versand für 2,5€ Ware, ist nun sehr teuer.
Wenn alle Stricke reißen, muss ich wohl oder Übel die TSSOP Version kaufen und mit Lackdraht fädeln
nicht schön aber sollte klappen.
Gruß Hubert.Hallo entschuldige mein Deutsch. Ich komme aus Holland. Ich habe gerade 20 74LVC374 bestellt von Mouser. Wenn jemand interessiert is gerne anschreiben. Ich brauche selber nur 10 stuck. Ich habe auch noch 4 komplette Apple2-IO-RPi wenn alles funktioniert
-
Hallo osenbruggen,
von den 374 Chips würde ich dir 5 Stück abnehmen und auch einen funktionierenden Apple2-IO-RPI.
Das ist warscheinlich nur die Platine ohne Raspi, oder.
Einen Raspi hab ich dafür noch hier.
Alles weiter per PN?
Viele Grüße,
Olaf
-
Hallo, Olaf.
Falls du Leerplatinen brauchst, ich hab 3 übrig, von JLPCB gefertigt.
Bei Interesse, melde dich. -
Alles weiter per PN?
PM bitte ja
-
Was soll denn ein kompletter AppleII-IO-RPi kosten? Melde mal Interesse an (an einem).
Gruß, Jochen
-
Hallo,
ich melde mal auch Interesse an. An komplettem Modul, Platine plus Spezial-ICs oder nur Platine. Je nach Verfügbarkeit. Möchte mit meinem IIe doch mal etwas anfangen.
Gruß, Rene
-
Entschuldige für die späte Antwort. Ich vermisse noch 28C64B für die komplette Platinen. Leider weiß Ich noch immer nicht wann Ich die bekommen werde. Die 347 Chips habe Ich bekommen. Hab schon Fragen für 7 stuck so habe noch 3 Stuck.
-
Die Karte funktioniert auch problemlos mit einem "normalen" (also nicht Zero) RPi. Nicht unbedingt vorhersehbar war, dass sich die Karte und die RPi USB Buchsen nicht in die Quere kommen
Auch bleiben erfreulicherweise beide Nachbarslots voll einsatzfähig
Nur mit dem Deckel auf dem Apple II wird das nicht mehr so ganz Aber ohne Deckel und mit nach oben herausstehendem Ethernet-Kabel sieht ein Apple II sowieso viel cooler aus
Ach ja, die neuest Board Revision hat ja einen Jumper, um den RPi wahlweise extern (per Micro-USB) mit Strom zu versorgen, was sich natürlich für dieses Setup anbietet. Dann gerne auch mit einem RPi4 - für Performance jenseits von RPi Zero's...
-
Ich hab auch mal einen Fileserver für diese Hardware in Common Lisp geschrieben: https://github.com/hanshuebner/ovomorph
Hallo Hans,
was genau macht dieser Fileserver?
Beim Apple2IORPi ist ja das problem, dass das Wechseln des images ein riesiger Aufwand ist. Kann man das darüber vermeiden? -
Hallo JPT,
mit dem Fileserver kann man ein Image laden, das dann vom Apple II unter ProDOS angesprochen werden kann. Das Image muss entsprechend im ProDOS-Format vorliegen. Ich kann mich gerade nicht erinnern, wie das mit der Standardsoftware für den Apple2IORpi funktioniert, warum ist das so ein großer Aufwand?
Schöne Grüße,
Hans
-
hallo hans
Also ich log mich jedesmal ein oder mounte die SD karte extern um den service-file zu editieren um dort ein anderes image zu referenzieren.
gibt es auch einen anderen weg?
Zum einloggen muss man im WLAN sein, was ein Problem ist, wenn die kiste nicht zuhause steht.
oder man muss sich vom Apple aus einloggen und ich habe absolut keine idee, wie ich das machen soll, wenn er beispielsweise Total Replay geladen hat.
-