Wir sind.... das |_ Team !
-Bericht-
Besonderheiten:
- Die Programmierwerkzeuge sind den Dateinamenserweiterungen wie folgt zugeordnet:
.ASM,
A05
--> 6805-kompatibler Assembler
.BAS, .MAP, .TMP,
.BAX
--> C-Control/BASIC
.BPP,
.BLIB
--> C-Control/BASIC++
.c5,
.h
--> C-Control/C-Cross-Compiler
.OCB, .PRO, .DEF, .IAR,
.IIA --> Open-Control/BASIC
.ocbasr (nativ. Maschinencode)
--> Open-Control/BASIC (Für Open-Micro/Mini/Midi)
.AVR,
.HEX
--> WinAVR toolchain, AVR-Brenner (experimentell)
.ISU
--> In-System-Update
Informationsdatei
Gut zu wissen:
Öffne im ConTEXT Editor die beiden 'magischen' Dateien
"L:\x2g\Hilfe.L" und "L:\x2g\Info.L" !
Dort erhälst du, passend zum jeweiligen Arbeitsschritt,
Informationen zum gerade verwendeten
Programmierwerkzeug. Diese Informationen stammen z.B. aus
den Read-Me Dateien in den lokal vorhandenen
Originalarchiven. Sie werden also _nicht_ in das
oder aus dem Internet irgendwohin übertragen.
Versionshistorie
================
Version 0.30 (Stand per 11. November 2021: "in Vorbereitung")
- Legal: "SBOM" compliance: https://sourceforge.net/p/gcbasic/discussion/579126/thread/0d009b1785/
- Neu: (evt.) Nirsoft QQ-Code Generator für Smartphone-unterstützte Konfiguration.
- Neu: ComPortMan von Uwe Sieber. (Noch Genehmigung vom Herausgeber einholen)
Komforterweiterung bei Verwendung mehrerer USB-Seriell-Konverter.
Kann bei der Installation als Windows-Dienst aktiviert werden.
(Siehe auch: https://www.uwe-sieber.de/ComPortMan.html#download )
bzw. auch: ComNameArbiterTool.zip von Uwe Sieber.
(evt. Alternative von Hendrik
Haftmann: "Wer kennt das nicht? USB↔Seriell-Konverterchips bestimmter
Fabrikate verlieren nach einiger Zeit einfach ihre
Verbindung. Man müsste einen USB-Reset hinschicken. Oder das USB-Kabel
ab- und anstecken. Das Deaktivieren und Wiedereinschalten des Adapters
im Geräte-Manager erfüllt den gleichen Zweck. Dafür gibt's in dieser
Sammlung eine Lösung: disableport.exe und cycleport.dll. "
(https://www-user.tu-chemnitz.de/~heha/hsn/free.php/cgi-bin/chm/mr610.htm)
- To-Do: "Fix: Kollision virtuelles LW W:" (Ralf)
Änderung: Nach Auslesen des Controllers (nur CC 1.1) das PuTTY - Terminalfenster (wieder) öfnnen.
- PuTTYtel: Scrollbackbufferumfang nochmal erhoehen...
-
Fix: OMDLWIN.EXE Uploadtool von Version 1.50
auf 1.52 (Single-Wire für OM (v1.51), & AUTOBAUD
(v1.52) sind überarbeitet) Siehe:
http://ccintern.dharlos.de/forum/lesen.php?eintrag=16959 )
- Update: OCBASR32.EXE (von Version 2.02b auf 4.1) - Unterstützung für Open-Maxi hinzugefügt.
Außerdem kann
jetzt LCDPRINT string verwendet werden. Auch zwei automatisierte
Programmtests
("Testsuite") sind enthalten. Somit können Programme für
alle Controllertypen der
der Open-Micro Familie
nochmals beschleunigt werden. Neu seit 4.01: Auch sehr große OCBASIC-
Programme können mit OCBASR
in die native Maschinensprache der OM-Kontroller übersetzt werden.
sind möglich.
- Datei "L:\x2g\3rdparty\OCBASIC\INFO.L" manuell an den neuen Stand aus INFO.HTM angepaßt
(Umlaute entfernt)
Siehe auch: http://ccintern.dharlos.de/forum/lesen.php?eintrag=16930
- Neu: Dateitypzuordnung '.ISU' "In-System-Update/Upgrade und Snapshotkonfigurationen.
Universelles Bytekode-Dateiformat zum komfortablen
Ausrollen von Firmware-Uprades, Updates,
Konfigurationen, und Snapshots, bzw.
Imagedateien für alle C-Control I kompatiblen Mikrokontroller.
Basierend auf OCBASIC und kompatibel zu CCDL.exe, CCTrans32.exe, OMDLWIN, usw. Ein Beitrag
aus dem 'Lbit'-Projekt.
- Fix: Syntaxhighlighting für .VAR-Dateien im ConTEXT Editor aktiviert.
-
Neu: Lbit Firmware v.855 jetzt auch zum
direkten Betrieb an einem 10,000.000.000.000 Laborfrequenznormal
Bitte per E-Mail melden.
- Vorab: Lbit Firmware v.856: 3 zusätzliche Quarzfrequenzen:
1) Vorabversion für 4915 kHz (4,9152 MHz) / 9,8304 MHz. Wird ab v.856 verfügbar sein. Zum Vorabtest
bitte per E-Mail melden.
2) Vorabversion für Taktfrequenz 08867 kHz
(8,8672375 MHz / 17,734475 MHz) Dies entspricht exakt der 4-fachen
Frequenz des PAL
Colorburst. Wird ab v.856 verfügbar sein. Zum Vorabtest
bitte per E-Mail melden.
3) Vorabversion für 9216 kHz (9,216 MHz) / 18,432000 MHz. Wird ab v.856 verfügbar sein. Zum Vorabtest
bitte per E-Mail melden.
- Verschlankung des
bevorstehenden Linkmoduls v.856, dadurch etwas
schnellerer Upload
(einige Prozentpunkte)
- 30. März 2021:
Rekordversuch, siehe http://ccintern.dharlos.de/forum/lesen.php?eintrag=17244
C-Control (Version 1.1) erreicht 23542 I/s im DIE HARD Benchmark
Kompiler.........: CCBASIC + CCBAS2MC
Kombitreiber.....: FASTBAS + DCF77-Korrektur
Bustakt..........: 8,87 MHz (overclocked)
'Lbit'-Version....: v.856 (siehe oben)
- Neu: C-Control (Version 1.1) erreicht 20806 I/s im DIE HARD Benchmark
Kompiler.......: CCBASIC + CCBAS2MC
Kombitreiber...: FASTBAS + DCF77-Korrektur
Bustakt........: 8 MHz (vgl. C-Control 2.0)
'Lbit'-Version..: v.855
-
NEU: Dateiendung .2MC
"BASIC-*TO*-MACHINE-CODE" --> Derjenige Teil des BASIC- oder
Open-Control/BASIC-Programms,
welcher mittels CCBAS2MC in eine s19-Datei umgewandelt werden
soll.
Zum Beispiel: Benchmark.BAS.2MC oder
Programm.OCB.2MC
-
Neu: Dateiendung .BMC
"BASIC-*AND*-MACHINE-CODE"--> Das BASIC-Programm, in welches
die aus .2MC-Datei
erzeugte .s19-Datei (s.o.) eingebunden werden soll.
- Neu: Echter Kompiler CCBAS2MC
von Dietmar Harlos eingebunden. Hiermit können BASIC-Programme für die
C-Control (Verison 1.1) erheblich beschleunigt werden, s.o.
(Für die Open-Mini/Midi,
Open-Midi, Open-Macro, sowie Open-Maxi ist eine ähnliche Funktion
bereits in
der Toolchain enthalten. Siehe bei "OCBASR 4.01", weiter oben in diesem Text.
- Neues Unterverzeichnis: L:\x2g\Beispiel\Benchmark
Enthält Abwandlungen des DIE
HARD Benchmarkprogrammes zum Geschwindigkeitsvergleich.
-
Fix: Name der Ausgabedatei des DAT2TAB-Tools
lautet immer DAT2TAB.TAB (mittels INLINE "DAT2TAB Name START
bzw. END"
markierte Codebereiche als Datentabelle ausgeben in OCBASIC)
(Noch unklar):
AS05, Listfile -> Für
einige Befehle wird _vermutlich_ ein Taktzyklus zuviel im Listfile
des AS05 genannt. Abklären,
und ggfs. den Autor von AS05, Frank, informieren.
Entdeckt
beim Vergleichen der Angaben im Listfile des AS05 mit den
Angaben aus:
http://www.bitsavers.org/components/motorola/6805/Understanding_Small_Microcontrollers_1992.pdf
(Noch unklar): (3rd-party) GPS und Zeitbasisprogramme:
- gpsfeed+ mit GUI von (Autor unbekannt)
- rsNTP.exe von DL4YH (zuvor Genehmigung einholen)
- Lady Heather's GPS
Disciplined Oscillator Control Program (C) 2008-2019 Mark S. Sims
(zuvor Genehmiung einholen)
-IPaNema: NMEA-Daten vom RS232-Port als UDP Server bereitstellen. Auch der CLient-Betrieb ist mgl.
C-Control/GPS Schaltuhr
mit Feiertagsangabe von Paul Lenz in Ordner Beispiele/CCBASIC
Quelltext mit
Feiertagseingabe gemäß lenz-online.de/aboutme/history/uhren0.htm -->
wo zu finden(?)
(Ergebnis der Anfrage bei
Paul Lenz: Der Quelltext ist leider nicht mehr vorhanden. :-(
Version 0.29 - erschienen am 29.04.2019
-
Neu:
Nahtlose Einbindung des neu entwickelten Open-Control
In-System-Debugger (Taste F12).
Besonderheit: Die zuletzt für die Programmübertragung gewählte Serielle
Schnittstelle
wird automatisch auch für den In-System-Debugger verwendet. (Die
Auswahl erfolgt über
die Tasten F9, F10, F11, F12, während die Datei L:\x2g\Hilfe.L im
Editor geöffnet ist.)
Es ist also auch möglich, an jeder von bis zu vier separaten
Schnittstellen jeweils
einen In-System-Debugger mit der Taste F12 - quasi gleichzeitig - zu
verwenden.
- Update:
Open-Control/BASIC-Kompiler von Vorgängerversion 1.11a auf aktuelle
Version 1.12s
aktualisiert. Neue Compileroption: -> 'option 32bit' (in
Verbindung mit: Open-Maxi)
(27.Januar) Nicht mehr benötigtes Hilfsverzeichnis L:\x2g\3rdparty\ccbaspar\ocbasic\ entfernt.
Diente in früheren
Ausgaben der L-Distribution zur Erstellung der Variablenliste
bei OCBASIC-Programmen
Quelltexten. Wird nicht mehr benötigt, da der OCBASIC-Kompiler
ab Version (??) eine
Liste der verwendeten Variablen und Variablenpositionen selbst
erzeugt.
In dieser Ausgabe der L-Distribution ist erstmals auch die komfortable
32-Bit-Arithmetik-
Erweiterung von Dietmar HArlos für die Open-Maxi enthalten. Alle entsprechenden
OCBASIC-
Befehle sind hierzu auf
den Datentyp LONG erweitert worden. Dadurch stehen nun 1024
Byte
User-RAM
mittels LONG-Variablen
zur Verfügung und die Open-Maxi kann nunmehr den
Zahlenbereich von -2147483648 bis
+2147483647
verarbeiten! Sogar eine schnelle 32-Bit-SQR
Funktion ("Wurzelziehen")
ist enthalten.
Tipp: Um die 32-Bit-Funktionalität der Open-Maxi
mit den neuen 32-bit Datentypen (Variablen)
nahtlos nutzen zu können wird mind. die Version 1.12 des
OCBASIC-Compilers benötigt.
In der vorliegenden Ausgabe der L-Distribution
bereits enthalten, wird der neue Kompiler
automatisch verwendet. Bei Verwendung der
neuen 32-bit Datentypen im Programm müssen
diese mittels 'option 32bit' am
Quelltextanfang freigeschaltet werden. Die nachfolgenden
Dateinamenerweiterungen
werden derzeit unterstützt: .OCB, .PRO, .DEF, .IAR, .IIA
Bestimmte Einschränkungen sind bei der Verwendung von
'option 32bit' zu beachten:
* kann nur in Verbindung mit der Open-Maxi genutzt werden
* nur vier Einträge auf dem Rechenstack verfügbar (bei Pointer weniger)
* belegt rund 1900 Byte Programmspeicher
* solange aktiv, wird die Befehlsausführung erheblich gebremst
* Benutzt den Speicher FREERAM1 und FREERAM2
* einige Funktionen (INPUT, TIMER, usw.) arbeiten nur in 16 Bit
* Carry wird nicht zurückgeliefert
* RealPop=ON wird nicht unterstützt
Falls bei der Nutzung des neuen Open-Control/BASIC Probleme auftreten,
bitte den Autor,
Dipl.-Ing. Dietmar Harlos, per E-Mail kontaktieren. Allgemeine Fragen
zu den Eigenschaften
des Open-Control Systems werden regelmäßig im Forum der C-Control
Intern Website von Dietmar
Harlos zur C-Control-I und den Mikrokontrollern der Open-Control
Baureihe beantwortet:
http://ccintern.dharlos.de/forum
- Update: Syntaxhighlighting für Open-Control/BASIC vollständig eingepflegt. Bestimmte Schlüsselwörtern
und der Dekstophintergrund
weichen von der Vorlage ab. Zum Test diente die Vorlage
"OCHLTEST.BAS"
von "http://om.dharlos.de/downloads/om_context_sh_v23.zip"
Behoben: Bei neu
angelegten *.iar - Dateien wurde Syntaxhighlighting nicht
automatisch ausgewählt.
- Updateversuch gescheitert! (28.04.2019) ASW Assembler 1.42 beta, Build 115 auf 1.42 beta, build 146 aktualisiert,
dann aber beim Testen festgestellt, dass
sich das Programm aus "quirl.zip" nicht
mehr assemblieren läßt. Fehlermeldung: "PADDING nach double" -
Also E-Mail an den
Autor
geschrieben, und alles wieder auf die vorherige Version zurück
gebracht, somit
ca. 2h
verdaddelt ... :-P
- Änderung: Das in Version 0.28 eungeführte Popup-Fenster für OCBASR-Quelltexte wieder entfernt, da es doch zu sehr ablenkte.
- Änderung: DAT2TAB, ein Brückentool, erzeugt aus
den im Quelltext durch den Programmierer markierten
Codebereichen *nach* deren Kompilierung durch den OCBASIC-Kompiler,
eine Kopie in numerischer
CCBASIC(CCPLUS)Tabellenform. Diese speichert DAT2TAB im
Quelltextverzeichnis mit der Dateinamen-
erweiterung ".TAB". (Anm.: DAT2TAB ist bereits seit Ausgabe 0.26 der
L-Distribution enthalten;
die Verwendung ist mit der vorliegenden Ausgabe 0.29 jetzt noch
unkomplizierter und hat keine
merklichen Geschwindigkeiteinbussen zur Folge.
- Update: DOSBox Version von
0.73 auf 0.74-2 (vom 30.August 2018). Die neue Version soll stockende
|
Audioausgabe auf Windows 7 - basierenden Hostsystemen beheben. Übrigens
wurde die Vorgänger-
|
version DOSBox 0.74 in keiner Ausgabe der L-Distribution
niemals verwendet, weil unter
|
DOSBox 0.74 ein bestimmter Compileraufruf nicht richtig
funktioniert. Siehe hierzu auch:
|
http://ccintern.dharlos.de/forum/lesen.php?eintrag=15418
|
-related fix #1: Nach dem vorstehend beschriebenen
Update auf DOSBox 0.74-2 brach die CCBASIC-
|
Kompilierung mit folgender Fehlermeldung ab:
|
Unable to change to L:\x2g\3rdparty\ccbaspar\" -c
|
- und es blieb ein geöffnetes DOSBox Fenster zurück.
|
Einfache Ursache: In der L-Skriptdatei "L:\x2g\System\BAT\32Pbas.bat"
fehlte in
|
Zeile 21 das einleitende doppelte Anführungszeichen.
|
-related fix #2: Nach dem vorstehend beschriebenen
Update auf DOSBox 0.74-2 brach die Rückwandlung von
|
.DAT-Dateien in CCBASIC - Quellkode mit folgender Fehlermeldung ab:
|
Unable to change to L:\x2g\3rdparty\ccupload\" -c
|
- und es blieb ein geöffnetes DOSBox Fenster zurück.
|
Einfache Ursache: In der L-Skriptdatei "L:\x2g\System\BAT\32tokbas.bat"
fehlte
|
in Zeile 31 das einleitende doppelte Anführungszeichen.
|
-related fix #3: Nach dem vorstehend beschriebenen
Update auf DOSBox 0.74-2 brach die Verarbeitung
|
beim Auslesen des Anwenderprogramms aus dem Zielsystem mit folgender
Fehlermeldung ab:
|
Unable to change to L:\x2g\3rdparty\ccupload\" -c
|
- und es blieb ein geöffnetes DOSBox Fenster zurück.
|
Einfache Ursache: In der L-Skriptdatei "L:\x2g\System\BAT\32ccupld.bat"
fehlte
|
in Zeile 29 das einleitende doppelte Anführungszeichen.
|
-related fix #4: Nach dem vorstehend beschriebenen
Update auf DOSBox 0.74-2 brach die Verarbeitung
|
zur Programmierung eines OTP-Kontrollers in Verbindung mit der DOS-IDE
auf der
|
emulierten
DOS-Ebene ab - und es blieb ein geöffnetes DOSBox Fenster zurück.
|
| Zum
jetzigen Zeitpunkt noch unerkannte Ursache. Nach Editieren der
Dateien
|
"L:\x2g\System\BAT\32PGR705.BAT", sowie
"L:\x2g\BAT\dbPGR705.bat" funktioniert
|
es jetzt aber jetzt auch
unter DOSBox 0.74-2, wobei die ausgewählte S19-Datei
|
automatisch in der emulierten DOS-Ebene
und DOS-IDE des Programmers geöffnet wird,
|
allerdings nur, wenn
die S19-Datei auch im virtuellen Laufwerk L: abgespeichert ist.
|
Letzteres war
auch bereits in der L-Distribution 0.28 der Fall.
|
|
Tipp: ggfs. einfach die gewünschte S19-Datei vor dem Öffnen
irgendwo unterhalb L: abspeichern.
|
Mit dieser Einschränkung wird man
wohl leben können, zumal die wenigsten User überhaupt noch
|
über die
spezielle für die OTP-Progammierung der MC68xx erforderliche Hardware
verfügen werden.
|
-----Anmerkung: Das erwähnte fehlende
Anführungszeichen war für die zuvor verwendete DOSBox Version 0.73
ohne Bedeutung,
daher ist es bis zum heutigen Update wohl auch
niemandem aufgefallen.
- Update:
Programmübertragungstool OMDLWIN (Taste F11) aktuelle Version 1.5 - mit
Unterstützung für
AUTOBAUD auf Open-Maxi. Nach der schnellen Programmübertragung mit
115200 baud wird
automatisch auf 9600 baud zurück geschaltet, damit die üblichen
Terminalprogramme mit meist
nur 9600 baud zur Ansicht der Programmausaben verwendet werden könn.
Auch beim Upload auf die
Open-Macro wird das Verfahren AUTOBAUD unterstützt, Hierzu muß zuvor
auf der Open-Macro die
serielle Hardwareschnitttelle (ESCI) für den Programmupload aktiviert
werden. Auf der Open-Macro
kann der Programmupload mittels AUTOBAUD mit bis zu 38400 baud erfolgen.
Weitere Einstellmöglichkeiten existieren, wennn das Zielsystem mit
Windows und über einen
FTDI-basierten USB-nach-Seriell Adapter verbunden ist. Siehe auch im
Forum der C-Control/Intern Website:
http://ccintern.dharlos.de/forum/lesen.php?eintrag=16546
- Update: Syntaxhighlighting
für OCBASIC aktualisiert. Neue Schlüsselwörtern 'psha', 'pshx', 'pshh',
'pula', 'pulx','pulh', 'bcc', 'bcs' sind enthalten. Als Vorlage diente
uns 'om_context_sh_v23.zip'
aus dem Downloadbereich von http://om.dharlos.de. Zusätzlich sind auch
'Lbit' Schlüsselwörter, sowie
Variablennamen farblich hervorgehoben. Der 7x12 DOS-Zeichensatz
(DOS7X12.FON) aus dem oben genannten
Zip-Archiv wird ebenfalls installiert.
- Behoben: Nach dem Kompilieren von
OCBASIC Quelltexten mit darin enthaltener COMPILE-option blieb ein
Kommando-
zeilenfenster geöffnet. (Einfache Ursache: In der Datei
"L:\x2g\3rdparty\OCBASIC\HTMLINFO.bat" fehlte
ein abschliessendes 'exit')
- Tipp:
Diejenigen .OCB, und .ocbasr-Quelltexte, welche NICHT den
OCBASR-Kompiler voraussetzen, sollten in der
letzten Zeile mit dem Zeichen <CR> (Carriage Return)
abgeschlossen sein. Ansonsten erscheint nach
jedem Kompilerlauf ein informatives Fenster mit Bedieungshinweisen zur
Anwendung der enthaltenen
Open-Control/BASIC-Erweiterung OCBASR.
TIPP: Wenn das Erscheinen des informativen Fensters nervt, kann man es
durch einmaliges Ausführen der
Datei "NO_HTML.bat" im Verzeichnis "L:\x2g\3rdparty\OCBASIC\" für die
Zukunft unterdrücken.
(Wieder Einschalten kann an es bei Bedarf durch Ausführen der Datei
"YES_HTML.bat" im obigen Verzeichnis.
- Update: Schnelles
Dateien-Vergleichstool hinzugefügt, FCB.exe, Version 0.8.2.0,
mit freundlicher Genehmigung von Uwe Sieber, http://www.uwe-sieber.de .
Hierfür neues Unterverzeichnis angelegt: "L:\x2g\3rdparty\Uwe_Sieber" -
FCB.exe verspricht weit
schnellere Reaktionszeit mit weniger Ressourcenbedarf als das
Windows-eigene Tool "FC.exe", welches
außerdem in manchen Windowsversionen (ohne den installierten Microsoft
Hotfix KB953930) fehlerhaft ist!
Zitat von "http://www.sereby.org/site/xpsp3" -> "Wenn die zwei
Dateien, die Sie vergleichen, am 128. Byte
ein TAB oder ein SPACE haben, funktioniert der Fc.exe-Befehl nicht
ordnungsgemäß"
("FCB.exe" wird innerhalb der L-Distribution genutzt um zu detektieren ob
in einem
Open-Control/BASIC Quelltext das neue Schlüsselwort "COMPILE" enthalten
ist.)
Serielle Schnittstelle:
- Update: Automatische
Freigabe der Seriellen Schnittstelle nochmals verbessert. Hierzu das
Zeitsteuerungstool
"sleep.exe" hinzugefügt. von Uwe Sieber,
http://www.uwe-sieber.de Mit freundlicher Genehmigung.
Unter Verwendung von sleep.exe wird eine kurze Wartezeit zwischen dem
forcierten Schliessen und dem erneuten
Öffnen der Seriellen Schnittstelle eingefügt. Dies soll Race-Conditions bei der Zuteilung der Seriellen
Schnittstelle die während des
Betatest auf
manchen Computern mit Mehrkernprozessoren beobachtet
wurden
vermeiden helfen.
Die automatische Freigabe der jeweiligen Seriellen Schnittstelle
(1...4) erfolgt durch forciertes Beenden
des jeweils vorher gestarteten Programms. Es sind Vorkehrungen getroffen
damit kein "fremdes", also nicht von
der L-Distribution selbst gestartetes Programme forciert
geschlossen wird.
-
Neu:
"ComportStati.exe" mit freundlicher Genehmigung von Frank Steinberg,
http://franksteinberg.de
Neues Unterverzeichnis angelegt: "L:\x2g\3rdparty\Frank_Steinberg".
Dort befindet sich ein praktisches
Windows-Tool, welches Echtzeit-Statusinformationen der Seriellen Schnittstelle in einem kleinen
Programmfenster darstellen kann.
Mit dem Tool namens "ComportStati" werden die augenblicklichen
Schaltzustände der Steuer- sowie der
Datenleitungen aus der Seriellen Schnittstelle sichtbar und können
sogar per Mausklick gezielt
beeinflusst werden.
Ein sehr nützliches Tool zur schnellen Funktionsprüfung der Seriellen
Schnittstelle und
für experimentelle
Aufbauten. Das Programm funktioniert
übrigens auch in Verbindung
mit
USB-nach-Seriell-Adaptern.
Update des Zip-Archiv: "L:\x2g\3rdparty\OCBASIC\ocbasr32_v202.zip"
ersetzt durch "ocbasr32_v202b.zip"
(ohne funktionale Auswirkungen, dient lediglich der Korrektur zweier
Kommentarzeilen im Quelltext)
- u.a. wurden folgende Dateien in dieser Version neu angelegt oder
angepasst:
L:\x2g\System\SETUP\DE\x2g_111_DE_16.reg,
L:\x2g\System\SETUP\DE\x2g_111_DE_32.reg
L:\x2g\System\SETUP\EN\x2g_111_DE_16.reg,
L:\x2g\System\SETUP\DE\x2g_111_EN_32.reg
L:\x2g\System\SETUP\NL\x2g_111_DE_16.reg,
L:\x2g\System\SETUP\DE\x2g_111_NL_32.reg
=====================================================================================================================================
Wichtige
Änderung zur bereits angekündigten Veröffentlichung der 'Lbit' -
Quelltexte erstmals innerhalb der L-Distribution 0.29:
Die 'Lbit' - Quelltexte wollen wir zu einem späteren Zeitpunkt,
evt. auch losgelöst von der L-Distribution veröffentlichen.
=====================================================================================================================================
- Geplant für 'Lbit' v.856, u.a.: Softwareschreibschutz für internes EEPROM mit Uploadsimulation für CCPLUS-IDE
(Schont das interne EEPROM
während der Programmentwicklung mit aktivem CCPLUS LED-Display.
-
Neu:
Lbit Firmware Versionsupdate von v.853 auf v.854 (ohne
Veröffentlichung) und v.855 - Die derzeit aktuelle
Version v.855 der 'Lbit' Firmware liegt mit Anpassungen für fünf
unterschiedliche Speicherausbaustufen
vor (8 KiB, 16 KiB, 32 KiB, 64 KiB, 128 KiB). Der vollständige
Quelltext der aktuellen 'Lbit' Version
v.855 ist enthalten. (Für das Kompilieren der 'Lbit' Firmware kann
natürlich auch die L-Distribution
verwendet werden, denn alle Tools und Pfade sind hier bereits
aufeinander abgestimmt und zum Kompilieren
muss man somit nur noch die Taste F9 betätigen. Aber auch die
CCBASIC-IDE von Conrad kann man verwenden,
vorausgesetzt ein Patch für den erweiterten Variablenbereich wurde
durchgeführt (z.B. IDEL's IDE switcher).
Tipp: Der vollständige Quelltext der 'Lbit' Firmware ist im
Verzeichnis "L:\x2g\L-TOOLS\Lbit-FW"
Es handelt sich um einen Quelltext im CCBASIC - Format mit erweitertem
Variablensatz.
- Behoben v.855:
Der neue Systemaufruf UI-Sekundenimpuls, "1PPS" funktioniert, ist
weiterhin unabhängig von der
Echtzeituhr, da vom 20ms Systemtimer abgeleitet. Der 20 ms Systemtimer
ist Quarzfrequenz abhängig,
(bzw. vom weniger präzisen Schwinger auf der M-Unit) und 'tickt'
deshalb nicht unbedingt synchron
mit der Sekundeumschaltung in der Echtzeituhr der C-Control.
Siehe hierzu auch im Forum:
http://ccintern.dharlos.de/forum/lesen.php?eintrag=12238
Bitte beachten: Die Ausgabe des Sekundenimpuls "UI1PPS" wird
unterdrückt solange im Fehlerspeicher
ein Wert ungleich "Null" steht (rote LED am Applicationboard blinkt
schnell).
Änderungen 'Lbit' seit v.854:
- LGet_DA3 liefert den Defaultwert '0' ab v.854 nun auch über den Stack
zurück, so dass dieser
direkt als Funktionsergebnis genutzt werden kann. (In v.853 wurde der
Wert für LGet_DA3 nur in
b24 zurück geliefert. LGet_DA1 u. LGet_DA2 waren nicht
betroffen.)
Da der C-Control I 1.1 bisher nur über 2 DA-Kanäle verfügt, liefert
LGet_DA3 ausserdem immer den
Defaultwert '0', was in Verbindung mit dem 'Lbit' System auch als
"Aufgerufene Funktion ist (noch) nicht implementiert" interpretiert
werden kann.
- Komforterweiterung ab v.854:
Fernwartung via Telnet jetzt auch im Telnet LINE MODE moeglich.
Im Hostmodus werden hierzu Eingang der ASCII-Zeichen 13, sowie
ASCII-Zeichen 10, ignoriert.
Das erleichtert die Fernbedienung mit Telnet unter Linux, bei dem der Telnet
LINE MODE defaultmäßig
aktiviert ist (Linux sammelt
die Tastenanschläge in einem Puffer, und sendet den gesamten Pufferinhalt
erst bei Betätigung der Eingabetaste).
Im Gegensatz dazu arbeitet Telnet unter den Windowsverisonen bis
einschliesslich XP meist im sogenannten
CHARACTER MODE (beim Betätigen einer Taste, wird der Tastenwert ohne
Pufferung sofort übertragen.)
Unter neueren Windows-Verisonen einschliesslich Windows 10 gehört der
Telnet-Client nicht mehr dazu.
Dort kann man z.B. PuTTY verwenden.
- rudimentäre Einbindung einer 'cron'-ähnlichen Funktionalität im
Hostmodus: Bei aktiviertem UIP erhält
das UIP einen Sekundenimpuls: "UI1PPS". Hiermit kann man ein
sekündliches Update der UIP-Statuszeile
realisieren, ohne dass eine Warteschleife innerhalb des UIP nötig wäre.
- Eine neue L_Call Funktion: Nr. 56, "#Lbit_Version" bzw.
"#BmVers". Diese dient als Ergänzung
der vorherigen L_Call Funktion Nr. 2 "#BmVersOK" bzw. "#LbitVersOK".
Hierzu wurde angepasst die (vorerst noch) für OCBASIC notwendige
Hilfsdatei:
"L:\x2g\Include\OCBASIC\L-BMCALL.PRO". Auch die Dateien
"L:\x2g\Include\OCBASIC\L-INIT.PRO",
und "L:\x2g\Include\OCBASIC\L-EXIT.PRO" wurden auf die neue Funktion
umgestellt. Die vorherige
L_Call Funktion #2 ist
bis auf Weiteres fuer fruehere 'Lbit' Programme ebenfalls noch
vorhanden.
Diese Erweiterung existiert, da in
Lbit v.853 eine mögliche Fehlersituation entdeckt wurde. Siehe
hierzu auch den nächsten Absatz.
Geändert: - Zeile 3188: #NotImplemented PRINT "n/a=";
--> "(N/A)"; - ergibt dann "(N/A)0" als Funktionsausgabe.
Geändert: - Zeilen 2221 bis 2239 verschoben nach, dadurch:
Beschleunigt: - 'v.853 --> v.854 Aufrufe "Call Slot" etwas
beschleunigt.
(Durch umgestellten Quelltext wurde eine zwischengeschaltete
Sprunganweisung "GOTO" überflüssig.)
Behoben: - Eine Fehlermöglichkeit, welche in Lbit
(v.853) in Erscheinung tritt, sobald die _ersten beiden_
Einträge in der _ersten_ Datentabelle des Anwenderprogramms
Bytekombinationen enthalten, welche
wertmäßig mit solchen aus der Gruppe nicht adressneutraler Token des
Bytekodeinterpreters der C-Control I 1.1
übereinstimmen, _und_ nur dann, wenn die L-INIT-PRO, L-EXIT.PRO (L-Distribution v.026) nicht inkludiert werden.
Leider hat die Korrektur eine Einschraenkung in der
Kompatibilitaet zu bestimmten mit dem jüngsten BASIC++
Kompiler (v.2.03.0331) zur Folge. Bei CCBASIC,
CCCCC, mBASIC, OCBASIC, jedoch nicht. Das warf uns Fragen auf,
und wir haben uns
das betreffende BASIC++ Programm auf Bytekodeebene
etwas genauer angeschaut. Aus Zeitgründen
allerdings mußten wir die weitere
Analyse dieses Effekts erst einmal auf Eis legen.
Behoben: - Lbit Funktion Nr. 18 LPrg_Run
('RunSlot'). In v.853 wurde die GOSUB Tabelle dann nicht gelöscht. Dies
begrenzte dort die Rekursionstiefe bei Anwenderprogrammen die durch ein anderes Anwenderprogramm programm-
gesteuert
gestartet wurden (mittels Funktion 'RunSlot') auf 2
(anstelle 4).
Einfache Ursache: In Zeile 2231
des Lbit-Quelltextes fehlte das hierzu
notwendige 'f_CLEAR_GOSUB=TRUE'. Programme die vom Anwender über die
Serielle Schnittstelle
gestartet wurden, und auch das mit dem Befehl "A" zum Autostart
ausgewählte Programm
waren davon nicht betroffen.
Behoben: - Lbit Funktion Nr. 18 LPrg_Run
('RunSlot'). Wurde für die programmatisch zu startende Slotnummer ein
negativer Wert uebergeben,
oder auch die Slotnummer '0', funktionierte es nicht.
Geändert: - Format der Fehlermeldung "?NO RET.ADDR." etwas
intuitver gestaltet.
Historie: - Die nahezu identische Lbit Funktion
Nr.17 war davon nicht betroffen: 'RunSlotKeepRam ' Allerdings
liegen deren Steuer-Flags 'f_CLEAR_GOSUB' und 'f_CLEAR_RAM' im Userbyte
14, und diese Funktion müßte
daher eigentlich korrekterweise "RunSlotKeepRAMbut_b14" heissen ;)
Seit der (nicht veröffentlichten) Version v.825 erfolgt aber ohnehin der UIP
Aufruf nur noch mittels
PUSH-POP Verfahren
welches KEINES der 24 Userbytes beeinflusst.
Bei Slotaufrufen mittels Lbit Funktionen '15','16','17', (und
natuerlich '18') werden jedoch einige
der Variablen veraendert. Für RunSlotKeepRam sind also nur die
Userbytes 1 bis einschliesslich 12 "sicher"
und nur diese sollten zur Übergabe von Parametern in Richtung an das neu zu startende
Userprogramm
verwendet werden.
==============================================================================================================================
Oben: Wichtige Änderung zur bereits angekündigten Veröffentlichung des 'Lbit' - Quelltextes in der L-Distribution 0.29:
Die 'Lbit' - Quelltexte wollen wir zu einem späteren Zeitpunkt,
evt. auch losgelöst von der L-Distribution veröffentlichen.
==============================================================================================================================
Version 0.28 - 25. April 2017:
- (Taste: F9) Update der
OCBASIC-Version auf OCBASR 1.11a mit folgenden Neuerungen:
1te
Neuerung: Es wird jetzt zusätzlich eine MAP-Datei mit Informationen zur
internen
Programmstruktur, inklusive Adressen auch von Forwardlabel erzeugt und
kann sehr
bequem mit einem Doppelklick auf die Statuszeile geöffnet werden.
2te
Neuerung: Das BASIC-Schlüsselwort COMPILE ist hinzugekommen. Mit diesem
Schlüsselwort
lassen sich auf einfachste Weise (und auch noch nachträglich)
Quelltextabschnitte, die
innerhalb von Prozeduren oder Funktionen stehen, automatisch in
halbnativen Maschinekode
umwandeln und somit deutlich beschleunigen. Dazu muß lediglich das
Schlüsselwort COMPILE
an die Zeile(n) mit den zu beschleunigenden Prozedur/-bzw.
Funktionsnamen angehängt, und
der Quelltext durch Druck auf die Taste F9 erneut kompiliert werden.
Das Schlüsselwort COMPILE wird derzeit von Open-Micro, Open-Mini, sowie
Open-Midi,
unterstützt.
- u.a. wurden folgende Dateien in dieser Version neu angelegt oder
angepasst:
L:\x2g\System\BAT\32ocbasR.bat
L:\x2g\3rdparty\ConTEXT\Highlighters\OCBASIC.CHL (Syntaxhighligting für
.ocbasr)
L:\x2g\System\SETUP\DE\x2g_110_DE_16.reg,
L:\x2g\System\SETUP\DE\x2g_110_DE_32.reg
L:\x2g\System\SETUP\EN\x2g_110_DE_16.reg,
L:\x2g\System\SETUP\DE\x2g_110_EN_32.reg
L:\x2g\System\SETUP\NL\x2g_110_DE_16.reg,
L:\x2g\System\SETUP\DE\x2g_110_NL_32.reg
L:\x2g\System\SETUP\L_Installer_Package.iss
L:\x2g\System\SETUP\Test-EXT\TEST.ocbasr
- (Taste: F12) Update der
OCBASIC-Version auf 1.11a - ohne das neue COMPILE Schlüsselwort,
ansonsten
identisch zum Kompiler auf Taste F9 (Für Vergleichszwecke).
- Die Version
Open-Control/BASIC 1.11a kann (auch) wieder mit den früheren Versionen
Winsdows
95 & Windows 98 eingesetzt werden.
- sonstige kleinere Änderungen
Version 0.27 - 14. April 2017
- (Taste: F9) Update der OCBASIC-Version auf
1.10a. Das Update informiert den Anwender mit der neuen Fehlermeldung
"Label noch nicht definiert
bei ON GOTO/GOSUB", falls in ON..GOTO und ON..GOSUB Kombinationen ein
Label abgefragt
werden soll, welches erst
hinter dem Befehl im Quelltext definiert wird.
- Behoben: In Version 0.26 musste einmalig nach
jeder Neuwahl des Comports das dadurch automatisiert
geöffnete Terminalfenster von
Hand geschlossen werden, sofern als neuer Comport COM2:, COM3:,
oder COM4: gesetzt wurde
(COM1: war nicht betroffen). Simple Ursache: Nach Copy-and-Paste
vergessen,
in den Dateien
"L:\x2g\System\BAT\COM_"2","3","4"_.bat" den Namen der neu zu
öffnenden PuTTY-Instanz
entsprechend anzupassen. Jetzt
korrigiert und lautet L2_PuTTY, L3_PuTTY,und L4_PuTTY, entsprechend
den COM-Ports COM2, COM3,
COM4. (Vorher alle:0 "L1_PuTTY")
- Den jeweils aktuell geöffneten BASIC++ Quelltext zur weiteren Bearbeitung
an die Workbench++ IDE
senden (Taste F12):
Dazu muss aber bereits die separat erhältliche Programmierumgebung Workbench++ von Dierk
Schmid,
CSSlabs, mit Standardeinstellungen auf dem Computer installiert sein. Ist das noch nicht der
Fall erscheint stattdessen nur ein Hinweistext.
- falls geöffnet, wird das PuTTYtel Terminalfenster an der aktiven
Schnittstelle automatisch geschlossen.
- Platzoptimierung folgender
OCBASIC-Includedateien. Dadurch verringert sich nach
Neukompilierung etwas der
Platzbedarf von 'Lbit'-Programmen:
-
"L:\x2g\Include\OCBASIC\L-INIT.pro"
-
"L:\x2g\Include\OCBASIC\L-EXIT.pro"
-
"L:\x2g\Include\OCBASIC\L-BMCALL.pro"
- Neues Unterverzeichnis für Beispielprogramme zur
'Lbit'-Firmware angelegt:
-
"L:\x2g\Beispiel\OCBASIC\Lbit\"
- Neues Unterverzeichnis für 'Lbit'-basierte Tools
angelegt:
- "L:\x2g\L-TOOLS\"
- Zwei Beispielprogramme aus Posting
http://ccintern.dharlos.de/forum/lesen.php?eintrag=16489
hinzugefügt:
1.)
"L:\x2g\Beispiel\OCBASIC\Lbit\LGet_DA.ocb" 2.)
"L:\x2g\L-TOOLS\MEMVIEW\LMEMVIEW4f.ocb"
- Toolchain Assembler, Taste F9:
-'S192Tab': Versionsupdate auf die
32-Bit Version. Die vorherige 16-Bit Version hatte unter den aktuellen
Windowsversionen
eine Fehlermeldung zur Folge und das hilfsweise Einrichten einer
DOSBOX-Instanz hätte die
Assembler-Toolchain
spürbar verlangsamt.
- Toolchain Assembler, Taste F12:
- Alfred Arnolds
Makroassembler (aswcurr.zip) Versionsupdate von 1.42 Beta,[build 114]
auf 1.42 Beta,[build 115]
- Wieder kann das
redundante Archiv "aswcurr.zip" zu Vergleichszwecken nachträglich
herunter geladen werden.
Für Details siehe "L:\x2g\3rdparty\CROSS_ASSEMBLERS\ALFREDS\Version.L"
bzw. (nach dem Aufruf des Assemblers)
in den beiden Hilfedateien L:\x2g\Hilfe.L und
L:\x2g\Info.L
- S192Tab': Versionsupdate auf die 32-Bit Version.
- SumatraPDF-settings.txt: Voreinstellung zur
automatischen Suche nach Programmupdates von 'true' auf 'false' gesetzt.
- Verzeichnisse L:\x2g\3rdparty\$_CUSTOMIZED und
dessen Unterverzeichnisse entfernt
- Aus Platzgründen die PDF-Dateien im Verzeichnis
L:\x2g\Doc\ und den Sumatra PDF-Reader entfernt. Ebenso das
'7-Zip'-Installationsprogramm
aus 0.26. Das L-Distribution Installationsprogramm ist nun gut 10 MiB
kleiner.
- Sonstige kleinere Änderungen