続:コンペアの検討

いまがこうなっていて、

uint8_t readbuffer[0x200];
uint8_t *const writebuffer_cpu = &readbuffer[0];
uint8_t *const writebuffer_ppu = &readbuffer[0x100];

昨日の提案がこう。

uint8_t readbuffer[0x100];
uint8_t writebuffer_cpu[0x100];
uint8_t writebuffer_ppu[0x100];

コンペア時に write buffer は使わないので、こんなことも大丈夫ではないだろうか。

uint8_t rwbuffer[0x300];
//size 0x100, uses 0x000-0x0ff
uint8_t *const writebuffer_cpu = &rwbuffer[0];
//size 0x200, uses 0-0x1ff
uint8_t *const readbuffer_cpu = &rwbuffer[0];
//size 0x100, uses 0x200-0x2ff
uint8_t *const writebuffer_ppu = &rwbuffer[0x200];
//size 0x200, uses 0x100-0x2ff
uint8_t *const readbuffer_ppu = &rwbuffer[0x100];

昨日の提案が一番クリーンで、今日の提案がどろどろ。でも、host からの read はある程度大丈夫。