From: <fr...@us...> - 2009-09-12 10:54:46
|
Revision: 4093 http://fuse-emulator.svn.sourceforge.net/fuse-emulator/?rev=4093&view=rev Author: fredm Date: 2009-09-12 10:54:32 +0000 (Sat, 12 Sep 2009) Log Message: ----------- libspectrum was reading and writing AF and AF' in the wrong order in SZX files (fixes bug #2857419; thanks, velesoft). Modified Paths: -------------- trunk/libspectrum/hacking/ChangeLog trunk/libspectrum/szx.c Modified: trunk/libspectrum/hacking/ChangeLog =================================================================== --- trunk/libspectrum/hacking/ChangeLog 2009-09-03 12:38:38 UTC (rev 4092) +++ trunk/libspectrum/hacking/ChangeLog 2009-09-12 10:54:32 UTC (rev 4093) @@ -742,3 +742,5 @@ libspectrum_plusd_read_header (Fred). 20090901 szx.c: remove unused block_size initialisation (Fred). 20090902 plusd.c: return error from libspectrum_plusd_read_data (Fred). +20090912 szx.c: libspectrum was reading and writing AF and AF' in the wrong + order in SZX files (fixes bug #2857419; thanks, velesoft) (Fred). Modified: trunk/libspectrum/szx.c =================================================================== --- trunk/libspectrum/szx.c 2009-09-03 12:38:38 UTC (rev 4092) +++ trunk/libspectrum/szx.c 2009-09-12 10:54:32 UTC (rev 4093) @@ -1205,14 +1205,14 @@ return LIBSPECTRUM_ERROR_UNKNOWN; } + libspectrum_snap_set_f ( snap, **buffer ); (*buffer)++; libspectrum_snap_set_a ( snap, **buffer ); (*buffer)++; - libspectrum_snap_set_f ( 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 ) ); + libspectrum_snap_set_f_ ( snap, **buffer ); (*buffer)++; libspectrum_snap_set_a_ ( snap, **buffer ); (*buffer)++; - libspectrum_snap_set_f_ ( 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 ) ); @@ -2229,14 +2229,14 @@ write_chunk_header( buffer, ptr, length, ZXSTBID_Z80REGS, 37 ); + *(*ptr)++ = libspectrum_snap_f ( snap ); *(*ptr)++ = libspectrum_snap_a ( snap ); - *(*ptr)++ = libspectrum_snap_f ( snap ); libspectrum_write_word( ptr, libspectrum_snap_bc ( snap ) ); libspectrum_write_word( ptr, libspectrum_snap_de ( snap ) ); libspectrum_write_word( ptr, libspectrum_snap_hl ( snap ) ); + *(*ptr)++ = libspectrum_snap_f_( snap ); *(*ptr)++ = libspectrum_snap_a_( snap ); - *(*ptr)++ = libspectrum_snap_f_( snap ); libspectrum_write_word( ptr, libspectrum_snap_bc_ ( snap ) ); libspectrum_write_word( ptr, libspectrum_snap_de_ ( snap ) ); libspectrum_write_word( ptr, libspectrum_snap_hl_ ( snap ) ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |