Archive for November 2013

Manchmal ist weniger, mehr !

Manchmal tut man sich schwer, eingefahrene Denkmuster abzulegen. Ich wollte unbedingt mein Sepia-Board in einen meiner zwei Hive’s integrieren. Allerdings würde einer dann leer ausgehen. Das fiel definitiv aus, da ich auf beiden Hive’s, die Joystick-Funktion haben wollte. Also was tun? Drei Varianten bieten sich an.

1. Mein Tastatur-Hive bekommt eine minimalistische Joystickkarte und mein Zweit-Hive wird mit der Sepia-Karte beglückt

2.Beide Hive erhalten einen I2C-Expansionsport und die Sepia-Karte wird extern angesteckt, was zwar geht aber einer ist immer ohne I/O, was mein Sohn doof findet, muss er doch warten, bis ich die Sepia-Karte wieder frei gebe.

3.Die Sepia-Karte wird als ultimative I/O-Karte für größere Experimente extern verwendet und für die Joystickfunktion bekommen beide Hive eine Mini-Joystickkarte

Ich habe mich nun für die dritte Variante entschieden. Warum?

– die Joystickfunktion ist immer vorhanden

-Joysticks können ohne Adapter betrieben werden

-die Ports der Sepia-Karte sind zur freien Verfügung, ohne das der Joystick ständig abgezogen oder angesteckt werden muss.

-außerdem gibt es 16 I/O-Ports extra

Nun werden einige sicher sagen, wo ist denn das weniger aus der Überschrift?

Richtig, für meinen Fall ist es eigentlich mehr aber für den Einsteiger, der sich scheut, eine Sepia-Karte nachzubauen oder die Funktionsvielfalt nicht benötigt, ist die Mini-Joystickkarte vielleicht der Stein der Weisen. Mit ihren Abmessungen von 40x80mm ist sie sehr kompakt und passt auch in so manches knapp geratene Gehäuse. Der Aufbau auf eine Lochrasterplatine ist ebenfalls möglich. Also für alle die weniger löten wollen und trotzdem den Draht zur Außenwelt brauchen.

PS.:Die volle Unterstützung unter Basic und Plexus ist ebenfalls gewährleistet.

Joystick-Minikarte

 

Mini-Joystick-Karte (6406 Downloads )

Nachtrag:Für alle,die einen günstigen Platinenhersteller suchen bitte mal bei  https://www.pcb-joker.com vorbeischauen. Günstiger wird’s nicht. Einziger Nachteil: es gibt keinen Positionsdruck aber für Prototypen trotzdem interessant. Hab selbst schon öfter ausprobiert und die Qualität ist ok. Bsp.:10 Mini-Joystickkarten kosten 87€ also 8,70€ pro Stück.

 

Auf die Dower hilft nur Power…

oder ins Deutsche übersetzt: Auf die Dauer hilft nur Pauer…

Für mich ist das die Urform des Norton-Commanders aus der Frühsteinzeit. An die berühmten blauen zwei Fenster des Norton-Commanders erinnern sich bestimmt noch viele. Wenn man in den frühen 90er Jahren in ein Büro kam, wo ein PC stand, dann strahlte einen mit hoher Wahrscheinlichkeit jener Bildschirm in typischem Blau an. Mein Gott ist das lange her…

Noch etwas vorher, noch mit CP/M (oder SCP, oder CP/A) war eben Power das, was etwas später dann der NC war – ein Tool das einem das Leben erleichtern sollte im Umgang mit dem kargen Betriebssystem.

Heute hab ich Power erstmals auf meinem Bastel-Computer zum Leben erweckt. Möge die Pauer mit diesem Computer sein 😉

pauer

Endlich Achtzehn!

Also damit meine ich jetzt nicht so was langweiliges wie Jugendliche die meinen dass es ab da endlich „Sex & Drugs & Rock’n Roll“ ohne Ende gibt, sondern viel spannender:

Ich hab ENDLICH rausgefunden, dass ich den Strahlensatz in der Schule nicht umsonst gelernt hab!

Bei so urtümlichen Prozessoren wie dem Z80 gabs ja noch keine neumodischen Schweinereien wie Caches oder womöglich Second Level Caches oder irgendwelche anderen faulen Tricks, um bei Benchmarks besser dazustehen. Damals war ein Prozessor mit 4MHz noch ganz ehrlich und ohne Wenn und Aber doppelt so schnell wie eine Exemplar aus derselben Familie das mit 2MHz lief. Ausnahmen bestätigen die Regel, aber bei den Z80 System die ich bisher in die Finger bekommen hab passt diese Proportionalitätsregel immer ziemlich genau.

Bis auf mein Z180 System. Obwohl mit 18,432 Megaherzen getaktet, lieferte das eine Performance, die einem Z80 System mit ca. 12 MHz entspricht. Seufz. Die ham mich irgendwie beschissen. Auf übelste Art übern Ladentisch gezogen. Dachte ich bis gestern. Bis ich zufällig rausgefunden hab, dass der Z180 neben vielerlei anderem Klimbim u.A. auch ein Register zum Festlegen der Waitstates hat. Und da steht bei Reset der konservativste Wert drin, damit jaaa auch alles so funktioniert wie soll.

Einstellung gefunden, Einstellung geändert, und was soll ich sagen – jetzt fliegt das Ding – Endlich Achtzehn (Megahertz)!

*froi*

Sepia ready for Plexus and Basic

Gleich noch einen nachgeworfen!

Sepia wird auch im nächsten Basic-und Plexus-Update unterstützt. Dank der von Drohne235 zur Verfügung gestellten Sepia-Platine, ist die Integration in Plexus und TRIOS-Basic in vollem Gange. Unter Plexus wird es ein Test-Programm geben, wo alle Funktionen der Sepia-Karte getestet werden können. Im TRIOS-Basic sind dafür entsprechende Befehle hinzugekommen, um Die Ports, AD-Kanäle und Joysticks abzufragen bzw. zu setzen. Somit sollte das I/O-Manko ein für alle mal ausgemerzt sein, der Hive schickt sich an, als Steuerzentrale riesiger Roboter-Parks seine Stärken auszuspielen 😉 Es bleibt spannend 🙂

Sepia-Test

 

Ich hab keine Ahnung, ob das Sepia-Board hier im Shop angeboten wird oder sich jeder User sein Board selber fertigen lassen muss. Diese Frage stelle ich jetzt mal ganz offiziell an Drohne235 und bin zuversichtlich für alle Drohnen, das dem Shop ein überaus nützliches Kleinod zuteil werden wird?

Sepia in the wild

Der Plan für die I/O-Karte Sepia sah ja sowohl eine interne Nutzung im Hive als auch eine Nutzung als externe Karte oder (Steuerung für ein) Gerät vor. Über die interne Benutzung hatte ich ja schon berichtet. Nun, den externen Betrieb konnte ich noch nicht testen, da ich nur eine Karte verfügbar hatte – den Prototyp. Mittlerweile hab ich aber neue Karten fertigen lassen.
Eigentlich gibt es nicht viel zu schreiben: Wie geplant funktioniert Sepia auch extern korrekt. 🙂 Auf dem Bild ist eine solche externe Karte zu sehen. Verwendet man wie auf dem Bild eine dreifache Flachbuchse, kann man so mehrere Karten einfach hintereinander koppeln, der Bus wird dabei immer durchgeschliffen.

Sepia Karte extern am Hive

Sepia Karte extern am Hive

Die USB-A-Buchsen für den Bus habe ich verwendet, da die Stecker preiswert verfügbar sind. Ich habe mir testweise ein entsprechendes Kabel selbst gelötet – absolut easy, breite Lötfanschlüsse und nur vier Adern + Schirmung: definitiv Küchentischdesign! 😉 Fehlt nur noch eine Banderole um die Kabel deutlich als „KEIN USB!“ zu kennzeichen, obgleich theoretisch nichts passieren sollten, wenn man eine Sepia-Karte an einen PC stöpselt – hab es aber noch nicht getestet.

Auch die Integration im TriOS ist soweit fertig: Es gib jetzt im IOS Funktionen um direkt mit einem I2C-Chip am Bus zu kommunizieren und um standartisierte Gamedevices wie Joysticks, Paddles und PAD’s abzufragen. An welcher Karte sich diese Eingabegeräte befinden, kann konfiguriert werden. Um die Abfrage so schnell wie möglich zu gestalten, erfolgt das in Administra durch eine getrennte COG, wodurch Regnatix bei diesen Geräten nie auf den I2C-Bus warten muss.

Belegung der Universalports und der Eingabegeräte

Belegung der Universalports und der Eingabegeräte

Zusätzlich gibt es eine neue Version des überaus beliebten Tools „perplex“. Mit dieser Wundersoftware kann interaktiv mit dem I/O-Bus agiert werden. So kann etwa gescannt werden, auf welchen Adressen sich Slaves befinden. Oder man kommuniziert mit den Kommandos open, put, get und close ganz direkt und intim mit den Chips – eine gute Sache um angeschlossene Hardware auf der Werkbank zu testen. Noch besser wird das erst, wenn ich das in PropForth integriert habe, dann lässt sich das I/O-System auch interaktiv programmieren – eine Stärke von Forth! 🙂 Da jede Sepia-Karte ja an Port 3 immer acht Leuchtdioden ansteuert, kann sofort sichtbar getestet und experimentiert werden.

Praktisch auch das Kommando „map“: eine quadritische Karte zeigt in einem Gitterraster alle 128 möglichen Adressen/Slaves an. Jeder vorhandene I2C-Chip am Bus wird durch ein Symbol auf dieser Karte angezeigt. Der Scannvorgang findet ständig in Echtzeit statt, so dass man sofort Änderungen am Bus auf der Karte sieht, zum Beispiel wenn man eine weitere Karte angesteckt, oder die Adresse der einzelnen Chips mit den Jumpern eingestellt wird.

Rückseite vom Hive: Da ist nicht mehr viel Platz!

Rückseite vom Hive: Da ist nicht mehr viel Platz!

Keine Ahnung was man jetzt noch alles neben den Eingabegeräten anschließen kann, aber die Karte öffnet wirklich auf einfachem Weg viele  Tore in die reale Welt… 🙂

Magnetos Rache

Also bevor Micha hier mit seinem schwarzen Teko-Gehäuse den Dart Vader spielt, versuche ich mal heimlich noch ein wenig die helle Seite der Macht zu stärken… 😉

Der CPMputer ist natürlich die beste Gelegenheit einen Hive-Tower zu bauen. Zu diesem Zwecke hatte ich schon vor Monaten einige Neodym-Magneten gekauft: Ich dachte mir halt, dass es eine coole Idee ist, die Module untereinander in Magneto-Style zu arretieren. Zumindst auf einem KC-Treffen (ich glaube das war 2012) hatte ich schonmal testweise mehrere Hives übereinander zu einem Tower gestapelt und festgestellt, dass es durch die Kabel etwas fragil ist. Eine feste Verschraubung fand ich zu umständlich, also hatte ich die Idee mit den Magneten. Und wie man in dem Video sehen kann, macht das auch einen recht stabilen Eindruck.

Am Deckel des unteren Moduls sind die Magnetscheiben dabei an der Innenseite verklebt, wodurch sie nicht optisch sichtbar sind, wenn man das Modul allein verwendet. Am oberen Modul kleben die Magnete direkt an der Unterseite, wo sie ja auch nicht stören. Die Haftstärke kann man einstellen, indem man einfach je nach Magnetstärke mehrere Scheiben übereinander heftet.

Auch die Platine selbst macht Fortschritte, was natürlich kein Wunder ist, wenn man alles fertig serviert bekommt. 🙂 An sich ist das Board komplett bestückt bis auf einige Patches. Nun gilt es, sich erstmal in die Atmel & Zilog-Technik einzuarbeiten.

drohne235

CPMputer voll bestückt

CPMputer voll bestückt

Das Board in der Entstehungsphase

Das Board in der Entstehungsphase

Huckpack auf dem Hive

Huckpack auf dem Hive

Ein kleiner Schritt für die Menschheit, aber ein grosser Schritt für einen Menschen

… nämlich für mich 😉

Vermutlich wird das heute nicht mal eine Erwähnung in den Tagesthemen wert sein, dass ich es geschafft habe den ersten Fuß auf die Oberfläche des Planeten CP/M 2.2 zu setzen. Was soll’s, ich bin Kummer gewöhnt.

Wie im Bild zu sehen bin ich heute immerhin bis zu dem erhebenden Moment gekommen, wo mein Eigenbau-Z180-Computer zum ersten Mal die Einschaltmeldung und den Systemprompt von CP/M anzeigt. Disk I/O ist vorläufig noch nicht implementiert, aber der erste Schritt ist getan. Ein Aussenstehender kann ganz sicher nicht verstehen wieviel Freude so ein par simple Textzeilen auslösen.

first_response

Tausend Sterne

zu dem Titel fällt mir jetzt spontan ein *extremst* kitschiges Kinderlied ein. Aber das ist ne ganz andere Geschichte. Vielmehr geht es um eines der Basic Programme die einem so einfallen, wenn einem sonst nichts originelles einfällt. Wenn Leute vor nem Klavier stehen und ihnen fällt sonst nix ein, tippen sie den Flohwalzer. Wenn Leute vor nem Basic-Computer stehen, tippen sie vielleicht sowas:

10 FOR I=1 TO 1000

20 PRINT „*“;

30 NEXT I

Soweit sogut. 1000 Sterne, auf einen Bildschirm ausgegeben. Aber was passiert, wenn man das „;“ vergisst? Dann bekommt jeder Stern einen Zeilenvorschub.

Aber was passiert, wenn man das „;“ vergisst und das Ausgabegerät ein uraltes, Intel 8080 basiertes Terminal – ohne Handshake – ist? Dann kommt jenes Terminal irgendwann ins Schwitzen. Weil ein Scrollen des gesamten Bildschirminhalts für jenen uralten i8080, der mit ca. 2MHz läuft die absolute Härte ist.

Der langen Rede kurzer Sinn:

Ich hab genau das die Tage *ausversehen* gemacht. Rein zufällig hab ich zur gleichen Zeit auch noch im „CP/M Alteration Guide“ gestöbert. Und da kam „rein zufällig zum Quadrat“ eine Erkenntnis zustande:

1) So ein altes Terminal, auch wenn es mit der Baudrate normalerweise mithalten kann, ist beim Scrollen irgendwann überfordert.

2) im CP/M Alteration Guide wird genau dieses Problem an einer Stelle mal kurz angerissen. Dort wird empfohlen: in der Zeichenausgabe-Routine nach Ausgabe eines LF eine Wartezeit einbauen.

Hab ich dann jetzt so gemacht – und jetzt passt alles. Allerdings muss ich gestehen: wenn ich nicht so ein altes Terminal zum Testen zur Verfügung gehabt hätte wär ich niemals nicht auf die Idee gekommen dass es da ein Problem geben könnte…