static void ula_from_snapshot( libspectrum_snap *snap ) { ula_write( 0x00fe, libspectrum_snap_out_ula( snap ) ); tstates = libspectrum_snap_tstates( snap ); settings_current.issue2 = libspectrum_snap_issue2( snap ); }
static void write_header( libspectrum_byte **buffer, libspectrum_byte **ptr, size_t *length, libspectrum_snap *snap ) { libspectrum_make_room( buffer, LIBSPECTRUM_SNA_HEADER_LENGTH, ptr, length ); *(*ptr)++ = libspectrum_snap_i ( snap ); libspectrum_write_word( ptr, libspectrum_snap_hl_( snap ) ); libspectrum_write_word( ptr, libspectrum_snap_de_( snap ) ); libspectrum_write_word( ptr, libspectrum_snap_bc_( snap ) ); *(*ptr)++ = libspectrum_snap_f_( snap ); *(*ptr)++ = libspectrum_snap_a_( snap ); libspectrum_write_word( ptr, libspectrum_snap_hl ( snap ) ); libspectrum_write_word( ptr, libspectrum_snap_de ( snap ) ); libspectrum_write_word( ptr, libspectrum_snap_bc ( snap ) ); libspectrum_write_word( ptr, libspectrum_snap_iy ( snap ) ); libspectrum_write_word( ptr, libspectrum_snap_ix ( snap ) ); *(*ptr)++ = libspectrum_snap_iff2( snap ) ? 0x04 : 0x00; *(*ptr)++ = libspectrum_snap_r ( snap ); *(*ptr)++ = libspectrum_snap_f ( snap ); *(*ptr)++ = libspectrum_snap_a ( snap ); libspectrum_write_word( ptr, libspectrum_snap_sp ( snap ) ); *(*ptr)++ = libspectrum_snap_im( snap ); *(*ptr)++ = libspectrum_snap_out_ula( snap ) & 0x07; }