*** Protokolldatei gestartet *** Datum: Mi Apr 1 19:51:16 2009 [Mi Apr 1 2009] [19:51:16] Betreten Sie haben den Kanal #forth-ev betreten (~bernd@ppp-88-217-48-241.dynamic.mnet-online.de). [Mi Apr 1 2009] [19:51:21] Modus Kanalmodi: [Mi Apr 1 2009] [19:56:03] Betreten erwaelde hat den Kanal betreten (-user@p549E97E3.dip0.t-ipconnect.de). [Mi Apr 1 2009] [19:56:11] Hi Bernd [Mi Apr 1 2009] [20:06:34] Betreten MatthiasT_ hat den Kanal betreten (~mt@frnk-590d76ec.pool.einsundeins.de). [Mi Apr 1 2009] [20:06:44] servus [Mi Apr 1 2009] [20:06:55] Tag! [Mi Apr 1 2009] [20:09:31] Betreten Martin_53 hat den Kanal betreten (-martin@p5B3841E4.dip.t-dialin.net). [Mi Apr 1 2009] [20:09:40] N'Abend [Mi Apr 1 2009] [20:09:44] Tag! [Mi Apr 1 2009] [20:09:54] Und ausgeschlafen? [Mi Apr 1 2009] [20:10:17] Nicht wirklich --- die Sommerzeitumstellung macht mich komplett fertig. [Mi Apr 1 2009] [20:10:29] Me too! [Mi Apr 1 2009] [20:10:54] Das ist IMHO leider eine der dümmeren Erfindungen der Menschheit! [Mi Apr 1 2009] [20:11:17] Und am Freitag abend sach ich noch: Jungs! Aufpassen. Und wer verpennts'? Icke. [Mi Apr 1 2009] [20:11:26] Naja - das sag' ich hier jedes jahr um diese Zeit :-) [Mi Apr 1 2009] [20:11:37] :-) [Mi Apr 1 2009] [20:12:21] Gibt es ein 'ernstes' Thema? [Mi Apr 1 2009] [20:13:01] Bislang nicht. Bernd guckt noch die Katastrophen an, und Matthias hat sich noch nicht geäußert. [Mi Apr 1 2009] [20:13:44] @Matthias. Hat es schon getropft? [Mi Apr 1 2009] [20:14:39] @erich: Löten in der Osterzeit, das wäre was für mich. [Mi Apr 1 2009] [20:15:00] @Martin: noch nicht, einfach noch keine Zeit gehabt [Mi Apr 1 2009] [20:15:34] Außerdem hat Erich ein paar gewaltige Bugs gemeldet, da muss ich erst mal den Schock verdauen ;=) [Mi Apr 1 2009] [20:15:36] Ostern. Das ist ja schon übermorgen, quasi ... [Mi Apr 1 2009] [20:15:43] Hallo! [Mi Apr 1 2009] [20:16:02] Na komm, Michael hat Dich ja tapfer verteidigt. [Mi Apr 1 2009] [20:16:07] Tach Bernd! [Mi Apr 1 2009] [20:16:16] das compile ding verbuch ich mal unter feature. [Mi Apr 1 2009] [20:16:24] Löten --> _keine_ softwarebugs :-) [Mi Apr 1 2009] [20:16:43] Das stack ding von Michael gefällt mir noch nicht so ganz richtig. [Mi Apr 1 2009] [20:16:45] Das ist aber unter der Haube exakt das gleiche [Mi Apr 1 2009] [20:16:52] Leider nur ein Aprilscherz: Eine Meldung sagt, dass die EU die Sommerzeit mit sofortiger Wirkung abgeschafft wird... [Mi Apr 1 2009] [20:17:05] Das fehlende then wird über einen ?depth abgefangen. [Mi Apr 1 2009] [20:17:06] Schade!!! [Mi Apr 1 2009] [20:17:19] Grade umgestellt und schon wieder umstellen. Brr [Mi Apr 1 2009] [20:17:27] @Martin: Löten --> aber dafür mit saucoolen Lötstellen :-) [Mi Apr 1 2009] [20:17:41] Ich bin noch gar nicht umgestellt, würde mir nichts ausmachen. [Mi Apr 1 2009] [20:17:53] Du hast meine 'shaking hands' gesehen? [Mi Apr 1 2009] [20:18:21] Da schließ ich mich dem Bernd an ... seit Tagen nur noch müde ... [Mi Apr 1 2009] [20:18:50] Bernd: Du sagtest, dass es die von mir gewünschten Statistiken gäbe. Wo? [Mi Apr 1 2009] [20:18:58] "Das fehlende then wird über einen ?depth abgefangen"?? Hä? [Mi Apr 1 2009] [20:19:17] Wo genau weiß ich auch nicht. [Mi Apr 1 2009] [20:20:04] then räumt den Control-Stack auf, da fällt ein "zuviel" dann auf [Mi Apr 1 2009] [20:20:42] Vermutung? Version 1: Gib den Stackdepth nur aus, wenn er nicht negativ ist. Version2: ist die Stacktiefe ok? (?depth), dann .s [Mi Apr 1 2009] [20:21:37] Aha. In Michaels code ist noch ein "><", was hat das da verloren? [Mi Apr 1 2009] [20:21:45] So grundsätzlich hat es aber Michael getroffen: Kleine Systeme haben weniger Plausibilitätsprüfungen als "große". [Mi Apr 1 2009] [20:22:11] Jaja, schon ok --> feature. [Mi Apr 1 2009] [20:22:40] Hast Dich ja auch schon beschwert, dass amforth zu "fett" geworden ist. [Mi Apr 1 2009] [20:22:59] Jawoll! [Mi Apr 1 2009] [20:23:18] Das >< kommt daher, das die Bytereihenfolge auf dem Stack nicht viel mit der Bytereihenfolge im RAM zu tun hat. [Mi Apr 1 2009] [20:23:23] Ich konnte aber den interessierten Herren nicht erklären, wo der Platz abgeblieben ist :-( [Mi Apr 1 2009] [20:24:04] Ich wollte da zwar immer mal aufräumen, aber der Zugriff auf den Stack als Array ist nunmal nicht kanonifiziert, also hab ich es gelassen wie es ist. [Mi Apr 1 2009] [20:24:08] Da kann ich (noch?) nicht mitreden. (Coden ohne Hardware ist IMHO zwar möglich, macht mir aber weniger Spaß). [Mi Apr 1 2009] [20:24:59] Bei den double cell Werten habe ich ja auch lange gebraucht, bis ich den Standard verstanden habe (also die versteckten Hinweise richtig deuten konnte, Bernd hat da seinerzeit sehr geholfen) [Mi Apr 1 2009] [20:25:07] Hm. Wenn ich aber die Ausgabe von .s und michaels .s vergleiche, dann muß ich das >< weglassen, sonst kommt $abcd nicht so wieder. [Mi Apr 1 2009] [20:25:49] Ron Minke hat ja auch ein paar Sätze dazu verloren.. [Mi Apr 1 2009] [20:26:46] Der Returnstack hat darüberhinaus sogar noch einen Off-By-1 beim Zugriff. Analoges "Problem". [Mi Apr 1 2009] [20:27:41] Da ist aber der Prozessor "Schuld", der macht die Inkrements halt etwas anders. Kann man sich drauf einstellen klar, aber "never touch a running system" [Mi Apr 1 2009] [20:28:39] Ich lade gerade die Fotos von der Forth-Tagung hoch; falls jemand von euch welche hat, am besten in ein [Mi Apr 1 2009] [20:28:53] e Zip-Datei packen und mir die URL schicken. [Mi Apr 1 2009] [20:29:48] Hm. Nochmal amforth und ".s" und stack. Des Pudels Kern ist doch, daß depth überhaupt negativ werden kann. Oder nicht? [Mi Apr 1 2009] [20:30:22] Warum kann depth nicht negativ sein? Klar,ist ein Programmfehler, aber .. [Mi Apr 1 2009] [20:30:24] Große Systeme werfen dann ein 'stack underflow' aus ... [Mi Apr 1 2009] [20:30:47] Du hast doch bewiesen, dass er negativ sein kann :-) [Mi Apr 1 2009] [20:31:01] Jupp, wobei das IMHO Laufzeit kostet [Mi Apr 1 2009] [20:31:20] Bei 2GHz ist das egal, bei 2MHz nicht [Mi Apr 1 2009] [20:31:40] Da stimm' ich mit dir überein! [Mi Apr 1 2009] [20:32:30] Also du sagst: Klar kann man da einen Test und Fehlerbehandlung einbauen, kostet aber zuviel Zeit. Wenn ich dann wieder was auf den stack lege, dann überschreib ich mir doch was, oddrrr? [Mi Apr 1 2009] [20:32:32] Andererseits habe ich viel Arbeit reingesteckt, das man den Code mit gforth austesten kann und dann auf amforth nutzen kann [Mi Apr 1 2009] [20:32:56] Ok, hardwarenahe Dinge gehen nicht, aber der Rest sollte klappen. [Mi Apr 1 2009] [20:33:16] (man sollte aber gforth nicht ausreizen, bitte) [Mi Apr 1 2009] [20:34:04] :-) Bei S.Pelc hab ich heute ... 256 allot ... gelesen, da musste ich auch grinsen [Mi Apr 1 2009] [20:34:06] Oder ich bastele eine Debug-Fassung von amforth [Mi Apr 1 2009] [20:34:24] Da sind dann zur Compiletime einige Dinge drin oder auch nicht [Mi Apr 1 2009] [20:36:19] Nach extra Aufwand isses mir nicht. Ich mecker ja auch auf hohem Niveau. Ist mir schon klar. [Mi Apr 1 2009] [20:37:35] Trotzdem, was liegt direkt oberhalb vom stack (adressentechnisch), was ich mir bei negativen depths überschreibe? [Mi Apr 1 2009] [20:39:15] Erst mal nichts, dann der Return-Stack [Mi Apr 1 2009] [20:39:43] Zumindest in den Standard-Layout. Kann man alles auch anders anordnen [Mi Apr 1 2009] [20:40:18] Ich wunderte mich nur, weil da mitnichten 00 oder FF auftaucht. [Mi Apr 1 2009] [20:40:40] Bei dem 2561er mit externem RAM habe ich die Stacks an den Adressanfang (interner RAM ohne Waitstates) gelegt und den Rest danach. [Mi Apr 1 2009] [20:40:49] RAM wird nicht initialisiert [Mi Apr 1 2009] [20:41:04] Ok. Ja dann. [Mi Apr 1 2009] [20:41:09] externer RAM hat Waitstates (wollte ich ergänzen) [Mi Apr 1 2009] [20:43:04] Aber ich schau mal, ob ich die Stackprüfungen mit einbauen kann. [Mi Apr 1 2009] [20:43:22] Wird's halt noch etwas fetter ... [Mi Apr 1 2009] [20:44:40] Andererseits: Bei nem dokumentierten Feature, kann jeder selbst drauf achten und es kostet keine Laufzeit. [Mi Apr 1 2009] [20:45:18] Ja, tät ich auch sagen. Wenn mann's ansacht, dann wärs mE auch ok. [Mi Apr 1 2009] [20:46:59] ICh dachte eigentlich, in der Doku erwähnt zu haben, das amforth praktisch keine Fehlerprüfungen macht... [Mi Apr 1 2009] [20:47:10] Es gibt ja drei Möglichkeiten: 1. gar nicht tun --> Programmierer muss aufpassen. 2. depth kann nicht negativ werden (a la 0 max) ohne Benachrichtigung (schöne kryptische Fehlermöglichkiet) und 3. es gibt eine Überprüfung mit Fehlermeldung. [Mi Apr 1 2009] [20:47:11] Division durch Null inklusive [Mi Apr 1 2009] [20:48:07] Andere Frage: ich hab in "Thinking Forth" das Thema mit DOER/MAKE nochmal nachgelesen. Mir scheint, daß DOER das gleiche tut wir Rdefer. Stimmt das? [Mi Apr 1 2009] [20:48:29] Ja. [Mi Apr 1 2009] [20:48:54] Was macht DOER/MAKE ? [Mi Apr 1 2009] [20:49:08] Aha, und MAKE ist dann nur ein aufgebohrtes ' bla is blubb. [Mi Apr 1 2009] [20:49:15] Genau. [Mi Apr 1 2009] [20:49:27] :-) [Mi Apr 1 2009] [20:49:59] DOER/MAKE ist eine etwas besser lesbare Sache um "vektorisierte Ausführung" [Mi Apr 1 2009] [20:50:03] Rdefer habe ich das ja nur getauft, um klar zu machen, das es RAM betrifft [Mi Apr 1 2009] [20:50:25] Durchgesetzt hat sich aber DEFER/IS [Mi Apr 1 2009] [20:50:32] Daneben gibts halt noch Edefer (für EEPROM) oder Udefer (für USER-basiertes). Idefer habe ich mir verkniffen [Mi Apr 1 2009] [20:50:42] IS ist immer das gleiche. [Mi Apr 1 2009] [20:50:48] zu betreiben: also es gibt ein Wort, das ist aber quasi nur ein Behälter, der zur LAufzeit umgebogen wird und auf das xt von einem anderen Wort zeigt. [Mi Apr 1 2009] [20:51:06] Und DEFER könnte man als Deferred der vorgenannten selbst definieren ;=) [Mi Apr 1 2009] [20:51:33] Idefer ist ja auch 'ne schlechte Idee, da geht ja das flash womöglich zu früh kaputt. ;-) [Mi Apr 1 2009] [20:52:03] TURNKEY ist ein Edefer [Mi Apr 1 2009] [20:52:15] ' startup is turnkey [Mi Apr 1 2009] [20:52:32] Das soll ja auch "Stromfrei" überleben. [Mi Apr 1 2009] [20:52:50] KEY ist Udefer, aber auch hier ' mykey is key [Mi Apr 1 2009] [20:53:57] In Gforth EC packt man so Sachen wie Defer einfach ins RAM und sorgt mit SAVE dafür, dass der ganze vorinitialisiete RAM-Bereich ins Flash kopiert wird [Mi Apr 1 2009] [20:54:28] Das wird dann beim Startup wieder ins RAM kopiert [Mi Apr 1 2009] [20:55:52] Naja, ich wollte auch die Eigenheiten der Atmegas ausprobieren. [Mi Apr 1 2009] [20:56:23] Und sowenig Grenzen und Limits wie möglich einbauen. Im Zweifel auf Kosten der KOmpatabilität [Mi Apr 1 2009] [20:56:54] Deswegen gibts auch keinen unified Memory (also alle Speicher in einem Adressraum( [Mi Apr 1 2009] [20:58:38] Das wird dann eher die Herausforderung für Gforth EC AVR, das so umzusetzen, dass man möglichst wenig vom zersplitterten Adressraum merkt [Mi Apr 1 2009] [20:59:27] Ja. Andererseits wäre das mit einem Hostbasierten System und gutem Compiler sicher machbar. [Mi Apr 1 2009] [21:00:05] Mach das nich: ich will kein host basiertes System, auch wenn der resultierende Code noch so klein ist. [Mi Apr 1 2009] [21:00:32] Ich bin froh, daß ich nicht mehr mit Byteforth und dosemu rumhantieren muß. :-) [Mi Apr 1 2009] [21:00:40] Das wäre auch jenseits eines reinen Hobby-Projektes eines Laien [Mi Apr 1 2009] [21:02:09] Ihr Lieben: ich bin weg CU! [Mi Apr 1 2009] [21:02:20] Adele [Mi Apr 1 2009] [21:02:33] Ciao [Mi Apr 1 2009] [21:02:41] Leutz, es fühlt sich zwar erst wie 8 an, aber morgen früh rasselt der Wecker. Ich mach mich dann auch mal vom Acker. Ciao! [Mi Apr 1 2009] [21:02:41] Verlassen Martin_53 hat den Kanal verlassen. [Mi Apr 1 2009] [21:03:01] Verlassen erwaelde hat den Kanal verlassen (.). [Mi Apr 1 2009] [21:05:32] Gibts denn Pläne für ein gforth EC Avr? [Mi Apr 1 2009] [21:07:08] Ja. [Mi Apr 1 2009] [21:07:19] Schön [Mi Apr 1 2009] [21:08:15] im CVS? [Mi Apr 1 2009] [21:09:13] Noch nicht. [Mi Apr 1 2009] [21:09:42] aber irgendwann= [Mi Apr 1 2009] [21:09:52] Klar. [Mi Apr 1 2009] [21:10:17] Fein. Dann harre ich der Dinge und klinke ich mich auch aus. [Mi Apr 1 2009] [21:10:27] Genau. Ciao. [Mi Apr 1 2009] [21:10:31] Beenden MatthiasT_ hat den Server verlassen (EOF From client).