Difference between revisions of "Talk:Bdisp PutDisp DD"

From WikiPrizm
Jump to navigationJump to search
(Created page with "It's interesting that in fact this is a wrapper around Bdisp_PutDisp_DD_stripe, because on the emulator the latter doesn't work. Does this mean that Bdisp_PutDisp_DD_stripe is...")
 
Line 1: Line 1:
 
It's interesting that in fact this is a wrapper around Bdisp_PutDisp_DD_stripe, because on the emulator the latter doesn't work. Does this mean that Bdisp_PutDisp_DD_stripe is coded differently for the emulator, or that the emulator somehow only accepts a DMA operation that fills the whole screen? --[[User:Gbl08ma|Gbl08ma]] ([[User talk:Gbl08ma|talk]]) 05:17, 4 December 2014 (EST)
 
It's interesting that in fact this is a wrapper around Bdisp_PutDisp_DD_stripe, because on the emulator the latter doesn't work. Does this mean that Bdisp_PutDisp_DD_stripe is coded differently for the emulator, or that the emulator somehow only accepts a DMA operation that fills the whole screen? --[[User:Gbl08ma|Gbl08ma]] ([[User talk:Gbl08ma|talk]]) 05:17, 4 December 2014 (EST)
 +
 +
I have not got around to dumping/looking for the emulator's version of the firmware however I just wrote a simple test and it worked just fine in the emulator. I am using the latest version which uses OS 2.00.
 +
<nowiki>
 +
#include <fxcg/display.h>
 +
#include <fxcg/misc.h>
 +
void main(void){
 +
unsigned x=0,y;
 +
for(;;++x){
 +
char tmp[16];
 +
itoa(x,tmp+2);
 +
for(y=1;y<=7;++y)
 +
PrintXY(1,y,tmp,0,0);
 +
Bdisp_PutDisp_DD_stripe(0,215);
 +
}
 +
}
 +
</nowiki>
 +
I shall note that if you want to update the entire screen there is no performance benefit for using Bdisp_PutDisp_DD_stripe(0,215) over Bdisp_PutDisp_DD()
 +
[[User:ProgrammerNerd|ProgrammerNerd]] ([[User talk:ProgrammerNerd|talk]]) 18:34, 4 December 2014 (EST)

Revision as of 19:34, 4 December 2014

It's interesting that in fact this is a wrapper around Bdisp_PutDisp_DD_stripe, because on the emulator the latter doesn't work. Does this mean that Bdisp_PutDisp_DD_stripe is coded differently for the emulator, or that the emulator somehow only accepts a DMA operation that fills the whole screen? --Gbl08ma (talk) 05:17, 4 December 2014 (EST)

I have not got around to dumping/looking for the emulator's version of the firmware however I just wrote a simple test and it worked just fine in the emulator. I am using the latest version which uses OS 2.00.

#include <fxcg/display.h>
#include <fxcg/misc.h>
void main(void){
	unsigned x=0,y;
	for(;;++x){
		char tmp[16];
		itoa(x,tmp+2);
		for(y=1;y<=7;++y)
			PrintXY(1,y,tmp,0,0);
		Bdisp_PutDisp_DD_stripe(0,215);
	}
}

I shall note that if you want to update the entire screen there is no performance benefit for using Bdisp_PutDisp_DD_stripe(0,215) over Bdisp_PutDisp_DD() ProgrammerNerd (talk) 18:34, 4 December 2014 (EST)