[Fuse-for-macosx-commits] SF.net SVN: fuse-for-macosx:[807] trunk
Brought to you by:
fredm
From: <fr...@us...> - 2016-06-07 12:51:55
|
Revision: 807 http://sourceforge.net/p/fuse-for-macosx/code/807 Author: fredm Date: 2016-06-07 12:51:52 +0000 (Tue, 07 Jun 2016) Log Message: ----------- Merge up to vendor release 1.2.0 (r5597). Revision Links: -------------- http://sourceforge.net/p/fuse-for-macosx/code/5597 Modified Paths: -------------- trunk/fuse/AUTHORS trunk/fuse/ChangeLog trunk/fuse/Makefile.am trunk/fuse/README trunk/fuse/configure.ac trunk/fuse/data/shell-completion/bash/fuse trunk/fuse/debugger/commandl.l trunk/fuse/debugger/commandy.y trunk/fuse/debugger/event.c trunk/fuse/debugger/expression.c trunk/fuse/fuse.c trunk/fuse/fusepb/English.lproj/InfoPlist.strings trunk/fuse/fusepb/Info-Fuse.plist trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html trunk/fuse/hacking/ChangeLog trunk/fuse/lib/Makefile.am trunk/fuse/man/fuse.1 trunk/fuse/menu.c trunk/fuse/rzx.c trunk/fuse/svg.c trunk/fuse/tape.c trunk/fuse/ui/fb/Makefile.am trunk/fuse/ui/gtk/Makefile.am trunk/fuse/ui/sdl/Makefile.am trunk/fuse/ui/svga/Makefile.am trunk/fuse/ui/widget/Makefile.am trunk/fuse/ui/wii/Makefile.am trunk/fuse/ui/win32/Makefile.am trunk/fuse/ui/xlib/Makefile.am trunk/fuse/z80/Makefile.am trunk/fuse/z80/z80.c trunk/libspectrum/Info.plist trunk/libspectrum/libspectrum/ChangeLog trunk/libspectrum/libspectrum/README trunk/libspectrum/libspectrum/configure.ac trunk/libspectrum/libspectrum/doc/libspectrum.3 trunk/libspectrum/libspectrum/doc/libspectrum.txt trunk/libspectrum/libspectrum/hacking/ChangeLog trunk/libspectrum/libspectrum.h trunk/libspectrum/libspectrum.xcodeproj/project.pbxproj Property Changed: ---------------- trunk/fuse/ trunk/libspectrum/libspectrum/ Index: trunk/fuse =================================================================== --- trunk/fuse 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse 2016-06-07 12:51:52 UTC (rev 807) Property changes on: trunk/fuse ___________________________________________________________________ Modified: svn:mergeinfo ## -1,5 +1,5 ## /vendor/fuse-emulator/0.10.0/fuse:556-557 /vendor/fuse-emulator/0.10.0-pre1/fuse:545-546 -/vendor/fuse-emulator/current/fuse:530-803 +/vendor/fuse-emulator/current/fuse:530-806 /vendor/fuse-emulator/fuse-1.0.0a/fuse:668-669 /vendor/fuse-emulator/fuse-r4617/fuse:686 \ No newline at end of property Modified: trunk/fuse/AUTHORS =================================================================== --- trunk/fuse/AUTHORS 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/AUTHORS 2016-06-07 12:51:52 UTC (rev 807) @@ -42,7 +42,7 @@ * Garry Lancaster: the simple 8-bit IDE, ZXATASP and ZXCF support. * Gergely Szasz: +3, +D, Opus, Didaktik 80 and Interface 1/Microdrive emulation, - the 'movie' code and the ALSO and ao sound drivers. + the 'movie' code and the ALSA and ao sound drivers. * Bjoern Giesler: the original Wii port. @@ -54,4 +54,4 @@ * Philip Kendall: everything else. -$Id: AUTHORS 5357 2016-02-23 23:43:54Z sbaldovi $ +$Id: AUTHORS 5569 2016-06-01 11:12:38Z fredm $ Modified: trunk/fuse/ChangeLog =================================================================== --- trunk/fuse/ChangeLog 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/ChangeLog 2016-06-07 12:51:52 UTC (rev 807) @@ -1,4 +1,4 @@ -2016-??-?? Philip Kendall <phi...@sh...> +2016-06-06 Philip Kendall <phi...@sh...> * Fuse 1.2.0 released. @@ -12,46 +12,51 @@ * Allow continuing RZX recordings if there is a final snapshot in the RZX (Sergio Baldoví). * Fix the prune function on RZX rollback (Sergio Baldoví). + * Use SZX format for the initial snapshot in RZX files (Sergio + Baldoví). * Fix loading of EDSK files with Sector Offset block (Sergio Baldoví). - * Fix speech in Cobra's Arc - Medium Case.tzx when loaded with tape - traps enabled (thanks, zx81 and Sergio Baldoví) (Fredrick Meunier). * Migrate disk "index event" handling to the FDD layer and have the FDC layer use it for their STATUS registers (Gergely Szasz). - * Set AF, AF' and SP to 0xffff on reset (Stuart Brady). - * Leave most registers unchanged on a soft reset (Stuart Brady). - * Emulate interrupt and NMI timings more precisely (Stuart Brady). - * Emulate NMOS and CMOS Z80 variants (Stuart Brady). - * Switch to 2KB page size (Stuart Brady). * Implement WD2797 emulation (Gergely Szasz). - * Skip tape traps if VERIFY is requested (UB880D). - * Fix inaccurate output when AY envelopes are used (Matthew Westcott - and Fredrick Meunier) - * Fix some peripherals activation when loading snapshots (Sergio - Baldoví). - * Fix loading sound with some custom loaders (Fredrick Meunier). * Centralise the "Disk icon" update code to the FDD layer (Gergely Szasz). - * Check if data blocks are headers for handling PZX files (Fredrick - Meunier). - * Correct display of pulses in PZX pulse block for tape browser - (Fredrick Meunier). * Fix disk image corruption after saving UDI files (Sergio Baldoví). * Check ready status after loading a disk into floppy disk drive (thanks, John Elliott) (Sergio Baldoví). * Fix overlapped SEEK commands (Sergio Baldoví). * Fix length of data returned by READ_DIAG (thanks, Fredrick Meunier) (Sergio Baldoví). + * Fix writing .td0 format disk files (Sergio Baldoví). + * Fix speech in Cobra's Arc - Medium Case.tzx when loaded with tape + traps enabled (thanks, zx81 and Sergio Baldoví) (Fredrick Meunier). + * Skip tape traps if VERIFY is requested (UB880D). + * Fix loading sound with some custom loaders (Fredrick Meunier). + * Check if data blocks are headers for handling PZX files (Fredrick + Meunier). + * Correct display of pulses in PZX pulse block for tape browser + (Fredrick Meunier). + * Set AF, AF' and SP to 0xffff on reset (Stuart Brady). + * Leave most registers unchanged on a soft reset (Stuart Brady). + * Emulate interrupt and NMI timings more precisely (Stuart Brady). + * Emulate NMOS and CMOS Z80 variants (Stuart Brady). + * Switch to 2KB page size (Stuart Brady). + * Fix inaccurate output when AY envelopes are used (Matthew Westcott + and Fredrick Meunier). + * Fix some peripherals activation when loading snapshots (Sergio + Baldoví). * Machine specific improvements: - * The Timex SCLD is contended in all of the home, Dock and Exrom banks - in the 0x4000 - 0x7FFF range (thanks, rga24 from WoS) (Fredrick - Meunier). + * The address range 0x4000 - 0x7FFF is contended on the TS2068 in the + home, Dock and Exrom banks (thanks, Richard Atkinson). It is assumed + that this is the same for other Timex models (Fredrick Meunier). * Clear all Opus RAM on hard reset (Stuart Brady). * Ensure the ZX Printer does not require a hard reset to enable (thanks, RMartins) (Fredrick Meunier). * Fix timing of events when emulating Scorpion (Stuart Brady). * Ensure we have successfully selected a Pentagon or a Timex machine before inserting their media (Fredrick Meunier). + * Prefer Scorpion to Pentagon when loading SCL/TRD disks for better + timing compatibility (thanks, windale) (Sergio Baldoví). * Fix Beta 128 type II commands (thanks, windale and BogDan Vatra) (Sergio Baldoví). * Don't enable the Beta 128 interface when loading a snapshot on a @@ -61,10 +66,7 @@ Meunier). * Spectranet: fix segfault in error handling when setting SO_REUSEADDR (Stuart Brady). - * Prefer Scorpion to Pentagon when loading SCL/TRD disks for better - timing compatibility (part of feature request #90) (thanks, windale) - (Sergio Baldoví). - * Update SE ROMs to v4.07 (thanks, Andrew Owen) (Sergio Baldoví). + * Update SE ROMs to v4.07 (thanks, Andrew Owen) (Sergio Baldoví). * Debugger improvements: * Fix disassembly of LD (HL), LD (IX) and LD (IY) (BogDan Vatra). @@ -75,7 +77,6 @@ Baldoví). * Timex EXROM and Dock text was truncated in the debugger UI (thanks, Andrew Owen and Sergio Baldoví) (Fredrick Meunier). - * Don't trap on breakpoints whilst halted (Stuart Brady). * Win32: relocate halted flag and set monospaced font (Sergio Baldoví). * Fix memory issues when removing a matched breakpoint (Tom Seddon). @@ -85,6 +86,11 @@ * Fix documentation of address syntax used in debugger section (Sergio Baldoví). * Allow debugger to dereference memory locations (Philip Kendall). + * Allow strings with escaped spaces in the debugger (Sergio Baldoví). + * Make wildcard event breakpoints work (thanks, Sergio Baldoví) + (Philip Kendall). + * Protect divide expression from a divide by zero exception (Fredrick + Meunier). * Miscellaneous improvements: * Remove warnings in aosound (Rene Ladan). @@ -107,7 +113,7 @@ * Link to autoload snapshot for NTSC Spectrum (Sergio Baldoví). * Fix desktop integration rules to cope with VPATH builds (Sergio Baldoví). - * Modernise autoconf support (Sergio Baldoví Baldoví). + * Modernise autoconf support (Sergio Baldoví). * Use unzipped tapes for peripheral tests (thanks, Phil Reynolds) (Sergio Baldoví). * Fix empty list in pokefinder on GTK+ 3 (Sergio Baldoví). @@ -121,7 +127,8 @@ * Don't show an error when rewinding an empty tape (Sergio Baldoví). * GTK UI: clear out row mark in tape browser when selecting another block (Sergio Baldoví). - * Add missing const qualifiers and casts (Stuart and Sergio Baldoví). + * Add missing const qualifiers and casts (Stuart Brady and Sergio + Baldoví). * Split Select ROMs menu into Machines and Peripherals (Gergely Szasz). * Only try to load the fallback ROM if it is different to the standard @@ -159,11 +166,11 @@ (Fredrick Meunier). * GTK+ and Win32 UI: add file filters in open/save dialogs (thanks, Crisis) (Sergio Baldoví). - * Don't show hidden files/directories in the file selector on Widget + * Don't show hidden files/directories in the file selector on Widget UIs (Sergio Baldoví). - * Remember filename when saving a recently formatted disk (Sergio + * Remember filename when saving a recently formatted disk (Sergio Baldoví). - * GTK UI: Change the resizing method for GTK+ UI for better + * GTK UI: Change the resizing method for GTK+ UI for better compatibility with GTK+ 3.20+ (thanks, Alberto Garcia) (Sergio Baldoví). @@ -1288,4 +1295,4 @@ * Version 0.1.0 released. -$Id: ChangeLog 5519 2016-05-23 19:15:02Z pak21 $ +$Id: ChangeLog 5594 2016-06-06 10:46:46Z fredm $ Modified: trunk/fuse/Makefile.am =================================================================== --- trunk/fuse/Makefile.am 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/Makefile.am 2016-06-07 12:51:52 UTC (rev 807) @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in ## Copyright (c) 1999-2015 Philip Kendall -## $Id: Makefile.am 5434 2016-05-01 04:22:45Z fredm $ +## $Id: Makefile.am 5537 2016-05-29 06:17:00Z sbaldovi $ ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -131,6 +131,7 @@ THANKS \ keysyms.dat \ keysyms.pl \ + m4/ax_create_stdint_h.m4 \ m4/ax_pthread.m4 \ m4/glib-2.0.m4 \ m4/gtk-2.0.m4 \ Modified: trunk/fuse/README =================================================================== --- trunk/fuse/README 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/README 2016-06-07 12:51:52 UTC (rev 807) @@ -24,9 +24,11 @@ * Emulation of some of the printers you could attach to a Spectrum. * Support for the RZX input recording file format, including rollback and 'competition mode'. -* Emulation of the DivIDE, Interface 1, Kempston mouse, Spectrum +3e, - ZXATASP, ZXCF, Beta 128, Opus Discovery, +D, DISCiPLE and Didaktik 80/40 +* Emulation of the Currah µSource, DivIDE, Fuller audio box, Interface 1, + Kempston mouse, SpecDrum, Spectrum +3e, ZXATASP and ZXCF interfaces. +* Emulation of the Beta 128, +D, Didaktik 80/40, DISCiPLE and Opus Discovery interfaces. +* Emulation of the Spectranet and SpeccyBoot interfaces. Help! <xyz> doesn't work ------------------------ @@ -106,6 +108,6 @@ <http://www.worldofspectrum.org/forums/>. Philip Kendall <phi...@sh...> -24th May, 2013 +6th June, 2016 -$Id: README 5403 2016-04-25 13:10:53Z fredm $ +$Id: README 5594 2016-06-06 10:46:46Z fredm $ Modified: trunk/fuse/configure.ac =================================================================== --- trunk/fuse/configure.ac 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/configure.ac 2016-06-07 12:51:52 UTC (rev 807) @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Id: configure.ac 5500 2016-05-21 05:38:43Z fredm $ +dnl $Id: configure.ac 5594 2016-06-06 10:46:46Z fredm $ dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -31,7 +31,7 @@ m4_define([fuse_rc_version], [fuse_major_version,fuse_minor_version,fuse_micro_version,fuse_nano_version]) dnl Package info -m4_define([fuse_copyright], ["(c) 1999-2013 Philip Kendall and others"]) +m4_define([fuse_copyright], ["(c) 1999-2016 Philip Kendall and others"]) m4_define([fuse_url], [http://fuse-emulator.sourceforge.net/]) m4_define([fuse_bugreport], [http://sourceforge.net/p/fuse-emulator/bugs/]) Modified: trunk/fuse/data/shell-completion/bash/fuse =================================================================== --- trunk/fuse/data/shell-completion/bash/fuse 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/data/shell-completion/bash/fuse 2016-06-07 12:51:52 UTC (rev 807) @@ -1,6 +1,5 @@ -#!/bin/bash +# fuse: bash completion for fuse-emulator -# fuse: bash completion for fuse-emulator # Copyright (c) 2015 Sergio Baldoví # This program is free software; you can redistribute it and/or modify @@ -51,7 +50,7 @@ case $prev in --betadisk|--discipledisk|--didaktik80disk|--opusdisk| \ --plus3disk|--plusddisk) - _filedir '@(d40|D40|d80|D80|dsk|DSK|img|IMG|fdi|FDI|mgt|MGT|opd|OPD|opu|OPU|sad|SAD|scl|SCL|td0|TD0|udi|UDI)' + _filedir '@(d40|D40|d80|D80|dsk|DSK|img|IMG|fdi|FDI|mgt|MGT|opd|OPD|opu|OPU|sad|SAD|scl|SCL|td0|TD0|trd|TRD|udi|UDI)' return 0 ;; --disk-try-merge) @@ -222,7 +221,6 @@ --no-movie-stop-after-rzx --no-opus --no-pal-tv2x --no-plus3-detect-speedlock --no-plusd --no-printer --no-raw-s-net --no-rs232-handshake - --no-rs232-rx --no-rs232-tx --no-rzx-autosaves --no-simpleide --no-slt --no-sound --no-sound-force-8bit --no-speccyboot --no-specdrum --no-spectranet --no-spectranet-disable --no-statusbar @@ -258,7 +256,7 @@ --zxatasp-write-protect --zxcf --zxcf-cffile --zxcf-upload --zxprinter' -- "$cur" ) ) else - _filedir '@(csw|CSW|ltp|LTP|pzx|PZX|spc|SPC|sta|STA|tap|TAP|tzx|TZX|wav|WAV|slt|SLT|sna?(pshot)|SNA?(PSHOT)|?(mgt)snp|?(MGT)SNP|sp|SP|szx|SZX|z80|Z80|zxs|ZXS|d40|D40|d80|D80|dsk|DSK|img|IMG|fdi|FDI|mgt|MGT|opd|OPD|opu|OPU|sad|SAD|scl|SCL|td0|TD0|udi|UDI|rzx|RZX|dck|DCK|hdf|HDF|mdr|MDR)' + _filedir '@(csw|CSW|ltp|LTP|pzx|PZX|spc|SPC|sta|STA|tap|TAP|tzx|TZX|wav|WAV|slt|SLT|sna?(pshot)|SNA?(PSHOT)|?(mgt)snp|?(MGT)SNP|sp|SP|szx|SZX|z80|Z80|zxs|ZXS|d40|D40|d80|D80|dsk|DSK|img|IMG|fdi|FDI|mgt|MGT|opd|OPD|opu|OPU|sad|SAD|scl|SCL|td0|TD0|trd|TRD|udi|UDI|rzx|RZX|dck|DCK|hdf|HDF|mdr|MDR)' fi } && complete -F _fuse -o filenames fuse Modified: trunk/fuse/debugger/commandl.l =================================================================== --- trunk/fuse/debugger/commandl.l 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/debugger/commandl.l 2016-06-07 12:51:52 UTC (rev 807) @@ -2,7 +2,7 @@ Copyright (c) 2002-2013 Philip Kendall Copyright (c) 2015 Sergio Baldoví - $Id: commandl.l 5518 2016-05-23 19:12:31Z pak21 $ + $Id: commandl.l 5539 2016-05-29 10:49:51Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -47,7 +47,7 @@ %} -ID [a-z][a-z0-9]+ +ID [a-z]([a-z0-9]|\\[ ])+ %option caseless @@ -124,8 +124,8 @@ "+" { return '+'; } "-" { return '-'; } -"*" { yylval.token = '*'; return TIMES_DIVIDE; } -"/" { yylval.token = '/'; return TIMES_DIVIDE; } +"*" { return '*'; } +"/" { return '/'; } "&" { return '&'; } "^" { return '^'; } @@ -146,7 +146,20 @@ if( YY_START == COMMANDSTATE1 ) BEGIN( COMMANDSTATE2 ); return NUMBER; } -{ID} { yylval.string = mempool_strdup( debugger_memory_pool, yytext ); return STRING; } +{ID} { char *dest, *source; + yylval.string = mempool_malloc( debugger_memory_pool, strlen( yytext ) + 1 ); + /* remove escape characters */ + dest = yylval.string; + source = yytext; + while( *source ) { + if( *source != '\\' ) { + *dest++ = *source; + } + source++; + } + *dest = '\0'; + return STRING; } + ${ID} { yylval.string = mempool_strdup( debugger_memory_pool, yytext + 1 ); return VARIABLE; } \n { return '\n'; } Modified: trunk/fuse/debugger/commandy.y =================================================================== --- trunk/fuse/debugger/commandy.y 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/debugger/commandy.y 2016-06-07 12:51:52 UTC (rev 807) @@ -2,7 +2,7 @@ Copyright (c) 2002-2015 Philip Kendall Copyright (c) 2015 Sergio Baldoví - $Id: commandy.y 5518 2016-05-23 19:12:31Z pak21 $ + $Id: commandy.y 5539 2016-05-29 10:49:51Z fredm $ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -72,7 +72,6 @@ %token <token> COMPARISON /* < > <= >= */ %token <token> EQUALITY /* == != */ %token <token> NEGATE /* ! ~ */ -%token <token> TIMES_DIVIDE /* * / */ %token BASE %token BREAK @@ -138,7 +137,7 @@ %left EQUALITY %left COMPARISON %left '+' '-' -%left TIMES_DIVIDE +%left '*' '/' %right NEGATE /* Unary minus, unary plus, !, ~ */ /* High precedence */ @@ -169,6 +168,10 @@ debugger_breakpoint_add_event( DEBUGGER_BREAKPOINT_TYPE_EVENT, $3, $5, 0, $1, $6 ); } + | breakpointlife EVENT STRING ':' '*' optionalcondition { + debugger_breakpoint_add_event( DEBUGGER_BREAKPOINT_TYPE_EVENT, + $3, "*", 0, $1, $6 ); + } | CLEAR numberorpc { debugger_breakpoint_clear( $2 ); } | COMMANDS number '\n' debuggercommands DEBUGGER_END { debugger_breakpoint_set_commands( $2, $4 ); } | CONDITION NUMBER expressionornull { @@ -268,10 +271,14 @@ $$ = debugger_expression_new_binaryop( '-', $1, $3, debugger_memory_pool ); if( !$$ ) YYABORT; } - | expression TIMES_DIVIDE expression { - $$ = debugger_expression_new_binaryop( $2, $1, $3, debugger_memory_pool ); + | expression '*' expression { + $$ = debugger_expression_new_binaryop( '*', $1, $3, debugger_memory_pool ); if( !$$ ) YYABORT; } + | expression '/' expression { + $$ = debugger_expression_new_binaryop( '/', $1, $3, debugger_memory_pool ); + if( !$$ ) YYABORT; + } | expression EQUALITY expression { $$ = debugger_expression_new_binaryop( $2, $1, $3, debugger_memory_pool ); if( !$$ ) YYABORT; Modified: trunk/fuse/debugger/event.c =================================================================== --- trunk/fuse/debugger/event.c 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/debugger/event.c 2016-06-07 12:51:52 UTC (rev 807) @@ -65,6 +65,7 @@ { if( strcasecmp( type, event->type ) ) return 0; if( strcmp( detail, "*" ) == 0 ) return 1; + if( strcmp( event->detail, "*" ) == 0 ) return 1; return strcasecmp( detail, event->detail ) == 0; } Modified: trunk/fuse/debugger/expression.c =================================================================== --- trunk/fuse/debugger/expression.c 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/debugger/expression.c 2016-06-07 12:51:52 UTC (rev 807) @@ -367,8 +367,14 @@ case '*': return debugger_expression_evaluate( binary->op1 ) * debugger_expression_evaluate( binary->op2 ); - case '/': return debugger_expression_evaluate( binary->op1 ) / - debugger_expression_evaluate( binary->op2 ); + case '/': { + libspectrum_dword op2 = debugger_expression_evaluate( binary->op2 ); + if( op2 == 0 ) { + ui_error( UI_ERROR_ERROR, "divide by 0" ); + return 0; + } + return debugger_expression_evaluate( binary->op1 ) / op2; + } case DEBUGGER_TOKEN_EQUAL_TO: return debugger_expression_evaluate( binary->op1 ) == Modified: trunk/fuse/fuse.c =================================================================== --- trunk/fuse/fuse.c 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/fuse.c 2016-06-07 12:51:52 UTC (rev 807) @@ -607,13 +607,11 @@ start_files->disk_beta = filename; break; case LIBSPECTRUM_CLASS_DISK_GENERIC: - if( machine_current->machine == LIBSPECTRUM_MACHINE_PLUS3 || - machine_current->machine == LIBSPECTRUM_MACHINE_PLUS2A ) + if( machine_current->capabilities & + LIBSPECTRUM_MACHINE_CAPABILITY_PLUS3_DISK ) start_files->disk_plus3 = filename; - else if( machine_current->machine == LIBSPECTRUM_MACHINE_PENT || - machine_current->machine == LIBSPECTRUM_MACHINE_PENT512 || - machine_current->machine == LIBSPECTRUM_MACHINE_PENT1024 || - machine_current->machine == LIBSPECTRUM_MACHINE_SCORP ) + else if( machine_current->capabilities & + LIBSPECTRUM_MACHINE_CAPABILITY_TRDOS_DISK ) start_files->disk_beta = filename; else { if( periph_is_active( PERIPH_TYPE_BETA128 ) ) Modified: trunk/fuse/fusepb/English.lproj/InfoPlist.strings =================================================================== (Binary files differ) Modified: trunk/fuse/fusepb/Info-Fuse.plist =================================================================== --- trunk/fuse/fusepb/Info-Fuse.plist 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/fusepb/Info-Fuse.plist 2016-06-07 12:51:52 UTC (rev 807) @@ -582,11 +582,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>1.2.0-pre1</string> + <string>1.2.0</string> <key>CFBundleSignature</key> <string>FUSE</string> <key>CFBundleVersion</key> - <string>1.2.0-pre1</string> + <string>1.2.0</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/fusepb/resources/Fuse Help/html/changelog.html 2016-06-07 12:51:52 UTC (rev 807) @@ -40,15 +40,49 @@ Grande,Helvetica,Arial"><font face="Lucida Grande,Helvetica,Arial">emulator recording</font> rollback (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial"><font + face="Lucida Grande,Helvetica,Arial">Use SZX format for + the initial snapshot in <font face="Lucida + Grande,Helvetica,Arial">emulator recording</font> + files (Sergio<font face="Lucida Grande,Helvetica,Arial"> + </font>Baldoví).</font><br> + </font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix loading of EDSK files with Sector Offset block (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Migrate disk + "index event" handling to the FDD layer and have the FDC + layer use it for their STATUS registers (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Implement + WD2797 emulation (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Centralise the + "Disk icon" update code to the FDD layer (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix disk image + corruption after saving UDI files (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Check ready + status after loading a disk into floppy disk drive + (thanks, John Elliott) (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix overlapped + SEEK commands (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix length of + data returned by READ_DIAG (thanks, Fredrick Meunier) + (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix writing + .td0 format disk files (Sergio Baldoví).<br> + </font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix speech in Cobra's Arc - Medium Case.tzx when loaded with tape traps enabled (thanks, zx81 and Sergio Baldoví) (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Migrate disk - "index event" handling to the FDD layer and have the FDC - layer use it for their STATUS registers (Gergely Szasz).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Skip tape traps + if VERIFY is requested (UB880D).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Fix loading + sound with some custom loaders (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Check if data + blocks are headers for handling PZX files (Fredrick + Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Correct display + of pulses in PZX pulse block for tape browser (Fredrick + Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Set AF, AF' and SP to 0xffff on reset (Stuart Brady).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Leave most @@ -59,36 +93,12 @@ and CMOS Z80 variants (Stuart Brady).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Switch to 2KB page size (Stuart Brady).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Implement - WD2797 emulation (Gergely Szasz).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Skip tape traps - if VERIFY is requested (UB880D).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix inaccurate output when AY envelopes are used (Matthew Westcott and Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Fix some peripherals activation when loading snapshots (Sergio Baldoví).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix loading - sound with some custom loaders (Fredrick Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Centralise the - "Disk icon" update code to the FDD layer (Gergely Szasz).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Check if data - blocks are headers for handling PZX files (Fredrick - Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Correct display - of pulses in PZX pulse block for tape browser (Fredrick - Meunier).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix disk image - corruption after saving UDI files (Sergio Baldoví).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Check ready - status after loading a disk into floppy disk drive - (thanks, John Elliott) (Sergio Baldoví).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix overlapped - SEEK commands (Sergio Baldoví).</font></li> - <li><font face="Lucida Grande,Helvetica,Arial">Fix length of - data returned by READ_DIAG (thanks, Fredrick Meunier) - (Sergio Baldoví).</font></li> </ul> <br> </li> @@ -96,10 +106,11 @@ improvements:</font></li> <li style="list-style: none outside none;"> <ul> - <li><font face="Lucida Grande,Helvetica,Arial">The Timex SCLD - is contended in all of the home, Dock and EXROM banks in - the 0x4000 - 0x7FFF range (thanks, rga24 from WoS) - (Fredrick Meunier).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">The address + range 0x4000 - 0x7FFF is contended on the TS2068 in + the home, Dock and Exrom banks (thanks, Richard + Atkinson). It is assumed that this is the same for other + Timex models (Fredrick Meunier).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Clear all Opus RAM on hard reset (Stuart Brady).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Ensure the ZX @@ -164,6 +175,15 @@ (Sergio Baldoví).</font></li> <li><font face="Lucida Grande,Helvetica,Arial">Allow debugger to dereference memory locations (Philip Kendall).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Allow strings + with escaped spaces in the debugger (Sergio Baldoví).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Make wildcard + event breakpoints work (thanks, Sergio Baldoví) (Philip + Kendall).</font></li> + <li><font face="Lucida Grande,Helvetica,Arial">Protect divide + expression from a divide by zero exception (Fredrick + Meunier).<br> + </font></li> </ul> <br> </li> Modified: trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html =================================================================== --- trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html 2016-06-06 13:23:36 UTC (rev 806) +++ trunk/fuse/fusepb/resources/Fuse Help/html/monitor.html 2016-06-07 12:51:52 UTC (rev 807) @@ -2,7 +2,7 @@ <html> <head> <meta http-equiv="content-type" content="text/html; - charset=ISO-8859-1"> + charset=windows-1252"> <!-- AppleSegStart="Monitor/Debugger" --> <title>Monitor/Debugger</title> </head> @@ -12,395 +12,262 @@ <div class="refsect1" xml:lang="en" lang="en"> <h2><font face="Lucida Grande,Helvetica,Arial">Monitor/Debugger</font></h2> </div> - <p> - <font face="Lucida Grande,Helvetica,Arial">Fuse features a - moderately - powerful, completely transparent - monitor/debugger, which can be activated via the - <span class="emphasis"><em>Machine, Debugger...</em></span> menu - option. A debugger window will appear, showing the current state - of - the emulated machine: the top-left `pane' shows the current - state - of the Z80 and the last bytes written to any emulated - peripherals. - The bottom-left pane lists any active breakpoints. Moving right, - the next pane shows a disassembly, which by default starts at - the current program counter, although this can be modified - either by - the `disassemble' command (see below) or by dragging the - scrollbar next - to it. The next pane shows the current stack, and the next pane - has any - `events' which are due to occur and could affect emulation. - Below the - events pane is the Spectrum's 64K memory map (the - <span class="emphasis"><em>W?</em></span> and - <span class="emphasis"><em>C?</em></span> indicate whether each - displayed chunk is writable or contended respectively). - Fuse tracks the memory mapping of the overall address space in 2KB chunks but - will summarise the mapped pages where they are part of the same page of the - underlying memory source (e.g. 8KB page sizes in the Spectrum 128K and 4KB - pages in the Timex clones' DOCK and EXROM banks). - Below the displays are an entry box for debugger commands, and five buttons - for controlling the debugger:</font></p> - <p> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Evaluate</em></font></span> - <font face="Lucida Grande,Helvetica,Arial">Evaluate the command - currently in the entry - box.</font></p> - <p> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Single - Step</em></font></span> - <font face="Lucida Grande,Helvetica,Arial">Run precisely one Z80 - opcode - and then stop emulation - again.</font></p> - <p> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Continue</em></font></span> - <font face="Lucida Grande,Helvetica,Arial">Restart emulation, but - leave - the debugger window open. Note that - the debugger window will not be updated while emulation is - running.</font></p> - <p> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Break</em></font></span> - <font face="Lucida Grande,Helvetica,Arial">Stop emulation and - return to - the - debugger.</font></p> - <p> - <span class="emphasis"><font face="Lucida Grande,Helvetica,Arial"><em>Close</em></font></span> - <font face="Lucida Grande,Helvetica,Arial">Close the debugger - window - and restart - emulation.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">Double-clicking on an - entry - in the stack pane will cause emulation - to run until the program counter reaches the value stored at - that - address, while double-clicking on an entry in the `events' pane - will cause emulation to run until that time is - reached.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">The main power of the - debugger is via the commands entered into the - entry box, which are similar in nature (but definitely not - identical to or as powerful as) to those in the - <em><span class="citerefentry">gdb</span></em> debugger. In - general, the debugger is case-insensitive, and numbers will be - interpreted as decimal, unless prefixed by either - `<span class="emphasis"><em>0x</em></span>' or - `<span class="emphasis"><em>$</em></span>' when they will be + <p> <font face="Lucida Grande,Helvetica,Arial">Fuse features a + moderately powerful, completely transparent monitor/debugger, + which can be activated via the <span class="emphasis"><em>Machine, + Debugger...</em></span> menu option. A debugger window will + appear, showing the current state of the emulated machine: the + top-left `pane' shows the current state of the Z80 and the last + bytes written to any emulated peripherals. The bottom-left pane + lists any active breakpoints. Moving right, the next pane shows + a disassembly, which by default starts at the current program + counter, although this can be modified either by the + `disassemble' command (see below) or by dragging the scrollbar + next to it. The next pane shows the current stack, and the next + pane has any `events' which are due to occur and could affect + emulation. Below the events pane is the Spectrum's 64K memory + map (the <span class="emphasis"><em>W?</em></span> and <span + class="emphasis"><em>C?</em></span> indicate whether each + displayed chunk is writable or contended respectively). Fuse + tracks the memory mapping of the overall address space in 2KB + chunks but will summarise the mapped pages where they are part + of the same page of the underlying memory source (e.g. 8KB page + sizes in the Spectrum 128K and 4KB pages in the Timex clones' + DOCK and EXROM banks). Below the displays are an entry box for + debugger commands, and five buttons for controlling the + debugger:</font></p> + <p> <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Evaluate</em></font></span> <font + face="Lucida Grande,Helvetica,Arial">Evaluate the command + currently in the entry box.</font></p> + <p> <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Single Step</em></font></span> <font + face="Lucida Grande,Helvetica,Arial">Run precisely one Z80 + opcode and then stop emulation again.</font></p> + <p> <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Continue</em></font></span> <font + face="Lucida Grande,Helvetica,Arial">Restart emulation, but + leave the debugger window open. Note that the debugger window + will not be updated while emulation is running.</font></p> + <p> <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Break</em></font></span> <font + face="Lucida Grande,Helvetica,Arial">Stop emulation and return + to the debugger.</font></p> + <p> <span class="emphasis"><font face="Lucida + Grande,Helvetica,Arial"><em>Close</em></font></span> <font + face="Lucida Grande,Helvetica,Arial">Close the debugger window + and restart emulation.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">Double-clicking on + an entry in the stack pane will cause emulation to run until the + program counter reaches the value stored at that address, while + double-clicking on an entry in the `events' pane will cause + emulation to run until that time is reached.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">The main power of + the debugger is via the commands entered into the entry box, + which are similar in nature (but definitely not identical to or + as powerful as) to those in the <em><span class="citerefentry">gdb</span></em> + debugger. In general, the debugger is case-insensitive, and + numbers will be interpreted as decimal, unless prefixed by + either `<span class="emphasis"><em>0x</em></span>' or `<span + class="emphasis"><em>$</em></span>' when they will be interpreted as hex. Each command can be abbreviated to the - portion - not in curly - braces.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">ba{se} <span - class="emphasis"><em>number</em></span> Change the - debugger window to displaying output in base - <span class="emphasis"><em>number</em></span>. Available values - are - 10 (decimal) or 16 - (hex).</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} [<span - class="emphasis"><em>address</em></span>] - [if <span class="emphasis"><em>condition</em></span>] Set a - breakpoint + portion not in curly braces.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">ba{se} <span + class="emphasis"><em>number</em></span> Change the debugger + window to displaying output in base <span class="emphasis"><em>number</em></span>. + Available values are 10 (decimal) or 16 (hex).</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} [<span + class="emphasis"><em>address</em></span>] [if <span + class="emphasis"><em>condition</em></span>] Set a breakpoint to stop emulation and return to the debugger whenever an opcode - is - executed at <span class="emphasis"><em>address</em></span> and - <span class="emphasis"><em>condition</em></span> evaluates true. - If - <span class="emphasis"><em>address</em></span> is omitted, it - defaults to the current value of - PC.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} p{ort} - (r{ead}|w{rite}) - <span class="emphasis"><em>port</em></span> + is executed at <span class="emphasis"><em>address</em></span> + and <span class="emphasis"><em>condition</em></span> evaluates + true. If <span class="emphasis"><em>address</em></span> is + omitted, it defaults to the current value of PC.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} p{ort} + (r{ead}|w{rite}) <span class="emphasis"><em>port</em></span> [if <span class="emphasis"><em>condition</em></span>] Set a - breakpoint - to trigger whenever IO port - <span class="emphasis"><em>port</em></span> is read from or - written - to and <span class="emphasis"><em>condition</em></span> - evaluates - true.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} - (r{ead}|w{rite}) - [<span class="emphasis"><em>address</em></span>] + breakpoint to trigger whenever IO port <span class="emphasis"><em>port</em></span> + is read from or written to and <span class="emphasis"><em>condition</em></span> + evaluates true.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} + (r{ead}|w{rite}) [<span class="emphasis"><em>address</em></span>] [if <span class="emphasis"><em>condition</em></span>] Set a - breakpoint - to trigger whenever memory location - <span class="emphasis"><em>address</em></span> is read from - (other - than via an opcode fetch) or written to and - <span class="emphasis"><em>condition</em></span> evaluates true. - <span class="emphasis"><em>Address</em></span> again defaults to - the current value of PC if - omitted.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} ti{me} <span - class="emphasis"><em>time</em></span> - [if <span class="emphasis"><em>condition</em></span>] Set a - breakpoint + breakpoint to trigger whenever memory location <span + class="emphasis"><em>address</em></span> is read from (other + than via an opcode fetch) or written to and <span + class="emphasis"><em>condition</em></span> evaluates true. <span + class="emphasis"><em>Address</em></span> again defaults to the + current value of PC if omitted.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">br{eakpoint} ti{me} + <span class="emphasis"><em>time</em></span> [if <span + class="emphasis"><em>condition</em></span>] Set a breakpoint to occur <span class="emphasis"><em>time</em></span> tstates - after - the start of every frame, assuming - <span class="emphasis"><em>condition</em></span> evaluates true - (if - one is - given).</font></p> + after the start of every frame, assuming <span class="emphasis"><em>condition</em></span> + evaluates true (if one is given).</font></p> <p><font face="Lucida Grande,Helvetica,Arial">br{eakpoint} ev{ent} <span class="emphasis"><em>area</em></span>:<span class="emphasis"><em>detail</em></span> [if <span class="emphasis"><em>condition</em></span>] Set a - breakpoint - to occur when the event specified by <span class="emphasis"><em>area</em></span> - <span class="emphasis"><em>detail</em></span> occurs and <span - class="emphasis"><em>condition</em></span> evaluates to true. - The - events which can be caught are:</font></p> + breakpoint to occur when the event specified by <span + class="emphasis"><em>area</em></span> <span class="emphasis"><em>detail</em></span> + occurs and <span class="emphasis"><em>condition</em></span> + evaluates to true. The events which can be caught are:</font></p> <p style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">divide:page - <br> + Grande,Helvetica,Arial">divide:page <br> divide:unpage</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">The - DivIDE - interface is paged - into or out of memory respectively</font></p> + Grande,Helvetica,Arial">The DivIDE interface is paged into or + out of memory respectively</font></p> <p style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">if1:page - <br> + Grande,Helvetica,Arial">if1:page <br> if1:unpage</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">The - Interface - 1 shadow ROM is - paged into or out of memory</font></p> + Grande,Helvetica,Arial">The Interface 1 shadow ROM is paged into + or out of memory</font></p> <p style="margin-left: 40px;"><font face="Lucida Grande,Helvetica,Arial">rzx:end</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">An - RZX - recording finishes - playing</font></p> + Grande,Helvetica,Arial">An RZX recording finishes playing</font></p> <p style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">tape:play - <br> + Grande,Helvetica,Arial">tape:play <br> tape:stop</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">The - emulated - tape starts or - stops playing</font></p> + Grande,Helvetica,Arial">The emulated tape starts or stops + playing</font></p> <p style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">zxcf:page - <br> + Grande,Helvetica,Arial">zxcf:page <br> zxcf:unpage</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">The - ZXCF - interface is paged - into or out of memory</font></p> + Grande,Helvetica,Arial">The ZXCF interface is paged into or out + of memory</font></p> <p style="margin-left: 40px;"><font face="Lucida - Grande,Helvetica,Arial">zxatasp:page - <br> + Grande,Helvetica,Arial">zxatasp:page <br> zxatasp:unpage</font></p> <p style="margin-left: 80px;"><font face="Lucida - Grande,Helvetica,Arial">The - ZXATASP - interface is paged - into or out of memory</font></p> - <p><font face="Lucida Grande,Helvetica,Arial">In all cases, - the event can be specified as <i>area</i>:* to catch all - events from that area.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">cl{ear} [<span + Grande,Helvetica,Arial">The ZXATASP interface is paged into or + out of memory</font></p> + <p><font face="Lucida Grande,Helvetica,Arial">In all cases, the + event can be specified as <i>area</i>:* to catch all events + from that area.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">cl{ear} [<span class="emphasis"><em>address</em></span>] Remove all breakpoints at <span class="emphasis"><em>address</em></span> - or - the current value of PC if - <span class="emphasis"><em>address</em></span> is omitted. Port - read/write breakpoints are - unaffected.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">cond{ition} <span - class="emphasis"><em>id</em></span> - [<span class="emphasis"><em>condition</em></span>] Set - breakpoint - <span class="emphasis"><em>id</em></span> to trigger only when - <span class="emphasis"><em>condition</em></span> is true, or - unconditionally if <span class="emphasis"><em>condition</em></span> - is - omitted.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">co{ntinue} Equivalent - to the - <span class="emphasis"><em>Continue</em></span> + or the current value of PC if <span class="emphasis"><em>address</em></span> + is omitted. Port read/write breakpoints are unaffected.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">cond{ition} <span + class="emphasis"><em>id</em></span> [<span class="emphasis"><em>condition</em></span>] + Set breakpoint <span class="emphasis"><em>id</em></span> to + trigger only when <span class="emphasis"><em>condition</em></span> + is true, or unconditionally if <span class="emphasis"><em>condition</em></span> + is omitted.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">co{ntinue} + Equivalent to the <span class="emphasis"><em>Continue</em></span> button.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">del{ete} [<span - class="emphasis"><em>id</em></span>] Remove - breakpoint <span class="emphasis"><em>id</em></span>, or all - breakpoints if <span class="emphasis"><em>id</em></span> is - omitted.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">di{sassemble} <span - class="emphasis"><em>address</em></span> Set - the centre panel disassembly to begin at - <span class="emphasis"><em>address</em></span>.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">fi{nish} Exit from the - current CALL or equivalent. This isn't - infallible: it works by setting a temporary breakpoint at the - current contents of the stack pointer, so will not function - correctly if the code returns to some other point or plays with - its - stack in other ways. Also, setting this breakpoint doesn't - disable - other breakpoints, which may trigger before this one. In that - case, + <p> <font face="Lucida Grande,Helvetica,Arial">del{ete} [<span + class="emphasis"><em>id</em></span>] Remove breakpoint <span + class="emphasis"><em>id</em></span>, or all breakpoints if <span + class="emphasis"><em>id</em></span> is omitted.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">di{sassemble} <span + class="emphasis"><em>address</em></span> Set the centre panel + disassembly to begin at <span class="emphasis"><em>address</em></span>.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">fi{nish} Exit from + the current CALL or equivalent. This isn't infallible: it works + by setting a temporary breakpoint at the current contents of the + stack pointer, so will not function correctly if the code + returns to some other point or plays with its stack in other + ways. Also, setting this breakpoint doesn't disable other + breakpoints, which may trigger before this one. In that case, the temporary breakpoint remains, and the `continue' command can - be - used to return to - it.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">i{gnore} <span - class="emphasis"><em>id count</em></span> Do not - trigger the next <span class="emphasis"><em>count</em></span> - times - that breakpoint <span class="emphasis"><em>id</em></span> would - have + be used to return to it.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">i{gnore} <span + class="emphasis"><em>id count</em></span> Do not trigger the + next <span class="emphasis"><em>count</em></span> times that + breakpoint <span class="emphasis"><em>id</em></span> would have triggered.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">n{ext} Step to the - opcode - following the current one. As with the - `finish' command, this works by setting a temporary breakpoint - at - the next opcode, so is not - infalliable.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">o{ut} <span - class="emphasis"><em>port - value</em></span> Write - <span class="emphasis"><em>value</em></span> to IO port - <span class="emphasis"><em>port</em></span>.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">se{t} <span - class="emphasis"><em>address - value</em></span> Poke - <span class="emphasis"><em>value</em></span> into memory at - <span class="emphasis"><em>address</em></span>.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">se{t} <span - class="emphasis"><em>register - value</em></span> Set the - value of the Z80 register - <span class="emphasis"><em>register</em></span> to - <span class="emphasis"><em>value</em></span>.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">se{t} <span + <p> <font face="Lucida Grande,Helvetica,Arial">n{ext} Step to the + opcode following the current one. As with the `finish' command, + this works by setting a temporary breakpoint at the next opcode, + so is not infalliable.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">o{ut} <span + class="emphasis"><em>port value</em></span> Write <span + class="emphasis"><em>value</em></span> to IO port <span + class="emphasis"><em>port</em></span>.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">se{t} <span + class="emphasis"><em>address value</em></span> Poke <span + class="emphasis"><em>value</em></span> into memory at <span + class="emphasis"><em>address</em></span>.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">se{t} <span + class="emphasis"><em>register value</em></span> Set the value + of the Z80 register <span class="emphasis"><em>register</em></span> + to <span class="emphasis"><em>value</em></span>.</font></p> + <p> <font face="Lucida Grande,Helvetica,Arial">se{t} <span style="font-style: italic;">mode</span><span class="emphasis"><em> value</em></span> Set the interrupt mode or interrupt flip flops (im, iff1 or iff2)</font><font face="Lucida - Grande,Helvetica,Arial"> to - <span class="emphasis"><em>value</em></span>.</font><font + Grande,Helvetica,Arial"> to <span class="emphasis"><em>value</em></span>.</font><font face="Lucida Grande,Helvetica,Arial"> If the im mode is not 0, 1 or 2 it will be ignored, while non-zero iff values will be converted to one.</font></p> <p><font face="Lucida Grande,Helvetica,Arial">se{t} <span - class="emphasis"><em>$variable - value</em></span> Set the value of the debugger variable - <span class="emphasis"><em>variable</em></span> to <span - class="emphasis"><em>value</em></span>.</font></p> + class="emphasis"><em>$variable value</em></span> Set the value + of the debugger variable <span class="emphasis"><em>variable</em></span> + to <span class="emphasis"><em>value</em></span>.</font></p> <p><font face="Lucida Grande,Helvetica,Arial">s{tep} Equivalent to - the <span class="emphasis"><em>Single - Step</em></span> - button.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">t{breakpoint} [<span - class="emphasis"><em>options</em></span>] This - is the same as the `breakpoint' command in its various forms, - except that the breakpoint is temporary: it will trigger once - and - once only, and then be - removed.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">Addresses can be - specified - in one of two forms: either an absolute - addresses, specifed by an integer in the range 0x0000 to 0xFFFF - or - as a - `<span class="emphasis"><em>source</em></span>:<span class="emphasis"><em>page</em></span>:<span - class="emphasis"> - <em>offset</em></span> ' combination, which refers to a - location - <span class="emphasis"><em>offset</em></span> bytes into the - memory bank <span class="emphasis"><em>page</em></span>, - independent - of where that bank is currently paged into memory. RAM - and ROM pages are indicated, respectively, by - `<span style="font-style: italic;">RAM</span>' - and - `<span style="font-style: italic;">ROM</span>' - sources (e.g. offset 0x1234 in ROM 1 is specified as - `<span style="font-style: italic;">ROM:1:0x1234</span>'). - Other available sources are: - `<span style="font-style: italic;">Betadisk</span>', - `<span style="font-style: italic;">"Didaktik RAM"</span>', - `<span style="font-style: italic;">"Didaktik ROM"</span>', - `<span style="font-style: italic;">"DISCiPLE RAM"</span>', - `<span style="font-style: italic;">"DISCiPLE ROM"</span>', - `<span style="font-style: italic;">"DivIDE EPROM"</span>', - `<span style="font-style: italic;">"DivIDE RAM"</span>', - `<span style="font-style: italic;">If1</span>', - `<span style="font-style: italic;">If2</span>', - `<span style="font-style: italic;">"Opus RAM"</span>', - `<span style="font-style: italic;">"Opus ROM"</span>', - `<span style="font-style: italic;">PlusD</span>', - `<span style="font-style: italic;">SpeccyBoot</span>', - `<span style="font-style: italic;">Spectranet</span>', - `<span style="font-style: italic;">"Timex Dock"</span>', - `<span style="font-style: italic;">"Timex EXROM"</span>', - `<span style="font-style: italic;">ZXATASP</span>' - and - `<span style="font-style: italic;">ZXCF</span>'. - The 48K machines are treated as having a permanent - mapping of page 5 at 0x4000, page 2 - at 0x8000 and page 0 at 0xC000; the 16K Spectrum is treated as - having - page 5 at 0x4000 and no page at 0x8000 and 0xC000.</font></p> - <p> - <font face="Lucida Grande,Helvetica,Arial">Anywhere the debugger - is - expecting a numeric value, except where it - expects a breakpoint id, you can instead use a numeric - expression, - which uses a restricted version of C's syntax; exactly the same - syntax is used for conditional breakpoints, with `0' being false - and any other value being true. In numeric expressions, you can - use + the <span class... [truncated message content] |