From: <pa...@us...> - 2013-03-08 20:21:07
|
Revision: 4904 http://sourceforge.net/p/fuse-emulator/code/4904 Author: pak21 Date: 2013-03-08 20:21:02 +0000 (Fri, 08 Mar 2013) Log Message: ----------- Implement Spectranet's "suppress NMI" flipflop (bug #259). Modified Paths: -------------- trunk/libspectrum/accessor.pl trunk/libspectrum/hacking/ChangeLog trunk/libspectrum/snap_accessors.txt trunk/libspectrum/szx.c Modified: trunk/libspectrum/accessor.pl =================================================================== --- trunk/libspectrum/accessor.pl 2013-03-03 22:23:16 UTC (rev 4903) +++ trunk/libspectrum/accessor.pl 2013-03-08 20:21:02 UTC (rev 4904) @@ -222,6 +222,7 @@ int spectranet_active; int spectranet_paged; int spectranet_paged_via_io; + int spectranet_nmi_flipflop; int spectranet_programmable_trap_active; int spectranet_programmable_trap_msb; int spectranet_all_traps_disabled; Modified: trunk/libspectrum/hacking/ChangeLog =================================================================== --- trunk/libspectrum/hacking/ChangeLog 2013-03-03 22:23:16 UTC (rev 4903) +++ trunk/libspectrum/hacking/ChangeLog 2013-03-08 20:21:02 UTC (rev 4904) @@ -940,3 +940,5 @@ add support for storing ZX Printer state (bug #274) (Fred). 20130130 timings.c: correct video timing for +2A/+3 etc machines (part of patch #305). +20130307 accessor.pl,snap_accessors.txt,szx.c: implement Spectranet's "suppress + NMI" flipflop (bug #259). Modified: trunk/libspectrum/snap_accessors.txt =================================================================== --- trunk/libspectrum/snap_accessors.txt 2013-03-03 22:23:16 UTC (rev 4903) +++ trunk/libspectrum/snap_accessors.txt 2013-03-08 20:21:02 UTC (rev 4904) @@ -178,6 +178,7 @@ int spectranet_active int spectranet_paged int spectranet_paged_via_io +int spectranet_nmi_flipflop int spectranet_programmable_trap_active int spectranet_programmable_trap_msb int spectranet_all_traps_disabled Modified: trunk/libspectrum/szx.c =================================================================== --- trunk/libspectrum/szx.c 2013-03-03 22:23:16 UTC (rev 4903) +++ trunk/libspectrum/szx.c 2013-03-08 20:21:02 UTC (rev 4904) @@ -210,6 +210,7 @@ static const libspectrum_word ZXSTSNET_ALL_DISABLED = 16; static const libspectrum_word ZXSTSNET_RST8_DISABLED = 32; static const libspectrum_word ZXSTSNET_DENY_DOWNSTREAM_A15 = 64; +static const libspectrum_word ZXSTSNET_NMI_FLIPFLOP = 128; #define ZXSTBID_SPECTRANETFLASHPAGE "SNEF" static const libspectrum_byte ZXSTSNEF_FLASH_COMPRESSED = 1; @@ -2064,6 +2065,7 @@ libspectrum_snap_set_spectranet_all_traps_disabled( snap, flags & ZXSTSNET_ALL_DISABLED ); libspectrum_snap_set_spectranet_rst8_trap_disabled( snap, flags & ZXSTSNET_RST8_DISABLED ); libspectrum_snap_set_spectranet_deny_downstream_a15( snap, flags & ZXSTSNET_DENY_DOWNSTREAM_A15 ); + libspectrum_snap_set_spectranet_nmi_flipflop( snap, flags & ZXSTSNET_NMI_FLIPFLOP ); libspectrum_snap_set_spectranet_page_a( snap, **buffer ); (*buffer)++; libspectrum_snap_set_spectranet_page_b( snap, **buffer ); (*buffer)++; @@ -3783,6 +3785,8 @@ flags |= ZXSTSNET_RST8_DISABLED; if( libspectrum_snap_spectranet_deny_downstream_a15( snap ) ) flags |= ZXSTSNET_DENY_DOWNSTREAM_A15; + if( libspectrum_snap_spectranet_nmi_flipflop( snap ) ) + flags |= ZXSTSNET_NMI_FLIPFLOP; libspectrum_write_word( ptr, flags ); *(*ptr)++ = libspectrum_snap_spectranet_page_a( snap ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |