Hallo Welt mit KallistiOS: Unterschied zwischen den Versionen

Aus SEGA-DC.DE
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 21: Zeile 21:
Mit ''extern uint8 romdisk[];'' wird die romdisk definiert und mit ''KOS_INIT_ROMDISK(romdisk);'' initialisiert. Die romdisk ist ein virtuelles Dateisystem, in das während der Laufzeit eines Dreamcast-Programms Dateien, wie zum Beispiel Grafiken oder Musik, kopiert und ausgelesen werden können. Diese Dateien sollten sich im Ordner romdisk im Verzeichnis des Dreamcast-Programms befinden. Dabei sollte aber beachtet werden, dass der benötigte Speicherplatz dieser Dateien nicht den des Arbeitsspeichers nicht überschreitet, denn romdisk ist ja, wie schon gesagt, nur virtuell. Wenn die Romdisk initialisiert wurde, kann man in ihr Enthaltenes über ''/rd/Dateiname'' erreichen. Mehr Informationen zu romdisk entnehmt ihr den [[KallistiOS#Beispielprogramme|KallistiOS-Beispielen]].
Mit ''extern uint8 romdisk[];'' wird die romdisk definiert und mit ''KOS_INIT_ROMDISK(romdisk);'' initialisiert. Die romdisk ist ein virtuelles Dateisystem, in das während der Laufzeit eines Dreamcast-Programms Dateien, wie zum Beispiel Grafiken oder Musik, kopiert und ausgelesen werden können. Diese Dateien sollten sich im Ordner romdisk im Verzeichnis des Dreamcast-Programms befinden. Dabei sollte aber beachtet werden, dass der benötigte Speicherplatz dieser Dateien nicht den des Arbeitsspeichers nicht überschreitet, denn romdisk ist ja, wie schon gesagt, nur virtuell. Wenn die Romdisk initialisiert wurde, kann man in ihr Enthaltenes über ''/rd/Dateiname'' erreichen. Mehr Informationen zu romdisk entnehmt ihr den [[KallistiOS#Beispielprogramme|KallistiOS-Beispielen]].


/* These macros tell KOS how to initialize itself. All of this initialization
Mit '' KOS_INIT_FLAGS(INIT_DEFAULT | INIT_MALLOCSTATS);'' wird KallistiOS selbst schließlich intialisiert.
  happens before main() gets called, and the shutdown happens afterwards. So
 
  you need to set any flags you want here. Here are some possibilities:
Die beiden Parameter ''INIT_DEFAULT'' und ''INIT_MALLOCSTATS'' sind Standardparamter.
 
  INIT_NONE -- don't do any auto init
Daneben gibt es noch folgende Parameter:
  INIT_IRQ -- Enable IRQs
*INIT_NONE - Initial isiert sich gar nicht
  INIT_THD_PREEMPT -- Enable pre-emptive threading
*INIT_IRQ - Ermöglicht Programmunterbrechungen / Interupts
  INIT_NET -- Enable networking (doesn't imply lwIP!)
*INIT_THD_PREEMPT - Ermöglicht Threading
  INIT_MALLOCSTATS -- Enable a call to malloc_stats() right before shutdown
*INIT_NET - Initialisiert die Netwerkbibliothek,
*INIT_MALLOCSTATS - Ermöglicht vor Programmende einen aufruf von malloc_stats()
  You can OR any or all of those together. If you want to start out with
 
  the current KOS defaults, use INIT_DEFAULT (or leave it out entirely). */
In der main()-Funktion gibt es eigentlich nichts besonderes zu sehen, printf() ist eine Standardfunktion von C und bringt den Hallo Welt-Schriftzug auf den Bildschirm.
[[Kategorie:Programmierung]]

Aktuelle Version vom 13. Juni 2009, 17:02 Uhr

Das folgende kleine Programm zeigt einen Hallo Welt-Schriftzug auf dem Bildschirm an.

#include <kos.h>

 extern uint8 romdisk[];

KOS_INIT_FLAGS(INIT_DEFAULT | INIT_MALLOCSTATS);

KOS_INIT_ROMDISK(romdisk);

/* Your program's main entry point */
int main(int argc, char **argv) {
	/* The requisite line */
	printf("\nHello world!\n\n");

	return 0;
}

Mit der kos.h, die in der ersten Zeile inkludiert wird, werden die wichtigsten Teile von KallistiOS eingebunden.

Mit extern uint8 romdisk[]; wird die romdisk definiert und mit KOS_INIT_ROMDISK(romdisk); initialisiert. Die romdisk ist ein virtuelles Dateisystem, in das während der Laufzeit eines Dreamcast-Programms Dateien, wie zum Beispiel Grafiken oder Musik, kopiert und ausgelesen werden können. Diese Dateien sollten sich im Ordner romdisk im Verzeichnis des Dreamcast-Programms befinden. Dabei sollte aber beachtet werden, dass der benötigte Speicherplatz dieser Dateien nicht den des Arbeitsspeichers nicht überschreitet, denn romdisk ist ja, wie schon gesagt, nur virtuell. Wenn die Romdisk initialisiert wurde, kann man in ihr Enthaltenes über /rd/Dateiname erreichen. Mehr Informationen zu romdisk entnehmt ihr den KallistiOS-Beispielen.

Mit KOS_INIT_FLAGS(INIT_DEFAULT | INIT_MALLOCSTATS); wird KallistiOS selbst schließlich intialisiert.

Die beiden Parameter INIT_DEFAULT und INIT_MALLOCSTATS sind Standardparamter.

Daneben gibt es noch folgende Parameter:

  • INIT_NONE - Initial isiert sich gar nicht
  • INIT_IRQ - Ermöglicht Programmunterbrechungen / Interupts
  • INIT_THD_PREEMPT - Ermöglicht Threading
  • INIT_NET - Initialisiert die Netwerkbibliothek,
  • INIT_MALLOCSTATS - Ermöglicht vor Programmende einen aufruf von malloc_stats()

In der main()-Funktion gibt es eigentlich nichts besonderes zu sehen, printf() ist eine Standardfunktion von C und bringt den Hallo Welt-Schriftzug auf den Bildschirm.