some warnings fixed, nsf fixed, palettes, more code backported
[fceu.git] / nsf.c
diff --git a/nsf.c b/nsf.c
index 9e09cfb..7e8d3cb 100644 (file)
--- a/nsf.c
+++ b/nsf.c
@@ -42,6 +42,9 @@
 #define M_PI 3.14159265358979323846\r
 #endif\r
 \r
+#define SCREEN_WIDTH 320\r
+#define SCREEN_OFFS 32\r
+\r
 static uint8 SongReload;\r
 static int CurrentSong;\r
 \r
@@ -403,7 +406,7 @@ void DrawNSF(uint8 *XBuf)
 \r
  if(vismode==0) return;\r
 \r
- memset(XBuf,0,256*240);\r
+ memset(XBuf,0,320*240);\r
 \r
 \r
  {\r
@@ -422,7 +425,7 @@ void DrawNSF(uint8 *XBuf)
     uint32 y;\r
     y=142+((Bufpl[(x*l)>>8]*mul)>>14);\r
     if(y<240)\r
-     XBuf[x+y*256]=3;\r
+     XBuf[x+y*SCREEN_WIDTH+SCREEN_OFFS]=3;\r
    }\r
   }\r
   else if(special==1)\r
@@ -439,7 +442,7 @@ void DrawNSF(uint8 *XBuf)
     yp=120+r*sin(x*M_PI*2/256);\r
     xp&=255;\r
     yp%=240;\r
-    XBuf[xp+yp*256]=3;\r
+    XBuf[xp+yp*SCREEN_WIDTH+SCREEN_OFFS]=3;\r
    }\r
   }\r
   else if(special==2)\r
@@ -463,7 +466,7 @@ void DrawNSF(uint8 *XBuf)
     n=120+r*sin(t);\r
 \r
     if(m<256 && n<240)\r
-     XBuf[m+n*256]=3;\r
+     XBuf[m+n*SCREEN_WIDTH+SCREEN_OFFS]=3;\r
 \r
    }\r
    for(x=128;x<256;x++)\r
@@ -482,20 +485,20 @@ void DrawNSF(uint8 *XBuf)
     n=120+r*sin(t);\r
 \r
     if(m<256 && n<240)\r
-     XBuf[m+n*256]=3;\r
+     XBuf[m+n*SCREEN_WIDTH+SCREEN_OFFS]=3;\r
 \r
    }\r
    theta+=(double)M_PI/256;\r
   }\r
  }\r
 \r
- DrawTextTrans(XBuf+10*256+4+(((31-strlen((char*)NSFHeader.SongName))<<2)), 256, NSFHeader.SongName, 6);\r
- DrawTextTrans(XBuf+26*256+4+(((31-strlen((char*)NSFHeader.Artist))<<2)), 256,NSFHeader.Artist, 6);\r
- DrawTextTrans(XBuf+42*256+4+(((31-strlen((char*)NSFHeader.Copyright))<<2)), 256,NSFHeader.Copyright, 6);\r
+ DrawTextTrans(XBuf+10*SCREEN_WIDTH+SCREEN_OFFS+4+(((31-strlen((char*)NSFHeader.SongName))<<2)), SCREEN_WIDTH, NSFHeader.SongName, 6);\r
+ DrawTextTrans(XBuf+26*SCREEN_WIDTH+SCREEN_OFFS+4+(((31-strlen((char*)NSFHeader.Artist))<<2)), SCREEN_WIDTH,NSFHeader.Artist, 6);\r
+ DrawTextTrans(XBuf+42*SCREEN_WIDTH+SCREEN_OFFS+4+(((31-strlen((char*)NSFHeader.Copyright))<<2)), SCREEN_WIDTH,NSFHeader.Copyright, 6);\r
 \r
- DrawTextTrans(XBuf+70*256+4+(((31-strlen("Song:"))<<2)), 256, (uint8*)"Song:", 6);\r
+ DrawTextTrans(XBuf+70*SCREEN_WIDTH+SCREEN_OFFS+4+(((31-strlen("Song:"))<<2)), SCREEN_WIDTH, (uint8*)"Song:", 6);\r
  sprintf(snbuf,"<%d/%d>",CurrentSong,NSFHeader.TotalSongs);\r
- DrawTextTrans(XBuf+82*256+4+(((31-strlen(snbuf))<<2)), 256, (uint8*)snbuf, 6);\r
+ DrawTextTrans(XBuf+82*SCREEN_WIDTH+SCREEN_OFFS+4+(((31-strlen(snbuf))<<2)), SCREEN_WIDTH, (uint8*)snbuf, 6);\r
 \r
  {\r
   static uint8 last=0;\r