Pocketviewer.de Community Forum

Forum in italiano
Forums-Ausgangsseite | Forenübersicht

log in | registrieren

cgu(R)
NEW!
Homepage

Pinneberg,
26.03.2009,
10:27 Uhr
 

Auch ich bin noch da <g> (Deutsches Forum)

Tja, auch ich habe mich in letzter Zeit hier etwas rar gemacht. Aber ich benutze meinen PV 660 noch täglich (hauptsächlich zum Vokabeln lernen).
Letzte Woche habe ich es dann auch endlich mal geschafft mir in den Hintern zu treten und die letzten Macken aus meinem Vokabeltrainer zu entfernen. Das heißt der Vokabeltrainer kann jetzt Zeilenumbrüche (und zwar bei den Leerzeichen und nicht mehr mitten im Wort) und die Vokabeln werden jetzt "first in first out" abgefragt und nicht mehr "first in last out".
Nun werde ich mich mal wieder um mein NoGem kümmern. D.h. Bugs beheben, Die spielsteine evt. anders generieren und auf jeden fall zu icons machen anstatt sie jedesmal mit line, circle, ... komplett neu zu generieren.
Dann will ich noch irgendwas neues schreiben. Ich habe da gerade mehrere Ideen, un muss mal sehen, welche davon gewinnt.

Smile :)
Christian.

---
Am Abend werden die Faulen fleißig.

Mika(R)
NEW!
28.04.2009,
01:58 Uhr

@ cgu
 

Auch ich bin noch da <g>

Tach auch,
bin auch lange nicht da gewesen, klasse, dass man hier noch/wieder (?) Leben findet!;-)
Auch mein PV-S460 lebt noch und er ist und bleibt mein treuer Begleiter (einen gibts noch als Ersatz)! Meine Ausbildung als Chemielaborant hab ich auch inzwischen hinter mir und PV Plot war in dieser Zeit eine riesige Bereicherung! Seit fast 4 Jahren probiere ich mich in 3D-Grafikprorammierung auf dem PV und habe Rasterisierung und Raytracing angekratzt. Hunderte Programme (selbst gemachte, hab gezählt!) sind geschrieben worden, viele schön anzusehen, einige ganz nützlich, viele aber auch nicht zu gebrauchen... Aber wie ich gerade sehe, ist der Upload hier endlich funktionstüchtig, gleich mal nen Schwung hochladen! Übrigens kenne ich die Sache mit der Programmierung des Zeilenumbruchs auch, ich habe doch tatsächlich mal ein Prog. gebastelt, das man als ICQ für PVs beschreiben kann, das auch den Umbruch der Zeilen unterstützt (PV <-[0-Modem-Kabel]-> PV oder auch mit Hyper Terminal).
Ich hoffe, dass die Kommunikation hier wieder etwas auflebt und uns die PVs noch lange erhalten bleiben...

Mika

PS: eine 3D-Raytracing-Demo und zwei 3D-Beispielprogramme sind im Downloadverzeichnis, hoffe auf Feedback

Edit:
Die Links:
raytraced sphere
Voyager 3D 1.03 + Haus 3D

P.S. Digital(R)
NEW!
Homepage E-Mail

Puerto Rico,
29.04.2009,
12:52 Uhr

@ Mika
 

Auch ich bin noch da <g>

» PS: eine 3D-Raytracing-Demo und zwei 3D-Beispielprogramme sind im
» Downloadverzeichnis, hoffe auf Feedback

This sounds really nice. I will be testing them as soon as possible.

---
www.psdigital.webs.com

Xray(R)
NEW!
Homepage E-Mail

Mannheim,
02.05.2009,
17:41 Uhr

@ Mika
 

Auch ich bin noch da <g>

» PS: eine 3D-Raytracing-Demo und zwei 3D-Beispielprogramme sind im
» Downloadverzeichnis, hoffe auf Feedback


Wäre schön wenn du Links angibst. :D

Edit:

Hat sich erledigt.

---
MMMMaxxiii Kinnng! Oh Yeah! La Lalala Lalala !!! Maxiii Kiinngg!

flohuels(R)
NEW!
Homepage E-Mail

30.07.2009,
21:25 Uhr

@ Xray
 

Auch ich bin noch da <g>

» » PS: eine 3D-Raytracing-Demo und zwei 3D-Beispielprogramme sind im
» » Downloadverzeichnis, hoffe auf Feedback
»
»
» Wäre schön wenn du Links angibst. :D
»
» Edit:
»
» Hat sich erledigt.

komisch. ich habe versucht die 3d programme runterzuladen und firefox zeigt mir als dateityp "application/octet-stream" an, die datei hat auch keine endung... habe das gleiche problem mit den ACE- OWBasic programmmen... wenn man versucht, einfach die endung .twf anzuhängen, nimmt PCsync das nicht an...
wer kann mir helfen??

achja, und ich finde bei Moritz Beutels Homepage einfach nicht die Programme ADPocketmusic und ein paar andere auch nicht...

edit: hat jetzt doch funktioniert: einfach .zip anhängen... dass das archive sind hab ich auch erst bemerkt als ich sie gestern mit meinem Ubuntu-pc öffnen konnte... tja, linux ist in vielen punkten halt doch einfacher und besser als windows...

---
Mein PV:
PV-S460

Mika(R)
NEW!
01.08.2009,
16:30 Uhr

@ flohuels
 

Auch ich bin noch da <g>

Die Programme sind alle in ZIP-Archiven, vielleicht einfach mal ".zip" anhängen. Ich habe selbst nochmal mit dem Internet Explorer probiert und bei mir klappt der Download, wie er soll.

Ich habe es gerade noch mit Firefox Portable getestet: es kommt der gleiche Fehler, wie bei dir!
Einfach die endungslose Datei abspeichern und ".zip" dranhängen. Das hat bei mir funktioniert.

Vielleicht sollte Moritz da mal schauen...

Gruß, Mika

leone(R)
NEW!
E-Mail

Brazil,
05.08.2009,
16:16 Uhr

@ Mika
 

Auch ich bin noch da <g>

Your 3D experiments are amazing, I love when I find something that shows how the Pocket Viewers can still learn new tricks!

» Die Programme sind alle in ZIP-Archiven, vielleicht einfach mal ".zip"
» anhängen. Ich habe selbst nochmal mit dem Internet Explorer probiert und
» bei mir klappt der Download, wie er soll.
»
» Ich habe es gerade noch mit Firefox Portable getestet: es kommt der
» gleiche Fehler, wie bei dir!
» Einfach die endungslose Datei abspeichern und ".zip" dranhängen. Das hat
» bei mir funktioniert.
»
» Vielleicht sollte Moritz da mal schauen...
»
» Gruß, Mika

---
PV-S660

Mika(R)
NEW!
08.08.2009,
01:53 Uhr

@ leone
 

Auch ich bin noch da <g>

Thank you for your kind words!

...and there's much more where that comes from!
Look into the downloads section ;-)

It's a pity that OWBasic itself consumes so much recources while running the programs, i think it could be much faster, if it runs directly on the hardware. But until now, i can only code in OWB...

Hey Moritz, is there any possibility, that the development of OWBasic will continue?

Mika

audacia(R)
NEW!
Homepage E-Mail

Münster, Germany,
17.08.2009,
11:00 Uhr

@ Mika
 

Auch ich bin noch da <g>

Hello,

» It's a pity that OWBasic itself consumes so much recources while running
» the programs, i think it could be much faster, if it runs directly on the
» hardware. But until now, i can only code in OWB...

what would "run directly on hardware" be for you? Do you think about native code generation?


» Hey Moritz, is there any possibility, that the development of OWBasic will
» continue?

In principle, yes, there is. Just with a different premise.

My first involvement with OWBasic was primarily driven by my own interests. I had certain things I wanted to be able to do in an OWBasic program (e.g. use pointers to support certain patterns of programming) which weren't possible in Wolfgang Ortmann's OWBasic 4.0. (Actually, using pointers was possible by some really weird tricks with arrays and VAR parameters, but let's not go into that.)

Since then, my interests have shifted. Back then I primarily worked in C, C++ (well, kinda) and OWBasic, and I did it just for fun. This has changed since the end of my high school days - nowadays, some of my work is for commercial purposes (mostly in C++, Delphi and Java), and my hobby work is targeted at C++Builder and Delphi (both of which are actively maintained by very cooperative folks and supported by a reasonably large community, which of course raises the motivation on my side). And, of course, I got a life and can't spend all day working on software :)

I'm still interested in compilers and, of course, all the low-level trickery involved with it; this is why I'd say there is a chance that I continue to work on OWBasic someday. As you can see, I'm not actively maintaining it right now, and that's mostly for four reasons:

1. OWBasic is at the limit, in every sense of the word. It fills up pretty much all of the 128 KB available for a custom PV add-in. You really don't want to know what nasty kind of things I had to do to gain yet another KB to be able to implement a new feature. (Should you really want to know, diff the source code of OWBasic 4.0 against the more recent versions.) The core interpreter and some other speed-sensitive parts are written in assembly code for the "old" x86-based PV models (which implies that I need to maintain the same source code twice, once in assembly language for the old models and once in C for the PV-S1600).

2. OWBasic isn't really a proper compiler. That may sound a bit rough, but since I've dived into compiler literature a bit, I realized what would be possible if the parser generated a parse tree. Writing a backend that emits native x86 code would be more or less trivial then, not to talk about all the code optimizations that become easy to implement. In the current implementation, OWBasic directly emits the byte code which is then interpreted during execution. This allows only for trivial optimizations such as constant folding (which I believe I implemented in v4.4).

3. OWBasic suffers from several conceptual flaws. For example it doesn't really support stack variables (i.e. all local procedure variables are allocated as global variables); this is why you can't call a function recursively without all kind of problems.

4. The OWBasic code base isn't exactly easy to maintain. I was able to apply a few basic changes relatively quickly, but it took me months to really understand most of it, mostly because of all the magic numbers (e.g. error codes, symbol list entry offsets etc.), the global variables, multiple uses of the same buffers, the state management in the parser and those kinds of things.

To be clear: above reasons aren't meant as an offense to Wolfgang Ortmann. Considering where OWBasic v1.0 started, many decisions which are a problem nowadays are totally understandable in that context. After reading the source code of OWBasic 1.0, I was deeply impressed by his evolution of the compiler. Also, with all the "dirty hacks" I applied to keep OWBasic within the limit of 128 KB, I really contributed my share of "smelly code" to the code base.

It's about the same kind of problem that Borland^WInprise^WBorland^WDevCo^WCodeGear^WEmbarcadero has with BCC which initially was just a C compiler for DOS and today is a full-fledged C and C++ compiler that targets Win32, once targeted Linux/x86 (in the time of Kylix 3) and will probably target Mac OS/x86 and Win32/x64 in the future. Of course, about every compiler has to deal with this problem some day, but only the really large vendors (IOW, only Microsoft) can afford to solve the problem the clean way: by doing a total rewrite. Matter of fact, Microsoft's Visual C++ compiler has undergone several rewrites according to the Compiler Team interviews published on The Code Project, but AFAICS, Borland's compiler didn't. This is the reason why BCC runs about three times faster than MSVC - it's still the old piece of software written in hand-optimized C and assembly code -, but it's also the reason why BCC currently can't keep up with MSVC in terms of code optimization and standards compliance.


Considering all these points, you might be able to understand why I really haven't any interest to hack in yet another major feature into the current code base. While I'm interested in creating something new and powerful, I think it won't be possible without large compromises. For example, I could initiate an all-new compiler that features native code generation, borrow some code from the "original" OWBasic (the lexical analzyer, the essential runtime library functions, the menu GUI etc.) and rewrite everything else. This would of course imply about zero compatibility with existing OWBasic source code, and no native code support on PV-S1600. (PV-S1600 support is doable, but while I'm quite experienced with x86 CPUs, I don't know much about the 68k CPU used in the PV-S1600, so don't expect it anytime soon.) However, the code generated by this new compiler could be on par with C code compiled with the SDK compiler in terms of speed, at least in theory. (Btw, don't expect much improvement in floating point calculations; the old PV models don't have an arithmetic coprocessor, and thus all FP operations are emulated by the CPU. The PV-S1600 does support FP operations natively, which becomes obvious when comparing the speed of, say, PVPlot on old and new PVs.)

Don't take above paragraph as a promise. Right now I'm on vacation (visiting Tromsø in Norway), and I'm working on a C++Builder plug-in when time allows. From September onwards I'm going to study Physics, and I'll need to move to another city because of that, so don't expect anything in the next months. But when I have some spare time and sufficient motivation, I might begin to implement the aforementioned project.

Thoughts and comments and critics are much appreciated.

P.S. Digital(R)
NEW!
Homepage E-Mail

Puerto Rico,
26.08.2009,
19:37 Uhr

@ audacia
 

Auch ich bin noch da <g>

» Thoughts and comments and critics are much appreciated.

Hello Moritz,

Well I can say is a pity that you can't work much on OWBasic for the time to come, but it's something I can understand. I was always very active with the PV and the PV community while it existed and I really was motivated in PV development, but that was too on my high school days. Now since I'm in the university, I barely have time for anything. However, I look forward to help you on further developing or rewriting OWBasic from scratch as soon as I take a few of my programming courses (in the next year at least) as you're talking about native code and that sounds very nice.

Héctor

---
www.psdigital.webs.com

Mika(R)
NEW!
31.08.2009,
01:10 Uhr

@ audacia
 

Auch ich bin noch da <g>

Hello again,

» what would "run directly on hardware" be for you? Do you think about
» native code generation?

Yes, I think it would be great, if OWB would be able to build a new piece of code out of the OWB-Soucecode and execute it as an independent program. Of course OWB could inject some own algorithms for controlling and security. Also, I think it is possible to store many commands inside an ADT-file, so there's no program-size-problem anymore. And if you want to have more performance, you could for example optionally disable the injection of security-algorithms to the generated code on your own risk.

What I wrote is only an idea, you sure don't have to rush because of it and since the PV is an endangered species, I don't know how many people would benefit from it. If you have the knowledge, you could code this new OWBasic for other devices, too, but I think this would be a very hard task.
About the thing with floatingpoint operations we have talked some time ago. I don't have a PV-S1600 so I can't test its abilities in flos. I don't use them whenever possible.

I myself had an apprenticeship as a "chemical laboratory assistant" and now I'm in school again to make my "higher education entrance qualification" also known as "Abitur". Last week i coded a Prime decomposition tool in OWB on my PV-S460 which can decompose 20 arbitrary numbers between 0 and the integer limit (32768) into their prime factors within a second.

Greetings
Mika

PS:
You do remember your SourceForge-Site, do you?
PPS:
What about writing in German, since this is a German website, we are here in a German sub-forum and we are both Germans? :-P But it's equal to me if we continue because of P.S. Digital for example.
PPPS:
Good luck and have fun in studying Physics!

audacia(R)
NEW!
Homepage E-Mail

Münster, Germany,
31.08.2009,
11:21 Uhr

@ Mika
 

Auch ich bin noch da <g>

» If you have the knowledge, you could code this new OWBasic for other
» devices, too, but I think this would be a very hard task.

In fact, that's one of the required premises for such a project. I don't want to develop a new compiler without more than one use case.


» You do remember your SourceForge-Site, do you?

Yes, but I don't visit it often anymore. I assume you're bringing this up because of the bugs you logged there. Regarding the LINE bug, we already talked about that; the current behavior is As Designed since a correct implementation isn't really possible without a massive performance decrease. As for FINDSHARED, I didn't yet touch the underlying code, so I can't say whether this will be fixed.


» What about writing in German, since this is a German website, we are here
» in a German sub-forum and we are both Germans? :-P But it's equal to me if
» we continue because of P.S. Digital for example.

You already answered that question by yourself. I was addressing a general issue in my posting above, and I thought the non-German OWBasic users might be interested as well.


» Good luck and have fun in studying Physics!

Danke, und dir deinerseits viel Erfolg beim Abitur :)

audacia(R)
NEW!
Homepage E-Mail

Münster, Germany,
16.08.2009,
18:44 Uhr

@ flohuels
 

Auch ich bin noch da <g>

Hallo,

» achja, und ich finde bei Moritz Beutels Homepage einfach nicht die
» Programme ADPocketmusic und ein paar andere auch nicht...

das liegt daran, daß diese Programme dermaßen uralt sind, daß ich sie mal lieber aus dem Verkehr gezogen habe. PocketMusic sowie einige andere Programme beabsichtige ich mal ein wenig zu restaurieren und in aktualisierter Form bereitzustellen.

Pocketviewer.de Community Forum | Kontakt
37202 Postings in 7426 Threads, 228 registrierte User, 7 User online (0 reg., 7 Gäste)
  RSS-Feed  ^
en it hu es fr eo