Benutzer-Werkzeuge

Webseiten-Werkzeuge


casiopv:develop:owb2sim

OWBasic Simulator Toolkit

owb2sim

owb2sim

owb2sim ist ein Kommandozeilenprogramm, das OWBasic-Programme in den Simulator lädt und ausführt. Es läßt sich von Programmen wie z.B. ConTEXT unkompliziert aufrufen (ähnlich wie OWBRC) und vollzieht alle nötigen Schritte automatisch.


Verwendung

Um ein OWBasic-Projekt mittels owb2sim in den Simulator zu übertragen, muß owb2sim mit dem Projektnamen als Parameter aufgerufen werden. Die Aufrufsyntax lautet wie folgt:

C:\CASIO\owb2sim>owb2sim
OWB2SIM v1.20 (c) 2006 by AUDACIA Software


Syntax: owb2sim [-t|-T][-e] <makefile>

-t: copy files and erase old ones (default)
-T: copy files
-e: temporary mode (changes in virtual PV are not saved)

Tritt bei der Ausführung ein Fehler auf, wird die Fehlermeldung über die Kommandozeile ausgegeben, z. B.:

Error: Section entry not found

Wenn im OWBasic-Programm ein Fehler auftritt und der Simulator nach Erscheinen der Nachricht "READY TO EXIT SIM" geschlossen wurde, gibt owb2sim eine Fehlermeldung wie die folgende aus:

C:\CASIO\owb2sim\projects\pocketpaint\pp2.app,32: drawicon: Coordinates out of range (Runtime error)

Durch Doppelklick auf derartige Fehlermeldungen kann man in einem guten Editor wie z.B. ConTEXT direkt in die Fehlerzeile springen. Die dazu nötigen Einstellungen in ConTEXT werden vom Setup vorgenommen. Ansonsten können sie hier eingesehen werden.

Es wird empfohlen, zur Programmentwicklung den Editor ConTEXT sowie das auf Joachim Kromms Seite fan-of-pv.gmxhome.de bereitgestellte Syntaxfile für OWBasic-Programme zu verwenden.

Den Aufbau einer Projektdatei (*.obp) lautet wie folgt:

[Settings]
Progname=<Main Application Name>
ProjectFormatVersion=120
Category=5<Main Application Category>

[Category 1]
<files to be placed in Category 1>

[Category 2]
<files to be placed in Category 2>

<...>

[Category 5]
<files to be placed in Category 5>

Screenshots

Dateitransfer

Laufendes OWBasic-Programm

Fehlermeldung von owb2sim in ConTEXT


Technische Details

Wird owb2sim z.B. von ConTEXT mit einer owb2sim-Projektdatei (<projektdatei>.obp) als Parameter aufgerufen, geschieht folgendes:

  1. Die Datei OWBSIM.dat (eine angepaßte OWBasic-Version) wird geladen
  2. Die in der Projektdatei aufgeführten Dateien werden an die OWBasic-Datei angehängt (dabei arbeitet owb2sim inkrementell, d.h., es werden nur Dateien angehängt, die verändert wurden. Diese Information wird in einer Datei namens <projektdatei>.obc gespeichert)
  3. Die Datei wird im Verzeichnis <SIM-Pfad>\C\BIN\ gespeichert
  4. Der Simulator wird gestartet, die Projektdatei obimport.cpj geöffnet und die Simulation gestartet
  5. obimport.cpj verwendet ein angepaßtes BIOS, das den Touch-Screen-Kalibrierungsvorgang überspringt (THX an Johannes Steingräber) sowie ein PVOS, bei dem der Modus CLOCK durch das Programm obimport ersetzt wurde. Beim Start der Simulation wird vom PVOS dieses Programm aufgerufen, welches die an OWBasic angehängten Dateien parst und in den Flash-Speicher schreibt
  6. obimport startet OWBasic mit dem Programmnamen als Parameter
  7. Die verwendete OWBasic-Version wurde so präpariert, daß sie Fehlermeldungen zusätzlich in das PV-Clipboard schreibt. Nach Auftreten eines Fehlers kehrt OWBasic zu obimport zurück, welches "READY TO EXIT SIM" auf dem PV-Screen anzeigt
  8. Der Benutzer beendet den Simulator. Dies geht am schnellsten über die "Exit SIM"-Schaltfläche von owb2sim
  9. owb2sim liest die Fehlermeldung aus dem Clipboard, das im RAM (OWBSRAM.BIN) gespeichert ist, aus und gibt sie auf der Kommandozeile aus

Wie hier hoffentlich ersichtlich wird, greift owb2sim recht tief in die Trickkiste, um einen möglichst großen Teil des Ablaufs zu automatisieren. So wird der Simulator, der leider keine Aufrufparameter entgegennimmt, über die Simulation von Tastaturereignissen gesteuert. Dadurch ist der ganze Ablauf etwas verletzlich. Demnach sollte es unterlassen werden, andere Fenster zu aktivieren, während der Simulator gestartet oder beendet wird.

Sollte die Steuerung des Simulators nicht wie erwünscht funktionieren (z. B., wenn der verwendete Rechner sehr alt ist), so kann die Verzögerungszeit in ms in der Datei settings.ini im Installationsverzeichnis angepaßt werden.

casiopv/develop/owb2sim.txt · Zuletzt geändert: 2018/03/29 06:12 von jayway