Bon, j'ai modifié un tout petit peu l'init dans ton code car l'affichage ne se faisait pas.
Il faut en effet attendre une VBL pour mettre ? jour la VRAM (cf le code de Mario ?u je mets ? jour lors du scroll la derni?re ligne de l'écran.
Ce qui donne cela :
extern char bg1, bg1_end, font;
extern char bg1pal, bg1pal_end;
extern char bg1map, bg1map_end;
unsigned char i,move,dir,flipX,animFrame,iFrame;
unsigned short scrollX=0,scrollY=0,pad0;
//---------------------------------------------------------------------------------
int main(void) {
// Initialize SNES
consoleInit();
// Initialize text console with our font
consoleInitText(0, 1, &font);
// Now Put in 16 color mode and disable Bgs except current
setMode(BG_MODE1, 0); bgSetDisable(2);
// Copy tiles to VRAM
bgInitTileSet(1, &bg1, &bg1pal, 0, (&bg1_end - &bg1), 16*2, BG_16COLORS, 0x5000);
// Init Map to address 0x1000 and Copy Map to VRAM
bgSetMapPtr(1, 0x1000, SC_64x64);
u8 *ptrMap = &bg1map; // 64 = map size x *2 because each entry is 16bits length
u16 ptrVRAM = 0x1000; // screen begin at 0x1000
for(i = 0; i < 64; i++){
WaitVBLFlag;
dmaCopyVram(ptrMap, ptrVRAM, 64*2); // copy row to VRAM
dmaCopyVram((ptrMap+64*2), (ptrVRAM+64*64), 64*2); // copy row to VRAM
ptrMap += 64*2;
ptrVRAM += 64;
}
// Wait for nothing :P
while(1) {
scanPads();
pad0 = padsCurrent(0);
move = 0;
if(pad0 & KEY_RIGHT){
++scrollX;
move = 1;
dir = 1;
}
if(pad0 & KEY_LEFT){
--scrollX;
move = 1;
dir = 3;
}
if(pad0 & KEY_UP){
--scrollY;
move = 1;
dir = 0;
}
if(pad0 & KEY_DOWN){
++scrollY;
move = 1;
dir = 2;
}
if(move == 1){
++animFrame;
animFrame &= 31;
}else{
animFrame = 0;
}
flipX = 0;
if(dir == 3) flipX = 1;
//oamSet(0, posX, posY, 2, flipX, 0, animFrames[dir * 4 + (animFrame >> 3)], 0);
//keepScrollInRange();
bgSetScroll(1, scrollX, scrollY);
consoleDrawText(0, 1, "%04u - %05u, %05u", pad0, scrollX, scrollY);
WaitForVBlank();
++iFrame;
}
return 0;
}
Et je n'ai pas le pb de ligne noir dans no$sns ... Tu as quelle version ? Peut ?tre que ton PC n'est pas assez puissant ou que tu as un pb graphique comme avec bsnes ...
Pour zsnes1.51, j'ai le pb, impossible de comprendre pourquoi ...
Sinon, j'ai rétabli la possibilité de mettre des fichiers joints, smf avant pourri le répertoire des attachements ... Attention, on ne les voit qui si on est identifié sur le forum.