PC-6001 を本来のメモリーマップにして、16kbにしよう

しようとして、四苦八苦。。
なんどやっても、うまくいかずに、32KBになってしまう。


デバッガを走らせて、ようやくわかりました。

if( P6Version ==2 || P6Version==4 ){ /* SR add 2002/2 by Windy*/
for(J=0;J<4;J++) {RdMem[J]=SYSTEMROM1+0x2000*J+0x8000;WrMem[J]=RAM+0x2000*J;};
for(J=4;J<8;J++) {RdMem[J]=RAM+0x2000*J; WrMem[J]=RAM+0x2000*J;};
EnWrite[0]=EnWrite[1]=0; EnWrite[2]=EnWrite[3]=1;
}
else if( P6Version = 1 || P6Version == 3) { /* mk2/66 add 2009/3/22 by Windy */
for(J=0;J<4;J++) {RdMem[J]=BASICROM+0x2000*J; WrMem[J]=RAM+0x2000*J;};
for(J=4;J<8;J++) {RdMem[J]=RAM+0x2000*J; WrMem[J]=RAM+0x2000*J;};
EnWrite[0]=EnWrite[1]=0; EnWrite[2]=EnWrite[3]=1;
}
else if( P6Version ==0 ) { /* 6001 add 2009/3/22 by Windy */
for(J=0;J<2;J++) {RdMem[J]=BASICROM+0x2000*J; WrMem[J]=EmptyRAM;}
for(J=2;J<6;J++) {RdMem[J]=EmptyRAM; WrMem[J]=EmptyRAM;}
for(J=6;J<8;J++) {RdMem[J]=RAM+0x2000*J; WrMem[J]=RAM+0x2000*J;};
EnWrite[0]=EnWrite[1]=EnWrite[2]=0; EnWrite[3]=1;
}

一見、何の問題もないと思うんですが、よーーーーく見ると。(^^;
はぅ〜ん。やだなぁ。。