Posts mit dem Label Portable werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Portable werden angezeigt. Alle Posts anzeigen

Dienstag, 7. Juni 2016

Portfolio Komplettumbau, Teil 1

Ich habe jetzt einige Zeit nichts geschrieben, aber war nicht untätig.
Es sind einige Modifikationen für den Portfolio zusammen gekommen, die ich hier nach und nach vorstellen will. Los geht es mit:

Teil 1: RAM-Erweiterung

Schritt 1.1: Zerlegen
Den Vorgang beschreibe ich nun nicht genauer, es gibt bereits mehrere Anleitungen. Man muß jedenfalls das Mainboard komplett ausbauen.

Schritt 1.2: Auslöten
Dafür benutze ich die etwas gröbere Lötspitze. Zuerst wollte ich die Platine abkleben und jeweils eine ganze Seite des jeweiligen Chips am Stück auslöten. Das hat sich aber als sehr unpraktisch erwiesen, so das ich mich doch entschieden habe die Pins einzeln abzulöten. Dafür hat es sich als zweckmäßig erwiesen von außen nach innen vorzugehen, so das man die Pins in der Mitte des Chips zuletzt ablötet. Dadurch wird einerseits die thermische Belastung der Platine minimiert, und zudem ist das Risiko geringer das man den Chip versehentlich verdreht und dabei Lötpads beschädigt. Beim Auslöten muß man extrem vorsichtig vorgehen.


Trotz großer Sorgfalt haben sich bei mir einige Pads gelöst. Zum Glück ist jedoch keines abgerissen. Nachdem alle vier RAM Chips ausgelötet waren, habe ich festgestellt, das C20 und C21 etwas zu nah an der Position von U7 liegen, und man den Chip nicht ganz auf die Pads bekommt. Daher habe ich
diese SMD-Kondensatoren auf ihren Lötpads ein Stück verschoben um genügend Platz zu schaffen.
Nachdem man auf die gleiche Weise auch U11 (Adress-Decoder) auf der anderen Seite der Platine ausgelötet hat, ist es schon fast geschafft. Wenn man gleichzeitig noch den CF-Steckplatz einbauen will, ist es empfehlenswert gleich noch den Steckplatz für die originalen Speicherkarten zu entfernen. Die etwas längeren Pins kann man ähnlich wie die der Speicherchips auslöten, die kürzeren habe ich einfach direkt an der Platine abgezwickt.

Hinterher habe ich das jedoch bereut. Es wäre sinnvoll auch diese einzeln auszulöten, damit der Sockel weitgehend unbeschädigt bleibt. Der könnte später noch für ein anderes Projekt interessant werden.

Danach ist es Zeit die Lötspitze zu wechseln, für das einlöten und verschalten der neuen Bauteile empfiehlt sich eine möglichst feine Lötspitze. Je dünner desto besser.
In der Zwischenzeit muß man noch einige Pins des neuen RAM-Chips mit äusserster Vorsicht hoch biegen. Das sind genau Pin 1, 2, 22, 30, 31 und 32. Alle anderen Pins werden wir gleich direkt auf die Pads von U7 auflöten. Wenn man schon dabei ist, kann man auch die Pins des 1MB Chips hoch biegen. Ich nehme dafür eine kleine Flachzange, setze sie direkt am Rand des Chips an und drücke die Pins flach. Das geht recht einfach und mir ist dabei noch nie ein Pin abgebrochen.

Schritt 1.3: Einlöten
Verglichen mit dem vorherigen Schritt ist das Einlöten des neuen Chips eine Kleinigkeit. Man
muß nur sehr vorsichtig sein beim Dosieren des Lötzinns, damit man keine Kurzschlüsse verursacht. Und natürlich muss man darauf achten das die zuvor hoch gebogenen Pins keinen Kontakt zur Platine bekommen. Vom 74HC21 biegen wir dann auf der linken Seite alle Pins bis auf den untersten (GND) etwas hoch, und auf der rechten Seite den obersten (Vcc). dann befestigen wir ihn mit einem kleinen Stückchen doppelseitigem Klebeband auf der Platine. Und zwar so, das der Massepin auf dem Massepad von U5 liegt.

Nachdem dieser Pin angelötet ist, verbinden wir zuerst die Betriebsspannung mit dem Vcc-Pin von
U14 oder U15. Den Vcc Pin des neuen RAM-Chips verbinden wir mit dem Vcc-Pad von U5. Es kann nicht schaden zwischendurch die Verbindungen mit einem Durchgangsprüfer oder Widerstandsmessgerät zu überprüfen. Q1, von dem wir den mittleren Pin anzapfen müssen, befindet sich auf der anderen Seite der Platine. Es ist ein kleiner Transistor in der Nähe des PROM-Chips. Also löten wir einen Draht dort an, und führen ihn an der Spule vorbei durch die Platine. Nachdem dieser Draht am 74HC21 angelötet ist, sind noch drei Drähte am DIP-Chip anzulöten. Da die Pads an diesem Chip sehr eng liegen, empfiehlt es sich, dort zuerst einen Draht anzulöten und diesen zum 74HC21 zu ziehen. Dort hat man dann deutlich mehr Spielraum. Nun nicht ungeduldig werden, es fehlen noch vier Adressleitungen. Zwei davon nehmen wir von U3, dem PROM-Chip auf der CPU-Seite. Die anderen beiden von unserem eben verdrahteten 74HC21. Sobald diese vier Pins verbunden sind, ist es Zeit für einen ersten Test. Also bauen wir den Portfolio provisorisch wieder zusammen. Sollte der Portfolio sich mit der Fehlermeldung "Ram Test Failure 000:0BFE" melden, hat man die Adressleitungen vergessen, wie ich bei meinem ersten Versuch. Wenn alles geklappt hat, sieht man beim Einschalten ungefähr das hier:


Montag, 16. Mai 2016

ATARI Portfolio

Ich habe kürzlich einen ATARI Portfolio bekommen, und war auf Anhieb begeistert.

Es ist so ziemlich der erste PDA. Erschienen 1989, passt in eine Handtasche und ist dabei fast kompatibel zum IBM PC XT. Der Speicher ist, zumindest bei meinem Modell, mit 128 kB sehr knapp bemessen, und richtige Laufwerke fehlen komplett. Er verwendet eigentlich spezielle Speicherkarten, damals CCM (Credit Card Memory) genannt. Das waren keine Speicherkarten wie wir sie heute kennen, sondern praktisch RAM-Chips mit Batterie. Flash Speicher gab es damals noch nicht. Ein Teil des Arbeitsspeichers wird als RAM Disk für ein virtuelles Laufwerk C: verwendet.
 
Das hat den Nachteil das ein "böses" Programm ganz leicht die kompletten Daten löschen kann.
Wie es so meine Art ist, musste ich natürlich sofort probieren was ich an dem kleinen modifizieren könnte. Und es hat sich schon vor einer Ewigkeit jemand die Mühe gemacht einen Steckplatz für CF-Karten in den Portfolio einzubauen. Da ich eine solche noch da hatte und auch einen kaputten Kartenleser als Spender für den Steckplatz, habe ich sofort angefangen.
Meine Versuche einen Flash Chip direkt anzuschließen waren nicht erfolgreich, vermutlich weil der eine bestimmte Kommandosequenz braucht um den Schreibschutz aufzuheben. Aber das schaffe ich vielleicht noch irgendwann. Auch einen PIC Chip direkt einzubauen hat nicht funktioniert. Der bringt die Signale des 80C88 Prozessors durcheinander beim Starten. Aber das schaffe ich noch irgendwann. Jedenfalls hat die Modifikation mit der CF-Karte nach kleineren anfänglichen Schwierigkeiten perfekt funktioniert. Der Treiber dafür funktioniert auch problemlos, und ich habe jetzt zwei zusätzliche Laufwerke mit jeweils 32 MB. Das ist für dieses winzige System reichlich. Aber da wurde es erst interessant. Da ich nun einen festen Speicher hatte, wollte ich natürlich auch ein paar Programme. Also ging die Suche los. Onkel Google war dabei sehr hilfreich, und es hat nicht lange gedauert bis ich einiges an Software hatte. Und wie es bei mir so üblich ist, kamen auch recht schnell die ersten Ideen auf was man noch alles machen könnte. Also ging ich auch auf die Suche nach einem C-Compiler, der nicht nur Code für den Portfolio erstellen kann, sondern auch noch auf dem Portfolio selbst laufen sollte. Das war schon etwas kniffeliger, aber nach einiger Suche bin ich auf DeSmet C gestoßen. Zuerst in Form der abgespeckten Shareware von 1988 oder so, aber dann habe ich auch die inzwischen freigegebenen Vollversionen gefunden. Und siehe da, der Portfolio kann auch kompilieren. Die neueste Version ist etwas zu speicherhungrig, die werde ich wohl erst nutzen können wenn ich der Arbeitsspeicher erweitert habe. Das steht ganz oben auf meiner Liste, zusammen mit einer Hintergrundbeleuchtung für das Display. Was mich aber wirklich begeistert ist wie sparsam der kleine ist. Obwohl ich ihn relativ oft benutze und auch den Parallelport dran habe, der angeblich recht viel Strom braucht, halten die Batterien fast eine Woche. Betrieben wird er nicht mit speziellen Akkus, sondern mit drei herkömmlichen AA-Zellen.
Und heute habe ich schon das erste Stückchen Software für den Portfolio veröffentlicht. Mit Hilfe des technischen Referenzhandbuchs habe ich ein paar der speziellen BIOS-Funktionen des Pofo und einige DOS-Funktionen in eine C-Bibliothek verpackt und auf Github gestellt. Bin mal gespannt ob meine libPofo jemandem von Nutzen sein kann.