CHDK_DE Vorschauversion  Trunk Rev. 6014
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
debug.c-Dateireferenz
#include "lolevel.h"
#include "stdlib.h"
#include "script.h"
#include "console.h"
+ Include-Abhängigkeitsdiagramm für debug.c:

gehe zum Quellcode dieser Datei

Funktionen

void __attribute__ ((naked, noinline))
 *-------------------------------------------------------------------— Mehr ...
 
void open_crash ()
 
void write_crash (char *buf, int len)
 
void close_crash ()
 
void _OpLog_WriteToSD (int)
 
void assert_hook ()
 
void abort_hook ()
 
void panic_hook_dump ()
 
void panic_hook ()
 

Variablen

static int crash_fd = 0
 

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

*-------------------------------------------------------------------—

!!

IS_ERROR( hSoundHandle )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

IS_ERROR( RetCode )

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

"MOV R3, #0\n" "STR R3, [R9]\n"

TODO! below is from sd400

Definiert in Zeile 7 der Datei debug.c.

7  {
8  asm volatile (
9  "stmdb sp!, {r4, lr} \n"
10  "mov r0, #12 \n" // ; 0xc
11  "BL sub_FF8627FC \n" // create taks errlog (?)
12 
13 // "ldr r0, =0xff862858 \n" // assert hook
14  "ldr r0, =assert_hook \n" //
15  "mov r1, #0 \n" // ; 0x0
16  "BL sub_FF81BDD8 \n" // register
17 
18 // "ldr r0, =0xff862c50 \n" // cpu abort
19  "ldr r0, =abort_hook \n" //
20  "BL sub_FF862240 \n" // register
21 
22 // "ldr r0, =0xff862fcc \n" // os panic
23  "ldr r0, =panic_hook \n" //
24  "BL sub_FF86224C \n" // register
25  "ldmia sp!, {r4, pc} \n"
26  );
27 }
void _OpLog_WriteToSD ( int  )
void abort_hook ( )

Definiert in Zeile 61 der Datei debug.c.

61  {
62  asm volatile(
63  "stmdb sp!, {r0} \n"
64  );
65 
66  console_add_line("abort error: game over :(");
68  msleep(1000);
69  asm volatile(
70  "ldmia sp!, {r0} \n"
71  "BL sub_FF862C50 \n" // abort default, no return: default shutdown
72  );
73 
74  console_add_line("abort done");
75 }
void assert_hook ( )

Definiert in Zeile 47 der Datei debug.c.

47  {
48  asm volatile(
49  "stmdb sp!, {r0, r1} \n"
50  );
51  console_add_line("assert failed: game over :(");
53  msleep(1000);
54  asm volatile(
55  "ldmia sp!, {r0, r1} \n"
56  "BL sub_FF862858 \n" // original assert handler, no return
57  );
58  console_add_line("assert done");
59 }
void close_crash ( )

Definiert in Zeile 37 der Datei debug.c.

37  {
38  close(crash_fd);
39 }
void open_crash ( )

Definiert in Zeile 31 der Datei debug.c.

31  {
32  crash_fd = open("A/crash.log", O_WRONLY|O_CREAT|O_APPEND, 0777);
33 }
void panic_hook ( )

Definiert in Zeile 78 der Datei debug.c.

78  {
79  asm volatile(
80  "stmdb sp!, {r0, r1} \n"
81  );
82  console_add_line("dryos panic: game over :(");
84  msleep(1000);
85  asm volatile(
86  "ldmia sp!, {r0, r1} \n"
87  "BL sub_FF862FCC \n" // panic_hook_dump();
88  );
89  console_add_line("panic done");
90 }
void panic_hook_dump ( )
void write_crash ( char *  buf,
int  len 
)

Definiert in Zeile 34 der Datei debug.c.

34  {
35  write(crash_fd, buf, len);
36 }

Variablen-Dokumentation

int crash_fd = 0
static

Definiert in Zeile 30 der Datei debug.c.