From: <pa...@us...> - 2010-10-03 17:49:37
|
Revision: 4170 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=4170&view=rev Author: pak21 Date: 2010-10-03 17:49:30 +0000 (Sun, 03 Oct 2010) Log Message: ----------- We also need to swap A' and F'. Modified Paths: -------------- trunk/libspectrum/hacking/ChangeLog trunk/libspectrum/szx.c trunk/libspectrum/test/empty.szx trunk/libspectrum/test/test.c Modified: trunk/libspectrum/hacking/ChangeLog =================================================================== --- trunk/libspectrum/hacking/ChangeLog 2010-10-03 17:38:56 UTC (rev 4169) +++ trunk/libspectrum/hacking/ChangeLog 2010-10-03 17:49:30 UTC (rev 4170) @@ -784,3 +784,4 @@ written with A and F swapped and read them in appropriately. Bump libspectrum version number so we know that new files are written without the bug. +20101003 szx.c,test/{empty.szx,test.c}: we also need to swap A' and F'. Modified: trunk/libspectrum/szx.c =================================================================== --- trunk/libspectrum/szx.c 2010-10-03 17:38:56 UTC (rev 4169) +++ trunk/libspectrum/szx.c 2010-10-03 17:49:30 UTC (rev 4170) @@ -1294,8 +1294,14 @@ libspectrum_snap_set_de ( snap, libspectrum_read_word( buffer ) ); libspectrum_snap_set_hl ( snap, libspectrum_read_word( buffer ) ); - libspectrum_snap_set_f_ ( snap, **buffer ); (*buffer)++; - libspectrum_snap_set_a_ ( snap, **buffer ); (*buffer)++; + if( ctx->swap_af ) { + libspectrum_snap_set_a_( snap, **buffer ); (*buffer)++; + libspectrum_snap_set_f_( snap, **buffer ); (*buffer)++; + } else { + libspectrum_snap_set_f_( snap, **buffer ); (*buffer)++; + libspectrum_snap_set_a_( snap, **buffer ); (*buffer)++; + } + libspectrum_snap_set_bc_ ( snap, libspectrum_read_word( buffer ) ); libspectrum_snap_set_de_ ( snap, libspectrum_read_word( buffer ) ); libspectrum_snap_set_hl_ ( snap, libspectrum_read_word( buffer ) ); Modified: trunk/libspectrum/test/empty.szx =================================================================== (Binary files differ) Modified: trunk/libspectrum/test/test.c =================================================================== --- trunk/libspectrum/test/test.c 2010-10-03 17:38:56 UTC (rev 4169) +++ trunk/libspectrum/test/test.c 2010-10-03 17:49:30 UTC (rev 4170) @@ -714,9 +714,17 @@ libspectrum_snap_a( snap ) ); r = TEST_FAIL; } else if( libspectrum_snap_f( snap ) != 0x34 ) { - fprintf( stderr, "%s: F is 0x%04x, not the expected 0x34\n", progname, + fprintf( stderr, "%s: F is 0x%02x, not the expected 0x34\n", progname, libspectrum_snap_f( snap ) ); r = TEST_FAIL; + } else if( libspectrum_snap_a_( snap ) != 0x56 ) { + fprintf( stderr, "%s: A' is 0x%02x, not the expected 0x56\n", progname, + libspectrum_snap_a_( snap ) ); + r = TEST_FAIL; + } else if( libspectrum_snap_f_( snap ) != 0x78 ) { + fprintf( stderr, "%s: F' is 0x%02x, not the expected 0x78\n", progname, + libspectrum_snap_f( snap ) ); + r = TEST_FAIL; } else { r = TEST_PASS; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |