Some code clean up

This commit is contained in:
fabio.olimpieri 2012-08-07 18:00:12 +00:00
parent f47105c496
commit d3a4f5c805
4 changed files with 49 additions and 23 deletions

View File

@ -723,8 +723,8 @@ inline void show_screen_precision (int tstados) {
temporal2_1 = ordenador.memoria[(*(ordenador.p_translt+1)) + ordenador.video_offset]; // bitmap second byte temporal2_1 = ordenador.memoria[(*(ordenador.p_translt+1)) + ordenador.video_offset]; // bitmap second byte
if((ordenador.fetch_state==2)&&((procesador.I & 0xC0) == 0x40)) { if((ordenador.fetch_state==2)&&((procesador.I & 0xC0) == 0x40)) {
temporal2 = ordenador.memoria[(((*(ordenador.p_translt)) + (ordenador.video_offset))&0xFFFFFF80)+(procesador.R&0x7F)]; // bitmap with snow first byte temporal2 = ordenador.memoria[(((*ordenador.p_translt) + ordenador.video_offset)&0xFFFFFF80)+(procesador.R&0x7F)]; // bitmap with snow first byte
temporal = ordenador.memoria[(((*(ordenador.p_translt2)) + (ordenador.video_offset))&0xFFFFFF80)+(procesador.R&0x7F)]; // attributes with snow first byte temporal = ordenador.memoria[(((*ordenador.p_translt2) + ordenador.video_offset)&0xFFFFFF80)+(procesador.R&0x7F)]; // attributes with snow first byte
} }
ordenador.p_translt+=2; ordenador.p_translt+=2;
@ -797,9 +797,10 @@ inline void show_screen_precision (int tstados) {
switch (ordenador.pixels_word) switch (ordenador.pixels_word)
{ {
case 14: case 14:
// Snow Effect
if((ordenador.fetch_state==2)&&((procesador.I & 0xC0) == 0x40)) { if((ordenador.fetch_state==2)&&((procesador.I & 0xC0) == 0x40)) {
temporal2 = ordenador.memoria[(((*(ordenador.p_translt-2)) + (ordenador.video_offset))&0xFFFFFF80)+(procesador.R&0x7F)]; // bitmap with snow second byte temporal2 = ordenador.memoria[(((*(ordenador.p_translt-2)) + (ordenador.video_offset))&0xFFFFFF80)+(procesador.R&0x7F)]; // bitmap with snow first byte
temporal = ordenador.memoria[(((*(ordenador.p_translt2-2)) + (ordenador.video_offset))&0xFFFFFF80)+(procesador.R&0x7F)]; // attributes with snow second byte temporal = ordenador.memoria[(((*(ordenador.p_translt2-2)) + (ordenador.video_offset))&0xFFFFFF80)+(procesador.R&0x7F)]; // attributes with snow first byte
} }
// bitmap first byte // bitmap first byte
ordenador.bus_value = temporal2; ordenador.bus_value = temporal2;
@ -811,8 +812,8 @@ inline void show_screen_precision (int tstados) {
case 2: case 2:
// Snow Effect // Snow Effect
if((ordenador.fetch_state==2)&&((procesador.I & 0xC0) == 0x40)) { if((ordenador.fetch_state==2)&&((procesador.I & 0xC0) == 0x40)) {
temporal2_1 = ordenador.memoria[(((*(ordenador.p_translt-1)) + (ordenador.video_offset))&0xFFFFFF80)+(((*(ordenador.p_translt-2)) + (ordenador.video_offset))&0x7F)]; // bitmap with snow second byte temporal2_1 = ordenador.memoria[((*(ordenador.p_translt-1) + ordenador.video_offset)&0xFFFFFF80)+(((*(ordenador.p_translt-2)) + ordenador.video_offset)&0x7F)]; // bitmap with snow second byte
temporal_1 = ordenador.memoria[(((*(ordenador.p_translt2-1)) + (ordenador.video_offset))&0xFFFFFF80)+(((*(ordenador.p_translt2-2)) + (ordenador.video_offset))&0x7F)]; // attributes with snow second byte temporal_1 = ordenador.memoria[((*(ordenador.p_translt2-1) + ordenador.video_offset)&0xFFFFFF80)+(((*(ordenador.p_translt2-2)) + ordenador.video_offset)&0x7F)]; // attributes with snow second byte
} }
// bitmap second byte // bitmap second byte
ordenador.bus_value = temporal2_1; ordenador.bus_value = temporal2_1;
@ -1656,6 +1657,42 @@ byte Z80free_Rd (register word Addr) {
} }
} }
byte Z80free_Rd_fake (register word Addr) {
switch (ordenador.other_ret) {
case 1:
ordenador.other_ret = 0;
return (201); // RET instruction
break;
default:
switch (Addr & 0xC000) {
case 0x0000:
return ((byte) (*(ordenador.block0 + Addr)));
break;
case 0x4000:
return ((byte) (*(ordenador.block1 + Addr)));
break;
case 0x8000:
return ((byte) (*(ordenador.block2 + Addr)));
break;
case 0xC000:
return ((byte) (*(ordenador.block3 + Addr)));
break;
default:
printf ("Memory error\n");
exit (1);
return 0;
}
break;
}
}
void set_palete_entry(unsigned char entry, byte Value) { void set_palete_entry(unsigned char entry, byte Value) {

View File

@ -303,8 +303,6 @@ void create_tapfile_sdl() {
retorno=ask_filename_sdl(nombre2,82,"tap",path_taps,NULL); retorno=ask_filename_sdl(nombre2,82,"tap",path_taps,NULL);
clean_screen();
if(retorno==2) // abort if(retorno==2) // abort
return; return;
@ -331,16 +329,12 @@ void create_tapfile_sdl() {
case 0: case 0:
break; break;
case -1: case -1:
print_string(videomem,"File already exists",-1,80,10,0,ancho); msgInfo("File already exists",3000,NULL);
SDL_Flip(screen);
ordenador.current_tap[0]=0; ordenador.current_tap[0]=0;
SDL_Delay(3000);
break; break;
case -2: case -2:
print_string(videomem,"Can't create file",-1,80,10,0,ancho); msgInfo("Can't create file",3000,NULL);
ordenador.current_tap[0]=0; ordenador.current_tap[0]=0;
SDL_Flip(screen);
SDL_Delay(3000);
break; break;
} }
clean_screen(); clean_screen();
@ -717,8 +711,6 @@ void create_mdrfile_sdl() {
retorno=ask_filename_sdl(nombre2,82,"mdr",path_mdrs, NULL); retorno=ask_filename_sdl(nombre2,82,"mdr",path_mdrs, NULL);
clean_screen();
if(retorno==2) // abort if(retorno==2) // abort
return; return;
@ -748,16 +740,12 @@ void create_mdrfile_sdl() {
case 0: case 0:
break; break;
case -1: case -1:
print_string(videomem,"File already exists",-1,80,10,0,ancho); msgInfo("File already exists",3000,NULL);
ordenador.mdr_current_mdr[0]=0; ordenador.mdr_current_mdr[0]=0;
SDL_Flip(screen);
SDL_Delay(3000);
break; break;
case -2: case -2:
print_string(videomem,"Can't create file",-1,80,10,0,ancho); msgInfo("Can't create file",3000,NULL);
ordenador.mdr_current_mdr[0]=0; ordenador.mdr_current_mdr[0]=0;
SDL_Flip(screen);
SDL_Delay(3000);
break; break;
} }
clean_screen(); clean_screen();

View File

@ -659,7 +659,7 @@ void save_file(FILE *fichero) {
if (procesador.Rm.wr.DE == 0) if (procesador.Rm.wr.DE == 0)
salir = 2; salir = 2;
if (!salir) { if (!salir) {
dato=Z80free_Rd(procesador.Rm.wr.IX); // read data dato=Z80free_Rd_fake(procesador.Rm.wr.IX); // read data
fprintf(fichero,"%c",dato); fprintf(fichero,"%c",dato);
xor^=dato; xor^=dato;
procesador.Rm.wr.IX++; procesador.Rm.wr.IX++;

View File

@ -139,6 +139,7 @@ int Z80free_ustep(Z80FREE *);
void Z80free_INT(Z80FREE *,byte); void Z80free_INT(Z80FREE *,byte);
byte Z80free_Rd (register word Addr); byte Z80free_Rd (register word Addr);
byte Z80free_Rd_fake (register word Addr);
byte Z80free_Rd_fetch (register word Addr); byte Z80free_Rd_fetch (register word Addr);
void Z80free_Wr (register word Addr, register byte Value); void Z80free_Wr (register word Addr, register byte Value);
void Z80free_Wr_fake (register word Addr, register byte Value); void Z80free_Wr_fake (register word Addr, register byte Value);