der dunkle Hive...

Erlebnisse und Schilderungen über die Arbeiten an eurem HIVE.
Feinmechaniker
Beiträge: 18
Registriert: Mi 27. Mär 2013, 12:05

Re: der dunkle Hive...

Beitrag von Feinmechaniker »

Vielleicht sollte man sich doch die Bibliothek von Elm Chan ansehen. Sie ist ja vollständig in ANSI C geschrieben, so dass sie sich möglicherweise auch auf den Z180 anpassen lässt. SPI kann ja über die interne SIO abgewickelt werden.
http://elm-chan.org/fsw/ff/00index_e.html
Benutzeravatar
Micha
Beiträge: 812
Registriert: Sa 24. Mär 2012, 21:45
Wohnort: Merseburg
Kontaktdaten:

Re: der dunkle Hive...

Beitrag von Micha »

hab mich heute wieder eingekriegt: zumindest hab ich jetzt die Firmware für 1.4 Boards und ältere Versionen wieder auf einen Nenner gebracht - durch Anschauen von Beispielen wie man mit Präprozessor-Variablen die Übersetzung steuern kann. Ganz oben in der main.h steht jetzt eine Deklaration:

#define BOOTSEL

Wenn diese Präprozessor-Variable drin ist wird für ein 1.4 Board (mit Boot-Umschalter zwischen Monitor und CP/M) übersetzt. Wird die Variable auskommentiert:

//#define BOOTSEL

dann wird für eine älteres Board (Revision 1.3) ohne Boot-Umschalter übersetzt. Eigentlich ne ganz einfache Angelegenheit.
Also vonder Sache här tätch jetz ma behaupten "Mischn ägomplischd" un so...
Benutzeravatar
Micha
Beiträge: 812
Registriert: Sa 24. Mär 2012, 21:45
Wohnort: Merseburg
Kontaktdaten:

Re: der dunkle Hive...

Beitrag von Micha »

- Frühjahrsputz -

Der letzte Beitrag war vielleicht für sich gesehen bisschen inhaltsarm. Hat aber für mich die Aktion eingeläutet, den ganzen Code mal gründlich zu entmüllen. Heute hab ich (fast) den ganzen Tag damit verbracht, den Code für dieses Projekt zu sortieren, Ballast über Bord zu kippen, und alles für die Einführung einer Diskettenverwaltung unter FAT16 vorzubereiten.
Die Version 0.3c ist das Ergebnis der Aufräum-Aktion. Den Code gibts für alle die den Bausatz haben auf dem google drive. Ist die letzte Version welche die SD-Card im "raw" Modus verwendet.
Ab morgen gehts dann mit der FAT Version los.
Also vonder Sache här tätch jetz ma behaupten "Mischn ägomplischd" un so...
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: der dunkle Hive...

Beitrag von drohne235 »

Ab morgen gehts dann mit der FAT Version los.
Na das klingt ja super. :) Hmm, ich weiß du hast wahrscheinlich das Auto inklusive Dachgepäckträger und Anhänger schon voll, aber bringst du zum KC-Treffen alle mit, um einen CPMputer zu flashen und auf den aktuellen Stand zu bringen?

Momentan nutze ich den CPMputer ja recht selten und habe festgestellt, dass ab und an mal das Image auf der SD-Card zerschreddert ist (meine Diagnose). Kann natürlich mit meinen wilden Reset/Auschalt-Orgien bei irgendwelchen Experimenten zusammenhängen - der CPMputer ist ja immer "magnetisch-elektrisch" fest mit meinem Hive verbunden. Vielleicht wird das ja mit FAT16 besser.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
Micha
Beiträge: 812
Registriert: Sa 24. Mär 2012, 21:45
Wohnort: Merseburg
Kontaktdaten:

Re: der dunkle Hive...

Beitrag von Micha »

na klar bring ich das Zeugs zum Fläschen mit ;-)

Ich vermute mal elektromagnetische Einflüsse - falls vorhanden - werden auch durch die neue Soft nicht abgemindert. Wobei mich das Thema jetzt spontan an das Sezieren eines C=64 erinnert: da war um die Hauptplatine so eine Art Verpackung aus Pappe, mit Alu beschichtet. Vermutlich als Faraday'scher Käfig gedacht, um die elektromagnetische Abstrahlung zu minimieren. Vielleicht sollte man sowas bei Kisten wie dem Hive oder dem CPMputer auch vorsehen?
Wirft folgende Frage auf: gibts eigentlich so ne alu-beschichtete Pappe irgendwo fertig zu kaufen?

Deine Frage hat mich angeregt, mal mit anderen als meinem Lieblings-Terminal zu experimentieren (normalerweise verwende ich nur KEA!). Tatsächlich gibts mit Tera Term immer mal Hänger beim Start von CP/M die ich bisher mit KEA! nicht erlebt hab. Ein Thema das ich unbedingt genauer erforschen muss. Möglicherweise wird die Übergabe der ser. Schnittstelle vom Atmega an den Z180 nicht von allen Terminals verkraftet - da gibts eventuell eine kurze Übergangszeit mit unsauberen Signalen.
Also vonder Sache här tätch jetz ma behaupten "Mischn ägomplischd" un so...
Klaus-Peter
Beiträge: 754
Registriert: Sa 29. Okt 2011, 14:34

Re: der dunkle Hive...

Beitrag von Klaus-Peter »

Drohne 206 ist ein HIVE R14-u
Drohne 266 ist ein HIVE R14-V
Der Mensch ist das wichtigste und kostbarste Peripheriegerät einer Computeranlage.
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: der dunkle Hive...

Beitrag von drohne235 »

Wobei diese Abschirmung aber nur die Abstrahlung vom Gerät eindämmen sollte (und auch hat). Kannst ja mal mit einem alten Taschenradio auf MW in die Nähe vom Hive gehen - da kannst du quasi mithören, was da passiert... ;)
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
Micha
Beiträge: 812
Registriert: Sa 24. Mär 2012, 21:45
Wohnort: Merseburg
Kontaktdaten:

Re: der dunkle Hive...

Beitrag von Micha »

Stimmt. Da gabs übrigens ziemlich am Ende des Handbuchs zum C64 einen Text über den ich mich damals köstlich amüsiert hab:

Commodore C-64 corresponds to the regulation Amtsblattverfügung Nr. 1046/1984...

Das Wort "Amtsblattverfügung" ist schon für sich krass, aber die Verbindung mit englischem Text setzt dem ganzen irgendwie noch einen drauf.
Abgesehen von diesem Spass steh ich momentan garnicht gut da. Nachdem ich gestern und heute den Code für die Atmel-Firmware gründlich entmüllt hab, funktioniert plötzlich die Ansteuerung der SD-Card nicht mehr stabil. Dabei hab ich mir solche Mühe gegeben alles logischer, besser, einfacher zu machen. Wenn ich ne alte (unaufgeräumte) Firmware zurück auf den Chip flashe funktioniert alles sofort wieder stabil, also an einer ausgeleierten SD-Card oder ausgeleiertem Flash des Atmega kann es schon mal nicht liegen...

Wo ich grad mal am Zitieren aus alten Handbüchern bin: im ZX81-Handbuch gab es ein Ablaufdiagramm zum Thema "wie man ein Programm entwickelt" . Mir hat sich die Abfolge eingeprägt:
Finden Sie den Fehler - Eliminieren Sie diese und fügen Sie dabei möglichst wenig neue Fehler ein
Also vonder Sache här tätch jetz ma behaupten "Mischn ägomplischd" un so...
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: der dunkle Hive...

Beitrag von drohne235 »

Finden Sie den Fehler - Eliminieren Sie diese und fügen Sie dabei möglichst wenig neue Fehler ein
Köstlich! :LACHEN
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
Micha
Beiträge: 812
Registriert: Sa 24. Mär 2012, 21:45
Wohnort: Merseburg
Kontaktdaten:

Re: der dunkle Hive...

Beitrag von Micha »

Hatte ich schon mal erwähnt dass mich mit der Programmiersprache C eine ausgeprägte Hassliebe verbindet?

In C programmieren hat für mich schon immer eine besondere Faszination gehabt - wenn alles klappt wie gedacht bekommt man Sachen in kaum einer anderen Sprache so elegant hin. Spontan aus dem Bauch heraus bevorzuge ich C zum experimentieren vor fast alle anderen Sprachen - sicher auch ein Grund warum ich eigentlich nach wie vor mehr ein Atmega- als ein Propeller-Anhänger bin. Es ist einfach toll wenn es klappt, und zumindest ich find den Code der dabei herauskommt einfach schön. Soweit meine Liebe zu C.

Aber die Medaille hat zwei Seiten. Die Produktivität, wenn ich Sachen mit C entwickle, ist schwer vorhersagbar. Manchmal schaffe ich den "Durchmarsch" und bekomme eine mittelmäßig komplexe Sache an einem Nachmittag gebacken. Und manchmal beiß ich mir mit C tagelang die Zähne aus an einem Projekt das nach Ermessen *eigentlich* perfekt funtionieren müsste, es aber nicht tut. Das erinnert irgendwo auch an Goethe's Zauberlehrling - das Ding entfaltet seinen eigenen Willen und tut aus unerfindlichen Gründen Sachen die es eigentlich nicht tun sollte.

Und dann schaut man den Code einmal durch, findet keinen Fehler, ein zweites Mal: wieder nix. Und so weiter... bis irgendwann die Erleuchtung kommt, und man sich vor den Kopf hämmert wieso man so nen trivialen Fehler nicht gleich gesehen hat. Wenn ich mit C-Programmierung meine Brötchen verdienen müsste, nach dem Prinzip "Leistung = Arbeit pro Zeit" würde ich C wahrscheinlich hassen. So, als Hobby, ist es dagegen mehr ein Spaß und eine Herausforderung, dahinter zu kommen was das Problem war. So bisschen wie Kreuzworträtsel lösen.

Im Fall der neuen Firmware für den CPMputer lag der Tipfehler in diesem bisschen Code:

Code: Alles auswählen

...
if (Err) return
Addr = 0xD000;
...
Eigentlich sollte das Programm an dieser Stelle im Fehlerfall zurückkehren zur aufrufenden Funktion und sich dort ordentlich beschweren, was soweit auch tatsächlich funktinierte.
Ich hatte nur dummerweise das Semikolon hinter dem return vergessen. Da White-Spaces wie Leerzeichen, Tabs, Zeilenumbrüche in C keine syntaktische Bedeutung haben, hat sich das return einfach unauffällig die nächste Zeile als Parameter annektiert, die Zuweisung zur Variable Addr, die eigentlich für den weiteren normalen Ablauf gedacht war, war dann dort eben nicht mehr vorhanden. Soviel Ärger wegen eines winzigen vergessenen Semikolons...

Überhaupt könnte ich inzwischen schon diverse Annekdoten zum Thema erzählen. Irgendwann musste ich z.B. mal auf die harte Tour lernen dass eine "unsigned" Variable auch dann nicht kleiner als Null wird, wenn man von Null Eins subtrahiert, aber das ist eine andere Geschichte.
Trotzdem ist die Faszination von C für mich nach wie vor ungebrochen. Hab ich womöglich ne masochistische Ader? :?
Also vonder Sache här tätch jetz ma behaupten "Mischn ägomplischd" un so...
Antworten