リンカースクリプトが問題??
とりあえずC++でコンパイルすることには成功。だけど、init_palletがおかしい。
起動するたびに画面の色が変わってしまう。
bootpack.cppはextern "C"を付けた以外はまったく変更していないのでおそらくリンカースクリプトが問題な気がする。
static unsigned char rgb_table[16 * 3]
の配置場所が問題な気がするんだけど...うーん...。
以下、bootpack.lsの内容。エントリーポイントの配置場所を指定するだけではダメなのかな...??
OUTPUT_FORMAT("binary") SECTIONS{ .text 0x00: {*(.text)} }
上手くいった
http://d.hatena.ne.jp/papamitra/searchdiary?of=10&word=%2a%5bHariboteOS%5d
を参考にさせていただきました。
やっぱりリンカースクリプトが問題だった。
OUTPUT_FORMAT("binary") SECTIONS{ .text 0x00: {*(.text)} .data 0x280000 + SIZEOF(.text): AT(ADDR(.text) + SIZEOF(.text)) {*(.data)} .rodata : AT(ADDR(.text) + SIZEOF(.text) + SIZEOF(.data)) {*(.rodata)} .bss : AT(ADDR(.text) + SIZEOF(.text) + SIZEOF(.data) + SIZEOF(.rodata)) {*(.bss)} }
としたら上手く表示された。原因はまだよく分かっていない。考え中。