Difference between revisions of "Talk:Bdisp PutDisp DD"
(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)