From: <pa...@us...> - 2007-09-19 15:30:12
|
Revision: 3169 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=3169&view=rev Author: pak21 Date: 2007-09-19 08:30:11 -0700 (Wed, 19 Sep 2007) Log Message: ----------- Various non-MREQ contention fixes. Modified Paths: -------------- trunk/fuse/hacking/ChangeLog trunk/fuse/z80/z80.pl Modified: trunk/fuse/hacking/ChangeLog =================================================================== --- trunk/fuse/hacking/ChangeLog 2007-09-10 11:00:25 UTC (rev 3168) +++ trunk/fuse/hacking/ChangeLog 2007-09-19 15:30:11 UTC (rev 3169) @@ -2132,3 +2132,4 @@ 20070908 ui/gtk/fileselector.c: give the save dialog its save button back. 20070909 settings.pl: fix up a couple of memory leaks. 20070910 machines/specplus3.c: fix another memory leak. +20070919 z80/z80.pl: various non-MREQ contention fixes. Modified: trunk/fuse/z80/z80.pl =================================================================== --- trunk/fuse/z80/z80.pl 2007-09-10 11:00:25 UTC (rev 3168) +++ trunk/fuse/z80/z80.pl 2007-09-19 15:30:11 UTC (rev 3169) @@ -58,8 +58,9 @@ { libspectrum_byte offset, bytetemp; offset = readbyte( PC ); - contend_read( PC, 1 ); contend_read( PC, 1 ); contend_read( PC, 1 ); - contend_read( PC, 1 ); contend_read( PC, 1 ); PC++; + contend_read_no_mreq( PC, 1 ); contend_read_no_mreq( PC, 1 ); + contend_read_no_mreq( PC, 1 ); contend_read_no_mreq( PC, 1 ); + contend_read_no_mreq( PC, 1 ); PC++; bytetemp = readbyte( REGISTER + (libspectrum_signed_byte)offset ); $opcode(bytetemp); } @@ -418,7 +419,7 @@ { libspectrum_byte bytetemp; bytetemp = readbyte( tempaddr ); - contend_read( tempaddr, 1 ); + contend_read_no_mreq( tempaddr, 1 ); writebyte( tempaddr, bytetemp $operator $hex_mask ); } CODE @@ -773,8 +774,8 @@ LD } elsif( $src eq 'HL' or $src eq 'REGISTER' ) { print << "LD"; - contend_read( IR, 1 ); - contend_read( IR, 1 ); + contend_read_no_mreq( IR, 1 ); + contend_read_no_mreq( IR, 1 ); SP = $src; LD } elsif( $src eq '(nnnn)' ) { @@ -824,8 +825,9 @@ { libspectrum_byte offset; offset = readbyte( PC ); - contend_read( PC, 1 ); contend_read( PC, 1 ); contend_read( PC, 1 ); - contend_read( PC, 1 ); contend_read( PC, 1 ); PC++; + contend_read_no_mreq( PC, 1 ); contend_read_no_mreq( PC, 1 ); + contend_read_no_mreq( PC, 1 ); contend_read_no_mreq( PC, 1 ); + contend_read_no_mreq( PC, 1 ); PC++; writebyte( REGISTER + (libspectrum_signed_byte)offset, $src ); } LD @@ -835,7 +837,7 @@ libspectrum_byte offset, value; offset = readbyte( PC++ ); value = readbyte( PC ); - contend_read( PC, 1 ); contend_read( PC, 1 ); PC++; + contend_read_no_mreq( PC, 1 ); contend_read_no_mreq( PC, 1 ); PC++; writebyte( REGISTER + (libspectrum_signed_byte)offset, value ); } LD @@ -898,7 +900,7 @@ my( $regpair ) = @_; - print " contend_read( IR, 1 );\n"; + print " contend_read_no_mreq( IR, 1 );\n"; push_pop( 'PUSH', $regpair ); } @@ -1000,8 +1002,8 @@ print << "RRD"; { libspectrum_byte bytetemp = readbyte( HL ); - contend_read( HL, 1 ); contend_read( HL, 1 ); contend_read( HL, 1 ); - contend_read( HL, 1 ); + contend_read_no_mreq( HL, 1 ); contend_read_no_mreq( HL, 1 ); + contend_read_no_mreq( HL, 1 ); contend_read_no_mreq( HL, 1 ); writebyte(HL, ( A << 4 ) | ( bytetemp >> 4 ) ); A = ( A & 0xf0 ) | ( bytetemp & 0x0f ); F = ( F & FLAG_C ) | sz53p_table[A]; @@ -1013,7 +1015,7 @@ my( $value ) = @_; - printf " contend_read( IR, 1 );\n RST(0x%02x);\n", hex $value; + printf " contend_read_no_mreq( IR, 1 );\n RST(0x%02x);\n", hex $value; } sub opcode_SBC (@) { arithmetic_logical( 'SBC', $_[0], $_[1] ); } @@ -1174,7 +1176,7 @@ print << "CODE"; $register = readbyte(tempaddr) $operator $hexmask; - contend_read( tempaddr, 1 ); + contend_read_no_mreq( tempaddr, 1 ); writebyte(tempaddr, $register); break; CODE @@ -1182,7 +1184,7 @@ print << "CODE"; $register=readbyte(tempaddr); - contend_read( tempaddr, 1 ); + contend_read_no_mreq( tempaddr, 1 ); $opcode($register); writebyte(tempaddr, $register); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |