317a318,320
> 	char xmsg[100] ;
> 
> 	//writexbox("starting bios\r\n") ;
345c348,351
<   switch(imm_operand(reg_pc + 1)) {
---
>   //sprintf(xmsg, "reg_pc=%u,func=%u\r\n", reg_pc, ((UChar)imm_operand(reg_pc + 1)) ) ;
>   //writexbox(xmsg) ;
> 
>   switch((UChar)imm_operand(reg_pc + 1)) {
371c377
<         UInt32 nb_to_read = get_8bit_zp(_al);
---
>         UInt32 nb_to_read = (UChar)(get_8bit_zp(_al));
374,380c380,386
<         pce_cd_sectoraddy = (get_8bit_zp(_cl) << 16) +
<                             (get_8bit_zp(_ch) << 8) +
<                             (get_8bit_zp(_dl));
< 
<         pce_cd_sectoraddy += (get_8bit_addr(0x2274 + 3 * get_8bit_addr(0x2273)) << 16) +
<                              (get_8bit_addr(0x2275 + 3 * get_8bit_addr(0x2273)) << 8) +
<                              (get_8bit_addr(0x2276 + 3 * get_8bit_addr(0x2273)));
---
>         pce_cd_sectoraddy = (((UChar)get_8bit_zp(_cl)) << 16) +
>                             (((UChar)get_8bit_zp(_ch)) << 8) +
>                             (((UChar)get_8bit_zp(_dl)));
> 
>         pce_cd_sectoraddy += (((UChar)get_8bit_addr(0x2274 + 3 * ((UChar)get_8bit_addr(0x2273)))) << 16) +
>                              (((UChar)get_8bit_addr(0x2275 + 3 * ((UChar)get_8bit_addr(0x2273)))) << 8) +
>                              (((UChar)get_8bit_addr(0x2276 + 3 * ((UChar)get_8bit_addr(0x2273)))));
385c391
<             nb_to_read = get_16bit_zp(_ax);
---
>             nb_to_read = (UInt16)get_16bit_zp(_ax);
567c573
<           osd_cd_pause();
---
>           //osd_cd_pause();
571a578
> 			osd_cd_pause() ;
588c595,596
<         osd_cd_status(&retval);
---
> 		  //writexbox("cdstat\r\n") ;
>         //osd_cd_status(&retval);
607c615
<         osd_cd_subchannel_info(offset);
---
>         //osd_cd_subchannel_info(offset);
639,646c647,653
<         osd_cd_track_info(bcdbin[get_8bit_zp(_al)], &min, &sec, &fra, &con);
< 		
< 				/*
<         put_8bit_addr(bufaddr, min);
<         put_8bit_addr(bufaddr + 1, sec);
<         put_8bit_addr(bufaddr + 2, fra);
<         put_8bit_addr(bufaddr + 3, con);
< 				*/
---
>         osd_cd_track_info(bcdbin[(UChar)get_8bit_zp(_al)], &min, &sec, &fra, &con);
> 
> 		//dracx bugfix
>         //put_8bit_addr(bufaddr, min);
>         //put_8bit_addr(bufaddr + 1, sec);
>         //put_8bit_addr(bufaddr + 2, fra);
>         //put_8bit_addr(bufaddr + 3, con);
649c656
<           osd_cd_play_audio_track(bcdbin[get_8bit_zp(_al)]);
---
>           osd_cd_play_audio_track(bcdbin[(UChar)get_8bit_zp(_al)],((UChar)(get_8bit_zp(_dh) & 1)));
666c673
<         UInt32 nb_to_read = get_8bit_zp(_al);
---
>         UInt32 nb_to_read = (UChar)get_8bit_zp(_al);
669,675c676,682
<         pce_cd_sectoraddy = (get_8bit_zp(_cl) << 16) +
<                             (get_8bit_zp(_ch) << 8) +
<                             (get_8bit_zp(_dl));
< 
<         pce_cd_sectoraddy += (get_8bit_addr(0x2274 + 3 * get_8bit_addr(0x2273)) << 16) +
<                              (get_8bit_addr(0x2275 + 3 * get_8bit_addr(0x2273)) << 8) +
<                              (get_8bit_addr(0x2276 + 3 * get_8bit_addr(0x2273)));
---
>         pce_cd_sectoraddy = (((UChar)get_8bit_zp(_cl)) << 16) +
>                             (((UChar)get_8bit_zp(_ch)) << 8) +
>                             (((UChar)get_8bit_zp(_dl)));
> 
>         pce_cd_sectoraddy += (((UChar)get_8bit_addr(0x2274 + 3 * ((UChar)get_8bit_addr(0x2273)))) << 16) +
>                              (((UChar)get_8bit_addr(0x2275 + 3 * ((UChar)get_8bit_addr(0x2273)))) << 8) +
>                              (((UChar)get_8bit_addr(0x2276 + 3 * ((UChar)get_8bit_addr(0x2273)))));
677c684
<         if (!get_8bit_zp(_dh))
---
>         if (! ((UChar)get_8bit_zp(_dh)) )
763c770
<       io.adpcm_pptr = get_16bit_zp(_bx) << 1;
---
>       io.adpcm_pptr = ((UInt16)get_16bit_zp(_bx)) << 1;
765c772
<       io.adpcm_psize = get_16bit_zp(_ax) << 1;
---
>       io.adpcm_psize = ((UInt16)get_16bit_zp(_ax)) << 1;
796c803
<       switch(get_8bit_zp(_al)) {
---
>       switch((UChar)get_8bit_zp(_al)) {
808,811c815,818
<                 put_8bit_addr(buf_offset, CD_track[bcdbin[get_8bit_zp(_ah)]].beg_min);
<                 put_8bit_addr(buf_offset + 1, CD_track[bcdbin[get_8bit_zp(_ah)]].beg_sec);
<                 put_8bit_addr(buf_offset + 2, CD_track[bcdbin[get_8bit_zp(_ah)]].beg_fra);
<                 put_8bit_addr(buf_offset + 3, CD_track[bcdbin[get_8bit_zp(_ah)]].type);
---
>                 put_8bit_addr(buf_offset, CD_track[bcdbin[(UChar)get_8bit_zp(_ah)]].beg_min);
>                 put_8bit_addr(buf_offset + 1, CD_track[bcdbin[(UChar)get_8bit_zp(_ah)]].beg_sec);
>                 put_8bit_addr(buf_offset + 2, CD_track[bcdbin[(UChar)get_8bit_zp(_ah)]].beg_fra);
>                 put_8bit_addr(buf_offset + 3, CD_track[bcdbin[(UChar)get_8bit_zp(_ah)]].type);
817c824
<                   osd_cd_track_info(bcdbin[get_8bit_zp(_ah)], &Min, &Sec, &Fra, &Ctrl);
---
>                   osd_cd_track_info(bcdbin[(UChar)get_8bit_zp(_ah)], &Min, &Sec, &Fra, &Ctrl);
889c896
<       if (get_8bit_zp(_bh) == 0x80) {
---
>       if ((UChar)get_8bit_zp(_bh) == 0x80) {
895a903
> 			  /*
903a912
> 			*/
906c915
<           case 2:
---
>           case 2:  ///do xbox play mp3 track for ISO files
908a918
>             osd_cd_play_audio_track(bcdbin[get_8bit_zp(_al)],((UChar)(get_8bit_zp(_dh) & 1)));
912c922
<             HCD_play_track(bcdbin[get_8bit_zp(_al)],get_8bit_zp(_dh) & 1);
---
>             HCD_play_track(bcdbin[(UChar)get_8bit_zp(_al)],((UChar)get_8bit_zp(_dh)) & 1);
915c925
<       } else if (get_8bit_zp(_bh) == 192) { /* resume from pause if paused */
---
>       } else if ((UChar)get_8bit_zp(_bh) == 192) { /* resume from pause if paused */
917a928,930
> 		osd_cd_unpause() ;
> 		//writexbox("unpause\r\n") ;
> 		/*
924c937
< 
---
> 		*/
928,934c941,947
<         int min1 = bcdbin[get_8bit_zp(_al)];
<         int sec1 = bcdbin[get_8bit_zp(_ah)];
<         int fra1 = bcdbin[get_8bit_zp(_bl)];
< 
<         int min2 = bcdbin[get_8bit_zp(_cl)];
<         int sec2 = bcdbin[get_8bit_zp(_ch)];
<         int fra2 = bcdbin[get_8bit_zp(_dl)];
---
>         int min1 = bcdbin[(UChar)get_8bit_zp(_al)];
>         int sec1 = bcdbin[(UChar)get_8bit_zp(_ah)];
>         int fra1 = bcdbin[(UChar)get_8bit_zp(_bl)];
> 
>         int min2 = bcdbin[(UChar)get_8bit_zp(_cl)];
>         int sec2 = bcdbin[(UChar)get_8bit_zp(_ch)];
>         int fra2 = bcdbin[(UChar)get_8bit_zp(_dl)];
937a951
> 			  /*
941a956
> 			*/
945a961
>             osd_cd_play_audio_range(min1, sec1, fra1, min2, sec2, fra2, get_8bit_zp(_dh) & 1);
996c1012
<       res = get_8bit_zp(_ax) * get_8bit_zp(_bx);
---
>       res = (UChar)get_8bit_zp(_ax) * (UChar)get_8bit_zp(_bx);
1009c1025
<       res = get_8bit_zp(_ax) * get_8bit_zp(_bx);
---
>       res = (UChar)get_8bit_zp(_ax) * (UChar)get_8bit_zp(_bx);
1081a1098
> 		//writexbox( "unhandled exception\r\n" ) ;
1083,1084c1100,1101
<       put_8bit_addr(reg_pc, CDBIOS_replace[imm_operand(reg_pc + 1)][0]);
<       put_8bit_addr(reg_pc + 1, CDBIOS_replace[imm_operand(reg_pc + 1)][1]);
---
>       put_8bit_addr(reg_pc, CDBIOS_replace[(UChar)(imm_operand(reg_pc + 1))][0]);
>       put_8bit_addr(reg_pc + 1, CDBIOS_replace[(UChar)(imm_operand(reg_pc + 1))][1]);
