2016-08-04T18:06Z mt joined 2016-08-04T18:06Z mt: Hallo 2016-08-04T18:14Z mt joined 2016-08-04T18:14Z mt left 2016-08-04T18:15Z martin joined 2016-08-04T18:15Z martin: Tagchen! 2016-08-04T18:15Z mt: Hallo Martin! 2016-08-04T18:16Z martin: amforth 6.2 bekomme ich nicht ans laufen :-( 2016-08-04T18:16Z mt: nicht gut 2016-08-04T18:16Z bernd: Hallo 2016-08-04T18:16Z mt: Hallo Bernd 2016-08-04T18:16Z martin: bzw - es regt sich nichts auf RX-TX. 2016-08-04T18:17Z martin: Tag Bernd! 2016-08-04T18:17Z bernd: Ich bin noch unterwegs 2016-08-04T18:17Z mt: Falscher Port ausgewählt? 2016-08-04T18:17Z martin: Wie erkenne ich den richtigen? 2016-08-04T18:18Z martin: Port D0/D1 2016-08-04T18:18Z mt: Welcher controller? 2016-08-04T18:18Z martin: 168 2016-08-04T18:18Z martin: Mit Version 5.6 läufts. 2016-08-04T18:19Z martin: Dh. gleiche Fuses und gleiche Einstellungen in *.asm 2016-08-04T18:19Z mt: Hmm. 2 Jahre der Änderungen.. Das wird nicht leicht rauszufinden sein 2016-08-04T18:20Z martin: Stimmt den der Port? 2016-08-04T18:20Z mt: Wenn die alte Version tut, sollte die neue auch tun. 2016-08-04T18:21Z martin: Kann es an dieser Fehlermeldung liegen: ... 2016-08-04T18:21Z mt: Kannst Du die Zwischenversionen auch mal durchprobieren? Das würde das Suchfeld ggf enorm einschränken 2016-08-04T18:21Z martin: fixme:service:scmdatabase_autostart_services Auto-start service L"io.sys" failed to start: 2 2016-08-04T18:22Z martin: Ja mach ich. Muss ich erst noch runterladen. Evtl. am WE? 2016-08-04T18:22Z mt: Hä? Sorry, sowas habe ich noch nie gesehen 2016-08-04T18:22Z mt: Wann immer Du Zeit hast. Ich suche auch mal meinen alten 168er raus, evt. findet sich ja doch was. 2016-08-04T18:23Z martin: Das 'scheint' auch nicht weiter schlimm zu sein. Ich bekomme jedenfalls die passenden template.eep.hex template.hex template.ls 2016-08-04T18:27Z bernd: So, jetzt bin ich zu Hause angekommen. 2016-08-04T18:29Z mt @bernd left (timeout) 2016-08-04T18:30Z martin joined 2016-08-04T18:30Z bernd: So, jetzt alle wieder da. 2016-08-04T18:31Z mt: Ne, einen 168 muss ich erst stecken, der 328er ist das kleinste, was ich derzeit regelmäßig benutze (Arduino) 2016-08-04T18:31Z martin: Muss ja alles nicht heute sein. 2016-08-04T18:31Z mt @bernd left (timeout) 2016-08-04T18:31Z martin: ping? 2016-08-04T18:32Z bernd: Ich bin schon da. 2016-08-04T18:32Z mt: pong 2016-08-04T18:32Z bernd: Nur das alte ich ist jetzt weg. 2016-08-04T18:32Z martin: Das erklärt vieles. 2016-08-04T18:32Z mt @bernd left (timeout) 2016-08-04T18:32Z bernd: Die aktuelle Gforth-Version hat einen amd64-Disassembler, 2016-08-04T18:32Z bernd: Also braucht man keinen gdb mehr. 2016-08-04T18:33Z martin: @Matthias: Benutzt die neue RXTX-Routine die 'alten' Ports? 2016-08-04T18:33Z martin: @Bernd: Ich gucke mal. 2016-08-04T18:33Z mt: Ja 2016-08-04T18:34Z martin: see dup OK 2016-08-04T18:34Z martin: vie dup OK 2016-08-04T18:34Z martin: ups view dup OK 2016-08-04T18:34Z bernd: see f* oder fmax ist schwieriger, wegen SSE-Befehlen. 2016-08-04T18:34Z mt: die neue Routine ist eigentlich die alte, sie wird nur anders als bisher durch den Forth-Kern verwaltet. Bislang hatte sie eine Sonderbehandlung, jetzt geht es den normalen Weg. Hat den Vorteil, dass man sie auch geordnet mit eigenem Code überschreiben kann. Erich hat da schon lange drauf gewartet 2016-08-04T18:35Z martin: BTW wie komme ich heil aus vim wieder raus? 2016-08-04T18:35Z bernd: Esc-:q! 2016-08-04T18:35Z mt: ESC :q! 2016-08-04T18:35Z bernd: Du hast vermutlich keinen EDITOR gesetzt. 2016-08-04T18:36Z bernd: Dann wird vi genommen. 2016-08-04T18:37Z martin: Angst: "E37: No write since last change (add ! to override) 2016-08-04T18:37Z bernd: Das ! in unseren Sachen war kein Satzzeichen 2016-08-04T18:37Z mt: LOL 2016-08-04T18:37Z martin: Das weiß ich! !!! 2016-08-04T18:38Z martin: Dennoch :q führt zu dieser Meldung und dann wieder zurück in den vi. 2016-08-04T18:38Z bernd: Ja, wenn du vorher was geändert hast, tut es das. 2016-08-04T18:38Z bernd: Deshalb ja das :q! 2016-08-04T18:39Z martin: Wenn ich was geändert habe, dann irtümlich. Ich will da ohne Änderung 'heile' wieder raus. 2016-08-04T18:39Z bernd: Ja, mach halt ":q!", ohne die Anführungsstriche. 2016-08-04T18:39Z bernd: Das macht einen Quit ohne zu sichern und ohne nachzufragen. 2016-08-04T18:39Z mt: q heisst Quit und ! heisst, egal was sich geändert hat, verwirf es 2016-08-04T18:40Z mt: Sozusagen ein Ende ohne Abspeichern 2016-08-04T18:40Z martin: Ups: Da hatte ich den Text falsch interpretiert (add ! to override) 2016-08-04T18:41Z martin: see und view mit f* --> OK 2016-08-04T18:43Z martin: Nach export EDITOR=kate wird jetzt auch der (oder die oder das?) kate aufgerufen. 2016-08-04T18:43Z martin: Super! 2016-08-04T18:44Z mt: Ich hab grade "see name-see" ausprobiert. Da ist ja so eine lustige Zahl drin, die man erst versteht, wenn man auf hex umschaltet. Wie wäre es, wenn die Zahlen bei see das Präfix mitbekommen? Also wenn base auf 16 steht, auch ein $ davor kommt? 2016-08-04T18:44Z mt: -9223372036854775808 hex u. 8000000000000000 ok 2016-08-04T18:44Z bernd: Kann man machen. 2016-08-04T18:45Z windoofs joined 2016-08-04T18:45Z mt left 2016-08-04T18:45Z mt joined 2016-08-04T18:45Z windoofs: Ich probiere gerade net2o von Windows 10 Linux aus 2016-08-04T18:45Z mt: wow, da scrollte aber grade was los 2016-08-04T18:45Z bernd: Und habe dort einen Fake-Account ;-) 2016-08-04T18:45Z mt: timeout-loop -9 2016-08-04T18:45Z mt: Invalid memory address 2016-08-04T18:45Z bernd: Oo 2016-08-04T18:46Z martin: 'Mein' kate wird sogar mit dem Syntax-highlighting aufgerufen, das ich masl für gforth angepasst habe. U.A. strg+d --> markierte zeilen als Kommentar d.h. mit \ 2016-08-04T18:46Z martin @mt left (timeout) 2016-08-04T18:47Z martin: Ich wiederhole mich: Super! Koutau! (Ob man das so schreibt?) 2016-08-04T18:48Z bernd: 磕头 2016-08-04T18:48Z bernd: Kotau halt. 2016-08-04T18:48Z bernd: Heißt "Klopfen [mit dem] Kopf". 2016-08-04T18:49Z bernd: Deshalb muss der Kopf da auf den Boden. 2016-08-04T18:49Z martin: Der Duden schreibt: Kotau 2016-08-04T18:49Z bernd: Pinyin sagt ketou. 2016-08-04T18:50Z martin: Ist das 'Mänchen' mit den zwei Schrägstrichen der Kopf? 2016-08-04T18:50Z bernd: Ja, das ist ein Männchen, und die Striche zeigen auf den passenden Körperteil. 2016-08-04T18:51Z martin: Hab' ich mir gedacht. 2016-08-04T18:52Z martin: @Matthias: Vielleicht schicke ich dir mal mein makefile und mein stk500-m168.asm. Und Du schickst mir die *hex-files zurück, die Du damit kompilieren kannst. Dann kann ich ein diff machen 2016-08-04T18:53Z mt: ok 2016-08-04T18:53Z martin: @Bernd: Warst Du schon da als ich dei wine-Fehlermeldung schickte? 2016-08-04T18:54Z bernd: Das andere Zeichen ist schwieriger, die linke Hälfte ist 石, der Stein, die rechte besteht aus 去 (sich irgendwo hinbewegen) und 皿 (Gefäß, Teller). 2016-08-04T18:54Z bernd: Das bedeutet "klopfen". 2016-08-04T18:55Z martin: Könnte fast der Brauch sein, Geschirr am Hochzeitstag zu zerdeppern. 2016-08-04T18:55Z martin: 'Mit Teller feste auf Steinboden klopfen' 2016-08-04T18:56Z bernd: Haha 2016-08-04T18:56Z martin: 'Polterabend' heißt das bei uns. 2016-08-04T18:58Z bernd: Auf chinesisch gibt es die "Hochzeitsdusche" 婚礼淋浴 2016-08-04T18:58Z bernd: Da wird vermutlich mit Böllern Krach gemacht. 2016-08-04T19:08Z bernd: Gforth gibt jetzt, wenn man Zahlen wie 1. eingibt, eine Warnung aus, dass das doppelt genaue Zahlen sind, und keine Floats. 2016-08-04T19:08Z bernd: Für Anfänger ist das oft verwirrend... 2016-08-04T19:09Z bernd: Man erwartet da ja eher, dass es nach Float gewandelt wird... 2016-08-04T19:10Z martin: warum #1. und nicht &1. ? 2016-08-04T19:10Z martin: OK &1. geht auch. 2016-08-04T19:10Z bernd: Weil sich das Standard-Komittee auf # als Dezimal-Prefix geeinigt hat. 2016-08-04T19:11Z bernd: &1. ist dann Gforth-spezifisch. 2016-08-04T19:11Z bernd: Irgendwer hatte das als Zeichen-Prefix, als &a war das, was im Standard jetzt 'a' ist. 2016-08-04T19:11Z martin: Da mag ich eher gforth (Bauchpinsellei) 2016-08-04T19:12Z mt: amforth hat beides: # und & für dezimal. 2016-08-04T19:14Z mt: & wars ursprünglich, das # kam dann später aus forth 2012 2016-08-04T19:14Z bernd: Ja, bei Gforth auch. 2016-08-04T19:14Z martin: $ für hex 2016-08-04T19:14Z bernd: Wir lassen uns viel zu oft von den größten Eigenbrötlern vorschreiben, was nicht mehr geht ;-). 2016-08-04T19:14Z mt: Das wurde erstaunlich gut aufgenommen. Also die Präfixe 2016-08-04T19:14Z martin: % für binär 2016-08-04T19:15Z bernd: Die Präfixe machen den Quelltext eindeutig. 2016-08-04T19:15Z martin: was ist für oktal. 2016-08-04T19:15Z bernd: Gibt's keinen. 2016-08-04T19:15Z mt: Grade bei den Microcontrollern machts den Quelltext oft viel verständlicher 2016-08-04T19:15Z bernd: Der amd64-Disassembler ist noch so ein Gemisch aus Oktal und Hex, jeweils ohne Präfix. 2016-08-04T19:15Z bernd: Weil der von meinem 486-Disassembler abstammt. 2016-08-04T19:16Z mt: Bitmuster oder Adressbereiche sind dezimal fast unbrauchbar 2016-08-04T19:16Z bernd: Ja. 2016-08-04T19:16Z bernd: Bitmuster ganz besonders ;-). 2016-08-04T19:16Z mt: Und das "Klammern" mit ... hex .... decimal in den Files ist nicht wirklich hilfreich. 2016-08-04T19:17Z bernd: Kann man auch nicht schnell was mit Cut&Paste woanders hinkopieren... 2016-08-04T19:17Z mt: base war fast immer "falsch" sobald man da was falsch gemacht hat. 2016-08-04T19:17Z martin: Ich hab' mal was geschrieben über die 64-Konstant Falle. Da hatte jemand in [ decimal ] so definiert: 64 constant 64 (weil das damals schneller war als die 64 als Literal einzukompilieren) 2016-08-04T19:18Z martin: Nur wenn man dan in [ hex ] war, war 64 immer noch decimal 64 und nicht $64. 2016-08-04T19:18Z mt: ich find ja die Möglichkeit, Zahlen als Worte neu zu definieren eher als eine Schrulle von Forth 2016-08-04T19:18Z martin: Böse, böse - hat mich viel Zeit gekostet, das herauszufinden. 2016-08-04T19:18Z mt: 0 constant 1 ist schon strange 2016-08-04T19:19Z martin: Das stimmt. Lass mal fünfe gerade sein: 4 constant 5 :-) 2016-08-04T19:20Z mt: Eigentlich sollte das redefinieren von ZAhlen eine Warnung wert sein. 2016-08-04T19:20Z bernd: Ab Warning-Level 2 gewiss. 2016-08-04T19:20Z bernd: Vielleicht schon bei Level 1. 2016-08-04T19:20Z bernd: Wir warnen ja bei anderen Redefinitionen auch. 2016-08-04T19:21Z mt: und jetzt schon bei 1. ohne Level (?) 2016-08-04T19:21Z mt: 1.1 2016-08-04T19:21Z mt: *terminal*:14:1: '1.1' is a double-cell integer; type `help' for more info ok 2016-08-04T19:21Z mt: 0 constant 1 ok 2016-08-04T19:22Z bernd: Default-Level ist 2 2016-08-04T19:23Z mt: ich denke, das ist eine Klasse mit dem redefinieren von Worten (also echten). 2016-08-04T19:23Z mt: Ist es ja auch gewissermaßen 2016-08-04T19:24Z bernd: Ja, ist es. 2016-08-04T19:25Z bernd: Da könnte man einen eigenen Recognizer-Stack dafür nutzen ;-) 2016-08-04T19:25Z mt: Wobei die nitpicker sicher einwenden werden, dass "0 constant 0" wiederum nur eine Optimierung bei gewissen Implementieren ist ;) 2016-08-04T19:26Z martin: s.o. 2016-08-04T19:26Z mt: genau 2016-08-04T19:26Z bernd: Man kann ja solche Sachen immer in warnings @ warnings off ... warnings ! kapseln. 2016-08-04T19:27Z bernd: Wobei es in Gforth ja eh keinerlei Optimierung ist. 2016-08-04T19:28Z mt: ach, im amforth habe ich ein paar Konstanten als Worte definiert. Spart deutlich Speicher. Bestimmt 10 bytes oder so ;) 2016-08-04T19:28Z bernd: Haha 2016-08-04T19:28Z mt: Trotz overhead durch den Wortheader (String, Links etc pp) 2016-08-04T19:29Z mt: Ich bin schon manchmal extrem, was das angeht. Macht aber Spaß und schafft Platz für andere Spielereien, wo der Speicherplatz dann "verschwendet" wird. Bis auch hier die Byte-Optimierung zuschlägt 2016-08-04T19:31Z mt: Ich seh das als sportliche Herausforderung, im Kernsystem unter 8 KB zu bleiben und alles andere als Forth-Code zur Laufzeit zu haben. 2016-08-04T19:32Z mt: Zumindest die MSP430 lassen da erfreulich viel Luft, bislang. Bei den Atmegas ist schon deutlich enger. 2016-08-04T19:32Z mt: 8bit vs 16 bit halt. 2016-08-04T19:33Z bernd: Die ARMs haben in der Regel sehr viel Flash 2016-08-04T19:34Z bernd: Da lohnt sich dann eher, wie Matthias Koch, einen besseren Optimizer einbauen, denn der macht ja die Anwendung kleiner. 2016-08-04T19:34Z mt: Bei den ARMs sind mir die Zahlen einfach zu lang. 2016-08-04T19:34Z bernd: Haha 2016-08-04T19:35Z bernd: Was sagst du dann bei 64-Bit-Prozessoren ;-)? 2016-08-04T19:35Z mt: gar nix mehr. Sowas ist jenseits meines Horizonts ;) 2016-08-04T19:36Z martin: Es gibt da einen Virus, der hat seine RNA in einem Ring organisiert. Der ist um ein Bruchteil eines codnons? (3-Basen) länger, so dass beim zweiten Ablesen die gleiche Abfolge von Basen einen anderen Sinn ergibt. Das nenne ich kompakt. Ich habe da ewder im Deutschen noch in forth ein Beispiel für konstuieren können. 2016-08-04T19:37Z mt: Wobei ich die Konstantenfalter-Recognizern dieser Tage wieder angefangen habe. Mal schauen, ob ich mit gforth 1.0 dann mal einen Artikel für die VD verfasse. 2016-08-04T19:38Z mt: Da nehme ich aber keine Rücksicht auf ein paar Bytes mehr. Da wird aus den vollen geschöpft. 2016-08-04T19:39Z bernd: Sollten wir für solche Fälle ein paar Bits im Wortheader reservieren? Wir haben schließlich die volle Zellengröße für die Stringlänge, das ist etwas überdimensioniert ;-) 2016-08-04T19:40Z martin: Wenn dann mal die 1024-Bitter kommen ... 2016-08-04T19:40Z mt: Das ist mein Ansatz bei amforth. Das soll schließlich mit dem gleichen Recognizer auch Konstanten zusammenfalten. Von der Idee her bleibe ich sehr nah bei Matthias' Artikel 2016-08-04T19:41Z bernd: Die Register sind ja schon fast so weit, Intels AVX ist im Maximalausbau 512 Bits breit. Aber halt SIMD, kein Adressregister. 2016-08-04T19:41Z mt: 3 bits reichen völlig aus, wie er geschrieben hat. 2016-08-04T19:41Z bernd: Ja, aber halt drei Extra-Bits ;-) 2016-08-04T19:41Z mt: neben immediate und so Zeug. ja 2016-08-04T19:42Z mt: bei amforth habe ich 8 bit im Header, von denen bislang nur 1 benutzt wird. 2016-08-04T19:43Z mt: 7 sind noch unbenutzt und harren der sinnvollen Verwendung. 2016-08-04T19:44Z bernd: Bei Gforth sind halt 3 benutzt (immediate, compile-only und Alias), und ein viertes (Prelude) als mögliche Erweiterung denkbar. 2016-08-04T19:44Z bernd: 8 Bits da reservieren ist nicht wirklich arg großzügig. 2016-08-04T19:45Z bernd: Immerhin können unsere Header dann auch im 32-Bit-Gforth noch 16MB lang werden ;-) 2016-08-04T19:46Z mt: amforth hat wegen der Atmega Flashzellengröße von 16bit pro Adresse 8 bit für die Wortlänge, 1 bit fürs immediate flag (invers wegen Flash-schreiben) und den "rest" unbentzt. Der MSP430 von Brad Rodrigues ist praktisch identisch, nur ist das AVR immediate Bit bei bit 7, das camelforth immediate bit bei bit 0. 2016-08-04T19:50Z mt: Ist schon spannend; camelforth hat auch relative Sprünge bei den Kontrollflussworten (LOOP, AGAIN etc). die Atmegas sind mit absoluten Adressen versehen. Und trotzdem geht das auf Assemblerebene sauber durch. 2016-08-04T19:52Z mt: ich bin dann mal (wieder) weg 2016-08-04T19:52Z mt: schönen Abend noch 2016-08-04T19:52Z mt left 2016-08-04T19:52Z martin: Ich auch! CU! 2016-08-04T19:52Z bernd: Ciao 2016-08-04T19:52Z bernd macht das Licht aus 2016-08-04T19:52Z windoofs left 2016-08-04T19:52Z martin left 2016-08-04T20:32Z foo#2 joined 2016-08-04T20:32Z foo#2 left