まいったなぁ・・・
初心に戻ってと思い、こんなベタなコードを試してみたんだけど
int err1;
char s[40];
sprintf(s, "test=%02d",99);
putfonts8_asc_sht(sheet,8*20,16*3,COL8_008484,COL8_FFFFFF,s,7);
//モーターON
fd_moter(1,&fdtime1);
//コマンド待ち
while(io_in8(0x03f4) & 0x11 != 0x00 ){}
sprintf(s, "Phase=%02d",1);
putfonts8_asc_sht(sheet,8*8,16*3,COL8_008484,COL8_FFFFFF,s,8);
while(io_in8(0x03f4) & 0xC0 != 0x80 ){}
io_out8(0x03f5, 0x07);
sprintf(s, "Phase=%02d",2);
putfonts8_asc_sht(sheet,8*8,16*3,COL8_008484,COL8_FFFFFF,s,8);
while(io_in8(0x03f4) & 0xC0 != 0x80 ){}
io_out8(0x03f5, 0x00);
sprintf(s, "Phase=%02d",3);
putfonts8_asc_sht(sheet,8*8,16*3,COL8_008484,COL8_FFFFFF,s,8);
while(fifo32_status(tfifo) == 0){}
sprintf(s, "Phase=%02d",4);
putfonts8_asc_sht(sheet,8*8,16*3,COL8_008484,COL8_FFFFFF,s,8);
err1 = fifo32_get(tfifo);
sprintf(s, "test=%02d",err1);
putfonts8_asc_sht(sheet,8*20,16*3,COL8_008484,COL8_FFFFFF,s,7);
/*------------------- 1 -------------------------*/
//シーク
while(io_in8(0x03f4) & 0x11 != 0x00 ){}
sprintf(s, "Phase=%02d",11);
putfonts8_asc_sht(sheet,8*8,16*3,COL8_008484,COL8_FFFFFF,s,8);
while(io_in8(0x03f4) & 0xC0 != 0x80 ){}
io_out8(0x03f5, 0x0F);
sprintf(s, "Phase=%02d",12);
putfonts8_asc_sht(sheet,8*8,16*3,COL8_008484,COL8_FFFFFF,s,8);
while(io_in8(0x03f4) & 0xC0 != 0x80 ){}
io_out8(0x03f5, 0x00 << 2);
sprintf(s, "Phase=%02d",13);
putfonts8_asc_sht(sheet,8*8,16*3,COL8_008484,COL8_FFFFFF,s,8);
while(io_in8(0x03f4) & 0xC0 != 0x80 ){}
io_out8(0x03f5, 0x00);
sprintf(s, "Phase=%02d",14);
putfonts8_asc_sht(sheet,8*8,16*3,COL8_008484,COL8_FFFFFF,s,8);
while(fifo32_status(tfifo) == 0){}
sprintf(s, "Phase=%02d",15);
putfonts8_asc_sht(sheet,8*8,16*3,COL8_008484,COL8_FFFFFF,s,8);
err1 = fifo32_get(tfifo);
sprintf(s, "test=%02d",err1);
putfonts8_asc_sht(sheet,8*20,16*3,COL8_008484,COL8_FFFFFF,s,7);
実機A、実機B共に1のところで止まったキリになっちゃう・・・
(もちろんエミュではOKなのだが・・・)