Projekt-Information

:RB Hallo und willkommen im Runtime-Basic Wiki.

Dieses Projekt versucht Routinen zusammenzustellen die in anderen Projekten verwendet werden können, und die eine Basis für ein Compiler bilden soll. Dadurch soll eine möglichst komplette Sammlungen von Funktionen entstehen die auch für eine Runtime-DLL oder OBJ verwendet werden können bevor der Compiler fertig ist. Die Grundfunktionen für zB. Addition Subtraktion usw. werden deshalb in Assembler, weiterführende Funktionen wie zB. für Komplexe Zahlen werden in VisualBasic Programmiert.
Gleichzeitig dient das Wiki zum erlernen von Assembler, und soll eine komplette Liste aller ASM-OpCodes und Informationen zu jeder Assembler-Funktion zusammenzustellen.

Über das AddIn VbInlineAsm können Assembler-Codes direkt in Visual-Basic 6 Code eingefügt und kompiliert werden, und so auch Funktionen zugänglich gemacht werden die zB. Unsigned Integer verwenden. So können sehr schnelle Routinen entwickelt werden wie zB. Bit-Shift Bit-Rotation oder CRC-32, und können die Möglichkeiten in Visual-Basic erweitern. Das mühsame Einfügen von Binärcodes über Hex und CallWindowProc hat so ein Ende. VbInlineAsm wird weiterentwickelt werden falls Interesse besteht. (Eine Funktion die es ermöglicht OBJ hinzu zu linken ist geplant und ermöglicht dann fertige Projekte als OBJ in Visual-Basic Programmen zu integrieren, auch eine Inline Funktion für Visual-Basic wäre möglich.)

Komplette Codes werden so umgewandelt das sie funktionsfähig in Projekte als DLL oder OBJ integriert werden können, und zum Download zur Verfügung gestellt.

Weitere Informationen
Wiki-Hilfe/Syntax (Kurze Beschreibung der Wiki-Texteformate Syntax)
Wiki-Testplatz (Test-Bereich zum Ausprobieren)
Wiki Informationen (Informationen zum Wiki und bekannte Probleme)
Assembler Informationen (Informationen zu allen Dateien in der Kategorie Assembler.)
Runtime Informationen (Informationen zu allen Dateien in der Kategorie Runtime.)

Runtime-Basic Projekt

Projekt Informationen :!: Informationen zur Runtime-Basic Projekt

ApiHelper Organisiert eine Sammlung aller Windows-API Funktionen für Programmierer. (unter Windows-API liegen die Daten)
BigNum Berechnet sehr großer Ganzzahlen (Super Long Integer) und Algorithmen: RabinMiller (Primzahl), RSA DH (Asymmetrische Verschlüsselung)
PrimNum Berechnet Primzahlen mit einem sehr schnellen Verfahren
VbInlineAsm Plugin für Visual-Basic 6 um über MASM Assembler Inline in VB kompilieren zu können
WikiTool Konverter-Programm das HTML-Texte in Wiki-Formate umwandelt
FensterInfo Paßwörter hinter Sternen und Felder-Informationen anzeigen
ReedSolomon Test Programm für den ReedSolomon Fehlerkorrektur Algorithmus

Spiel: Memory Icon-Memory
Spiel: Mine Minensucher

Translation Text Übersetzung für mehrsprachige Programme


Download Download Bereich

Projekt-Führung

Anmeldung

Das Projekt ist öffentlich zugänglich und darf verändert werden wie andere Wikis auch.
Es soll einfach und übersichtlich bleiben, und ist im Verhältnis zu zB. Wikipedia sehr spezialisiert.

Es werden keine Informationen der Benutzer an Dritte weitergegeben, also auch keine EMail-Adressen!!!
Bei der Anmeldung muß diese Benutzerinformation Information gespeichert werden. Dazu muß der Browser oder eine Firewall für diese Seite Cookies akzeptieren damit die Anmeldung gespeichert werden kann.
Wer angemeldet ist, kann durch besondere Leistungen auffallen. Später wird möglicherweise einmal ein Punktesystem eingebaut, welches die Auswertung der Änderungen erleichtert. Benutzer mit vielen Punkten könnten dann ihren Eintragungen auch ein größeres Gewicht verleihen. (Ein solches System besteht aber zur Zeit noch nicht.)
Im Moment ist es möglich:

  • Nicht angemeldete Benutzer:
    • Texte ändern
    • Dokumente neu erstellen
  • Können aber nicht:
    • Start-Dokument bearbeiten
    • Dateien hochladen
    • Dokumente löschen


  • Angemeldete Benutzer:
    • Keinen Captcha-Test mehr beim Bearbeiten von Texten. (Dieser wird verwendet um automatisierte Bearbeitung durch schädliche Software zu verhindern.)
    • Upload ist in diesem Verzeichnis möglich. Die Dateien werden nach Prüfung ins Wiki übernommen.
    • In den Änderungslisten wird der Benutzername und nicht die IP-Adresse angezeigt.
    • Können ihren Einträgen größeres Gewicht und Vertrauen verleihen und werden wiedererkannt.



Erweiterte Benutzer-Rechte:
Es kann sein das einige Dokumente vor Bearbeitung geschützt werden, dann können sie trotz Anmeldung nicht bearbeitet werden.
An bekannte Benutzer des Wikis können erweiterte Rechte vergeben werden.

  • Erweiterte Benutzer:
    • Start-Dokument bearbeiten (diese ist für Spamer besonders interessant)



Upload:
Hochladen von Dateien ist möglich, damit aber kein unerwünschtes Material auf die Seite geladen wird, ist dies nur im Upload-Verzeichnis möglich. Um Dateien hochladen zu können muß man als Benutzer im Wiki angemeldet sein.
Dateien können auch über EMail an Runtime-Basic geschickt werden. Bitte keine EXE oder andere aktive Dateien mailen, solche Dateien werden aus Sicherheitsgründen ungeprüft gelöscht, das gilt auch für den Inhalt von komprimierten Dateien. Also die Dateien in ZIP RAR oder anderen passiven Formaten senden.

Projekt Organisation und Strukturierung

Die Start-Seite funktioniert im Moment als Inhaltsverzeichnis für die gesamte Seite da noch nicht so viele Dokumente verfügbar sind.

Weitere Informationen gibt es hier zum Wiki, und testen kann man im Wiki-Testplatz.

Ziel

Das Ziel des Projekts ist es, eine möglichst komplette Sammlung aller Informationen zu allen Assembler-Funktionen zusammenzustellen (Beschreibung Verwendete Flags OpCode und Laufzeiten).
Und als Zweites eine Basis einfacher Funktionen zusammenzustellen die möglichst optimiert in ASM geschrieben sind, oder in VisualBasic.
Zusätzlich gibt es noch nützliche Tools die man in Projekten verwenden kann wie zB. eine Sammlung an Dialog-Texten.

Sind bestimmte Bereiche komplett und auf Fehler überprüft, werden sie zusammengestellt und können hier als Download komplett geladen werden. Diese können dann in eigenen nicht kommerziellen Projekten verwendet werden.
Für VisualBasic Programmierer gibt es immer dann Probleme, wenn VB bestimmte Eigenschaften nicht unterstützt, und man zum Teil sehr viel langsamer Routinen schreiben muß um diese zu lösen. Größte Schwächen in VisualBasic sind zB. das Fehlen von Unsignet Integern, Bitoperationen wie Bit -Shift oder Bit-Rotation und Zeigern. Hierzu soll es eine OBJ-Datei geben die in die EXE gelinkt werden kann, und eine DLL zum einbinden.

Alle Codes werden für 32-Bit Prozessoren im Flat-Memory für Windows erstellt, Umsetzungen für 16-Bit DOS vielleicht sogar Linux folgen möglicherweise später.


Wieso eigentlich noch ein Compiler, gibts noch nicht genug?
Zuerst ist der Textsyntax sehr wichtig und der Syntax von C basierenden Sprachen ist häßlich und unpraktisch. Zudem muß sich der Programmierer bei der Nutzung dieser Sprachen um unzählige Dinge kümmern die eigentlich der Compiler übernehmen könnte. Und die auf Basic Syntax basierenden Sprachen sind teilweise nur halbherzig entwickelt worden, Visual-Basic 6 zB. kennt kein unsigned Integertype und keine Zeiger, und wird nicht mehr weiterentwickelt. Die .Net Sprachen benötigen ein installiertes viele Megabytes großes Framework ohne dies sie nicht lauffähig sind, da sie nicht mehr in echtem Binärcode sondern in P-Code kompiliert werden. Wer die DLL Dateien nicht möchte wie sie auch Visual-Basic verwendet, dem ist ein solches Workframe noch viel unangenehmer. Dies bedeutet auch unteranderem das die Entwickler der Sprache Zugang zu den Quell-Codes haben. Die meisten Compiler sind also entweder sehr teuer und komplizierter als notwendig, oder haben diverse Schwächen.
Die Idee ist es eine einfache Basic ähnliche Sprache zu entwickeln die in Opensource entstehen soll und ermöglicht Programme zu erstellen wie man das aus Visual Basic kennt und ohne die typischen C-Häßlichkeiten. Es wird also großen Wert auf Einfachheit und einen guten Editor gelegt. In diesem Wiki soll die Codebasis entstehen die notwendig ist um aus C = A + B oder C$ = UCase$(A$) & Trim(B$) Assembler-Code zu machen. Es soll also eine Funktionssammlung entwickelt werden deren Basisfunktionen in Assembler und erweiterte Funktionen in Visual-Basic programmiert werden. Diese Runtime-Funktionen werden dann von einem Compiler benutzt um Eigenständige EXE Dateien zu erstellen die ohne weitere DLL auskommen. Dazu ist es notwendig alle in Visual-Basic bekannte Funktionen nach zu programmieren. Darüber hinaus kann dann der Funktionsumfang beliebig erweitert werden.

Zukünftiges

Wenn die Runtime-Basis einmal auf solidem Grund steht, wird der Umfang der Funktionen erweitert. Geplant und interessant wären:
(* Dafür existieren bereits Codes in Visual-Basic, teilweise in einem frühen Entwicklungsstadium)

  • Viele Funktionserweiterungen* (Datei, Werte, Array, usw. zB. FileExist MinMax IdenticCheck)
  • Sortierung* für Arrays (Für alle Typen über den sicheren Shell und den stabilen Shuttle-Merge für indexierte Arrays)
  • Tree* und TreeView
  • Dynamische Listen* (Ermöglichen das Löschen und Einfügen ohne nach freien Positionen zu suchen)
  • Big-Integer*, Big-Float (Für unbegrenzte Zahlengrößen)
  • Primzahlen* (Schnelle Prüfung, und die ersten Primzahlen bis 100'000'000 (5'761'456 Primzahlen) in weniger als 5 Sekunden)
  • Zufallszahlen
  • Finanz Mathematik
  • WinAPI Einbindungen (zB. Registry*)
  • UserControl Entwicklung
  • Kompression
  • Krypt: Blowfish*, RSA* >1024 Bit, Cast, RC4, usw.
  • Steganographie*
  • Checksummen und Hash (CRC32, SHA, MD5, usw.)
  • ECC* (Error Correction Code über Reed-Solomon Algorithmus)
  • Routinen für Spieleentwicklung und DirectX / OpenGL

Codes

Codes sind in zwei Varianten in diesen Dokumenten zu finden, in ASM und in VisualBasic 6.
Codes in Hochsprache sollten in VisualBasic-Syntax eingegeben werden.

Bei ASM-Codes ist es sehr nützlich wenn die Funktion als Formel oder wenn dies nicht möglich ist in Text beschrieben wird. Eine Formel sollte funktionsfähig sein, so das sie zum testen des ASM-Codes verwenden werden kann.

Weiteres

Kontakt

:RB

Runtime-Basic Für wichtige Informationen oder für Dateien die veröffentlicht/upgeloadet werden sollen kann ein EMail geschickt werden.

PGP-Keys zum sicheren mailen:
PGP-Key 16384Bit PGP-CKT RSA-16384bit es wird diese erweiterte Version dazu benötigt (pgp658ckt08.zip)
PGP-Key 2048Bit

Lizenz

  • ::. Alle hier zusammengetragenen Informationen und Programme sind Frei für alle nicht kommerziellen Nutzungen.
  • Alle Rechte und Patente bleiben im Besitz von Runtime-Basic.
  • Jeder verwendet diese Quellen auf eigenes Risiko, für mögliche Schäden wird nicht gehaftet.
  • Es dürfen keine Texte oder andere Daten in dieses Wiki geladen werden die unter Lizenzen stehen und Copyrights verletzen.


Jeder der Programme oder Daten von Runtime-Basic verwendet stimmt diesen Bedingungen automatisch zu.

Haftungsausschluß

Da nicht ausgeschlossen werden kann das Dritte unerwünschtes Material in dieses Wiki eingeben, kann der Besitzer in keinerlei Weise die Verantwortung für die Handlungen Dritter übernehmen.
Solches Material wird sofort nach der Entdeckung gelöscht.

Verhaltensregeln

Alle Autoren im Wiki sollten sich an folgende Regel halten:
:-N Das ist keine Werbefläche, egal ob für kommerzielles der Privates.
:-N Das ist kein Ort zur Selbstdarstellung, dafür kann jeder seine eigene Homepage einrichten.
:-N Das ist kein Forum. Falls Benutzer ihre EMail-Adresse hinterlassen haben kann man sich auf entsprechenden Foren oder Chatt-Räumen treffen wenn Informationen zu dessen Projekt ausgetauscht werden sollen. Falls dennoch Texte auf der Webseite zur Diskussion gestellt werden sollen verwenden, bitte nur das dafür vorgesehene Dokument Diskussion verwenden.

:-Y Texte sollen so frei wie nur möglich von Persönlichem bleiben, hier geht es um Assembler, Visual-Basic, Compiler, Runtime-Routinen und API-Funktionen.
:-Y Texte sollen so kurz und kompakt wie nur möglich gehalten werden.


 

Projekt/Projekt.txt · Zuletzt geändert: 2008/10/13 01:27 (Externe Bearbeitung)