From 66d4bb423e981aece8c5590eb2a5968a5d874c9f Mon Sep 17 00:00:00 2001 From: Ian C Date: Fri, 20 Aug 2021 18:55:01 +0000 Subject: Removed non-compiling bits and added CPM zexall --- Makefile | 2096 +--------------------------------------------------------- gemma.c | 1018 ---------------------------- gemma.glade | 422 ------------ gemma.gladep | 11 - gemma.h | 56 -- gtkutil.c | 220 ------ gtkutil.h | 66 -- runall | 4 +- zexall.com | Bin 0 -> 8587 bytes zexall.z80 | 1535 ------------------------------------------ zexdoc.z80 | 1535 ------------------------------------------ 11 files changed, 7 insertions(+), 6956 deletions(-) delete mode 100644 gemma.c delete mode 100644 gemma.glade delete mode 100644 gemma.gladep delete mode 100644 gemma.h delete mode 100644 gtkutil.c delete mode 100644 gtkutil.h create mode 100644 zexall.com delete mode 100644 zexall.z80 delete mode 100644 zexdoc.z80 diff --git a/Makefile b/Makefile index 9af7178..b7f283b 100644 --- a/Makefile +++ b/Makefile @@ -34,16 +34,9 @@ CFLAGS = -g -w -Wsequence-point -O2 -finline-functions # Decide on what to build. Options are: # emma - Simple 'breadboard' computer. -# gemma - Simple 'breadboard' computer with a GUI. -# test - Tests built from source using tpasm. +# test - Test support # -TARGETS = emma -TARGETS += gemma -TARGETS += tests - -# If you're building GEMMA, you need this. -# -CFLAGS += `pkg-config --cflags gtk+-2.0` +TARGETS = emma test # Remove the following to disable the use of readline in EMMA # @@ -65,9 +58,7 @@ SOURCE = z80.c \ main.c \ support.c \ callbacks.c \ - interface.c \ - gtkutil.c \ - gemma.c + interface.c BASE_O = z80.o \ z80_decode.o \ @@ -76,2092 +67,15 @@ BASE_O = z80.o \ EMMA_O = emma.o -GEMMA_O = main.o \ - support.o \ - callbacks.o \ - interface.o \ - gtkutil.o \ - gemma.o - all: $(TARGETS) emma: $(BASE_O) $(EMMA_O) cc -o emma $(BASE_O) $(EMMA_O) $(LIBS) -gemma: $(BASE_O) $(GEMMA_O) - cc -o gemma $(BASE_O) $(GEMMA_O) `pkg-config --libs gtk+-2.0` - -tests: emucpm.hex zexdoc.hex zexall.hex test.hex +test: emucpm.hex emucpm.hex: emucpm.z80 tpasm -P Z80 -o intel emucpm.hex emucpm.z80 -zexdoc.hex: zexdoc.z80 - tpasm -P Z80 -o text _tmp -o intel zexdoc.hex zexdoc.z80 - tail +4 _tmp | awk '{printf("%s 0x%s\n",$$2,$$1);}' > zexdoc.lbl - rm -f _tmp - -zexall.hex: zexall.z80 - tpasm -P Z80 -o text _tmp -o intel zexall.hex zexall.z80 - tail +4 _tmp | awk '{printf("%s 0x%s\n",$$2,$$1);}' > zexall.lbl - rm -f _tmp - -test.hex: test.z80 - tpasm -P Z80 -o intel test.hex test.z80 - -test.z80: - if [ ! -e test.z80 ] ; then touch test.z80 ; fi - clean: - rm -f emma gemma $(BASE_O) $(EMMA_O) $(GEMMA_O) core *.hex *.lbl - -depend: - makedepend -- $(CFLAGS) -- $(SOURCE) - if test -e Makefile ; then rm -f Makefile.bak ; fi - -# DO NOT DELETE THIS LINE -- make depend depends on it - -z80.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h -z80.o: /usr/include/sys/_null.h /usr/include/sys/_types.h -z80.o: /usr/include/machine/_types.h /usr/include/string.h -z80.o: /usr/include/strings.h z80.h z80_private.h -z80_decode.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h -z80_decode.o: /usr/include/sys/_null.h /usr/include/sys/_types.h -z80_decode.o: /usr/include/machine/_types.h /usr/include/limits.h -z80_decode.o: /usr/include/sys/limits.h /usr/include/machine/_limits.h -z80_decode.o: /usr/include/sys/syslimits.h z80.h z80_private.h -z80_dis.o: /usr/include/stdio.h /usr/include/sys/cdefs.h -z80_dis.o: /usr/include/sys/_null.h /usr/include/sys/_types.h -z80_dis.o: /usr/include/machine/_types.h /usr/include/string.h -z80_dis.o: /usr/include/strings.h /usr/include/stdarg.h z80.h z80_private.h -expr.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h -expr.o: /usr/include/sys/_null.h /usr/include/sys/_types.h -expr.o: /usr/include/machine/_types.h /usr/include/stdio.h -expr.o: /usr/include/string.h /usr/include/strings.h /usr/include/ctype.h -expr.o: /usr/include/_ctype.h /usr/include/runetype.h -emma.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h -emma.o: /usr/include/sys/_null.h /usr/include/sys/_types.h -emma.o: /usr/include/machine/_types.h /usr/include/stdio.h -emma.o: /usr/include/string.h /usr/include/strings.h /usr/include/ctype.h -emma.o: /usr/include/_ctype.h /usr/include/runetype.h /usr/include/signal.h -emma.o: /usr/include/sys/signal.h /usr/include/sys/_sigset.h -emma.o: /usr/include/machine/signal.h /usr/include/machine/trap.h -emma.o: /usr/include/stdarg.h /usr/include/readline/readline.h -emma.o: /usr/include/readline/rlstdc.h /usr/include/readline/rltypedefs.h -emma.o: /usr/include/readline/keymaps.h /usr/include/readline/chardefs.h -emma.o: /usr/include/readline/tilde.h /usr/include/readline/history.h -emma.o: /usr/include/time.h /usr/include/sys/timespec.h z80.h expr.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtk.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdk.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcairo.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcolor.h -main.o: /usr/local/include/cairo/cairo.h -main.o: /usr/local/include/cairo/cairo-features.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdktypes.h -main.o: /usr/local/include/glib-2.0/glib.h -main.o: /usr/local/include/glib-2.0/glib/galloca.h -main.o: /usr/local/include/glib-2.0/glib/gtypes.h -main.o: /usr/local/include/glib-2.0/glibconfig.h -main.o: /usr/local/include/glib-2.0/glib/gmacros.h /usr/include/stddef.h -main.o: /usr/include/sys/cdefs.h /usr/include/sys/_null.h -main.o: /usr/include/sys/_types.h /usr/include/machine/_types.h -main.o: /usr/include/limits.h /usr/include/sys/limits.h -main.o: /usr/include/machine/_limits.h /usr/include/sys/syslimits.h -main.o: /usr/include/float.h /usr/local/include/glib-2.0/glib/garray.h -main.o: /usr/local/include/glib-2.0/glib/gasyncqueue.h -main.o: /usr/local/include/glib-2.0/glib/gthread.h -main.o: /usr/local/include/glib-2.0/glib/gerror.h -main.o: /usr/local/include/glib-2.0/glib/gquark.h -main.o: /usr/local/include/glib-2.0/glib/gatomic.h -main.o: /usr/local/include/glib-2.0/glib/gbacktrace.h -main.o: /usr/local/include/glib-2.0/glib/gcache.h -main.o: /usr/local/include/glib-2.0/glib/glist.h -main.o: /usr/local/include/glib-2.0/glib/gmem.h -main.o: /usr/local/include/glib-2.0/glib/gslice.h -main.o: /usr/local/include/glib-2.0/glib/gcompletion.h -main.o: /usr/local/include/glib-2.0/glib/gconvert.h -main.o: /usr/local/include/glib-2.0/glib/gdataset.h -main.o: /usr/local/include/glib-2.0/glib/gdate.h /usr/include/time.h -main.o: /usr/include/sys/timespec.h /usr/local/include/glib-2.0/glib/gdir.h -main.o: /usr/local/include/glib-2.0/glib/gfileutils.h -main.o: /usr/local/include/glib-2.0/glib/ghash.h -main.o: /usr/local/include/glib-2.0/glib/ghook.h -main.o: /usr/local/include/glib-2.0/glib/giochannel.h -main.o: /usr/local/include/glib-2.0/glib/gmain.h -main.o: /usr/local/include/glib-2.0/glib/gslist.h -main.o: /usr/local/include/glib-2.0/glib/gstring.h -main.o: /usr/local/include/glib-2.0/glib/gunicode.h -main.o: /usr/local/include/glib-2.0/glib/gutils.h /usr/include/stdarg.h -main.o: /usr/local/include/glib-2.0/glib/gkeyfile.h -main.o: /usr/local/include/glib-2.0/glib/gmappedfile.h -main.o: /usr/local/include/glib-2.0/glib/gmarkup.h -main.o: /usr/local/include/glib-2.0/glib/gmessages.h -main.o: /usr/local/include/glib-2.0/glib/gnode.h -main.o: /usr/local/include/glib-2.0/glib/goption.h -main.o: /usr/local/include/glib-2.0/glib/gpattern.h -main.o: /usr/local/include/glib-2.0/glib/gprimes.h -main.o: /usr/local/include/glib-2.0/glib/gqsort.h -main.o: /usr/local/include/glib-2.0/glib/gqueue.h -main.o: /usr/local/include/glib-2.0/glib/grand.h -main.o: /usr/local/include/glib-2.0/glib/grel.h -main.o: /usr/local/include/glib-2.0/glib/gscanner.h -main.o: /usr/local/include/glib-2.0/glib/gshell.h -main.o: /usr/local/include/glib-2.0/glib/gspawn.h -main.o: /usr/local/include/glib-2.0/glib/gstrfuncs.h -main.o: /usr/local/include/glib-2.0/glib/gthreadpool.h -main.o: /usr/local/include/glib-2.0/glib/gtimer.h -main.o: /usr/local/include/glib-2.0/glib/gtree.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-attributes.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-font.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-coverage.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-types.h -main.o: /usr/local/include/glib-2.0/glib-object.h -main.o: /usr/local/include/glib-2.0/gobject/gboxed.h -main.o: /usr/local/include/glib-2.0/gobject/gtype.h -main.o: /usr/local/include/glib-2.0/gobject/genums.h -main.o: /usr/local/include/glib-2.0/gobject/gobject.h -main.o: /usr/local/include/glib-2.0/gobject/gvalue.h -main.o: /usr/local/include/glib-2.0/gobject/gparam.h -main.o: /usr/local/include/glib-2.0/gobject/gclosure.h -main.o: /usr/local/include/glib-2.0/gobject/gsignal.h -main.o: /usr/local/include/glib-2.0/gobject/gmarshal.h -main.o: /usr/local/include/glib-2.0/gobject/gparamspecs.h -main.o: /usr/local/include/glib-2.0/gobject/gsourceclosure.h -main.o: /usr/local/include/glib-2.0/gobject/gtypemodule.h -main.o: /usr/local/include/glib-2.0/gobject/gtypeplugin.h -main.o: /usr/local/include/glib-2.0/gobject/gvaluearray.h -main.o: /usr/local/include/glib-2.0/gobject/gvaluetypes.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-break.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-item.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-context.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-fontmap.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-fontset.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-engine.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-script.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-enum-types.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-layout.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph-item.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-tabs.h -main.o: /usr/X11R6/include/pango-1.0/pango/pango-renderer.h -main.o: /usr/X11R6/include/gtk-2.0/gdkconfig.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixbuf.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkrgb.h -main.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h -main.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h -main.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h -main.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h -main.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h -main.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h -main.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h -main.o: /usr/include/stdio.h /usr/local/include/glib-2.0/gmodule.h -main.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h -main.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h -main.o: /usr/X11R6/include/pango-1.0/pango/pangocairo.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcursor.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplay.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkevents.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdnd.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkinput.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdrawable.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkgc.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkenumtypes.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkfont.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkimage.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkkeys.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplaymanager.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpango.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixmap.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkproperty.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkregion.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkscreen.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkselection.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkspawn.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkvisual.h -main.o: /usr/X11R6/include/gtk-2.0/gdk/gdkwindow.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaboutdialog.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdialog.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwindow.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelgroup.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkenums.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbin.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcontainer.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwidget.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkobject.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypeutils.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypebuiltins.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdebug.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkadjustment.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstyle.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtksettings.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrc.h -main.o: /usr/local/include/atk-1.0/atk/atkobject.h -main.o: /usr/local/include/atk-1.0/atk/atkstate.h -main.o: /usr/local/include/atk-1.0/atk/atkrelationtype.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccellabel.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtklabel.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmisc.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenushell.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelmap.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccessible.h -main.o: /usr/local/include/atk-1.0/atk/atk.h -main.o: /usr/local/include/atk-1.0/atk/atkaction.h -main.o: /usr/local/include/atk-1.0/atk/atkcomponent.h -main.o: /usr/local/include/atk-1.0/atk/atkutil.h -main.o: /usr/local/include/atk-1.0/atk/atkdocument.h -main.o: /usr/local/include/atk-1.0/atk/atkeditabletext.h -main.o: /usr/local/include/atk-1.0/atk/atktext.h -main.o: /usr/local/include/atk-1.0/atk/atkgobjectaccessible.h -main.o: /usr/local/include/atk-1.0/atk/atkhyperlink.h -main.o: /usr/local/include/atk-1.0/atk/atkhypertext.h -main.o: /usr/local/include/atk-1.0/atk/atkimage.h -main.o: /usr/local/include/atk-1.0/atk/atknoopobject.h -main.o: /usr/local/include/atk-1.0/atk/atknoopobjectfactory.h -main.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -main.o: /usr/local/include/atk-1.0/atk/atkregistry.h -main.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -main.o: /usr/local/include/atk-1.0/atk/atkrelation.h -main.o: /usr/local/include/atk-1.0/atk/atkrelationset.h -main.o: /usr/local/include/atk-1.0/atk/atkselection.h -main.o: /usr/local/include/atk-1.0/atk/atkstateset.h -main.o: /usr/local/include/atk-1.0/atk/atkstreamablecontent.h -main.o: /usr/local/include/atk-1.0/atk/atktable.h -main.o: /usr/local/include/atk-1.0/atk/atkvalue.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaction.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkactiongroup.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitemfactory.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkalignment.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkarrow.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaspectframe.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkframe.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbbox.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbox.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbindings.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimage.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcalendar.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtksignal.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmarshal.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelllayout.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderer.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelleditable.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeviewcolumn.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodel.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreesortable.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderercombo.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertext.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererprogress.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertoggle.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellview.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktogglebutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckmenuitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenuitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclipboard.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkselection.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclist.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscrollbar.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrollbar.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrange.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscrollbar.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorsel.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbox.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorseldialog.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombo.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbox.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombobox.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeview.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdnd.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcomboboxentry.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkctree.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcurve.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdrawingarea.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeditable.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentry.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontext.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentrycompletion.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkliststore.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelfilter.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeventbox.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkexpander.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilesel.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfixed.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilefilter.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserdialog.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserwidget.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontsel.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgamma.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgc.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhandlebox.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbbox.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhpaned.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpaned.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhruler.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkruler.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscale.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscale.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhseparator.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparator.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconfactory.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkicontheme.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconview.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimagemenuitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontextsimple.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimmulticontext.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinputdialog.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinvisible.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtklayout.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtklist.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtklistitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmain.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenubar.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenutoolbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktooltips.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmessagedialog.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmodules.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtknotebook.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoldeditable.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoptionmenu.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpixmap.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkplug.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtksocket.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpreview.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogress.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogressbar.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradioaction.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggleaction.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiobutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiomenuitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiotoolbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrolledwindow.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkviewport.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatormenuitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatortoolitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtksizegroup.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkspinbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstatusbar.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstock.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktable.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktearoffmenuitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktext.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextbuffer.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttagtable.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttag.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextiter.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextchild.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextmark.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextview.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktipsquery.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbar.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktree.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreednd.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeitem.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelsort.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeselection.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreestore.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkuimanager.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbbox.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkversion.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvpaned.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvruler.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscale.h -main.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvseparator.h interface.h support.h -main.o: gtkutil.h gemma.h z80.h -support.o: /usr/include/sys/types.h /usr/include/sys/cdefs.h -support.o: /usr/include/machine/endian.h /usr/include/sys/_types.h -support.o: /usr/include/machine/_types.h /usr/include/sys/_pthreadtypes.h -support.o: /usr/include/sys/select.h /usr/include/sys/_sigset.h -support.o: /usr/include/sys/_timeval.h /usr/include/sys/timespec.h -support.o: /usr/include/sys/stat.h /usr/include/sys/time.h -support.o: /usr/include/time.h /usr/include/sys/_null.h /usr/include/unistd.h -support.o: /usr/include/sys/unistd.h /usr/include/string.h -support.o: /usr/include/strings.h /usr/include/stdio.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtk.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdk.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcairo.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcolor.h -support.o: /usr/local/include/cairo/cairo.h -support.o: /usr/local/include/cairo/cairo-features.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdktypes.h -support.o: /usr/local/include/glib-2.0/glib.h -support.o: /usr/local/include/glib-2.0/glib/galloca.h -support.o: /usr/local/include/glib-2.0/glib/gtypes.h -support.o: /usr/local/include/glib-2.0/glibconfig.h -support.o: /usr/local/include/glib-2.0/glib/gmacros.h /usr/include/stddef.h -support.o: /usr/include/limits.h /usr/include/sys/limits.h -support.o: /usr/include/machine/_limits.h /usr/include/sys/syslimits.h -support.o: /usr/include/float.h /usr/local/include/glib-2.0/glib/garray.h -support.o: /usr/local/include/glib-2.0/glib/gasyncqueue.h -support.o: /usr/local/include/glib-2.0/glib/gthread.h -support.o: /usr/local/include/glib-2.0/glib/gerror.h -support.o: /usr/local/include/glib-2.0/glib/gquark.h -support.o: /usr/local/include/glib-2.0/glib/gatomic.h -support.o: /usr/local/include/glib-2.0/glib/gbacktrace.h -support.o: /usr/local/include/glib-2.0/glib/gcache.h -support.o: /usr/local/include/glib-2.0/glib/glist.h -support.o: /usr/local/include/glib-2.0/glib/gmem.h -support.o: /usr/local/include/glib-2.0/glib/gslice.h -support.o: /usr/local/include/glib-2.0/glib/gcompletion.h -support.o: /usr/local/include/glib-2.0/glib/gconvert.h -support.o: /usr/local/include/glib-2.0/glib/gdataset.h -support.o: /usr/local/include/glib-2.0/glib/gdate.h -support.o: /usr/local/include/glib-2.0/glib/gdir.h -support.o: /usr/local/include/glib-2.0/glib/gfileutils.h -support.o: /usr/local/include/glib-2.0/glib/ghash.h -support.o: /usr/local/include/glib-2.0/glib/ghook.h -support.o: /usr/local/include/glib-2.0/glib/giochannel.h -support.o: /usr/local/include/glib-2.0/glib/gmain.h -support.o: /usr/local/include/glib-2.0/glib/gslist.h -support.o: /usr/local/include/glib-2.0/glib/gstring.h -support.o: /usr/local/include/glib-2.0/glib/gunicode.h -support.o: /usr/local/include/glib-2.0/glib/gutils.h /usr/include/stdarg.h -support.o: /usr/local/include/glib-2.0/glib/gkeyfile.h -support.o: /usr/local/include/glib-2.0/glib/gmappedfile.h -support.o: /usr/local/include/glib-2.0/glib/gmarkup.h -support.o: /usr/local/include/glib-2.0/glib/gmessages.h -support.o: /usr/local/include/glib-2.0/glib/gnode.h -support.o: /usr/local/include/glib-2.0/glib/goption.h -support.o: /usr/local/include/glib-2.0/glib/gpattern.h -support.o: /usr/local/include/glib-2.0/glib/gprimes.h -support.o: /usr/local/include/glib-2.0/glib/gqsort.h -support.o: /usr/local/include/glib-2.0/glib/gqueue.h -support.o: /usr/local/include/glib-2.0/glib/grand.h -support.o: /usr/local/include/glib-2.0/glib/grel.h -support.o: /usr/local/include/glib-2.0/glib/gscanner.h -support.o: /usr/local/include/glib-2.0/glib/gshell.h -support.o: /usr/local/include/glib-2.0/glib/gspawn.h -support.o: /usr/local/include/glib-2.0/glib/gstrfuncs.h -support.o: /usr/local/include/glib-2.0/glib/gthreadpool.h -support.o: /usr/local/include/glib-2.0/glib/gtimer.h -support.o: /usr/local/include/glib-2.0/glib/gtree.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-attributes.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-font.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-coverage.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-types.h -support.o: /usr/local/include/glib-2.0/glib-object.h -support.o: /usr/local/include/glib-2.0/gobject/gboxed.h -support.o: /usr/local/include/glib-2.0/gobject/gtype.h -support.o: /usr/local/include/glib-2.0/gobject/genums.h -support.o: /usr/local/include/glib-2.0/gobject/gobject.h -support.o: /usr/local/include/glib-2.0/gobject/gvalue.h -support.o: /usr/local/include/glib-2.0/gobject/gparam.h -support.o: /usr/local/include/glib-2.0/gobject/gclosure.h -support.o: /usr/local/include/glib-2.0/gobject/gsignal.h -support.o: /usr/local/include/glib-2.0/gobject/gmarshal.h -support.o: /usr/local/include/glib-2.0/gobject/gparamspecs.h -support.o: /usr/local/include/glib-2.0/gobject/gsourceclosure.h -support.o: /usr/local/include/glib-2.0/gobject/gtypemodule.h -support.o: /usr/local/include/glib-2.0/gobject/gtypeplugin.h -support.o: /usr/local/include/glib-2.0/gobject/gvaluearray.h -support.o: /usr/local/include/glib-2.0/gobject/gvaluetypes.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-break.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-item.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-context.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-fontmap.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-fontset.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-engine.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-script.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-enum-types.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-layout.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph-item.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-tabs.h -support.o: /usr/X11R6/include/pango-1.0/pango/pango-renderer.h -support.o: /usr/X11R6/include/gtk-2.0/gdkconfig.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixbuf.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkrgb.h -support.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h -support.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h -support.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h -support.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h -support.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h -support.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h -support.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h -support.o: /usr/local/include/glib-2.0/gmodule.h -support.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h -support.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h -support.o: /usr/X11R6/include/pango-1.0/pango/pangocairo.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcursor.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplay.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkevents.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdnd.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkinput.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdrawable.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkgc.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkenumtypes.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkfont.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkimage.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkkeys.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplaymanager.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpango.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixmap.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkproperty.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkregion.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkscreen.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkselection.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkspawn.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkvisual.h -support.o: /usr/X11R6/include/gtk-2.0/gdk/gdkwindow.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaboutdialog.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdialog.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwindow.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelgroup.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkenums.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbin.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcontainer.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwidget.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkobject.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypeutils.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypebuiltins.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdebug.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkadjustment.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstyle.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtksettings.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrc.h -support.o: /usr/local/include/atk-1.0/atk/atkobject.h -support.o: /usr/local/include/atk-1.0/atk/atkstate.h -support.o: /usr/local/include/atk-1.0/atk/atkrelationtype.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccellabel.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtklabel.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmisc.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenushell.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelmap.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccessible.h -support.o: /usr/local/include/atk-1.0/atk/atk.h -support.o: /usr/local/include/atk-1.0/atk/atkaction.h -support.o: /usr/local/include/atk-1.0/atk/atkcomponent.h -support.o: /usr/local/include/atk-1.0/atk/atkutil.h -support.o: /usr/local/include/atk-1.0/atk/atkdocument.h -support.o: /usr/local/include/atk-1.0/atk/atkeditabletext.h -support.o: /usr/local/include/atk-1.0/atk/atktext.h -support.o: /usr/local/include/atk-1.0/atk/atkgobjectaccessible.h -support.o: /usr/local/include/atk-1.0/atk/atkhyperlink.h -support.o: /usr/local/include/atk-1.0/atk/atkhypertext.h -support.o: /usr/local/include/atk-1.0/atk/atkimage.h -support.o: /usr/local/include/atk-1.0/atk/atknoopobject.h -support.o: /usr/local/include/atk-1.0/atk/atknoopobjectfactory.h -support.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -support.o: /usr/local/include/atk-1.0/atk/atkregistry.h -support.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -support.o: /usr/local/include/atk-1.0/atk/atkrelation.h -support.o: /usr/local/include/atk-1.0/atk/atkrelationset.h -support.o: /usr/local/include/atk-1.0/atk/atkselection.h -support.o: /usr/local/include/atk-1.0/atk/atkstateset.h -support.o: /usr/local/include/atk-1.0/atk/atkstreamablecontent.h -support.o: /usr/local/include/atk-1.0/atk/atktable.h -support.o: /usr/local/include/atk-1.0/atk/atkvalue.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaction.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkactiongroup.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitemfactory.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkalignment.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkarrow.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaspectframe.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkframe.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbbox.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbox.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbindings.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimage.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcalendar.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtksignal.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmarshal.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelllayout.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderer.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelleditable.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeviewcolumn.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodel.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreesortable.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderercombo.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertext.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererprogress.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertoggle.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellview.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktogglebutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckmenuitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenuitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclipboard.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkselection.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclist.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscrollbar.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrollbar.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrange.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscrollbar.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorsel.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbox.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorseldialog.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombo.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbox.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombobox.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeview.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdnd.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcomboboxentry.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkctree.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcurve.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdrawingarea.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeditable.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentry.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontext.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentrycompletion.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkliststore.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelfilter.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeventbox.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkexpander.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilesel.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfixed.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilefilter.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserdialog.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserwidget.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontsel.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgamma.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgc.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhandlebox.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbbox.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhpaned.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpaned.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhruler.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkruler.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscale.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscale.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhseparator.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparator.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconfactory.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkicontheme.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconview.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimagemenuitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontextsimple.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimmulticontext.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinputdialog.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinvisible.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtklayout.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtklist.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtklistitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmain.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenubar.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenutoolbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktooltips.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmessagedialog.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmodules.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtknotebook.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoldeditable.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoptionmenu.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpixmap.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkplug.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtksocket.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpreview.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogress.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogressbar.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradioaction.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggleaction.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiobutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiomenuitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiotoolbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrolledwindow.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkviewport.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatormenuitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatortoolitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtksizegroup.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkspinbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstatusbar.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstock.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktable.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktearoffmenuitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktext.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextbuffer.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttagtable.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttag.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextiter.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextchild.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextmark.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextview.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktipsquery.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbar.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktree.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreednd.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeitem.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelsort.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeselection.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreestore.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkuimanager.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbbox.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkversion.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvpaned.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvruler.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscale.h -support.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvseparator.h support.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtk.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdk.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcairo.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcolor.h -callbacks.o: /usr/local/include/cairo/cairo.h -callbacks.o: /usr/local/include/cairo/cairo-features.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdktypes.h -callbacks.o: /usr/local/include/glib-2.0/glib.h -callbacks.o: /usr/local/include/glib-2.0/glib/galloca.h -callbacks.o: /usr/local/include/glib-2.0/glib/gtypes.h -callbacks.o: /usr/local/include/glib-2.0/glibconfig.h -callbacks.o: /usr/local/include/glib-2.0/glib/gmacros.h /usr/include/stddef.h -callbacks.o: /usr/include/sys/cdefs.h /usr/include/sys/_null.h -callbacks.o: /usr/include/sys/_types.h /usr/include/machine/_types.h -callbacks.o: /usr/include/limits.h /usr/include/sys/limits.h -callbacks.o: /usr/include/machine/_limits.h /usr/include/sys/syslimits.h -callbacks.o: /usr/include/float.h /usr/local/include/glib-2.0/glib/garray.h -callbacks.o: /usr/local/include/glib-2.0/glib/gasyncqueue.h -callbacks.o: /usr/local/include/glib-2.0/glib/gthread.h -callbacks.o: /usr/local/include/glib-2.0/glib/gerror.h -callbacks.o: /usr/local/include/glib-2.0/glib/gquark.h -callbacks.o: /usr/local/include/glib-2.0/glib/gatomic.h -callbacks.o: /usr/local/include/glib-2.0/glib/gbacktrace.h -callbacks.o: /usr/local/include/glib-2.0/glib/gcache.h -callbacks.o: /usr/local/include/glib-2.0/glib/glist.h -callbacks.o: /usr/local/include/glib-2.0/glib/gmem.h -callbacks.o: /usr/local/include/glib-2.0/glib/gslice.h -callbacks.o: /usr/local/include/glib-2.0/glib/gcompletion.h -callbacks.o: /usr/local/include/glib-2.0/glib/gconvert.h -callbacks.o: /usr/local/include/glib-2.0/glib/gdataset.h -callbacks.o: /usr/local/include/glib-2.0/glib/gdate.h /usr/include/time.h -callbacks.o: /usr/include/sys/timespec.h -callbacks.o: /usr/local/include/glib-2.0/glib/gdir.h -callbacks.o: /usr/local/include/glib-2.0/glib/gfileutils.h -callbacks.o: /usr/local/include/glib-2.0/glib/ghash.h -callbacks.o: /usr/local/include/glib-2.0/glib/ghook.h -callbacks.o: /usr/local/include/glib-2.0/glib/giochannel.h -callbacks.o: /usr/local/include/glib-2.0/glib/gmain.h -callbacks.o: /usr/local/include/glib-2.0/glib/gslist.h -callbacks.o: /usr/local/include/glib-2.0/glib/gstring.h -callbacks.o: /usr/local/include/glib-2.0/glib/gunicode.h -callbacks.o: /usr/local/include/glib-2.0/glib/gutils.h /usr/include/stdarg.h -callbacks.o: /usr/local/include/glib-2.0/glib/gkeyfile.h -callbacks.o: /usr/local/include/glib-2.0/glib/gmappedfile.h -callbacks.o: /usr/local/include/glib-2.0/glib/gmarkup.h -callbacks.o: /usr/local/include/glib-2.0/glib/gmessages.h -callbacks.o: /usr/local/include/glib-2.0/glib/gnode.h -callbacks.o: /usr/local/include/glib-2.0/glib/goption.h -callbacks.o: /usr/local/include/glib-2.0/glib/gpattern.h -callbacks.o: /usr/local/include/glib-2.0/glib/gprimes.h -callbacks.o: /usr/local/include/glib-2.0/glib/gqsort.h -callbacks.o: /usr/local/include/glib-2.0/glib/gqueue.h -callbacks.o: /usr/local/include/glib-2.0/glib/grand.h -callbacks.o: /usr/local/include/glib-2.0/glib/grel.h -callbacks.o: /usr/local/include/glib-2.0/glib/gscanner.h -callbacks.o: /usr/local/include/glib-2.0/glib/gshell.h -callbacks.o: /usr/local/include/glib-2.0/glib/gspawn.h -callbacks.o: /usr/local/include/glib-2.0/glib/gstrfuncs.h -callbacks.o: /usr/local/include/glib-2.0/glib/gthreadpool.h -callbacks.o: /usr/local/include/glib-2.0/glib/gtimer.h -callbacks.o: /usr/local/include/glib-2.0/glib/gtree.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-attributes.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-font.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-coverage.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-types.h -callbacks.o: /usr/local/include/glib-2.0/glib-object.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gboxed.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gtype.h -callbacks.o: /usr/local/include/glib-2.0/gobject/genums.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gobject.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gvalue.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gparam.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gclosure.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gsignal.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gmarshal.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gparamspecs.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gsourceclosure.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gtypemodule.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gtypeplugin.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gvaluearray.h -callbacks.o: /usr/local/include/glib-2.0/gobject/gvaluetypes.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-break.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-item.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-context.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-fontmap.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-fontset.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-engine.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-script.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-enum-types.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-layout.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph-item.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-tabs.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pango-renderer.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdkconfig.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixbuf.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkrgb.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h -callbacks.o: /usr/include/stdio.h /usr/local/include/glib-2.0/gmodule.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h -callbacks.o: /usr/X11R6/include/pango-1.0/pango/pangocairo.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcursor.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplay.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkevents.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdnd.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkinput.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdrawable.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkgc.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkenumtypes.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkfont.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkimage.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkkeys.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplaymanager.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpango.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixmap.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkproperty.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkregion.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkscreen.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkselection.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkspawn.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkvisual.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gdk/gdkwindow.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaboutdialog.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdialog.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwindow.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelgroup.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkenums.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbin.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcontainer.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwidget.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkobject.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypeutils.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypebuiltins.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdebug.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkadjustment.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstyle.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtksettings.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrc.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkobject.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkstate.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkrelationtype.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccellabel.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtklabel.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmisc.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenushell.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelmap.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccessible.h -callbacks.o: /usr/local/include/atk-1.0/atk/atk.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkaction.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkcomponent.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkutil.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkdocument.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkeditabletext.h -callbacks.o: /usr/local/include/atk-1.0/atk/atktext.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkgobjectaccessible.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkhyperlink.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkhypertext.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkimage.h -callbacks.o: /usr/local/include/atk-1.0/atk/atknoopobject.h -callbacks.o: /usr/local/include/atk-1.0/atk/atknoopobjectfactory.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkregistry.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkrelation.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkrelationset.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkselection.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkstateset.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkstreamablecontent.h -callbacks.o: /usr/local/include/atk-1.0/atk/atktable.h -callbacks.o: /usr/local/include/atk-1.0/atk/atkvalue.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaction.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkactiongroup.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitemfactory.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkalignment.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkarrow.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaspectframe.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkframe.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbbox.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbox.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbindings.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimage.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcalendar.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtksignal.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmarshal.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelllayout.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderer.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelleditable.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeviewcolumn.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodel.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreesortable.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderercombo.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertext.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererprogress.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertoggle.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellview.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktogglebutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckmenuitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenuitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclipboard.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkselection.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclist.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscrollbar.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrollbar.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrange.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscrollbar.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorsel.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbox.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorseldialog.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombo.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbox.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombobox.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeview.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdnd.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcomboboxentry.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkctree.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcurve.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdrawingarea.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeditable.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentry.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontext.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentrycompletion.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkliststore.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelfilter.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeventbox.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkexpander.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilesel.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfixed.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilefilter.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserdialog.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserwidget.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontsel.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgamma.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgc.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhandlebox.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbbox.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhpaned.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpaned.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhruler.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkruler.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscale.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscale.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhseparator.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparator.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconfactory.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkicontheme.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconview.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimagemenuitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontextsimple.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimmulticontext.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinputdialog.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinvisible.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtklayout.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtklist.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtklistitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmain.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenubar.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenutoolbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktooltips.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmessagedialog.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmodules.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtknotebook.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoldeditable.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoptionmenu.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpixmap.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkplug.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtksocket.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpreview.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogress.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogressbar.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradioaction.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggleaction.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiobutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiomenuitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiotoolbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrolledwindow.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkviewport.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatormenuitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatortoolitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtksizegroup.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkspinbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstatusbar.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstock.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktable.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktearoffmenuitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktext.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextbuffer.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttagtable.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttag.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextiter.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextchild.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextmark.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextview.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktipsquery.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbar.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktree.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreednd.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeitem.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelsort.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeselection.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreestore.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkuimanager.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbbox.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkversion.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvpaned.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvruler.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscale.h -callbacks.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvseparator.h callbacks.h -callbacks.o: interface.h support.h gtkutil.h gemma.h z80.h -interface.o: /usr/include/sys/types.h /usr/include/sys/cdefs.h -interface.o: /usr/include/machine/endian.h /usr/include/sys/_types.h -interface.o: /usr/include/machine/_types.h /usr/include/sys/_pthreadtypes.h -interface.o: /usr/include/sys/select.h /usr/include/sys/_sigset.h -interface.o: /usr/include/sys/_timeval.h /usr/include/sys/timespec.h -interface.o: /usr/include/sys/stat.h /usr/include/sys/time.h -interface.o: /usr/include/time.h /usr/include/sys/_null.h -interface.o: /usr/include/unistd.h /usr/include/sys/unistd.h -interface.o: /usr/include/string.h /usr/include/strings.h -interface.o: /usr/include/stdio.h /usr/X11R6/include/gtk-2.0/gdk/gdkkeysyms.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtk.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdk.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcairo.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcolor.h -interface.o: /usr/local/include/cairo/cairo.h -interface.o: /usr/local/include/cairo/cairo-features.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdktypes.h -interface.o: /usr/local/include/glib-2.0/glib.h -interface.o: /usr/local/include/glib-2.0/glib/galloca.h -interface.o: /usr/local/include/glib-2.0/glib/gtypes.h -interface.o: /usr/local/include/glib-2.0/glibconfig.h -interface.o: /usr/local/include/glib-2.0/glib/gmacros.h /usr/include/stddef.h -interface.o: /usr/include/limits.h /usr/include/sys/limits.h -interface.o: /usr/include/machine/_limits.h /usr/include/sys/syslimits.h -interface.o: /usr/include/float.h /usr/local/include/glib-2.0/glib/garray.h -interface.o: /usr/local/include/glib-2.0/glib/gasyncqueue.h -interface.o: /usr/local/include/glib-2.0/glib/gthread.h -interface.o: /usr/local/include/glib-2.0/glib/gerror.h -interface.o: /usr/local/include/glib-2.0/glib/gquark.h -interface.o: /usr/local/include/glib-2.0/glib/gatomic.h -interface.o: /usr/local/include/glib-2.0/glib/gbacktrace.h -interface.o: /usr/local/include/glib-2.0/glib/gcache.h -interface.o: /usr/local/include/glib-2.0/glib/glist.h -interface.o: /usr/local/include/glib-2.0/glib/gmem.h -interface.o: /usr/local/include/glib-2.0/glib/gslice.h -interface.o: /usr/local/include/glib-2.0/glib/gcompletion.h -interface.o: /usr/local/include/glib-2.0/glib/gconvert.h -interface.o: /usr/local/include/glib-2.0/glib/gdataset.h -interface.o: /usr/local/include/glib-2.0/glib/gdate.h -interface.o: /usr/local/include/glib-2.0/glib/gdir.h -interface.o: /usr/local/include/glib-2.0/glib/gfileutils.h -interface.o: /usr/local/include/glib-2.0/glib/ghash.h -interface.o: /usr/local/include/glib-2.0/glib/ghook.h -interface.o: /usr/local/include/glib-2.0/glib/giochannel.h -interface.o: /usr/local/include/glib-2.0/glib/gmain.h -interface.o: /usr/local/include/glib-2.0/glib/gslist.h -interface.o: /usr/local/include/glib-2.0/glib/gstring.h -interface.o: /usr/local/include/glib-2.0/glib/gunicode.h -interface.o: /usr/local/include/glib-2.0/glib/gutils.h /usr/include/stdarg.h -interface.o: /usr/local/include/glib-2.0/glib/gkeyfile.h -interface.o: /usr/local/include/glib-2.0/glib/gmappedfile.h -interface.o: /usr/local/include/glib-2.0/glib/gmarkup.h -interface.o: /usr/local/include/glib-2.0/glib/gmessages.h -interface.o: /usr/local/include/glib-2.0/glib/gnode.h -interface.o: /usr/local/include/glib-2.0/glib/goption.h -interface.o: /usr/local/include/glib-2.0/glib/gpattern.h -interface.o: /usr/local/include/glib-2.0/glib/gprimes.h -interface.o: /usr/local/include/glib-2.0/glib/gqsort.h -interface.o: /usr/local/include/glib-2.0/glib/gqueue.h -interface.o: /usr/local/include/glib-2.0/glib/grand.h -interface.o: /usr/local/include/glib-2.0/glib/grel.h -interface.o: /usr/local/include/glib-2.0/glib/gscanner.h -interface.o: /usr/local/include/glib-2.0/glib/gshell.h -interface.o: /usr/local/include/glib-2.0/glib/gspawn.h -interface.o: /usr/local/include/glib-2.0/glib/gstrfuncs.h -interface.o: /usr/local/include/glib-2.0/glib/gthreadpool.h -interface.o: /usr/local/include/glib-2.0/glib/gtimer.h -interface.o: /usr/local/include/glib-2.0/glib/gtree.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-attributes.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-font.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-coverage.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-types.h -interface.o: /usr/local/include/glib-2.0/glib-object.h -interface.o: /usr/local/include/glib-2.0/gobject/gboxed.h -interface.o: /usr/local/include/glib-2.0/gobject/gtype.h -interface.o: /usr/local/include/glib-2.0/gobject/genums.h -interface.o: /usr/local/include/glib-2.0/gobject/gobject.h -interface.o: /usr/local/include/glib-2.0/gobject/gvalue.h -interface.o: /usr/local/include/glib-2.0/gobject/gparam.h -interface.o: /usr/local/include/glib-2.0/gobject/gclosure.h -interface.o: /usr/local/include/glib-2.0/gobject/gsignal.h -interface.o: /usr/local/include/glib-2.0/gobject/gmarshal.h -interface.o: /usr/local/include/glib-2.0/gobject/gparamspecs.h -interface.o: /usr/local/include/glib-2.0/gobject/gsourceclosure.h -interface.o: /usr/local/include/glib-2.0/gobject/gtypemodule.h -interface.o: /usr/local/include/glib-2.0/gobject/gtypeplugin.h -interface.o: /usr/local/include/glib-2.0/gobject/gvaluearray.h -interface.o: /usr/local/include/glib-2.0/gobject/gvaluetypes.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-break.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-item.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-context.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-fontmap.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-fontset.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-engine.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-script.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-enum-types.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-layout.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph-item.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-tabs.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pango-renderer.h -interface.o: /usr/X11R6/include/gtk-2.0/gdkconfig.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixbuf.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkrgb.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h -interface.o: /usr/local/include/glib-2.0/gmodule.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h -interface.o: /usr/X11R6/include/pango-1.0/pango/pangocairo.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcursor.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplay.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkevents.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdnd.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkinput.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdrawable.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkgc.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkenumtypes.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkfont.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkimage.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkkeys.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplaymanager.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpango.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixmap.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkproperty.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkregion.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkscreen.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkselection.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkspawn.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkvisual.h -interface.o: /usr/X11R6/include/gtk-2.0/gdk/gdkwindow.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaboutdialog.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdialog.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwindow.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelgroup.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkenums.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbin.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcontainer.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwidget.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkobject.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypeutils.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypebuiltins.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdebug.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkadjustment.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstyle.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtksettings.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrc.h -interface.o: /usr/local/include/atk-1.0/atk/atkobject.h -interface.o: /usr/local/include/atk-1.0/atk/atkstate.h -interface.o: /usr/local/include/atk-1.0/atk/atkrelationtype.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccellabel.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtklabel.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmisc.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenushell.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelmap.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccessible.h -interface.o: /usr/local/include/atk-1.0/atk/atk.h -interface.o: /usr/local/include/atk-1.0/atk/atkaction.h -interface.o: /usr/local/include/atk-1.0/atk/atkcomponent.h -interface.o: /usr/local/include/atk-1.0/atk/atkutil.h -interface.o: /usr/local/include/atk-1.0/atk/atkdocument.h -interface.o: /usr/local/include/atk-1.0/atk/atkeditabletext.h -interface.o: /usr/local/include/atk-1.0/atk/atktext.h -interface.o: /usr/local/include/atk-1.0/atk/atkgobjectaccessible.h -interface.o: /usr/local/include/atk-1.0/atk/atkhyperlink.h -interface.o: /usr/local/include/atk-1.0/atk/atkhypertext.h -interface.o: /usr/local/include/atk-1.0/atk/atkimage.h -interface.o: /usr/local/include/atk-1.0/atk/atknoopobject.h -interface.o: /usr/local/include/atk-1.0/atk/atknoopobjectfactory.h -interface.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -interface.o: /usr/local/include/atk-1.0/atk/atkregistry.h -interface.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -interface.o: /usr/local/include/atk-1.0/atk/atkrelation.h -interface.o: /usr/local/include/atk-1.0/atk/atkrelationset.h -interface.o: /usr/local/include/atk-1.0/atk/atkselection.h -interface.o: /usr/local/include/atk-1.0/atk/atkstateset.h -interface.o: /usr/local/include/atk-1.0/atk/atkstreamablecontent.h -interface.o: /usr/local/include/atk-1.0/atk/atktable.h -interface.o: /usr/local/include/atk-1.0/atk/atkvalue.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaction.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkactiongroup.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitemfactory.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkalignment.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkarrow.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaspectframe.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkframe.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbbox.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbox.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbindings.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimage.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcalendar.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtksignal.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmarshal.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelllayout.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderer.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelleditable.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeviewcolumn.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodel.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreesortable.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderercombo.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertext.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererprogress.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertoggle.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellview.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktogglebutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckmenuitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenuitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclipboard.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkselection.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclist.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscrollbar.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrollbar.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrange.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscrollbar.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorsel.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbox.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorseldialog.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombo.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbox.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombobox.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeview.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdnd.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcomboboxentry.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkctree.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcurve.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdrawingarea.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeditable.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentry.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontext.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentrycompletion.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkliststore.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelfilter.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeventbox.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkexpander.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilesel.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfixed.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilefilter.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserdialog.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserwidget.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontsel.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgamma.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgc.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhandlebox.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbbox.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhpaned.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpaned.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhruler.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkruler.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscale.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscale.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhseparator.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparator.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconfactory.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkicontheme.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconview.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimagemenuitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontextsimple.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimmulticontext.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinputdialog.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinvisible.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtklayout.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtklist.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtklistitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmain.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenubar.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenutoolbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktooltips.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmessagedialog.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmodules.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtknotebook.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoldeditable.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoptionmenu.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpixmap.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkplug.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtksocket.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpreview.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogress.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogressbar.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradioaction.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggleaction.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiobutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiomenuitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiotoolbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrolledwindow.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkviewport.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatormenuitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatortoolitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtksizegroup.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkspinbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstatusbar.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstock.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktable.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktearoffmenuitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktext.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextbuffer.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttagtable.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttag.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextiter.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextchild.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextmark.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextview.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktipsquery.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbar.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktree.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreednd.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeitem.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelsort.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeselection.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreestore.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkuimanager.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbbox.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkversion.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvpaned.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvruler.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscale.h -interface.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvseparator.h callbacks.h -interface.o: interface.h support.h -gtkutil.o: /usr/include/stdio.h /usr/include/sys/cdefs.h -gtkutil.o: /usr/include/sys/_null.h /usr/include/sys/_types.h -gtkutil.o: /usr/include/machine/_types.h /usr/include/string.h -gtkutil.o: /usr/include/strings.h /usr/include/stdarg.h gtkutil.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtk.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdk.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcairo.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcolor.h -gtkutil.o: /usr/local/include/cairo/cairo.h -gtkutil.o: /usr/local/include/cairo/cairo-features.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdktypes.h -gtkutil.o: /usr/local/include/glib-2.0/glib.h -gtkutil.o: /usr/local/include/glib-2.0/glib/galloca.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gtypes.h -gtkutil.o: /usr/local/include/glib-2.0/glibconfig.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gmacros.h /usr/include/stddef.h -gtkutil.o: /usr/include/limits.h /usr/include/sys/limits.h -gtkutil.o: /usr/include/machine/_limits.h /usr/include/sys/syslimits.h -gtkutil.o: /usr/include/float.h /usr/local/include/glib-2.0/glib/garray.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gasyncqueue.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gthread.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gerror.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gquark.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gatomic.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gbacktrace.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gcache.h -gtkutil.o: /usr/local/include/glib-2.0/glib/glist.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gmem.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gslice.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gcompletion.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gconvert.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gdataset.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gdate.h /usr/include/time.h -gtkutil.o: /usr/include/sys/timespec.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gdir.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gfileutils.h -gtkutil.o: /usr/local/include/glib-2.0/glib/ghash.h -gtkutil.o: /usr/local/include/glib-2.0/glib/ghook.h -gtkutil.o: /usr/local/include/glib-2.0/glib/giochannel.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gmain.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gslist.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gstring.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gunicode.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gutils.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gkeyfile.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gmappedfile.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gmarkup.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gmessages.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gnode.h -gtkutil.o: /usr/local/include/glib-2.0/glib/goption.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gpattern.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gprimes.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gqsort.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gqueue.h -gtkutil.o: /usr/local/include/glib-2.0/glib/grand.h -gtkutil.o: /usr/local/include/glib-2.0/glib/grel.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gscanner.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gshell.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gspawn.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gstrfuncs.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gthreadpool.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gtimer.h -gtkutil.o: /usr/local/include/glib-2.0/glib/gtree.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-attributes.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-font.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-coverage.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-types.h -gtkutil.o: /usr/local/include/glib-2.0/glib-object.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gboxed.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gtype.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/genums.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gobject.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gvalue.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gparam.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gclosure.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gsignal.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gmarshal.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gparamspecs.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gsourceclosure.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gtypemodule.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gtypeplugin.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gvaluearray.h -gtkutil.o: /usr/local/include/glib-2.0/gobject/gvaluetypes.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-break.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-item.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-context.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-fontmap.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-fontset.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-engine.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-script.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-enum-types.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-layout.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph-item.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-tabs.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pango-renderer.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdkconfig.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixbuf.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkrgb.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h -gtkutil.o: /usr/local/include/glib-2.0/gmodule.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h -gtkutil.o: /usr/X11R6/include/pango-1.0/pango/pangocairo.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcursor.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplay.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkevents.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdnd.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkinput.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdrawable.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkgc.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkenumtypes.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkfont.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkimage.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkkeys.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplaymanager.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpango.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixmap.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkproperty.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkregion.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkscreen.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkselection.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkspawn.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkvisual.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gdk/gdkwindow.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaboutdialog.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdialog.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwindow.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelgroup.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkenums.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbin.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcontainer.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwidget.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkobject.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypeutils.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypebuiltins.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdebug.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkadjustment.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstyle.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtksettings.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrc.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkobject.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkstate.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkrelationtype.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccellabel.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtklabel.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmisc.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenushell.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelmap.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccessible.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atk.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkaction.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkcomponent.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkutil.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkdocument.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkeditabletext.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atktext.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkgobjectaccessible.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkhyperlink.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkhypertext.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkimage.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atknoopobject.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atknoopobjectfactory.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkregistry.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkrelation.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkrelationset.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkselection.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkstateset.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkstreamablecontent.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atktable.h -gtkutil.o: /usr/local/include/atk-1.0/atk/atkvalue.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaction.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkactiongroup.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitemfactory.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkalignment.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkarrow.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaspectframe.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkframe.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbbox.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbox.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbindings.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimage.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcalendar.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtksignal.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmarshal.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelllayout.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderer.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelleditable.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeviewcolumn.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodel.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreesortable.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderercombo.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertext.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererprogress.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertoggle.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellview.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktogglebutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckmenuitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenuitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclipboard.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkselection.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclist.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscrollbar.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrollbar.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrange.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscrollbar.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorsel.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbox.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorseldialog.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombo.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbox.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombobox.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeview.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdnd.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcomboboxentry.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkctree.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcurve.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdrawingarea.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeditable.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentry.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontext.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentrycompletion.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkliststore.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelfilter.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeventbox.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkexpander.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilesel.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfixed.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilefilter.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserdialog.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserwidget.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontsel.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgamma.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgc.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhandlebox.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbbox.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhpaned.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpaned.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhruler.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkruler.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscale.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscale.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhseparator.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparator.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconfactory.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkicontheme.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconview.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimagemenuitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontextsimple.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimmulticontext.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinputdialog.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinvisible.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtklayout.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtklist.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtklistitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmain.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenubar.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenutoolbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktooltips.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmessagedialog.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmodules.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtknotebook.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoldeditable.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoptionmenu.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpixmap.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkplug.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtksocket.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpreview.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogress.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogressbar.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradioaction.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggleaction.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiobutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiomenuitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiotoolbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrolledwindow.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkviewport.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatormenuitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatortoolitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtksizegroup.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkspinbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstatusbar.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstock.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktable.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktearoffmenuitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktext.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextbuffer.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttagtable.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttag.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextiter.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextchild.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextmark.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextview.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktipsquery.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbar.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktree.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreednd.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeitem.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelsort.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeselection.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreestore.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkuimanager.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbbox.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkversion.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvpaned.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvruler.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscale.h -gtkutil.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvseparator.h -gemma.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h -gemma.o: /usr/include/sys/_null.h /usr/include/sys/_types.h -gemma.o: /usr/include/machine/_types.h /usr/include/stdio.h -gemma.o: /usr/include/signal.h /usr/include/sys/signal.h -gemma.o: /usr/include/sys/_sigset.h /usr/include/machine/signal.h -gemma.o: /usr/include/machine/trap.h /usr/include/string.h -gemma.o: /usr/include/strings.h /usr/include/ctype.h /usr/include/_ctype.h -gemma.o: /usr/include/runetype.h gemma.h /usr/X11R6/include/gtk-2.0/gtk/gtk.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdk.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcairo.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcolor.h -gemma.o: /usr/local/include/cairo/cairo.h -gemma.o: /usr/local/include/cairo/cairo-features.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdktypes.h -gemma.o: /usr/local/include/glib-2.0/glib.h -gemma.o: /usr/local/include/glib-2.0/glib/galloca.h -gemma.o: /usr/local/include/glib-2.0/glib/gtypes.h -gemma.o: /usr/local/include/glib-2.0/glibconfig.h -gemma.o: /usr/local/include/glib-2.0/glib/gmacros.h /usr/include/stddef.h -gemma.o: /usr/include/limits.h /usr/include/sys/limits.h -gemma.o: /usr/include/machine/_limits.h /usr/include/sys/syslimits.h -gemma.o: /usr/include/float.h /usr/local/include/glib-2.0/glib/garray.h -gemma.o: /usr/local/include/glib-2.0/glib/gasyncqueue.h -gemma.o: /usr/local/include/glib-2.0/glib/gthread.h -gemma.o: /usr/local/include/glib-2.0/glib/gerror.h -gemma.o: /usr/local/include/glib-2.0/glib/gquark.h -gemma.o: /usr/local/include/glib-2.0/glib/gatomic.h -gemma.o: /usr/local/include/glib-2.0/glib/gbacktrace.h -gemma.o: /usr/local/include/glib-2.0/glib/gcache.h -gemma.o: /usr/local/include/glib-2.0/glib/glist.h -gemma.o: /usr/local/include/glib-2.0/glib/gmem.h -gemma.o: /usr/local/include/glib-2.0/glib/gslice.h -gemma.o: /usr/local/include/glib-2.0/glib/gcompletion.h -gemma.o: /usr/local/include/glib-2.0/glib/gconvert.h -gemma.o: /usr/local/include/glib-2.0/glib/gdataset.h -gemma.o: /usr/local/include/glib-2.0/glib/gdate.h /usr/include/time.h -gemma.o: /usr/include/sys/timespec.h /usr/local/include/glib-2.0/glib/gdir.h -gemma.o: /usr/local/include/glib-2.0/glib/gfileutils.h -gemma.o: /usr/local/include/glib-2.0/glib/ghash.h -gemma.o: /usr/local/include/glib-2.0/glib/ghook.h -gemma.o: /usr/local/include/glib-2.0/glib/giochannel.h -gemma.o: /usr/local/include/glib-2.0/glib/gmain.h -gemma.o: /usr/local/include/glib-2.0/glib/gslist.h -gemma.o: /usr/local/include/glib-2.0/glib/gstring.h -gemma.o: /usr/local/include/glib-2.0/glib/gunicode.h -gemma.o: /usr/local/include/glib-2.0/glib/gutils.h /usr/include/stdarg.h -gemma.o: /usr/local/include/glib-2.0/glib/gkeyfile.h -gemma.o: /usr/local/include/glib-2.0/glib/gmappedfile.h -gemma.o: /usr/local/include/glib-2.0/glib/gmarkup.h -gemma.o: /usr/local/include/glib-2.0/glib/gmessages.h -gemma.o: /usr/local/include/glib-2.0/glib/gnode.h -gemma.o: /usr/local/include/glib-2.0/glib/goption.h -gemma.o: /usr/local/include/glib-2.0/glib/gpattern.h -gemma.o: /usr/local/include/glib-2.0/glib/gprimes.h -gemma.o: /usr/local/include/glib-2.0/glib/gqsort.h -gemma.o: /usr/local/include/glib-2.0/glib/gqueue.h -gemma.o: /usr/local/include/glib-2.0/glib/grand.h -gemma.o: /usr/local/include/glib-2.0/glib/grel.h -gemma.o: /usr/local/include/glib-2.0/glib/gscanner.h -gemma.o: /usr/local/include/glib-2.0/glib/gshell.h -gemma.o: /usr/local/include/glib-2.0/glib/gspawn.h -gemma.o: /usr/local/include/glib-2.0/glib/gstrfuncs.h -gemma.o: /usr/local/include/glib-2.0/glib/gthreadpool.h -gemma.o: /usr/local/include/glib-2.0/glib/gtimer.h -gemma.o: /usr/local/include/glib-2.0/glib/gtree.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-attributes.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-font.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-coverage.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-types.h -gemma.o: /usr/local/include/glib-2.0/glib-object.h -gemma.o: /usr/local/include/glib-2.0/gobject/gboxed.h -gemma.o: /usr/local/include/glib-2.0/gobject/gtype.h -gemma.o: /usr/local/include/glib-2.0/gobject/genums.h -gemma.o: /usr/local/include/glib-2.0/gobject/gobject.h -gemma.o: /usr/local/include/glib-2.0/gobject/gvalue.h -gemma.o: /usr/local/include/glib-2.0/gobject/gparam.h -gemma.o: /usr/local/include/glib-2.0/gobject/gclosure.h -gemma.o: /usr/local/include/glib-2.0/gobject/gsignal.h -gemma.o: /usr/local/include/glib-2.0/gobject/gmarshal.h -gemma.o: /usr/local/include/glib-2.0/gobject/gparamspecs.h -gemma.o: /usr/local/include/glib-2.0/gobject/gsourceclosure.h -gemma.o: /usr/local/include/glib-2.0/gobject/gtypemodule.h -gemma.o: /usr/local/include/glib-2.0/gobject/gtypeplugin.h -gemma.o: /usr/local/include/glib-2.0/gobject/gvaluearray.h -gemma.o: /usr/local/include/glib-2.0/gobject/gvaluetypes.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-break.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-item.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-context.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-fontmap.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-fontset.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-engine.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-script.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-enum-types.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-layout.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-glyph-item.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-tabs.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pango-renderer.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdkconfig.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixbuf.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkrgb.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h -gemma.o: /usr/local/include/glib-2.0/gmodule.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h -gemma.o: /usr/X11R6/include/pango-1.0/pango/pangocairo.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkcursor.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplay.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkevents.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdnd.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkinput.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdrawable.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkgc.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkenumtypes.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkfont.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkimage.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkkeys.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkdisplaymanager.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpango.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkpixmap.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkproperty.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkregion.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkscreen.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkselection.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkspawn.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkvisual.h -gemma.o: /usr/X11R6/include/gtk-2.0/gdk/gdkwindow.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaboutdialog.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdialog.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwindow.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelgroup.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkenums.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbin.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcontainer.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkwidget.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkobject.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypeutils.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktypebuiltins.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdebug.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkadjustment.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstyle.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtksettings.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrc.h -gemma.o: /usr/local/include/atk-1.0/atk/atkobject.h -gemma.o: /usr/local/include/atk-1.0/atk/atkstate.h -gemma.o: /usr/local/include/atk-1.0/atk/atkrelationtype.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccellabel.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtklabel.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmisc.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenushell.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccelmap.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaccessible.h -gemma.o: /usr/local/include/atk-1.0/atk/atk.h -gemma.o: /usr/local/include/atk-1.0/atk/atkaction.h -gemma.o: /usr/local/include/atk-1.0/atk/atkcomponent.h -gemma.o: /usr/local/include/atk-1.0/atk/atkutil.h -gemma.o: /usr/local/include/atk-1.0/atk/atkdocument.h -gemma.o: /usr/local/include/atk-1.0/atk/atkeditabletext.h -gemma.o: /usr/local/include/atk-1.0/atk/atktext.h -gemma.o: /usr/local/include/atk-1.0/atk/atkgobjectaccessible.h -gemma.o: /usr/local/include/atk-1.0/atk/atkhyperlink.h -gemma.o: /usr/local/include/atk-1.0/atk/atkhypertext.h -gemma.o: /usr/local/include/atk-1.0/atk/atkimage.h -gemma.o: /usr/local/include/atk-1.0/atk/atknoopobject.h -gemma.o: /usr/local/include/atk-1.0/atk/atknoopobjectfactory.h -gemma.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -gemma.o: /usr/local/include/atk-1.0/atk/atkregistry.h -gemma.o: /usr/local/include/atk-1.0/atk/atkobjectfactory.h -gemma.o: /usr/local/include/atk-1.0/atk/atkrelation.h -gemma.o: /usr/local/include/atk-1.0/atk/atkrelationset.h -gemma.o: /usr/local/include/atk-1.0/atk/atkselection.h -gemma.o: /usr/local/include/atk-1.0/atk/atkstateset.h -gemma.o: /usr/local/include/atk-1.0/atk/atkstreamablecontent.h -gemma.o: /usr/local/include/atk-1.0/atk/atktable.h -gemma.o: /usr/local/include/atk-1.0/atk/atkvalue.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaction.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkactiongroup.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitemfactory.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkalignment.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkarrow.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkaspectframe.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkframe.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbbox.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbox.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbindings.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimage.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcalendar.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtksignal.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmarshal.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelllayout.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderer.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcelleditable.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeviewcolumn.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodel.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreesortable.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderercombo.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertext.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrendererprogress.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellrenderertoggle.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcellview.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktogglebutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcheckmenuitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenuitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclipboard.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkselection.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkclist.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscrollbar.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrollbar.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkrange.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscrollbar.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorsel.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbox.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcolorseldialog.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombo.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbox.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcombobox.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeview.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdnd.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcomboboxentry.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkctree.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkcurve.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkdrawingarea.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeditable.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentry.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontext.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkentrycompletion.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkliststore.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelfilter.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkeventbox.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkexpander.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilesel.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfixed.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilefilter.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserdialog.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooser.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfilechooserwidget.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkfontsel.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgamma.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkgc.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhandlebox.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhbbox.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhpaned.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpaned.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhruler.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkruler.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhscale.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscale.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkhseparator.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparator.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconfactory.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkicontheme.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkiconview.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimagemenuitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimcontextsimple.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkimmulticontext.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinputdialog.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkinvisible.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtklayout.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtklist.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtklistitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmain.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenubar.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenutoolbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmenu.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktooltips.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmessagedialog.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkmodules.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtknotebook.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoldeditable.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkoptionmenu.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpixmap.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkplug.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtksocket.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkpreview.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogress.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkprogressbar.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradioaction.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggleaction.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiobutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiomenuitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkradiotoolbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkscrolledwindow.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkviewport.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatormenuitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkseparatortoolitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtksizegroup.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkspinbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstatusbar.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkstock.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktable.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktearoffmenuitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktext.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextbuffer.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttagtable.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktexttag.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextiter.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextchild.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextmark.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktextview.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktipsquery.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoggletoolbutton.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolbar.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktoolitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktree.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreednd.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeitem.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreemodelsort.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreeselection.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtktreestore.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkuimanager.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvbbox.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkversion.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvpaned.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvruler.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvscale.h -gemma.o: /usr/X11R6/include/gtk-2.0/gtk/gtkvseparator.h z80.h expr.h -gemma.o: gtkutil.h support.h + rm -f emma $(BASE_O) $(EMMA_O) core *.hex *.lbl diff --git a/gemma.c b/gemma.c deleted file mode 100644 index ec05b5d..0000000 --- a/gemma.c +++ /dev/null @@ -1,1018 +0,0 @@ -/* - - GEMMA - Z80 testbed - - Copyright (C) 2006 Ian Cowburn (ianc@noddybox.demon.co.uk) - - 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - ------------------------------------------------------------------------- - -*/ -static const char id[]="$Id$"; - -#include -#include -#include -#include -#include - -#include "gemma.h" -#include "expr.h" -#include "gtkutil.h" -#include "support.h" - -#define HI(w) (((w)&0xff00)>>8) -#define LO(w) ((w)&0xff) -#define MK(h,l) (((Z80Word)(h)<<8)|(l)) - -/* ---------------------------------------- GLOBALS -*/ -static Z80 *z80; -Z80Byte Z80_MEMORY[0x10000]; - -static sig_atomic_t stop=FALSE; - -static Z80Label *label=NULL; - -static GtkWidget *run_button; -static GtkWidget *step_button; -static GtkWidget *step_over_button; -static GtkWidget *stop_button; -static GtkWidget *run_until_button; - -static GtkWidget *breakpoint_text; - -static GtkWidget *top_window; -static GtkWidget *regview; -static GtkWidget *memview; -static GtkWidget *viewreg; -static GtkWidget *logview; -static GtkWidget *assemview; - -static GtkWidget *memview_combo; -static GtkWidget *memview_check; - -#define RUNNING(t) gtk_widget_set_sensitive(run_button,!t); \ - gtk_widget_set_sensitive(step_button,!t); \ - gtk_widget_set_sensitive(step_over_button,!t); \ - gtk_widget_set_sensitive(run_until_button,!t); \ - gtk_widget_set_sensitive(stop_button,t); - - -/* ---------------------------------------- PROTOS -*/ -static void Log(const char *format, ...); -static Z80Word Address(const char *p); -static void *Malloc(size_t len); -static void *Realloc(void *p, size_t len); - - -/* ---------------------------------------- PC BUFFER -*/ -#define PC_BUFFER 100 -static Z80Word pc_buffer[PC_BUFFER]={0}; -static int pc_head=0; - -static Z80Word Get_PC(int back) -{ - return pc_buffer[(pc_head+back+1)%PC_BUFFER]; -} - -static void Step(void) -{ - pc_buffer[pc_head]=z80->PC; - - if (pc_head) - pc_head--; - else - pc_head=PC_BUFFER-1; - - Z80SingleStep(z80); -} - -/* ---------------------------------------- DYNAMIC STRINGS -*/ - -typedef struct -{ - size_t len; - char *text; -} *DString; - - -#define BLOCKSIZE 512 - - -DString DSInit(void) -{ - DString ds; - - ds=Malloc(sizeof *ds); - - ds->len=0; - ds->text=Malloc(BLOCKSIZE); - ds->text[0]=0; - - return ds; -} - - -void DSFree(DString ds) -{ - if (ds) - { - free(ds->text); - free(ds); - } -} - - -DString DSAddChar(DString to, char c) -{ - if (((to->len+2)%BLOCKSIZE)==0) - { - to->text=Realloc(to->text,(((to->len+2)/BLOCKSIZE)+1)*BLOCKSIZE); - } - - to->text[to->len++]=c; - to->text[to->len]=0; - - return to; -} - - -DString DSAdd(DString to, const char *from) -{ - to->len+=strlen(from); - to->text=Realloc(to->text,(((to->len+1)/BLOCKSIZE)+1)*BLOCKSIZE); - - strcat(to->text,from); - - return to; -} - - -/* ---------------------------------------- PRIVATE FUNCTIONS -*/ -static void Log(const char *format, ...) -{ - static char buff[4096]; - va_list va; - - va_start(va,format); - vsprintf(buff,format,va); - va_end(va); - - AppendText(logview,buff); -} - - -static int StrEq(const char *a, const char *b) -{ - while(*a && *b && tolower(*a)==tolower(*b)) - { - a++; - b++; - } - - if (*a || *b) - return FALSE; - else - return TRUE; -} - - -static int Expand(void *client, const char *p, long *res) -{ - int ok=TRUE; - - if (StrEq(p,"AF")) - *res=z80->AF.w; - else if (StrEq(p,"BC")) - *res=z80->BC.w; - else if (StrEq(p,"DE")) - *res=z80->DE.w; - else if (StrEq(p,"HL")) - *res=z80->HL.w; - else if (StrEq(p,"IX")) - *res=z80->IX.w; - else if (StrEq(p,"IY")) - *res=z80->IY.w; - else if (StrEq(p,"SP")) - *res=z80->SP; - else if (StrEq(p,"PC")) - *res=z80->PC; - else if (StrEq(p,"A")) - *res=HI(z80->AF.w); - else if (StrEq(p,"F")) - *res=LO(z80->AF.w); - else if (StrEq(p,"B")) - *res=HI(z80->BC.w); - else if (StrEq(p,"C")) - *res=LO(z80->BC.w); - else if (StrEq(p,"D")) - *res=HI(z80->DE.w); - else if (StrEq(p,"E")) - *res=LO(z80->DE.w); - else if (StrEq(p,"H")) - *res=HI(z80->HL.w); - else if (StrEq(p,"L")) - *res=LO(z80->HL.w); - else if (StrEq(p,"AF_")) - *res=z80->AF_; - else if (StrEq(p,"BC_")) - *res=z80->BC_; - else if (StrEq(p,"DE_")) - *res=z80->DE_; - else if (StrEq(p,"HL_")) - *res=z80->HL_; - else if (StrEq(p,"A_")) - *res=HI(z80->AF_); - else if (StrEq(p,"F_")) - *res=LO(z80->AF_); - else if (StrEq(p,"B_")) - *res=HI(z80->BC_); - else if (StrEq(p,"C_")) - *res=LO(z80->BC_); - else if (StrEq(p,"D_")) - *res=HI(z80->DE_); - else if (StrEq(p,"E_")) - *res=LO(z80->DE_); - else if (StrEq(p,"H_")) - *res=HI(z80->HL_); - else if (StrEq(p,"L_")) - *res=LO(z80->HL_); - else if (StrEq(p,"IM")) - *res=z80->IM; - else if (StrEq(p,"R")) - *res=z80->R; - else if (StrEq(p,"IFF1")) - *res=z80->IFF1; - else if (StrEq(p,"IFF2")) - *res=z80->IFF2; - else if (p[0]=='@') - { - Z80Word n; - - n=Address(p+1); - *res=Z80_MEMORY[n]; - } - else if (p[0]=='#') - { - Z80Word n; - - n=Address(p+1); - *res=MK(Z80_MEMORY[n+1],Z80_MEMORY[n]); - } - else /* Check for labels */ - { - int f; - - ok=FALSE; - - for(f=0;label && label[f].label;f++) - { - if (StrEq(p,label[f].label)) - { - *res=label[f].address; - ok=TRUE; - break; - } - } - } - - return ok; -} - - -static Z80Word Address(const char *p) -{ - long e=0; - - if (!ExprEval(p,&e,Expand,z80)) - Log("%s\n",ExprError()); - - return (Z80Word)e; -} - - -static void *Malloc(size_t len) -{ - void *n; - - n=malloc(len); - - if (!n) - { - fprintf(stderr,"malloc failed\n"); - exit(EXIT_FAILURE); - } - - return n; -} - -static void *Realloc(void *p, size_t len) -{ - void *n; - - n=realloc(p,len); - - if (!n) - { - fprintf(stderr,"realloc failed\n"); - exit(EXIT_FAILURE); - } - - return n; -} - -static char *StrCopy(const char *p) -{ - return strcpy(Malloc(strlen(p)+1),p); -} - -static const int ToHex(char c) -{ - c=toupper(c); - - if (c>='0' && c<='9') - return c-'0'; - - if (c>='A' && c<='F') - return c-'A'+10; - - return 0; -} - -static void FlagString(DString s, Z80Byte flag, Z80Byte last) -{ - static char *c[]={"S","Z","5","H","3","P","N","C"}; - int f; - - DSAdd(s,"Flags: "); - - for(f=0;f<8;f++) - { - int b=1<<(7-f); - - if ((last&b)!=(flag&b)) - { - DSAdd(s,""); - } - - if (flag&b) - { - DSAdd(s,c[f]); - } - else - { - DSAdd(s,"-"); - } - - if ((last&b)!=(flag&b)) - { - DSAdd(s,""); - } - } -} - - -static void DisplayState(DString s, const char *label, - int width, Z80Val val, Z80Val last) -{ - static char buff[128]; - - sprintf(buff,"%s: %s%*.*lX", - label, - (last==val) ? - "" : - "", - width,width, - val); - - DSAdd(s,buff); -} - - -/* ---------------------------------------- MEMORY -*/ -#ifndef ENABLE_ARRAY_MEMORY -static Z80Byte Peek(Z80 *z80, Z80Word addr) -{ - return Z80_MEMORY[addr]; -} - -static void Poke(Z80 *z80, Z80Word addr, Z80Byte b) -{ - Z80_MEMORY[addr]=b; -} -#endif - -static Z80Byte ReadPort(Z80 *z80, Z80Word addr) -{ - Z80Byte b=0xff; - Z80Word ptr; - char expr[1024]; - char *p; - - switch(addr&0xff) - { - case 0x80: - ptr=MK(Z80_MEMORY[1],Z80_MEMORY[0]); - - p=expr; - - while(Z80_MEMORY[ptr]) - *p++=Z80_MEMORY[ptr++]; - - *p=0; - - b=(Z80Byte)Address(expr); - - /* Log("%s -> %u\n",expr,b); */ - - break; - - case 0x81: - ptr=z80->DE.w; - - p=expr; - - while(Z80_MEMORY[ptr]) - *p++=Z80_MEMORY[ptr++]; - - *p=0; - - b=(Z80Byte)Address(expr); - - break; - - default: - Log("Read from port 0x%4.4x\n",(int)addr); - break; - } - - return b; -} - - -static void WritePort(Z80 *z80, Z80Word addr, Z80Byte val) -{ - Z80Word de; - - de=z80->DE.w; - - switch(addr&0xff) - { - case 0x80: - Log("%c",val); - fflush(stdout); - break; - - case 0x81: - Log("Stop requested\n"); - stop=TRUE; - break; - - case 0x82: - while(Z80_MEMORY[de]!='$') - { - if (isspace(Z80_MEMORY[de]) || - isprint(Z80_MEMORY[de])) - Log("%c",Z80_MEMORY[de]); - - de++; - } - fflush(stdout); - break; - - case 0x83: - while(Z80_MEMORY[de]) - { - Log("%c",Z80_MEMORY[de]); - de++; - } - fflush(stdout); - break; - - default: - Log("Wrote 0x%2.2x to port 0x%4.4x\n",(int)val,(int)addr); - break; - } -} - - -static int Halt(Z80 *z80, Z80Val v) -{ - - Log("**** Processor halted\n"); - DialogOK("Processor halted\n"); - stop=TRUE; - return FALSE; -} - - -/* ---------------------------------------- EXPORTED FUNCTIONS -*/ -void GEMMA_UpdateDisplay(GEMMA_View view) -{ - if (view&UPDATE_ASSEM_VIEW) - { - Z80Word pc; - DString ds; - char buff[10]; - int f; - - ds=DSInit(); - DSAdd(ds,""); - - for(f=10;f>=0;f--) - { - pc=Get_PC(f); - - sprintf(buff,"%4.4X: ",pc); - DSAdd(ds,buff); - DSAdd(ds,Z80Disassemble(z80,&pc)); - DSAddChar(ds,'\n'); - } - - pc=z80->PC; - - for(f=0;f<12;f++) - { - if (f==0) - { - DSAdd(ds,""); - } - - sprintf(buff,"%4.4X: ",pc); - DSAdd(ds,buff); - - DSAdd(ds,Z80Disassemble(z80,&pc)); - - if (f==0) - { - DSAdd(ds,""); - } - - DSAddChar(ds,'\n'); - } - - DSAdd(ds,""); - gtk_label_set_markup(GTK_LABEL(assemview),ds->text); - - DSFree(ds); - } - - if (view&UPDATE_REG_VIEW) - { - static int reg_once=FALSE; - static Z80 last_reg; - DString ds; - - ds=DSInit(); - - if (!reg_once) - { - last_reg=*z80; - reg_once=TRUE; - } - - DSAdd(ds,""); - - DisplayState(ds,"A ",2,HI(z80->AF.w),HI(last_reg.AF.w)); - DSAdd(ds," "); - FlagString(ds,LO(z80->AF.w),LO(last_reg.AF.w)); - DSAdd(ds,"\n"); - - DisplayState(ds,"BC ",4,z80->BC.w,last_reg.BC.w); - DSAdd(ds," "); - DisplayState(ds,"DE ",4,z80->DE.w,last_reg.DE.w); - DSAdd(ds," "); - DisplayState(ds,"HL ",4,z80->HL.w,last_reg.HL.w); - DSAdd(ds,"\n"); - - DisplayState(ds,"SP ",4,z80->SP,last_reg.SP); - DSAdd(ds," "); - DisplayState(ds,"IX ",4,z80->IX.w,last_reg.IX.w); - DSAdd(ds," "); - DisplayState(ds,"IY ",4,z80->IY.w,last_reg.IY.w); - DSAdd(ds,"\n\n"); - - DisplayState(ds,"A' ",2,HI(z80->AF_),HI(last_reg.AF_)); - DSAdd(ds," "); - FlagString(ds,LO(z80->AF_),LO(last_reg.AF_)); - DSAdd(ds,"\n"); - - DisplayState(ds,"BC'",4,z80->BC_,last_reg.BC_); - DSAdd(ds," "); - DisplayState(ds,"DE'",4,z80->DE_,last_reg.DE_); - DSAdd(ds," "); - DisplayState(ds,"HL'",4,z80->HL_,last_reg.HL_); - DSAdd(ds,"\n\n"); - - DisplayState(ds,"PC ",4,z80->PC,last_reg.PC); - DSAdd(ds," "); - DisplayState(ds,"CYCLE",8,Z80Cycles(z80),0); - DSAdd(ds,"\n\n"); - - DisplayState(ds,"R ",2,z80->R,last_reg.R); - DSAdd(ds," "); - DisplayState(ds,"IFF1",1,z80->IFF1,last_reg.IFF1); - DSAdd(ds," "); - DisplayState(ds,"IFF2",1,z80->IFF2,last_reg.IFF2); - DSAdd(ds,"\n"); - - DisplayState(ds,"IM ",1,z80->IM,last_reg.IM); - DSAdd(ds," "); - DisplayState(ds,"I",1,z80->I,last_reg.I); - DSAdd(ds,"\n"); - - DSAdd(ds,""); - - gtk_label_set_markup(GTK_LABEL(regview),ds->text); - - DSFree(ds); - - last_reg=*z80; - } - - if (view&UPDATE_MEM_VIEW) - { - Z80Word addr; - Z80Word orig; - DString ds; - int f; - gboolean as_words; - - ds=DSInit(); - - as_words=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(memview_check)); - - switch(gtk_combo_box_get_active(GTK_COMBO_BOX(memview_combo))) - { - case 0: - addr=z80->HL.w; - break; - case 1: - addr=z80->SP; - as_words=TRUE; - break; - case 2: - addr=z80->IX.w; - break; - case 3: - addr=z80->IY.w; - break; - case 4: - addr=z80->BC.w; - break; - case 5: - addr=z80->DE.w; - break; - default: - addr=z80->PC; - break; - } - - DSAdd(ds,""); - - orig=addr; - addr-=6*8; - - for(f=0;f<13;f++) - { - DString asc; - char buff[10]; - Z80Word off; - - asc=DSInit(); - - sprintf(buff,"%4.4X: ",addr); - DSAdd(ds,buff); - - for(off=0;off<8;off++) - { - gchar *p; - p=g_markup_printf_escaped - ("%c",isprint(Z80_MEMORY[addr+off]) ? Z80_MEMORY[addr+off] : '.'); - DSAdd(asc,p); - g_free(p); - } - - for(off=0;off<8;off+=(as_words ? 2:1)) - { - Z80Word a; - - a=addr+off; - - if (a==orig) - { - DSAdd(ds,""); - } - - if (as_words) - { - sprintf(buff,"%4.4X ",MK(Z80_MEMORY[a+1],Z80_MEMORY[a])); - } - else - { - sprintf(buff,"%2.2X ",Z80_MEMORY[a]); - } - - DSAdd(ds,buff); - - if (a==orig) - { - DSAdd(ds,""); - } - } - - DSAdd(ds," "); - DSAdd(ds,asc->text); - DSAdd(ds,"\n"); - - DSFree(asc); - - addr+=8; - } - - DSAdd(ds,""); - - gtk_label_set_markup(GTK_LABEL(memview),ds->text); - - DSFree(ds); - } -} - - -void GEMMA_LoadHEX(const char *path) -{ - FILE *fp; - char buff[1024]; - int done=FALSE; - - if (!(fp=fopen(path,"r"))) - { - Log("Failed to open %s\n",path); - return; - } - - while(!done) - { - if (!fgets(buff,sizeof buff,fp)) - { - Log("Missing EOF record\n"); - done=TRUE; - } - - if (!done && buff[0]!=':') - { - Log("Invalid Intel HEX file\n"); - done=TRUE; - } - - if (!done && buff[8]=='1') - { - Log("\n"); - done=TRUE; - } - - if (!done) - { - Z80Word addr; - int len; - int f; - - len=ToHex(buff[1])<<4|ToHex(buff[2]); - - addr=ToHex(buff[3])<<12|ToHex(buff[4])<<8| - ToHex(buff[5])<<4|ToHex(buff[6]); - - Log("Segment of 0x%2.2x bytes at address 0x%4.4x\n",len,addr); - - for(f=0;fPC; - Z80Disassemble(z80,&next); - - RUNNING(TRUE); - - while(z80->PC!=next && !stop) - { - Step(); - gtk_main_iteration_do(FALSE); - } - - GEMMA_UpdateDisplay(UPDATE_ALL_VIEWS); - - RUNNING(FALSE); -} - - -void GEMMA_Run(void) -{ - stop=FALSE; - - RUNNING(TRUE); - - while(!stop) - { - GEMMA_Step(); - gtk_main_iteration_do(FALSE); - } - - RUNNING(FALSE); -} - - -void GEMMA_RunUntil(void) -{ - char *expr; - - expr=StrCopy(gtk_entry_get_text(GTK_ENTRY(breakpoint_text))); - - stop=FALSE; - - RUNNING(TRUE); - - while(!stop) - { - long e; - - if (!ExprEval(expr,&e,Expand,z80)) - { - DialogOK("Error evaluating express:\n%s",ExprError()); - stop=TRUE; - continue; - } - - if (e) - { - DialogOK("%s TRUE",expr); - stop=TRUE; - continue; - } - - GEMMA_Step(); - gtk_main_iteration_do(FALSE); - } - - free(expr); - - RUNNING(FALSE); -} - - -void GEMMA_Stop(void) -{ - stop=TRUE; -} - - -void GEMMA_Init(GtkWidget *top) -{ -#ifdef ENABLE_ARRAY_MEMORY - z80=Z80Init(ReadPort,WritePort); -#else - z80=Z80Init(Peek,Poke,ReadPort,WritePort,Peek); -#endif - z80->PC=0x100; - - if (!z80) - { - fprintf(stderr,"Failed to initialise Z80\n"); - exit(EXIT_FAILURE); - } - - Z80LodgeCallback(z80,eZ80_Halt,Halt); - - top_window=top; - regview=lookup_widget(top_window,"register_view"); - memview=lookup_widget(top_window,"memory_view"); - viewreg=lookup_widget(top_window,"memory_view_choice"); - logview=lookup_widget(top_window,"log_view"); - assemview=lookup_widget(top_window,"assem_view"); - - memview_combo=lookup_widget(top_window,"memory_view_choice"); - memview_check=lookup_widget(top_window,"viewmode_check"); - - breakpoint_text=lookup_widget(top_window,"breakpoint_text"); - - run_button=lookup_widget(top_window,"run_button"); - step_button=lookup_widget(top_window,"step_button"); - step_over_button=lookup_widget(top_window,"step_over_button"); - stop_button=lookup_widget(top_window,"stop_button"); - run_until_button=lookup_widget(top_window,"run_until_button"); - - gtk_combo_box_set_active(GTK_COMBO_BOX(memview_combo),0); -} - - -void GEMMA_Interrupt(int nmi) -{ - if (nmi) - { - Z80NMI(z80); - } - else - { - Z80Interrupt(z80,0); - } -} - - -/* END OF FILE */ diff --git a/gemma.glade b/gemma.glade deleted file mode 100644 index 59201da..0000000 --- a/gemma.glade +++ /dev/null @@ -1,422 +0,0 @@ - - - - - - - 900 - 600 - True - GEMMA - GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE - False - 800 - 600 - False - True - True - False - False - GDK_WINDOW_TYPE_HINT_NORMAL - GDK_GRAVITY_NORTH_WEST - True - False - - - - - True - False - 0 - - - - True - False - 0 - - - - 550 - 80 - True - <b>Assembler View</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.0299999993294 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - 350 - 80 - True - <b>Register View</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - 0 - True - True - - - - - - 1 - True - True - 0 - - - - True - False - 0 - - - - True - False - 0 - - - - True - HL -SP -IX -IY -BC -DE -PC - False - True - - - - 0 - True - True - - - - - - True - True - View as Words - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - 3 - False - False - - - - - 0 - False - True - - - - - - 200 - True - <b>Memory View</b> - False - True - GTK_JUSTIFY_LEFT - False - False - 0.0299999993294 - 0 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - 0 - False - True - - - - - - True - True - GTK_POLICY_ALWAYS - GTK_POLICY_ALWAYS - GTK_SHADOW_IN - GTK_CORNER_TOP_LEFT - - - - True - True - False - False - True - GTK_JUSTIFY_LEFT - GTK_WRAP_CHAR - False - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - 0 - False - True - - - - - 0 - True - True - - - - - - True - False - 0 - - - - True - Run Until Expression: - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 8 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - True - True - True - 0 - - True - * - False - - - 0 - True - True - - - - - 0 - False - True - - - - - - 4 - True - GTK_BUTTONBOX_SPREAD - 0 - - - - True - True - True - Run - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - True - Step - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - True - Step Over - True - GTK_RELIEF_NORMAL - True - - - - - - - True - False - True - True - Stop - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - True - Load HEX - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - True - Load Labels - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - True - Run Until... - True - GTK_RELIEF_NORMAL - True - - - - - - - True - True - True - Quit - True - GTK_RELIEF_NORMAL - True - - - - - - 0 - False - True - - - - - - - diff --git a/gemma.gladep b/gemma.gladep deleted file mode 100644 index 1e7dfaf..0000000 --- a/gemma.gladep +++ /dev/null @@ -1,11 +0,0 @@ - - - - - GEMMA - gemma - . - FALSE - FALSE - FALSE - diff --git a/gemma.h b/gemma.h deleted file mode 100644 index be0698f..0000000 --- a/gemma.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - - GEMMA - Z80 testbed - - Copyright (C) 2006 Ian Cowburn (ianc@noddybox.demon.co.uk) - - 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - ------------------------------------------------------------------------- - - $Id$ - -*/ - -#ifndef GEMMA_H -#define GEMMA_H "$Id$" - -#include -#include "z80.h" - -typedef enum -{ - UPDATE_ASSEM_VIEW=0x01, - UPDATE_REG_VIEW=0x02, - UPDATE_MEM_VIEW=0x04, - UPDATE_ALL_VIEWS=UPDATE_ASSEM_VIEW|UPDATE_REG_VIEW|UPDATE_MEM_VIEW -} GEMMA_View; - -void GEMMA_Init(GtkWidget *top); -void GEMMA_LoadHEX(const char *path); -void GEMMA_LoadLabels(const char *path); -void GEMMA_UpdateDisplay(GEMMA_View view); -void GEMMA_Step(void); -void GEMMA_StepOver(void); -void GEMMA_Run(void); -void GEMMA_RunUntil(void); -void GEMMA_Stop(void); -void GEMMA_Interrupt(int nmi); - -#endif - -/* END OF FILE */ - - diff --git a/gtkutil.c b/gtkutil.c deleted file mode 100644 index cbcf2f4..0000000 --- a/gtkutil.c +++ /dev/null @@ -1,220 +0,0 @@ -/* - - z80 - Z80 Emulation - - Copyright (C) 2006 Ian Cowburn (ianc@noddybox.demon.co.uk) - - 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - ------------------------------------------------------------------------- - - Simple dialogs - - $Id$ - -*/ - -/* ---------------------------------------- INCLUDES -*/ -#include -#include -#include - -#include "gtkutil.h" - - -/* ---------------------------------------- CONSTS -*/ - -/* ---------------------------------------- GLOBALS -*/ -static GtkWidget *parent; -static GtkWidget *dialog; - -static int dial_done=FALSE; -static int selected=FALSE; - - -/* ---------------------------------------- PRIVATE FUNCTIONS -*/ -static void Callback(GtkWidget *w, gpointer data) -{ - dial_done=TRUE; - selected=(int)data; - gtk_widget_destroy(dialog); -} - - -static gint DestroyCB(GtkWidget *w, GdkEvent *ev, gpointer data) -{ - Callback(w,data); - return TRUE; -} - - -/* ---------------------------------------- EXPORTED FUNCTIONS -*/ -void DialogParent(GtkWidget *w) -{ - parent=w; -} - - -void DialogOK(const char *format, ...) -{ - va_list va; - char text[1024]; - GtkWidget *button; - GtkWidget *label; - - va_start(va,format); - vsnprintf(text,sizeof text,format,va); - va_end(va); - - dialog=gtk_dialog_new(); - gtk_window_set_title (GTK_WINDOW (dialog), "GEMMA -- Alert"); - button=gtk_button_new_with_label("OK"); - label=gtk_label_new(text); - - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area), - button,TRUE,TRUE,0); - - gtk_container_set_border_width(GTK_CONTAINER(dialog),10); - - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), - label,TRUE,TRUE,0); - - gtk_signal_connect_object(GTK_OBJECT (button),"clicked", - GTK_SIGNAL_FUNC (gtk_widget_destroy), - GTK_OBJECT (dialog)); - - gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(parent)); - gtk_window_set_modal(GTK_WINDOW(dialog),TRUE); - gtk_window_set_position(GTK_WINDOW(dialog),GTK_WIN_POS_CENTER_ON_PARENT); - - gtk_widget_show(button); - gtk_widget_show(label); - gtk_widget_show(dialog); -} - - -int DialogYesNo(const char *format, ...) -{ - va_list va; - char text[1024]; - GtkWidget *yes; - GtkWidget *no; - GtkWidget *label; - - va_start(va,format); - vsnprintf(text,sizeof text,format,va); - va_end(va); - - dialog=gtk_dialog_new(); - gtk_window_set_title (GTK_WINDOW (dialog), "GEMMA -- Question"); - yes=gtk_button_new_with_label("Yes"); - no=gtk_button_new_with_label("No"); - label=gtk_label_new(text); - - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area), - yes,TRUE,TRUE,0); - - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area), - no,TRUE,TRUE,0); - - gtk_container_set_border_width(GTK_CONTAINER(dialog),10); - - gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), - label,TRUE,TRUE,0); - - gtk_signal_connect(GTK_OBJECT (yes),"clicked", - GTK_SIGNAL_FUNC (Callback), - (gpointer)1); - - gtk_signal_connect(GTK_OBJECT (no),"clicked", - GTK_SIGNAL_FUNC (Callback), - (gpointer)0); - - gtk_signal_connect(GTK_OBJECT(dialog), "delete_event", - GTK_SIGNAL_FUNC(DestroyCB), (gpointer)0); - - gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(parent)); - gtk_window_set_modal(GTK_WINDOW(dialog),TRUE); - gtk_window_set_position(GTK_WINDOW(dialog),GTK_WIN_POS_CENTER_ON_PARENT); - /* gtk_object_set(GTK_OBJECT(dialog),"type",GTK_WINDOW_POPUP,NULL); */ - - gtk_widget_show(yes); - gtk_widget_show(no); - gtk_widget_show(label); - gtk_widget_show(dialog); - - dial_done=FALSE; - - while(!dial_done) - gtk_main_iteration(); - - return selected; -} - - -int DialogFSelect(const char *title, const char *filter_name, - const char *filter, char path[]) -{ - GtkWidget *fsel; - int ret=FALSE; - - fsel=gtk_file_chooser_dialog_new(title, - GTK_WINDOW(parent), - GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, - NULL); - - if (path[0]) - gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(fsel),path); - - if (filter_name && filter) - { - GtkFileFilter *f=gtk_file_filter_new(); - gtk_file_filter_set_name(GTK_FILE_FILTER(f),filter_name); - gtk_file_filter_add_pattern(GTK_FILE_FILTER(f),filter); - gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(fsel), - GTK_FILE_FILTER(f)); - } - - if (gtk_dialog_run(GTK_DIALOG(fsel))==GTK_RESPONSE_ACCEPT) - { - strcpy(path,gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fsel))); - ret=TRUE; - } - - gtk_widget_destroy(fsel); - - return ret; -} - - -void AppendText(GtkWidget *w, const char *text) -{ - GtkTextBuffer *buff; - GtkTextIter end; - - buff=gtk_text_view_get_buffer(GTK_TEXT_VIEW(w)); - gtk_text_buffer_get_end_iter(buff,&end); - gtk_text_buffer_insert(buff,&end,text,-1); -} - - -/* END OF FILE */ diff --git a/gtkutil.h b/gtkutil.h deleted file mode 100644 index e1ea3fd..0000000 --- a/gtkutil.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - - z80 - Z80 Emulation - - Copyright (C) 2006 Ian Cowburn (ianc@noddybox.demon.co.uk) - - 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 - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - ------------------------------------------------------------------------- - - Dialogs - - $Id$ - -*/ - -#ifndef GEMMA_GTKUTIL_H - -#include - -#define GEMMA_GTKUTIL_H - - -/* Sets the parent widget for displayed dialogs -*/ -void DialogParent(GtkWidget *parent); - - -/* Displays a simple dialog with the passed label and an OK button -*/ -void DialogOK(const char *format, ...); - - -/* Displays a simple Yes/No dialog with the passed label. - Returns TRUE if yes selected. -*/ -int DialogYesNo(const char *format, ...); - - -/* Selects a file. The current file is taken from path which should be - MAX_PATH long. If the user selects a file, TRUE is returned and the - filename copied to path. -*/ -int DialogFSelect(const char *title, const char *filter_name, - const char *filter, char path[]); - -/* Append text to a text view -*/ -void AppendText(GtkWidget *w, const char *text); - - -#endif - -/* END OF FILE */ diff --git a/runall b/runall index 6817261..272b974 100644 --- a/runall +++ b/runall @@ -1,5 +1,5 @@ i emucpm.hex -i zexall.hex -D zexall.lbl +l zexall.com 0x100 +#D zexall.lbl s r 0x100 diff --git a/zexall.com b/zexall.com new file mode 100644 index 0000000..33f553c Binary files /dev/null and b/zexall.com differ diff --git a/zexall.z80 b/zexall.z80 deleted file mode 100644 index d3fcaeb..0000000 --- a/zexall.z80 +++ /dev/null @@ -1,1535 +0,0 @@ -; zexlax.z80 - Z80 instruction set exerciser -; Copyright (C) 1994 Frank D. Cringle -; -; 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 the Free Software Foundation; either version 2 -; of the License, or (at your option) any later version. -; -; This program is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with this program; if not, write to the Free Software -; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - org 100h - - jp start - -; machine state before test (needs to be at predictably constant address) -msbt: ds 14 -spbt: ds 2 -msbthi equ msbt / 0100h -msbtlo equ msbt & 0ffh - - -; For the purposes of this test program, the machine state consists of: -; a 2 byte memory operand, followed by -; the registers iy,ix,hl,de,bc,af,sp -; for a total of 16 bytes. - -; The program tests instructions (or groups of similar instructions) -; by cycling through a sequence of machine states, executing the test -; instruction for each one and running a 32-bit crc over the resulting -; machine states. At the end of the sequence the crc is compared to -; an expected value that was found empirically on a real Z80. - -; A test case is defined by a descriptor which consists of: -; a flag mask byte, -; the base case, -; the incement vector, -; the shift vector, -; the expected crc, -; a short descriptive message. -; -; The flag mask byte is used to prevent undefined flag bits from -; influencing the results. Documented flags are as per Mostek Z80 -; Technical Manual. -; -; The next three parts of the descriptor are 20 byte vectors -; corresponding to a 4 byte instruction and a 16 byte machine state. -; The first part is the base case, which is the first test case of -; the sequence. This base is then modified according to the next 2 -; vectors. Each 1 bit in the increment vector specifies a bit to be -; cycled in the form of a binary counter. For instance, if the byte -; corresponding to the accumulator is set to 0ffh in the increment -; vector, the test will be repeated for all 256 values of the -; accumulator. Note that 1 bits don't have to be contiguous. The -; number of test cases 'caused' by the increment vector is equal to -; 2^(number of 1 bits). The shift vector is similar, but specifies a -; set of bits in the test case that are to be successively inverted. -; Thus the shift vector 'causes' a number of test cases equal to the -; number of 1 bits in it. - -; The total number of test cases is the product of those caused by the -; counter and shift vectors and can easily become unweildy. Each -; individual test case can take a few milliseconds to execute, due to -; the overhead of test setup and crc calculation, so test design is a -; compromise between coverage and execution time. - -; This program is designed to detect differences between -; implementations and is not ideal for diagnosing the causes of any -; discrepancies. However, provided a reference implementation (or -; real system) is available, a failing test case can be isolated by -; hand using a binary search of the test space. - - -start: ld hl,(6) - ld sp,hl - ld de,msg1 - ld c,9 - call bdos - - ld hl,tests ; first test case -loop: ld a,(hl) ; end of list ? - inc hl - or (hl) - jp z,done - dec hl - call stt - jp loop - -done: ld de,msg2 - ld c,9 - call bdos - jp 0 ; warm boot - -tests: - dw adc16 - dw add16 - dw add16x - dw add16y - dw alu8i - dw alu8r - dw alu8rx - dw alu8x - dw bitx - dw bitz80 - dw cpd1 - dw cpi1 - dw daaop - dw inca - dw incb - dw incbc - dw incc - dw incd - dw incde - dw ince - dw inch - dw inchl - dw incix - dw inciy - dw incl - dw incm - dw incsp - dw incx - dw incxh - dw incxl - dw incyh - dw incyl - dw ld161 - dw ld162 - dw ld163 - dw ld164 - dw ld165 - dw ld166 - dw ld167 - dw ld168 - dw ld16im - dw ld16ix - dw ld8bd - dw ld8im - dw ld8imx - dw ld8ix1 - dw ld8ix2 - dw ld8ix3 - dw ld8ixy - dw ld8rr - dw ld8rrx - dw lda - dw ldd1 - dw ldd2 - dw ldi1 - dw ldi2 - dw negop - dw rldop - dw rot8080 - dw rotxy - dw rotz80 - dw srz80 - dw srzx - dw st8ix1 - dw st8ix2 - dw st8ix3 - dw stabd - dw 0 - -tstr macro insn1,insn2,insn3,insn4,memop,riy,rix,rhl,rde,rbc,flags,acc,rsp -.lab: db insn1,insn2,insn3,insn4 - dw memop,riy,rix,rhl,rde,rbc - db flags - db acc - dw rsp - endm - -tmsg: macro m - db m - db '$' - endm - -; hl, (38,912 cycles) -adc16: db 0ffh ; flag mask - tstr 0edh,042h,0,0,0832ch,04f88h,0f22bh,0b339h,07e1fh,01563h,0d3h,089h,0465eh - tstr 0,038h,0,0,0,0,0,0f821h,0,0,0,0,0 ; (1024 cycles) - tstr 0,0,0,0,0,0,0,-1,-1,-1,0d7h,0,-1 ; (38 cycles) - db 0d4h,08ah,0d5h,019h ; expected crc - tmsg " hl,..." - -; add hl, (19,456 cycles) -add16: db 0ffh ; flag mask - tstr 9,0,0,0,0c4a5h,0c4c7h,0d226h,0a050h,058eah,08566h,0c6h,0deh,09bc9h - tstr 030h,0,0,0,0,0,0,0f821h,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,-1,-1,-1,0d7h,0,-1 ; (38 cycles) - db 0d9h,0a4h,0cah,005h ; expected crc - tmsg "add hl,........." - -; add ix, (19,456 cycles) -add16x: db 0ffh ; flag mask - tstr 0ddh,9,0,0,0ddach,0c294h,0635bh,033d3h,06a76h,0fa20h,094h,068h,036f5h - tstr 0,030h,0,0,0,0,0f821h,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,-1,0,-1,-1,0d7h,0,-1 ; (38 cycles) - db 0b1h,0dfh,08eh,0c0h ; expected crc - tmsg "add ix,........." - -; add iy, (19,456 cycles) -add16y: db 0ffh ; flag mask - tstr 0fdh,9,0,0,0c7c2h,0f407h,051c1h,03e96h,00bf4h,0510fh,092h,01eh,071eah - tstr 0,030h,0,0,0,0f821h,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,-1,0,0,-1,-1,0d7h,0,-1 ; (38 cycles) - db 039h,0c8h,058h,09bh ; expected crc - tmsg "add iy,........." - -; aluop a,nn (28,672 cycles) -alu8i: db 0ffh ; flag mask - tstr 0c6h,0,0,0,009140h,07e3ch,07a67h,0df6dh,05b61h,00b29h,010h,066h,085b2h - tstr 038h,0,0,0,0,0,0,0,0,0,0,-1,0 ; (2048 cycles) - tstr 0,-1,0,0,0,0,0,0,0,0,0d7h,0,0 ; (14 cycles) - db 051h,0c1h,09ch,02eh ; expected crc - tmsg "aluop a,nn..................." - -; aluop a, (753,664 cycles) -alu8r: db 0ffh ; flag mask - tstr 080h,0,0,0,0c53eh,0573ah,04c4dh,msbt,0e309h,0a666h,0d0h,03bh,0adbbh - tstr 03fh,0,0,0,0,0,0,0,0,0,0,-1,0 ; (16,384 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0d7h,0,0 ; (46 cycles) - db 006h,0c7h,0aah,08eh ; expected crc - tmsg "aluop a,." - -; aluop a, (376,832 cycles) -alu8rx: db 0ffh ; flag mask - tstr 0ddh,084h,0,0,0d6f7h,0c76eh,0accfh,02847h,022ddh,0c035h,0c5h,038h,0234bh - tstr 020h,039h,0,0,0,0,0,0,0,0,0,-1,0 ; (8,192 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0d7h,0,0 ; (46 cycles) - db 0a8h,086h,0cch,044h ; expected crc - tmsg "aluop a,...." - -; aluop a,(+1) (229,376 cycles) -alu8x: db 0ffh ; flag mask - tstr 0ddh,086h,1,0,090b7h,msbt-1,msbt-1,032fdh,0406eh,0c1dch,045h,06eh,0e5fah - tstr 020h,038h,0,0,0,1,1,0,0,0,0,-1,0 ; (16,384 cycles) - tstr 0,0,0,0,0ffh,0,0,0,0,0,0d7h,0,0 ; (14 cycles) - db 0d3h,0f2h,0d7h,04ah ; expected crc - tmsg "aluop a,(+1).........." - -; bit n,(+1) (2048 cycles) -bitx: db 0ffh ; flag mask - tstr 0ddh,0cbh,1,046h,02075h,msbt-1,msbt-1,03cfch,0a79ah,03d74h,051h,027h,0ca14h - tstr 020h,0,0,038h,0,0,0,0,0,0,053h,0,0 ; (256 cycles) - tstr 0,0,0,0,0ffh,0,0,0,0,0,0,0,0 ; (8 cycles) - db 083h,053h,04eh,0e1h ; expected crc - tmsg "bit n,(+1)............" - -; bit n, (49,152 cycles) -bitz80: db 0ffh ; flag mask - tstr 0cbh,040h,0,0,03ef1h,09dfch,07acch,msbt,0be61h,07a86h,050h,024h,01998h - tstr 0,03fh,0,0,0,0,0,0,0,0,053h,0,0 ; (1024 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0,-1,0 ; (48 cycles) - db 05eh,002h,00eh,098h ; expected crc - tmsg "bit n,..." - -; cpd (1) (6144 cycles) -cpd1: db 0ffh ; flag mask - tstr 0edh,0a9h,0,0,0c7b6h,072b4h,018f6h,msbt+17,08dbdh,1,0c0h,030h,094a3h - tstr 0,010h,0,0,0,0,0,0,0,010,0,-1,0 ; (1024 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 013h,04bh,062h,02dh ; expected crc - tmsg "cpd......................." - -; cpi (1) (6144 cycles) -cpi1: db 0ffh ; flag mask - tstr 0edh,0a1h,0,0,04d48h,0af4ah,0906bh,msbt,04e71h,1,093h,06ah,0907ch - tstr 0,010h,0,0,0,0,0,0,0,010,0,-1,0 ; (1024 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 02dh,0a4h,02dh,019h ; expected crc - tmsg "cpi......................." - -; -daaop: db 0ffh ; flag mask - tstr 027h,0,0,0,02141h,009fah,01d60h,0a559h,08d5bh,09079h,004h,08eh,0299dh - tstr 018h,0,0,0,0,0,0,0,0,0,0d7h,-1,0 ; (65,536 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycle) - db 06dh,02dh,0d2h,013h ; expected crc - tmsg "............" - -; a (3072 cycles) -inca: db 0ffh ; flag mask - tstr 03ch,0,0,0,04adfh,0d5d8h,0e598h,08a2bh,0a7b0h,0431bh,044h,05ah,0d030h - tstr 001h,0,0,0,0,0,0,0,0,0,0,-1,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 081h,0fah,081h,000h ; expected crc - tmsg " a.................." - -; b (3072 cycles) -incb: db 0ffh ; flag mask - tstr 004h,0,0,0,0d623h,0432dh,07a61h,08180h,05a86h,01e85h,086h,058h,09bbbh - tstr 001h,0,0,0,0,0,0,0,0,0ff00h,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 077h,0f3h,05ah,073h ; expected crc - tmsg " b.................." - -; bc (1536 cycles) -incbc: db 0ffh ; flag mask - tstr 003h,0,0,0,0cd97h,044abh,08dc9h,0e3e3h,011cch,0e8a4h,002h,049h,02a4dh - tstr 008h,0,0,0,0,0,0,0,0,0f821h,0,0,0 ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0d2h,0aeh,03bh,0ech ; expected crc - tmsg " bc................." - -; c (3072 cycles) -incc: db 0ffh ; flag mask - tstr 00ch,0,0,0,0d789h,00935h,0055bh,09f85h,08b27h,0d208h,095h,005h,00660h - tstr 001h,0,0,0,0,0,0,0,0,0ffh,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 01ah,0f6h,012h,0a7h ; expected crc - tmsg " c.................." - -; d (3072 cycles) -incd: db 0ffh ; flag mask - tstr 014h,0,0,0,0a0eah,05fbah,065fbh,0981ch,038cch,0debch,043h,05ch,003bdh - tstr 001h,0,0,0,0,0,0,0,0ff00h,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0d1h,046h,0bfh,051h ; expected crc - tmsg " d.................." - -; de (1536 cycles) -incde: db 0ffh ; flag mask - tstr 013h,0,0,0,0342eh,0131dh,028c9h,00acah,09967h,03a2eh,092h,0f6h,09d54h - tstr 008h,0,0,0,0,0,0,0,0f821h,0,0,0,0 ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0aeh,0c6h,0d4h,02ch ; expected crc - tmsg " de................." - -; e (3072 cycles) -ince: db 0ffh ; flag mask - tstr 01ch,0,0,0,0602fh,04c0dh,02402h,0e2f5h,0a0f4h,0a10ah,013h,032h,05925h - tstr 001h,0,0,0,0,0,0,0,0ffh,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0cah,08ch,06ah,0c2h ; expected crc - tmsg " e.................." - -; h (3072 cycles) -inch: db 0ffh ; flag mask - tstr 024h,0,0,0,01506h,0f2ebh,0e8ddh,0262bh,011a6h,0bc1ah,017h,006h,02818h - tstr 001h,0,0,0,0,0,0,0ff00h,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 056h,00fh,095h,05eh ; expected crc - tmsg " h.................." - -; hl (1536 cycles) -inchl: db 0ffh ; flag mask - tstr 023h,0,0,0,0c3f4h,007a5h,01b6dh,04f04h,0e2c2h,0822ah,057h,0e0h,0c3e1h - tstr 008h,0,0,0,0,0,0,0f821h,0,0,0,0,0 ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0fch,00dh,06dh,04ah ; expected crc - tmsg " hl................." - -; ix (1536 cycles) -incix: db 0ffh ; flag mask - tstr 0ddh,023h,0,0,0bc3ch,00d9bh,0e081h,0adfdh,09a7fh,096e5h,013h,085h,00be2h - tstr 0,8,0,0,0,0,0f821h,0,0,0,0,0,0 ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0a5h,04dh,0beh,031h ; expected crc - tmsg " ix................." - -; iy (1536 cycles) -inciy: db 0ffh ; flag mask - tstr 0fdh,023h,0,0,09402h,0637ah,03182h,0c65ah,0b2e9h,0abb4h,016h,0f2h,06d05h - tstr 0,8,0,0,0,0f821h,0,0,0,0,0,0,0 ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 050h,05dh,051h,0a3h ; expected crc - tmsg " iy................." - -; l (3072 cycles) -incl: db 0ffh ; flag mask - tstr 02ch,0,0,0,08031h,0a520h,04356h,0b409h,0f4c1h,0dfa2h,0d1h,03ch,03ea2h - tstr 001h,0,0,0,0,0,0,0ffh,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0a0h,0a1h,0b4h,09fh ; expected crc - tmsg " l.................." - -; (hl) (3072 cycles) -incm: db 0ffh ; flag mask - tstr 034h,0,0,0,0b856h,00c7ch,0e53eh,msbt,0877eh,0da58h,015h,05ch,01f37h - tstr 001h,0,0,0,0ffh,0,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 028h,029h,05eh,0ceh ; expected crc - tmsg " (hl)..............." - -; sp (1536 cycles) -incsp: db 0ffh ; flag mask - tstr 033h,0,0,0,0346fh,0d482h,0d169h,0deb6h,0a494h,0f476h,053h,002h,0855bh - tstr 008h,0,0,0,0,0,0,0,0,0,0,0,0f821h ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 05dh,0ach,0d5h,027h ; expected crc - tmsg " sp................." - -; (+1) (6144 cycles) -incx: db 0ffh ; flag mask - tstr 0ddh,034h,1,0,0fa6eh,msbt-1,msbt-1,02c28h,08894h,05057h,016h,033h,0286fh - tstr 020h,1,0,0,0ffh,0,0,0,0,0,0,0,0 ; (1024 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 00bh,095h,0a8h,0eah ; expected crc - tmsg " (+1)........" - -; ixh (3072 cycles) -incxh: db 0ffh ; flag mask - tstr 0ddh,024h,0,0,0b838h,0316ch,0c6d4h,03e01h,08358h,015b4h,081h,0deh,04259h - tstr 0,1,0,0,0,0ff00h,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 06fh,046h,036h,062h ; expected crc - tmsg " ixh................" - -; ixl (3072 cycles) -incxl: db 0ffh ; flag mask - tstr 0ddh,02ch,0,0,04d14h,07460h,076d4h,006e7h,032a2h,0213ch,0d6h,0d7h,099a5h - tstr 0,1,0,0,0,0ffh,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 002h,07bh,0efh,02ch ; expected crc - tmsg " ixl................" - -; iyh (3072 cycles) -incyh: db 0ffh ; flag mask - tstr 0ddh,024h,0,0,02836h,09f6fh,09116h,061b9h,082cbh,0e219h,092h,073h,0a98ch - tstr 0,1,0,0,0ff00h,0,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 02dh,096h,06ch,0f3h ; expected crc - tmsg " iyh................" - -; iyl (3072 cycles) -incyl: db 0ffh ; flag mask - tstr 0ddh,02ch,0,0,0d7c6h,062d5h,0a09eh,07039h,03e7eh,09f12h,090h,0d9h,0220fh - tstr 0,1,0,0,0ffh,0,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 036h,0c1h,01eh,075h ; expected crc - tmsg " iyl................" - -; ld ,(nnnn) (32 cycles) -ld161: db 0ffh ; flag mask - tstr 0edh,04bh,msbtlo,msbthi,0f9a8h,0f559h,093a4h,0f5edh,06f96h,0d968h,086h,0e6h,04bd8h - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 04dh,045h,0a9h,0ach ; expected crc - tmsg "ld ,(nnnn)............" - -; ld hl,(nnnn) (16 cycles) -ld162: db 0ffh ; flag mask - tstr 02ah,msbtlo,msbthi,0,09863h,07830h,02077h,0b1feh,0b9fah,0abb8h,004h,006h,06015h - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycle) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 05fh,097h,024h,087h ; expected crc - tmsg "ld hl,(nnnn)................." - -; ld sp,(nnnn) (16 cycles) -ld163: db 0ffh ; flag mask - tstr 0edh,07bh,msbtlo,msbthi,08dfch,057d7h,02161h,0ca18h,0c185h,027dah,083h,01eh,0f460h - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 07ah,0ceh,0a1h,01bh ; expected crc - tmsg "ld sp,(nnnn)................." - -; ld ,(nnnn) (32 cycles) -ld164: db 0ffh ; flag mask - tstr 0ddh,02ah,msbtlo,msbthi,0ded7h,0a6fah,0f780h,0244ch,087deh,0bcc2h,016h,063h,04c96h - tstr 020h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 085h,08bh,0f1h,06dh ; expected crc - tmsg "ld ,(nnnn)............" - -; ld (nnnn), (64 cycles) -ld165: db 0ffh ; flag mask - tstr 0edh,043h,msbtlo,msbthi,01f98h,0844dh,0e8ach,0c9edh,0c95dh,08f61h,080h,03fh,0c7bfh - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,0,0,0,0,-1,-1,0,0,0 ; (32 cycles) - db 064h,01eh,087h,015h ; expected crc - tmsg "ld (nnnn),............" - -; ld (nnnn),hl (16 cycles) -ld166: db 0ffh ; flag mask - tstr 022h,msbtlo,msbthi,0,0d003h,07772h,07f53h,03f72h,064eah,0e180h,010h,02dh,035e9h - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycle) - tstr 0,0,0,0,0,0,0,-1,0,0,0,0,0 ; (16 cycles) - db 0a3h,060h,08bh,047h ; expected crc - tmsg "ld (nnnn),hl................." - -; ld (nnnn),sp (16 cycles) -ld167: db 0ffh ; flag mask - tstr 0edh,073h,msbtlo,msbthi,0c0dch,0d1d6h,0ed5ah,0f356h,0afdah,06ca7h,044h,09fh,03f0ah - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycle) - tstr 0,0,0,0,0,0,0,0,0,0,0,0,-1 ; (16 cycles) - db 016h,058h,05fh,0d7h ; expected crc - tmsg "ld (nnnn),sp................." - -; ld (nnnn), (64 cycles) -ld168: db 0ffh ; flag mask - tstr 0ddh,022h,msbtlo,msbthi,06cc3h,00d91h,06900h,08ef8h,0e3d6h,0c3f7h,0c6h,0d9h,0c2dfh - tstr 020h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,0,-1,-1,0,0,0,0,0,0 ; (32 cycles) - db 0bah,010h,02ah,06bh ; expected crc - tmsg "ld (nnnn),............" - -; ld ,nnnn (64 cycles) -ld16im: db 0ffh ; flag mask - tstr 1,0,0,0,05c1ch,02d46h,08eb9h,06078h,074b1h,0b30eh,046h,0d1h,030cch - tstr 030h,0,0,0,0,0,0,0,0,0,0,0,0 ; (4 cycles) - tstr 0,0ffh,0ffh,0,0,0,0,0,0,0,0,0,0 ; (16 cycles) - db 0deh,039h,019h,069h ; expected crc - tmsg "ld ,nnnn........" - -; ld ,nnnn (32 cycles) -ld16ix: db 0ffh ; flag mask - tstr 0ddh,021h,0,0,087e8h,02006h,0bd12h,0b69bh,07253h,0a1e5h,051h,013h,0f1bdh - tstr 020h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0ffh,0ffh,0,0,0,0,0,0,0,0,0 ; (16 cycles) - db 022h,07dh,0d5h,025h ; expected crc - tmsg "ld ,nnnn.............." - -; ld a,<(bc),(de)> (44 cycles) -ld8bd: db 0ffh ; flag mask - tstr 00ah,0,0,0,0b3a8h,01d2ah,07f8eh,042ach,msbt,msbt,0c6h,0b1h,0ef8eh - tstr 010h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,0ffh,0,0,0,0,0,0d7h,-1,0 ; (22 cycles) - db 0b0h,081h,089h,035h ; expected crc - tmsg "ld a,<(bc),(de)>............." - -; ld ,nn (64 cycles) -ld8im: db 0ffh ; flag mask - tstr 6,0,0,0,0c407h,0f49dh,0d13dh,00339h,0de89h,07455h,053h,0c0h,05509h - tstr 038h,0,0,0,0,0,0,0,0,0,0,0,0 ; (8 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0,-1,0 ; (8 cycles) - db 0f1h,0dah,0b5h,056h ; expected crc - tmsg "ld ,nn..." - -; ld (+1),nn (32 cycles) -ld8imx: db 0ffh ; flag mask - tstr 0ddh,036h,1,0,01b45h,msbt-1,msbt-1,0d5c1h,061c7h,0bdc4h,0c0h,085h,0cd16h - tstr 020h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,-1,0,0,0,0,0,0,0,-1,0 ; (16 cycles) - db 026h,0dbh,047h,07eh ; expected crc - tmsg "ld (+1),nn............" - -; ld ,(+1) (512 cycles) -ld8ix1: db 0ffh ; flag mask - tstr 0ddh,046h,1,0,0d016h,msbt-1,msbt-1,04260h,07f39h,00404h,097h,04ah,0d085h - tstr 020h,018h,0,0,0,1,1,0,0,0,0,0,0 ; (32 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 0cch,011h,006h,0a8h ; expected crc - tmsg "ld ,(+1)....." - -; ld ,(+1) (256 cycles) -ld8ix2: db 0ffh ; flag mask - tstr 0ddh,066h,1,0,084e0h,msbt-1,msbt-1,09c52h,0a799h,049b6h,093h,000h,0eeadh - tstr 020h,008h,0,0,0,1,1,0,0,0,0,0,0 ; (16 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 0fah,02ah,04dh,003h ; expected crc - tmsg "ld ,(+1)........." - -; ld a,(+1) (128 cycles) -ld8ix3: db 0ffh ; flag mask - tstr 0ddh,07eh,1,0,0d8b6h,msbt-1,msbt-1,0c612h,0df07h,09cd0h,043h,0a6h,0a0e5h - tstr 020h,0,0,0,0,1,1,0,0,0,0,0,0 ; (8 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 0a5h,0e9h,0ach,064h ; expected crc - tmsg "ld a,(+1)............." - -; ld ,nn (32 cycles) -ld8ixy: db 0ffh ; flag mask - tstr 0ddh,026h,0,0,03c53h,04640h,0e179h,07711h,0c107h,01afah,081h,0adh,05d9bh - tstr 020h,8,0,0,0,0,0,0,0,0,0,0,0 ; (4 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0,-1,0 ; (8 cycles) - db 024h,0e8h,082h,08bh ; expected crc - tmsg "ld ,nn......" - -; ld , (3456 cycles) -ld8rr: db 0ffh ; flag mask - tstr 040h,0,0,0,072a4h,0a024h,061ach,msbt,082c7h,0718fh,097h,08fh,0ef8eh - tstr 03fh,0,0,0,0,0,0,0,0,0,0,0,0 ; (64 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0d7h,-1,0 ; (54 cycles) - db 074h,04bh,001h,018h ; expected crc - tmsg "ld ,......." - -; ld , (6912 cycles) -ld8rrx: db 0ffh ; flag mask - tstr 0ddh,040h,0,0,0bcc5h,msbt,msbt,msbt,02fc2h,098c0h,083h,01fh,03bcdh - tstr 020h,03fh,0,0,0,0,0,0,0,0,0,0,0 ; (128 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0d7h,-1,0 ; (54 cycles) - db 047h,08bh,0a3h,06bh ; expected crc - tmsg "ld ,......." - -; ld a,(nnnn) / ld (nnnn),a (44 cycles) -lda: db 0ffh ; flag mask - tstr 032h,msbtlo,msbthi,0,0fd68h,0f4ech,044a0h,0b543h,00653h,0cdbah,0d2h,04fh,01fd8h - tstr 008h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycle) - tstr 0,0,0,0,0ffh,0,0,0,0,0,0d7h,-1,0 ; (22 cycles) - db 0c9h,026h,02dh,0e5h ; expected crc - tmsg "ld a,(nnnn) / ld (nnnn),a...." - -; ldd (1) (44 cycles) -ldd1: db 0ffh ; flag mask - tstr 0edh,0a8h,0,0,09852h,068fah,066a1h,msbt+3,msbt+1,1,0c1h,068h,020b7h - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0d7h,0,0 ; (22 cycles) - db 094h,0f4h,027h,069h ; expected crc - tmsg "ldd (1)..................." - -; ldd (2) (44 cycles) -ldd2: db 0ffh ; flag mask - tstr 0edh,0a8h,0,0,0f12eh,0eb2ah,0d5bah,msbt+3,msbt+1,2,047h,0ffh,0fbe4h - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0d7h,0,0 ; (22 cycles) - db 039h,0ddh,03dh,0e1h ; expected crc - tmsg "ldd (2)..................." - -; ldi (1) (44 cycles) -ldi1: db 0ffh ; flag mask - tstr 0edh,0a0h,0,0,0fe30h,003cdh,06058h,msbt+2,msbt,1,004h,060h,02688h - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0d7h,0,0 ; (22 cycles) - db 0f7h,082h,0b0h,0d1h ; expected crc - tmsg "ldi (1)..................." - -; ldi (2) (44 cycles) -ldi2: db 0ffh ; flag mask - tstr 0edh,0a0h,0,0,04aceh,0c26eh,0b188h,msbt+2,msbt,2,014h,02dh,0a39fh - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0d7h,0,0 ; (22 cycles) - db 0e9h,0eah,0d0h,0aeh ; expected crc - tmsg "ldi (2)..................." - -; neg (16,384 cycles) -negop: db 0ffh ; flag mask - tstr 0edh,044h,0,0,038a2h,05f6bh,0d934h,057e4h,0d2d6h,04642h,043h,05ah,009cch - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,-1,0 ; (16,384 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycle) - db 0d6h,038h,0ddh,06ah ; expected crc - tmsg "neg.........................." - -; (7168 cycles) -rldop: db 0ffh ; flag mask - tstr 0edh,067h,0,0,091cbh,0c48bh,0fa62h,msbt,0e720h,0b479h,040h,006h,08ae2h - tstr 0,8,0,0,0ffh,0,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,-1,0 ; (14 cycles) - db 0ffh,082h,03eh,077h ; expected crc - tmsg "...................." - -; (6144 cycles) -rot8080: db 0ffh ; flag mask - tstr 7,0,0,0,0cb92h,06d43h,00a90h,0c284h,00c53h,0f50eh,091h,0ebh,040fch - tstr 018h,0,0,0,0,0,0,0,0,0,0,-1,0 ; (1024 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 09bh,0a3h,080h,07ch ; expected crc - tmsg ".........." - -; shift/rotate (+1) (416 cycles) -rotxy: db 0ffh ; flag mask - tstr 0ddh,0cbh,1,6,0ddafh,msbt-1,msbt-1,0ff3ch,0dbf6h,094f4h,082h,080h,061d9h - tstr 020h,0,0,038h,0,0,0,0,0,0,080h,0,0 ; (32 cycles) - tstr 0,0,0,0,0ffh,0,0,0,0,0,057h,0,0 ; (13 cycles) - db 071h,000h,034h,0cbh ; expected crc - tmsg "shf/rot (+1).........." - -; shift/rotate (6784 cycles) -rotz80: db 0ffh ; flag mask - tstr 0cbh,0,0,0,0ccebh,05d4ah,0e007h,msbt,01395h,030eeh,043h,078h,03dadh - tstr 0,03fh,0,0,0,0,0,0,0,0,080h,0,0 ; (128 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,057h,-1,0 ; (53 cycles) - db 0a4h,025h,058h,033h ; expected crc - tmsg "shf/rot ." - -; n, (7936 cycles) -srz80: db 0ffh ; flag mask - tstr 0cbh,080h,0,0,02cd5h,097abh,039ffh,msbt,0d14bh,06ab2h,053h,027h,0b538h - tstr 0,07fh,0,0,0,0,0,0,0,0,0,0,0 ; (128 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0d7h,-1,0 ; (62 cycles) - db 08bh,057h,0f0h,008h ; expected crc - tmsg " n,...." - -; n,(+1) (1792 cycles) -srzx: db 0ffh ; flag mask - tstr 0ddh,0cbh,1,086h,0fb44h,msbt-1,msbt-1,0ba09h,068beh,032d8h,010h,05eh,0a867h - tstr 020h,0,0,078h,0,0,0,0,0,0,0,0,0 ; (128 cycles) - tstr 0,0,0,0,0ffh,0,0,0,0,0,0d7h,0,0 ;(14 cycles) - db 0cch,063h,0f9h,08ah ; expected crc - tmsg " n,(+1)......" - -; ld (+1), (1024 cycles) -st8ix1: db 0ffh ; flag mask - tstr 0ddh,070h,1,0,0270dh,msbt-1,msbt-1,0b73ah,0887bh,099eeh,086h,070h,0ca07h - tstr 020h,003h,0,0,0,1,1,0,0,0,0,0,0 ; (32 cycles) - tstr 0,0,0,0,0,0,0,0,-1,-1,0,0,0 ; (32 cycles) - db 004h,062h,06ah,0bfh ; expected crc - tmsg "ld (+1),....." - -; ld (+1), (256 cycles) -st8ix2: db 0ffh ; flag mask - tstr 0ddh,074h,1,0,0b664h,msbt-1,msbt-1,0e8ach,0b5f5h,0aafeh,012h,010h,09566h - tstr 020h,001h,0,0,0,1,1,0,0,0,0,0,0 ; (16 cycles) - tstr 0,0,0,0,0,0,0,-1,0,0,0,0,0 ; (32 cycles) - db 06ah,01ah,088h,031h ; expected crc - tmsg "ld (+1),........." - -; ld (+1),a (64 cycles) -st8ix3: db 0ffh ; flag mask - tstr 0ddh,077h,1,0,067afh,msbt-1,msbt-1,04f13h,00644h,0bcd7h,050h,0ach,05fafh - tstr 020h,0,0,0,0,1,1,0,0,0,0,0,0 ; (8 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0,-1,0 ; (8 cycles) - db 0cch,0beh,05ah,096h ; expected crc - tmsg "ld (+1),a............." - -; ld (),a (96 cycles) -stabd: db 0ffh ; flag mask - tstr 2,0,0,0,00c3bh,0b592h,06cffh,0959eh,msbt,msbt+1,0c1h,021h,0bde7h - tstr 018h,0,0,0,0,0,0,0,0,0,0,0,0 ; (4 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,-1,0 ; (24 cycles) - db 07ah,04ch,011h,04fh ; expected crc - tmsg "ld (),a..............." - -; start test pointed to by (hl) -stt: push hl - ld a,(hl) ; get pointer to test - inc hl - ld h,(hl) - ld l,a - ld a,(hl) ; flag mask - ld (flgmsk+1),a - inc hl - push hl - ld de,20 - add hl,de ; point to incmask - ld de,counter - call initmask - pop hl - push hl - ld de,20+20 - add hl,de ; point to scanmask - ld de,shifter - call initmask - ld hl,shifter - ld (hl),1 ; first bit - pop hl - push hl - ld de,iut ; copy initial instruction under test - ld bc,4 - ldir - ld de,msbt ; copy initial machine state - ld bc,16 - ldir - ld de,20+20+4 ; skip incmask, scanmask and expcrc - add hl,de - ex de,hl - ld c,9 - call bdos ; show test name - call initcrc ; initialise crc -; test loop -tlp: ld a,(iut) - cp 076h ; pragmatically avoid halt intructions - jp z,tlp2 - and 0dfh - cp 0ddh - jp nz,tlp1 - ld a,(iut+1) - cp 076h -tlp1: call nz,test ; execute the test instruction -tlp2: call count ; increment the counter - call nz,shift ; shift the scan bit - pop hl ; pointer to test case - jp z,tlp3 ; done if shift returned NZ - ld de,20+20+20 - add hl,de ; point to expected crc - call cmpcrc - ld de,okmsg - jp z,tlpok - ld de,ermsg1 - ld c,9 - call bdos - call phex8 - ld de,ermsg2 - ld c,9 - call bdos - ld hl,crcval - call phex8 - ld de,crlf -tlpok: ld c,9 - call bdos - pop hl - inc hl - inc hl - ret - -tlp3: push hl - ld a,1 ; initialise count and shift scanners - ld (cntbit),a - ld (shfbit),a - ld hl,counter - ld (cntbyt),hl - ld hl,shifter - ld (shfbyt),hl - - ld b,4 ; bytes in iut field - pop hl ; pointer to test case - push hl - ld de,iut - call setup ; setup iut - ld b,16 ; bytes in machine state - ld de,msbt - call setup ; setup machine state - jp tlp - -; setup a field of the test case -; b = number of bytes -; hl = pointer to base case -; de = destination -setup: call subyte - inc hl - dec b - jp nz,setup - ret - -subyte: push bc - push de - push hl - ld c,(hl) ; get base byte - ld de,20 - add hl,de ; point to incmask - ld a,(hl) - cp 0 - jp z,subshf - ld b,8 ; 8 bits -subclp: rrca - push af - ld a,0 - call c,nxtcbit ; get next counter bit if mask bit was set - xor c ; flip bit if counter bit was set - rrca - ld c,a - pop af - dec b - jp nz,subclp - ld b,8 -subshf: ld de,20 - add hl,de ; point to shift mask - ld a,(hl) - cp 0 - jp z,substr - ld b,8 ; 8 bits -sbshf1: rrca - push af - ld a,0 - call c,nxtsbit ; get next shifter bit if mask bit was set - xor c ; flip bit if shifter bit was set - rrca - ld c,a - pop af - dec b - jp nz,sbshf1 -substr: pop hl - pop de - ld a,c - ld (de),a ; mangled byte to destination - inc de - pop bc - ret - -; get next counter bit in low bit of a -cntbit: ds 1 -cntbyt: ds 2 - -nxtcbit: push bc - push hl - ld hl,(cntbyt) - ld b,(hl) - ld hl,cntbit - ld a,(hl) - ld c,a - rlca - ld (hl),a - cp 1 - jp nz,ncb1 - ld hl,(cntbyt) - inc hl - ld (cntbyt),hl -ncb1: ld a,b - and c - pop hl - pop bc - ret z - ld a,1 - ret - -; get next shifter bit in low bit of a -shfbit: ds 1 -shfbyt: ds 2 - -nxtsbit: push bc - push hl - ld hl,(shfbyt) - ld b,(hl) - ld hl,shfbit - ld a,(hl) - ld c,a - rlca - ld (hl),a - cp 1 - jp nz,nsb1 - ld hl,(shfbyt) - inc hl - ld (shfbyt),hl -nsb1: ld a,b - and c - pop hl - pop bc - ret z - ld a,1 - ret - - -; clear memory at hl, bc bytes -clrmem: push af - push bc - push de - push hl - ld (hl),0 - ld d,h - ld e,l - inc de - dec bc - ldir - pop hl - pop de - pop bc - pop af - ret - -; initialise counter or shifter -; de = pointer to work area for counter or shifter -; hl = pointer to mask -initmask: - push de - ex de,hl - ld bc,20+20 - call clrmem ; clear work area - ex de,hl - ld b,20 ; byte counter - ld c,1 ; first bit - ld d,0 ; bit counter -imlp: ld e,(hl) -imlp1: ld a,e - and c - jp z,imlp2 - inc d -imlp2: ld a,c - rlca - ld c,a - cp 1 - jp nz,imlp1 - inc hl - dec b - jp nz,imlp -; got number of 1-bits in mask in reg d - ld a,d - and 0f8h - rrca - rrca - rrca ; divide by 8 (get byte offset) - ld l,a - ld h,0 - ld a,d - and 7 ; bit offset - inc a - ld b,a - ld a,080h -imlp3: rlca - dec b - jp nz,imlp3 - pop de - add hl,de - ld de,20 - add hl,de - ld (hl),a - ret - -; multi-byte counter -count: push bc - push de - push hl - ld hl,counter ; 20 byte counter starts here - ld de,20 ; somewhere in here is the stop bit - ex de,hl - add hl,de - ex de,hl -cntlp: inc (hl) - ld a,(hl) - cp 0 - jp z,cntlp1 ; overflow to next byte - ld b,a - ld a,(de) - and b ; test for terminal value - jp z,cntend - ld (hl),0 ; reset to zero -cntend: pop bc - pop de - pop hl - ret - -cntlp1: inc hl - inc de - jp cntlp - - -; multi-byte shifter -shift: push bc - push de - push hl - ld hl,shifter ; 20 byte shift register starts here - ld de,20 ; somewhere in here is the stop bit - ex de,hl - add hl,de - ex de,hl -shflp: ld a,(hl) - or a - jp z,shflp1 - ld b,a - ld a,(de) - and b - jp nz,shlpe - ld a,b - rlca - cp 1 - jp nz,shflp2 - ld (hl),0 - inc hl - inc de -shflp2: ld (hl),a - xor a ; set Z -shlpe: pop hl - pop de - pop bc - ret -shflp1: inc hl - inc de - jp shflp - -counter: ds 2*20 -shifter: ds 2*20 - -; test harness -test: push af - push bc - push de - push hl - if 0 - ld de,crlf - ld c,9 - call bdos - ld hl,iut - ld b,4 - call hexstr - ld e,' ' - ld c,2 - call bdos - ld b,16 - ld hl,msbt - call hexstr - endif - di ; disable interrupts - ld (spsav),sp ; save stack pointer - ld sp,msbt+2 ; point to test-case machine state - pop iy ; and load all regs - pop ix - pop hl - pop de - pop bc - pop af - ld sp,(spbt) -iut: ds 4 ; max 4 byte instruction under test - ld (spat),sp ; save stack pointer - ld sp,spat - push af ; save other registers - push bc - push de - push hl - push ix - push iy - ld sp,(spsav) ; restore stack pointer - ei ; enable interrupts - ld hl,(msbt) ; copy memory operand - ld (msat),hl - ld hl,flgsat ; flags after test - ld a,(hl) -flgmsk: and 0d7h ; mask-out irrelevant bits (self-modified code!) - ld (hl),a - ld b,16 ; total of 16 bytes of state - ld de,msat - ld hl,crcval -tcrc: ld a,(de) - inc de - call updcrc ; accumulate crc of this test case - dec b - jp nz,tcrc - if 0 - ld e,' ' - ld c,2 - call bdos - ld hl,crcval - call phex8 - ld de,crlf - ld c,9 - call bdos - ld hl,msat - ld b,16 - call hexstr - ld de,crlf - ld c,9 - call bdos - endif - pop hl - pop de - pop bc - pop af - ret - -; machine state after test -msat: ds 14 ; memop,iy,ix,hl,de,bc,af -spat: ds 2 ; stack pointer after test -flgsat: equ spat-2 ; flags - -spsav: ds 2 ; saved stack pointer - -; display hex string (pointer in hl, byte count in b) -hexstr: ld a,(hl) - call phex2 - inc hl - dec b - jp nz,hexstr - ret - -; display hex -; display the big-endian 32-bit value pointed to by hl -phex8: push af - push bc - push hl - ld b,4 -ph8lp: ld a,(hl) - call phex2 - inc hl - dec b - jp nz,ph8lp - pop hl - pop bc - pop af - ret - -; display byte in a -phex2: push af - rrca - rrca - rrca - rrca - call phex1 - pop af -; fall through - -; display low nibble in a -phex1: push af - push bc - push de - push hl - and 0fh - cp 10 - jp c,ph11 - add a,'a'-'9'-1 -ph11: add a,'0' - ld e,a - ld c,2 - call bdos - pop hl - pop de - pop bc - pop af - ret - -bdos push af - push bc - push de - push hl - call 5 - pop hl - pop de - pop bc - pop af - ret - -msg1: db "Z80 instruction exerciser (+undoc)",10,13,"$" -msg2: db "Tests complete$" -okmsg: db " OK",10,13,"$" -ermsg1: db " ERROR **** crc expected:$" -ermsg2: db " found:$" -crlf: db 10,13,'$' - -; compare crc -; hl points to value to compare to crcval -cmpcrc: push bc - push de - push hl - ld de,crcval - ld b,4 -cclp: ld a,(de) - cp (hl) - jp nz,cce - inc hl - inc de - dec b - jp nz,cclp -cce: pop hl - pop de - pop bc - ret - -; 32-bit crc routine -; entry: a contains next byte, hl points to crc -; exit: crc updated -updcrc: push af - push bc - push de - push hl - push hl - ld de,3 - add hl,de ; point to low byte of old crc - xor (hl) ; xor with new byte - ld l,a - ld h,0 - add hl,hl ; use result as index into table of 4 byte entries - add hl,hl - ex de,hl - ld hl,crctab - add hl,de ; point to selected entry in crctab - ex de,hl - pop hl - ld bc,4 ; c = byte count, b = accumulator -crclp: ld a,(de) - xor b - ld b,(hl) - ld (hl),a - inc de - inc hl - dec c - jp nz,crclp - if 0 - ld hl,crcval - call phex8 - ld de,crlf - ld c,9 - call bdos - endif - pop hl - pop de - pop bc - pop af - ret - -initcrc:push af - push bc - push hl - ld hl,crcval - ld a,0ffh - ld b,4 -icrclp: ld (hl),a - inc hl - dec b - jp nz,icrclp - pop hl - pop bc - pop af - ret - -crcval ds 4 - -crctab: db 000h,000h,000h,000h - db 077h,007h,030h,096h - db 0eeh,00eh,061h,02ch - db 099h,009h,051h,0bah - db 007h,06dh,0c4h,019h - db 070h,06ah,0f4h,08fh - db 0e9h,063h,0a5h,035h - db 09eh,064h,095h,0a3h - db 00eh,0dbh,088h,032h - db 079h,0dch,0b8h,0a4h - db 0e0h,0d5h,0e9h,01eh - db 097h,0d2h,0d9h,088h - db 009h,0b6h,04ch,02bh - db 07eh,0b1h,07ch,0bdh - db 0e7h,0b8h,02dh,007h - db 090h,0bfh,01dh,091h - db 01dh,0b7h,010h,064h - db 06ah,0b0h,020h,0f2h - db 0f3h,0b9h,071h,048h - db 084h,0beh,041h,0deh - db 01ah,0dah,0d4h,07dh - db 06dh,0ddh,0e4h,0ebh - db 0f4h,0d4h,0b5h,051h - db 083h,0d3h,085h,0c7h - db 013h,06ch,098h,056h - db 064h,06bh,0a8h,0c0h - db 0fdh,062h,0f9h,07ah - db 08ah,065h,0c9h,0ech - db 014h,001h,05ch,04fh - db 063h,006h,06ch,0d9h - db 0fah,00fh,03dh,063h - db 08dh,008h,00dh,0f5h - db 03bh,06eh,020h,0c8h - db 04ch,069h,010h,05eh - db 0d5h,060h,041h,0e4h - db 0a2h,067h,071h,072h - db 03ch,003h,0e4h,0d1h - db 04bh,004h,0d4h,047h - db 0d2h,00dh,085h,0fdh - db 0a5h,00ah,0b5h,06bh - db 035h,0b5h,0a8h,0fah - db 042h,0b2h,098h,06ch - db 0dbh,0bbh,0c9h,0d6h - db 0ach,0bch,0f9h,040h - db 032h,0d8h,06ch,0e3h - db 045h,0dfh,05ch,075h - db 0dch,0d6h,00dh,0cfh - db 0abh,0d1h,03dh,059h - db 026h,0d9h,030h,0ach - db 051h,0deh,000h,03ah - db 0c8h,0d7h,051h,080h - db 0bfh,0d0h,061h,016h - db 021h,0b4h,0f4h,0b5h - db 056h,0b3h,0c4h,023h - db 0cfh,0bah,095h,099h - db 0b8h,0bdh,0a5h,00fh - db 028h,002h,0b8h,09eh - db 05fh,005h,088h,008h - db 0c6h,00ch,0d9h,0b2h - db 0b1h,00bh,0e9h,024h - db 02fh,06fh,07ch,087h - db 058h,068h,04ch,011h - db 0c1h,061h,01dh,0abh - db 0b6h,066h,02dh,03dh - db 076h,0dch,041h,090h - db 001h,0dbh,071h,006h - db 098h,0d2h,020h,0bch - db 0efh,0d5h,010h,02ah - db 071h,0b1h,085h,089h - db 006h,0b6h,0b5h,01fh - db 09fh,0bfh,0e4h,0a5h - db 0e8h,0b8h,0d4h,033h - db 078h,007h,0c9h,0a2h - db 00fh,000h,0f9h,034h - db 096h,009h,0a8h,08eh - db 0e1h,00eh,098h,018h - db 07fh,06ah,00dh,0bbh - db 008h,06dh,03dh,02dh - db 091h,064h,06ch,097h - db 0e6h,063h,05ch,001h - db 06bh,06bh,051h,0f4h - db 01ch,06ch,061h,062h - db 085h,065h,030h,0d8h - db 0f2h,062h,000h,04eh - db 06ch,006h,095h,0edh - db 01bh,001h,0a5h,07bh - db 082h,008h,0f4h,0c1h - db 0f5h,00fh,0c4h,057h - db 065h,0b0h,0d9h,0c6h - db 012h,0b7h,0e9h,050h - db 08bh,0beh,0b8h,0eah - db 0fch,0b9h,088h,07ch - db 062h,0ddh,01dh,0dfh - db 015h,0dah,02dh,049h - db 08ch,0d3h,07ch,0f3h - db 0fbh,0d4h,04ch,065h - db 04dh,0b2h,061h,058h - db 03ah,0b5h,051h,0ceh - db 0a3h,0bch,000h,074h - db 0d4h,0bbh,030h,0e2h - db 04ah,0dfh,0a5h,041h - db 03dh,0d8h,095h,0d7h - db 0a4h,0d1h,0c4h,06dh - db 0d3h,0d6h,0f4h,0fbh - db 043h,069h,0e9h,06ah - db 034h,06eh,0d9h,0fch - db 0adh,067h,088h,046h - db 0dah,060h,0b8h,0d0h - db 044h,004h,02dh,073h - db 033h,003h,01dh,0e5h - db 0aah,00ah,04ch,05fh - db 0ddh,00dh,07ch,0c9h - db 050h,005h,071h,03ch - db 027h,002h,041h,0aah - db 0beh,00bh,010h,010h - db 0c9h,00ch,020h,086h - db 057h,068h,0b5h,025h - db 020h,06fh,085h,0b3h - db 0b9h,066h,0d4h,009h - db 0ceh,061h,0e4h,09fh - db 05eh,0deh,0f9h,00eh - db 029h,0d9h,0c9h,098h - db 0b0h,0d0h,098h,022h - db 0c7h,0d7h,0a8h,0b4h - db 059h,0b3h,03dh,017h - db 02eh,0b4h,00dh,081h - db 0b7h,0bdh,05ch,03bh - db 0c0h,0bah,06ch,0adh - db 0edh,0b8h,083h,020h - db 09ah,0bfh,0b3h,0b6h - db 003h,0b6h,0e2h,00ch - db 074h,0b1h,0d2h,09ah - db 0eah,0d5h,047h,039h - db 09dh,0d2h,077h,0afh - db 004h,0dbh,026h,015h - db 073h,0dch,016h,083h - db 0e3h,063h,00bh,012h - db 094h,064h,03bh,084h - db 00dh,06dh,06ah,03eh - db 07ah,06ah,05ah,0a8h - db 0e4h,00eh,0cfh,00bh - db 093h,009h,0ffh,09dh - db 00ah,000h,0aeh,027h - db 07dh,007h,09eh,0b1h - db 0f0h,00fh,093h,044h - db 087h,008h,0a3h,0d2h - db 01eh,001h,0f2h,068h - db 069h,006h,0c2h,0feh - db 0f7h,062h,057h,05dh - db 080h,065h,067h,0cbh - db 019h,06ch,036h,071h - db 06eh,06bh,006h,0e7h - db 0feh,0d4h,01bh,076h - db 089h,0d3h,02bh,0e0h - db 010h,0dah,07ah,05ah - db 067h,0ddh,04ah,0cch - db 0f9h,0b9h,0dfh,06fh - db 08eh,0beh,0efh,0f9h - db 017h,0b7h,0beh,043h - db 060h,0b0h,08eh,0d5h - db 0d6h,0d6h,0a3h,0e8h - db 0a1h,0d1h,093h,07eh - db 038h,0d8h,0c2h,0c4h - db 04fh,0dfh,0f2h,052h - db 0d1h,0bbh,067h,0f1h - db 0a6h,0bch,057h,067h - db 03fh,0b5h,006h,0ddh - db 048h,0b2h,036h,04bh - db 0d8h,00dh,02bh,0dah - db 0afh,00ah,01bh,04ch - db 036h,003h,04ah,0f6h - db 041h,004h,07ah,060h - db 0dfh,060h,0efh,0c3h - db 0a8h,067h,0dfh,055h - db 031h,06eh,08eh,0efh - db 046h,069h,0beh,079h - db 0cbh,061h,0b3h,08ch - db 0bch,066h,083h,01ah - db 025h,06fh,0d2h,0a0h - db 052h,068h,0e2h,036h - db 0cch,00ch,077h,095h - db 0bbh,00bh,047h,003h - db 022h,002h,016h,0b9h - db 055h,005h,026h,02fh - db 0c5h,0bah,03bh,0beh - db 0b2h,0bdh,00bh,028h - db 02bh,0b4h,05ah,092h - db 05ch,0b3h,06ah,004h - db 0c2h,0d7h,0ffh,0a7h - db 0b5h,0d0h,0cfh,031h - db 02ch,0d9h,09eh,08bh - db 05bh,0deh,0aeh,01dh - db 09bh,064h,0c2h,0b0h - db 0ech,063h,0f2h,026h - db 075h,06ah,0a3h,09ch - db 002h,06dh,093h,00ah - db 09ch,009h,006h,0a9h - db 0ebh,00eh,036h,03fh - db 072h,007h,067h,085h - db 005h,000h,057h,013h - db 095h,0bfh,04ah,082h - db 0e2h,0b8h,07ah,014h - db 07bh,0b1h,02bh,0aeh - db 00ch,0b6h,01bh,038h - db 092h,0d2h,08eh,09bh - db 0e5h,0d5h,0beh,00dh - db 07ch,0dch,0efh,0b7h - db 00bh,0dbh,0dfh,021h - db 086h,0d3h,0d2h,0d4h - db 0f1h,0d4h,0e2h,042h - db 068h,0ddh,0b3h,0f8h - db 01fh,0dah,083h,06eh - db 081h,0beh,016h,0cdh - db 0f6h,0b9h,026h,05bh - db 06fh,0b0h,077h,0e1h - db 018h,0b7h,047h,077h - db 088h,008h,05ah,0e6h - db 0ffh,00fh,06ah,070h - db 066h,006h,03bh,0cah - db 011h,001h,00bh,05ch - db 08fh,065h,09eh,0ffh - db 0f8h,062h,0aeh,069h - db 061h,06bh,0ffh,0d3h - db 016h,06ch,0cfh,045h - db 0a0h,00ah,0e2h,078h - db 0d7h,00dh,0d2h,0eeh - db 04eh,004h,083h,054h - db 039h,003h,0b3h,0c2h - db 0a7h,067h,026h,061h - db 0d0h,060h,016h,0f7h - db 049h,069h,047h,04dh - db 03eh,06eh,077h,0dbh - db 0aeh,0d1h,06ah,04ah - db 0d9h,0d6h,05ah,0dch - db 040h,0dfh,00bh,066h - db 037h,0d8h,03bh,0f0h - db 0a9h,0bch,0aeh,053h - db 0deh,0bbh,09eh,0c5h - db 047h,0b2h,0cfh,07fh - db 030h,0b5h,0ffh,0e9h - db 0bdh,0bdh,0f2h,01ch - db 0cah,0bah,0c2h,08ah - db 053h,0b3h,093h,030h - db 024h,0b4h,0a3h,0a6h - db 0bah,0d0h,036h,005h - db 0cdh,0d7h,006h,093h - db 054h,0deh,057h,029h - db 023h,0d9h,067h,0bfh - db 0b3h,066h,07ah,02eh - db 0c4h,061h,04ah,0b8h - db 05dh,068h,01bh,002h - db 02ah,06fh,02bh,094h - db 0b4h,00bh,0beh,037h - db 0c3h,00ch,08eh,0a1h - db 05ah,005h,0dfh,01bh - db 02dh,002h,0efh,08dh - diff --git a/zexdoc.z80 b/zexdoc.z80 deleted file mode 100644 index 8104d56..0000000 --- a/zexdoc.z80 +++ /dev/null @@ -1,1535 +0,0 @@ -; zexlax.z80 - Z80 instruction set exerciser -; Copyright (C) 1994 Frank D. Cringle -; -; 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 the Free Software Foundation; either version 2 -; of the License, or (at your option) any later version. -; -; This program is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with this program; if not, write to the Free Software -; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - org 100h - - jp start - -; machine state before test (needs to be at predictably constant address) -msbt: ds 14 -spbt: ds 2 -msbthi equ msbt / 0100h -msbtlo equ msbt & 0ffh - - -; For the purposes of this test program, the machine state consists of: -; a 2 byte memory operand, followed by -; the registers iy,ix,hl,de,bc,af,sp -; for a total of 16 bytes. - -; The program tests instructions (or groups of similar instructions) -; by cycling through a sequence of machine states, executing the test -; instruction for each one and running a 32-bit crc over the resulting -; machine states. At the end of the sequence the crc is compared to -; an expected value that was found empirically on a real Z80. - -; A test case is defined by a descriptor which consists of: -; a flag mask byte, -; the base case, -; the incement vector, -; the shift vector, -; the expected crc, -; a short descriptive message. -; -; The flag mask byte is used to prevent undefined flag bits from -; influencing the results. Documented flags are as per Mostek Z80 -; Technical Manual. -; -; The next three parts of the descriptor are 20 byte vectors -; corresponding to a 4 byte instruction and a 16 byte machine state. -; The first part is the base case, which is the first test case of -; the sequence. This base is then modified according to the next 2 -; vectors. Each 1 bit in the increment vector specifies a bit to be -; cycled in the form of a binary counter. For instance, if the byte -; corresponding to the accumulator is set to 0ffh in the increment -; vector, the test will be repeated for all 256 values of the -; accumulator. Note that 1 bits don't have to be contiguous. The -; number of test cases 'caused' by the increment vector is equal to -; 2^(number of 1 bits). The shift vector is similar, but specifies a -; set of bits in the test case that are to be successively inverted. -; Thus the shift vector 'causes' a number of test cases equal to the -; number of 1 bits in it. - -; The total number of test cases is the product of those caused by the -; counter and shift vectors and can easily become unweildy. Each -; individual test case can take a few milliseconds to execute, due to -; the overhead of test setup and crc calculation, so test design is a -; compromise between coverage and execution time. - -; This program is designed to detect differences between -; implementations and is not ideal for diagnosing the causes of any -; discrepancies. However, provided a reference implementation (or -; real system) is available, a failing test case can be isolated by -; hand using a binary search of the test space. - - -start: ld hl,(6) - ld sp,hl - ld de,msg1 - ld c,9 - call bdos - - ld hl,tests ; first test case -loop: ld a,(hl) ; end of list ? - inc hl - or (hl) - jp z,done - dec hl - call stt - jp loop - -done: ld de,msg2 - ld c,9 - call bdos - jp 0 ; warm boot - -tests: - dw adc16 - dw add16 - dw add16x - dw add16y - dw alu8i - dw alu8r - dw alu8rx - dw alu8x - dw bitx - dw bitz80 - dw cpd1 - dw cpi1 - dw daaop - dw inca - dw incb - dw incbc - dw incc - dw incd - dw incde - dw ince - dw inch - dw inchl - dw incix - dw inciy - dw incl - dw incm - dw incsp - dw incx - dw incxh - dw incxl - dw incyh - dw incyl - dw ld161 - dw ld162 - dw ld163 - dw ld164 - dw ld165 - dw ld166 - dw ld167 - dw ld168 - dw ld16im - dw ld16ix - dw ld8bd - dw ld8im - dw ld8imx - dw ld8ix1 - dw ld8ix2 - dw ld8ix3 - dw ld8ixy - dw ld8rr - dw ld8rrx - dw lda - dw ldd1 - dw ldd2 - dw ldi1 - dw ldi2 - dw negop - dw rldop - dw rot8080 - dw rotxy - dw rotz80 - dw srz80 - dw srzx - dw st8ix1 - dw st8ix2 - dw st8ix3 - dw stabd - dw 0 - -tstr macro insn1,insn2,insn3,insn4,memop,riy,rix,rhl,rde,rbc,flags,acc,rsp -.lab: db insn1,insn2,insn3,insn4 - dw memop,riy,rix,rhl,rde,rbc - db flags - db acc - dw rsp - endm - -tmsg: macro m - db m - db '$' - endm - -; hl, (38,912 cycles) -adc16: db 0c7h ; flag mask - tstr 0edh,042h,0,0,0832ch,04f88h,0f22bh,0b339h,07e1fh,01563h,0d3h,089h,0465eh - tstr 0,038h,0,0,0,0,0,0f821h,0,0,0,0,0 ; (1024 cycles) - tstr 0,0,0,0,0,0,0,-1,-1,-1,0d7h,0,-1 ; (38 cycles) - db 0f8h,0b4h,0eah,0a9h ; expected crc - tmsg " hl,...." - -; add hl, (19,456 cycles) -add16: db 0c7h ; flag mask - tstr 9,0,0,0,0c4a5h,0c4c7h,0d226h,0a050h,058eah,08566h,0c6h,0deh,09bc9h - tstr 030h,0,0,0,0,0,0,0f821h,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,-1,-1,-1,0d7h,0,-1 ; (38 cycles) - db 089h,0fdh,0b6h,035h ; expected crc - tmsg "add hl,.........." - -; add ix, (19,456 cycles) -add16x: db 0c7h ; flag mask - tstr 0ddh,9,0,0,0ddach,0c294h,0635bh,033d3h,06a76h,0fa20h,094h,068h,036f5h - tstr 0,030h,0,0,0,0,0f821h,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,-1,0,-1,-1,0d7h,0,-1 ; (38 cycles) - db 0c1h,033h,079h,00bh ; expected crc - tmsg "add ix,.........." - -; add iy, (19,456 cycles) -add16y: db 0c7h ; flag mask - tstr 0fdh,9,0,0,0c7c2h,0f407h,051c1h,03e96h,00bf4h,0510fh,092h,01eh,071eah - tstr 0,030h,0,0,0,0f821h,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,-1,0,0,-1,-1,0d7h,0,-1 ; (38 cycles) - db 0e8h,081h,07bh,09eh ; expected crc - tmsg "add iy,.........." - -; aluop a,nn (28,672 cycles) -alu8i: db 0d7h ; flag mask - tstr 0c6h,0,0,0,009140h,07e3ch,07a67h,0df6dh,05b61h,00b29h,010h,066h,085b2h - tstr 038h,0,0,0,0,0,0,0,0,0,0,-1,0 ; (2048 cycles) - tstr 0,-1,0,0,0,0,0,0,0,0,0d7h,0,0 ; (14 cycles) - db 048h,079h,093h,060h ; expected crc - tmsg "aluop a,nn...................." - -; aluop a, (753,664 cycles) -alu8r: db 0d7h ; flag mask - tstr 080h,0,0,0,0c53eh,0573ah,04c4dh,msbt,0e309h,0a666h,0d0h,03bh,0adbbh - tstr 03fh,0,0,0,0,0,0,0,0,0,0,-1,0 ; (16,384 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0d7h,0,0 ; (46 cycles) - db 0feh,043h,0b0h,016h ; expected crc - tmsg "aluop a,.." - -; aluop a, (376,832 cycles) -alu8rx: db 0d7h ; flag mask - tstr 0ddh,084h,0,0,0d6f7h,0c76eh,0accfh,02847h,022ddh,0c035h,0c5h,038h,0234bh - tstr 020h,039h,0,0,0,0,0,0,0,0,0,-1,0 ; (8,192 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0d7h,0,0 ; (46 cycles) - db 0a4h,002h,06dh,05ah ; expected crc - tmsg "aluop a,....." - -; aluop a,(+1) (229,376 cycles) -alu8x: db 0d7h ; flag mask - tstr 0ddh,086h,1,0,090b7h,msbt-1,msbt-1,032fdh,0406eh,0c1dch,045h,06eh,0e5fah - tstr 020h,038h,0,0,0,1,1,0,0,0,0,-1,0 ; (16,384 cycles) - tstr 0,0,0,0,0ffh,0,0,0,0,0,0d7h,0,0 ; (14 cycles) - db 0e8h,049h,067h,06eh ; expected crc - tmsg "aluop a,(+1)..........." - -; bit n,(+1) (2048 cycles) -bitx: db 053h ; flag mask - tstr 0ddh,0cbh,1,046h,02075h,msbt-1,msbt-1,03cfch,0a79ah,03d74h,051h,027h,0ca14h - tstr 020h,0,0,038h,0,0,0,0,0,0,053h,0,0 ; (256 cycles) - tstr 0,0,0,0,0ffh,0,0,0,0,0,0,0,0 ; (8 cycles) - db 0a8h,0eeh,008h,067h ; expected crc - tmsg "bit n,(+1)............." - -; bit n, (49,152 cycles) -bitz80: db 053h ; flag mask - tstr 0cbh,040h,0,0,03ef1h,09dfch,07acch,msbt,0be61h,07a86h,050h,024h,01998h - tstr 0,03fh,0,0,0,0,0,0,0,0,053h,0,0 ; (1024 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0,-1,0 ; (48 cycles) - db 07bh,055h,0e6h,0c8h ; expected crc - tmsg "bit n,...." - -; cpd (1) (6144 cycles) -cpd1: db 0d7h ; flag mask - tstr 0edh,0a9h,0,0,0c7b6h,072b4h,018f6h,msbt+17,08dbdh,1,0c0h,030h,094a3h - tstr 0,010h,0,0,0,0,0,0,0,010,0,-1,0 ; (1024 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0a8h,07eh,06ch,0fah ; expected crc - tmsg "cpd........................" - -; cpi (1) (6144 cycles) -cpi1: db 0d7h ; flag mask - tstr 0edh,0a1h,0,0,04d48h,0af4ah,0906bh,msbt,04e71h,1,093h,06ah,0907ch - tstr 0,010h,0,0,0,0,0,0,0,010,0,-1,0 ; (1024 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 006h,0deh,0b3h,056h ; expected crc - tmsg "cpi........................" - -; -daaop: db 0d7h ; flag mask - tstr 027h,0,0,0,02141h,009fah,01d60h,0a559h,08d5bh,09079h,004h,08eh,0299dh - tstr 018h,0,0,0,0,0,0,0,0,0,0d7h,-1,0 ; (65,536 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycle) - db 09bh,04bh,0a6h,075h ; expected crc - tmsg "............." - -; a (3072 cycles) -inca: db 0d7h ; flag mask - tstr 03ch,0,0,0,04adfh,0d5d8h,0e598h,08a2bh,0a7b0h,0431bh,044h,05ah,0d030h - tstr 001h,0,0,0,0,0,0,0,0,0,0,-1,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0d1h,088h,015h,0a4h ; expected crc - tmsg " a..................." - -; b (3072 cycles) -incb: db 0d7h ; flag mask - tstr 004h,0,0,0,0d623h,0432dh,07a61h,08180h,05a86h,01e85h,086h,058h,09bbbh - tstr 001h,0,0,0,0,0,0,0,0,0ff00h,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 05fh,068h,022h,064h ; expected crc - tmsg " b..................." - -; bc (1536 cycles) -incbc: db 0d7h ; flag mask - tstr 003h,0,0,0,0cd97h,044abh,08dc9h,0e3e3h,011cch,0e8a4h,002h,049h,02a4dh - tstr 008h,0,0,0,0,0,0,0,0,0f821h,0,0,0 ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0d2h,0aeh,03bh,0ech ; expected crc - tmsg " bc.................." - -; c (3072 cycles) -incc: db 0d7h ; flag mask - tstr 00ch,0,0,0,0d789h,00935h,0055bh,09f85h,08b27h,0d208h,095h,005h,00660h - tstr 001h,0,0,0,0,0,0,0,0,0ffh,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0c2h,084h,055h,04ch ; expected crc - tmsg " c..................." - -; d (3072 cycles) -incd: db 0d7h ; flag mask - tstr 014h,0,0,0,0a0eah,05fbah,065fbh,0981ch,038cch,0debch,043h,05ch,003bdh - tstr 001h,0,0,0,0,0,0,0,0ff00h,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 045h,023h,0deh,010h ; expected crc - tmsg " d..................." - -; de (1536 cycles) -incde: db 0d7h ; flag mask - tstr 013h,0,0,0,0342eh,0131dh,028c9h,00acah,09967h,03a2eh,092h,0f6h,09d54h - tstr 008h,0,0,0,0,0,0,0,0f821h,0,0,0,0 ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0aeh,0c6h,0d4h,02ch ; expected crc - tmsg " de.................." - -; e (3072 cycles) -ince: db 0d7h ; flag mask - tstr 01ch,0,0,0,0602fh,04c0dh,02402h,0e2f5h,0a0f4h,0a10ah,013h,032h,05925h - tstr 001h,0,0,0,0,0,0,0,0ffh,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0e1h,075h,0afh,0cch ; expected crc - tmsg " e..................." - -; h (3072 cycles) -inch: db 0d7h ; flag mask - tstr 024h,0,0,0,01506h,0f2ebh,0e8ddh,0262bh,011a6h,0bc1ah,017h,006h,02818h - tstr 001h,0,0,0,0,0,0,0ff00h,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 01ch,0edh,084h,07dh ; expected crc - tmsg " h..................." - -; hl (1536 cycles) -inchl: db 0d7h ; flag mask - tstr 023h,0,0,0,0c3f4h,007a5h,01b6dh,04f04h,0e2c2h,0822ah,057h,0e0h,0c3e1h - tstr 008h,0,0,0,0,0,0,0f821h,0,0,0,0,0 ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0fch,00dh,06dh,04ah ; expected crc - tmsg " hl.................." - -; ix (1536 cycles) -incix: db 0d7h ; flag mask - tstr 0ddh,023h,0,0,0bc3ch,00d9bh,0e081h,0adfdh,09a7fh,096e5h,013h,085h,00be2h - tstr 0,8,0,0,0,0,0f821h,0,0,0,0,0,0 ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0a5h,04dh,0beh,031h ; expected crc - tmsg " ix.................." - -; iy (1536 cycles) -inciy: db 0d7h ; flag mask - tstr 0fdh,023h,0,0,09402h,0637ah,03182h,0c65ah,0b2e9h,0abb4h,016h,0f2h,06d05h - tstr 0,8,0,0,0,0f821h,0,0,0,0,0,0,0 ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 050h,05dh,051h,0a3h ; expected crc - tmsg " iy.................." - -; l (3072 cycles) -incl: db 0d7h ; flag mask - tstr 02ch,0,0,0,08031h,0a520h,04356h,0b409h,0f4c1h,0dfa2h,0d1h,03ch,03ea2h - tstr 001h,0,0,0,0,0,0,0ffh,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 056h,0cdh,006h,0f3h ; expected crc - tmsg " l..................." - -; (hl) (3072 cycles) -incm: db 0d7h ; flag mask - tstr 034h,0,0,0,0b856h,00c7ch,0e53eh,msbt,0877eh,0da58h,015h,05ch,01f37h - tstr 001h,0,0,0,0ffh,0,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0b8h,03ah,0dch,0efh ; expected crc - tmsg " (hl)................" - -; sp (1536 cycles) -incsp: db 0d7h ; flag mask - tstr 033h,0,0,0,0346fh,0d482h,0d169h,0deb6h,0a494h,0f476h,053h,002h,0855bh - tstr 008h,0,0,0,0,0,0,0,0,0,0,0,0f821h ; (256 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 05dh,0ach,0d5h,027h ; expected crc - tmsg " sp.................." - -; (+1) (6144 cycles) -incx: db 0d7h ; flag mask - tstr 0ddh,034h,1,0,0fa6eh,msbt-1,msbt-1,02c28h,08894h,05057h,016h,033h,0286fh - tstr 020h,1,0,0,0ffh,0,0,0,0,0,0,0,0 ; (1024 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 020h,058h,014h,070h ; expected crc - tmsg " (+1)........." - -; ixh (3072 cycles) -incxh: db 0d7h ; flag mask - tstr 0ddh,024h,0,0,0b838h,0316ch,0c6d4h,03e01h,08358h,015b4h,081h,0deh,04259h - tstr 0,1,0,0,0,0ff00h,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 06fh,046h,036h,062h ; expected crc - tmsg " ixh................." - -; ixl (3072 cycles) -incxl: db 0d7h ; flag mask - tstr 0ddh,02ch,0,0,04d14h,07460h,076d4h,006e7h,032a2h,0213ch,0d6h,0d7h,099a5h - tstr 0,1,0,0,0,0ffh,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 002h,07bh,0efh,02ch ; expected crc - tmsg " ixl................." - -; iyh (3072 cycles) -incyh: db 0d7h ; flag mask - tstr 0ddh,024h,0,0,02836h,09f6fh,09116h,061b9h,082cbh,0e219h,092h,073h,0a98ch - tstr 0,1,0,0,0ff00h,0,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 02dh,096h,06ch,0f3h ; expected crc - tmsg " iyh................." - -; iyl (3072 cycles) -incyl: db 0d7h ; flag mask - tstr 0ddh,02ch,0,0,0d7c6h,062d5h,0a09eh,07039h,03e7eh,09f12h,090h,0d9h,0220fh - tstr 0,1,0,0,0ffh,0,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 0fbh,0cbh,0bah,095h ; expected crc - tmsg " iyl................." - -; ld ,(nnnn) (32 cycles) -ld161: db 0d7h ; flag mask - tstr 0edh,04bh,msbtlo,msbthi,0f9a8h,0f559h,093a4h,0f5edh,06f96h,0d968h,086h,0e6h,04bd8h - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 04dh,045h,0a9h,0ach ; expected crc - tmsg "ld ,(nnnn)............." - -; ld hl,(nnnn) (16 cycles) -ld162: db 0d7h ; flag mask - tstr 02ah,msbtlo,msbthi,0,09863h,07830h,02077h,0b1feh,0b9fah,0abb8h,004h,006h,06015h - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycle) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 05fh,097h,024h,087h ; expected crc - tmsg "ld hl,(nnnn).................." - -; ld sp,(nnnn) (16 cycles) -ld163: db 0d7h ; flag mask - tstr 0edh,07bh,msbtlo,msbthi,08dfch,057d7h,02161h,0ca18h,0c185h,027dah,083h,01eh,0f460h - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 07ah,0ceh,0a1h,01bh ; expected crc - tmsg "ld sp,(nnnn).................." - -; ld ,(nnnn) (32 cycles) -ld164: db 0d7h ; flag mask - tstr 0ddh,02ah,msbtlo,msbthi,0ded7h,0a6fah,0f780h,0244ch,087deh,0bcc2h,016h,063h,04c96h - tstr 020h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 085h,08bh,0f1h,06dh ; expected crc - tmsg "ld ,(nnnn)............." - -; ld (nnnn), (64 cycles) -ld165: db 0d7h ; flag mask - tstr 0edh,043h,msbtlo,msbthi,01f98h,0844dh,0e8ach,0c9edh,0c95dh,08f61h,080h,03fh,0c7bfh - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,0,0,0,0,-1,-1,0,0,0 ; (32 cycles) - db 064h,01eh,087h,015h ; expected crc - tmsg "ld (nnnn),............." - -; ld (nnnn),hl (16 cycles) -ld166: db 0d7h ; flag mask - tstr 022h,msbtlo,msbthi,0,0d003h,07772h,07f53h,03f72h,064eah,0e180h,010h,02dh,035e9h - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycle) - tstr 0,0,0,0,0,0,0,-1,0,0,0,0,0 ; (16 cycles) - db 0a3h,060h,08bh,047h ; expected crc - tmsg "ld (nnnn),hl.................." - -; ld (nnnn),sp (16 cycles) -ld167: db 0d7h ; flag mask - tstr 0edh,073h,msbtlo,msbthi,0c0dch,0d1d6h,0ed5ah,0f356h,0afdah,06ca7h,044h,09fh,03f0ah - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycle) - tstr 0,0,0,0,0,0,0,0,0,0,0,0,-1 ; (16 cycles) - db 016h,058h,05fh,0d7h ; expected crc - tmsg "ld (nnnn),sp.................." - -; ld (nnnn), (64 cycles) -ld168: db 0d7h ; flag mask - tstr 0ddh,022h,msbtlo,msbthi,06cc3h,00d91h,06900h,08ef8h,0e3d6h,0c3f7h,0c6h,0d9h,0c2dfh - tstr 020h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,0,-1,-1,0,0,0,0,0,0 ; (32 cycles) - db 0bah,010h,02ah,06bh ; expected crc - tmsg "ld (nnnn),............." - -; ld ,nnnn (64 cycles) -ld16im: db 0d7h ; flag mask - tstr 1,0,0,0,05c1ch,02d46h,08eb9h,06078h,074b1h,0b30eh,046h,0d1h,030cch - tstr 030h,0,0,0,0,0,0,0,0,0,0,0,0 ; (4 cycles) - tstr 0,0ffh,0ffh,0,0,0,0,0,0,0,0,0,0 ; (16 cycles) - db 0deh,039h,019h,069h ; expected crc - tmsg "ld ,nnnn........." - -; ld ,nnnn (32 cycles) -ld16ix: db 0d7h ; flag mask - tstr 0ddh,021h,0,0,087e8h,02006h,0bd12h,0b69bh,07253h,0a1e5h,051h,013h,0f1bdh - tstr 020h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0ffh,0ffh,0,0,0,0,0,0,0,0,0 ; (16 cycles) - db 022h,07dh,0d5h,025h ; expected crc - tmsg "ld ,nnnn..............." - -; ld a,<(bc),(de)> (44 cycles) -ld8bd: db 0d7h ; flag mask - tstr 00ah,0,0,0,0b3a8h,01d2ah,07f8eh,042ach,msbt,msbt,0c6h,0b1h,0ef8eh - tstr 010h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,0ffh,0,0,0,0,0,0d7h,-1,0 ; (22 cycles) - db 0b0h,081h,089h,035h ; expected crc - tmsg "ld a,<(bc),(de)>.............." - -; ld ,nn (64 cycles) -ld8im: db 0d7h ; flag mask - tstr 6,0,0,0,0c407h,0f49dh,0d13dh,00339h,0de89h,07455h,053h,0c0h,05509h - tstr 038h,0,0,0,0,0,0,0,0,0,0,0,0 ; (8 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0,-1,0 ; (8 cycles) - db 0f1h,0dah,0b5h,056h ; expected crc - tmsg "ld ,nn...." - -; ld (+1),nn (32 cycles) -ld8imx: db 0d7h ; flag mask - tstr 0ddh,036h,1,0,01b45h,msbt-1,msbt-1,0d5c1h,061c7h,0bdc4h,0c0h,085h,0cd16h - tstr 020h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,-1,0,0,0,0,0,0,0,-1,0 ; (16 cycles) - db 026h,0dbh,047h,07eh ; expected crc - tmsg "ld (+1),nn............." - -; ld ,(+1) (512 cycles) -ld8ix1: db 0d7h ; flag mask - tstr 0ddh,046h,1,0,0d016h,msbt-1,msbt-1,04260h,07f39h,00404h,097h,04ah,0d085h - tstr 020h,018h,0,0,0,1,1,0,0,0,0,0,0 ; (32 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 0cch,011h,006h,0a8h ; expected crc - tmsg "ld ,(+1)......" - -; ld ,(+1) (256 cycles) -ld8ix2: db 0d7h ; flag mask - tstr 0ddh,066h,1,0,084e0h,msbt-1,msbt-1,09c52h,0a799h,049b6h,093h,000h,0eeadh - tstr 020h,008h,0,0,0,1,1,0,0,0,0,0,0 ; (16 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 0fah,02ah,04dh,003h ; expected crc - tmsg "ld ,(+1).........." - -; ld a,(+1) (128 cycles) -ld8ix3: db 0d7h ; flag mask - tstr 0ddh,07eh,1,0,0d8b6h,msbt-1,msbt-1,0c612h,0df07h,09cd0h,043h,0a6h,0a0e5h - tstr 020h,0,0,0,0,1,1,0,0,0,0,0,0 ; (8 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,0,0 ; (16 cycles) - db 0a5h,0e9h,0ach,064h ; expected crc - tmsg "ld a,(+1).............." - -; ld ,nn (32 cycles) -ld8ixy: db 0d7h ; flag mask - tstr 0ddh,026h,0,0,03c53h,04640h,0e179h,07711h,0c107h,01afah,081h,0adh,05d9bh - tstr 020h,8,0,0,0,0,0,0,0,0,0,0,0 ; (4 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0,-1,0 ; (8 cycles) - db 024h,0e8h,082h,08bh ; expected crc - tmsg "ld ,nn......." - -; ld , (3456 cycles) -ld8rr: db 0d7h ; flag mask - tstr 040h,0,0,0,072a4h,0a024h,061ach,msbt,082c7h,0718fh,097h,08fh,0ef8eh - tstr 03fh,0,0,0,0,0,0,0,0,0,0,0,0 ; (64 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0d7h,-1,0 ; (54 cycles) - db 074h,04bh,001h,018h ; expected crc - tmsg "ld ,........" - -; ld , (6912 cycles) -ld8rrx: db 0d7h ; flag mask - tstr 0ddh,040h,0,0,0bcc5h,msbt,msbt,msbt,02fc2h,098c0h,083h,01fh,03bcdh - tstr 020h,03fh,0,0,0,0,0,0,0,0,0,0,0 ; (128 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0d7h,-1,0 ; (54 cycles) - db 047h,08bh,0a3h,06bh ; expected crc - tmsg "ld ,........" - -; ld a,(nnnn) / ld (nnnn),a (44 cycles) -lda: db 0d7h ; flag mask - tstr 032h,msbtlo,msbthi,0,0fd68h,0f4ech,044a0h,0b543h,00653h,0cdbah,0d2h,04fh,01fd8h - tstr 008h,0,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycle) - tstr 0,0,0,0,0ffh,0,0,0,0,0,0d7h,-1,0 ; (22 cycles) - db 0c9h,026h,02dh,0e5h ; expected crc - tmsg "ld a,(nnnn) / ld (nnnn),a....." - -; ldd (1) (44 cycles) -ldd1: db 0d7h ; flag mask - tstr 0edh,0a8h,0,0,09852h,068fah,066a1h,msbt+3,msbt+1,1,0c1h,068h,020b7h - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0d7h,0,0 ; (22 cycles) - db 094h,0f4h,027h,069h ; expected crc - tmsg "ldd (1)...................." - -; ldd (2) (44 cycles) -ldd2: db 0d7h ; flag mask - tstr 0edh,0a8h,0,0,0f12eh,0eb2ah,0d5bah,msbt+3,msbt+1,2,047h,0ffh,0fbe4h - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0d7h,0,0 ; (22 cycles) - db 05ah,090h,07eh,0d4h ; expected crc - tmsg "ldd (2)...................." - -; ldi (1) (44 cycles) -ldi1: db 0d7h ; flag mask - tstr 0edh,0a0h,0,0,0fe30h,003cdh,06058h,msbt+2,msbt,1,004h,060h,02688h - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0d7h,0,0 ; (22 cycles) - db 09ah,0bdh,0f6h,0b5h ; expected crc - tmsg "ldi (1)...................." - -; ldi (2) (44 cycles) -ldi2: db 0d7h ; flag mask - tstr 0edh,0a0h,0,0,04aceh,0c26eh,0b188h,msbt+2,msbt,2,014h,02dh,0a39fh - tstr 0,010h,0,0,0,0,0,0,0,0,0,0,0 ; (2 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0d7h,0,0 ; (22 cycles) - db 0ebh,059h,089h,01bh ; expected crc - tmsg "ldi (2)...................." - -; neg (16,384 cycles) -negop: db 0d7h ; flag mask - tstr 0edh,044h,0,0,038a2h,05f6bh,0d934h,057e4h,0d2d6h,04642h,043h,05ah,009cch - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,-1,0 ; (16,384 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0,0,0 ; (1 cycle) - db 06ah,03ch,03bh,0bdh ; expected crc - tmsg "neg..........................." - -; (7168 cycles) -rldop: db 0d7h ; flag mask - tstr 0edh,067h,0,0,091cbh,0c48bh,0fa62h,msbt,0e720h,0b479h,040h,006h,08ae2h - tstr 0,8,0,0,0ffh,0,0,0,0,0,0,0,0 ; (512 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,-1,0 ; (14 cycles) - db 095h,05bh,0a3h,026h ; expected crc - tmsg "....................." - -; (6144 cycles) -rot8080: db 0d7h ; flag mask - tstr 7,0,0,0,0cb92h,06d43h,00a90h,0c284h,00c53h,0f50eh,091h,0ebh,040fch - tstr 018h,0,0,0,0,0,0,0,0,0,0,-1,0 ; (1024 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0d7h,0,0 ; (6 cycles) - db 025h,013h,030h,0aeh ; expected crc - tmsg "..........." - -; shift/rotate (+1) (416 cycles) -rotxy: db 0d7h ; flag mask - tstr 0ddh,0cbh,1,6,0ddafh,msbt-1,msbt-1,0ff3ch,0dbf6h,094f4h,082h,080h,061d9h - tstr 020h,0,0,038h,0,0,0,0,0,0,080h,0,0 ; (32 cycles) - tstr 0,0,0,0,0ffh,0,0,0,0,0,057h,0,0 ; (13 cycles) - db 071h,03ah,0cdh,081h ; expected crc - tmsg "shf/rot (+1)..........." - -; shift/rotate (6784 cycles) -rotz80: db 0d7h ; flag mask - tstr 0cbh,0,0,0,0ccebh,05d4ah,0e007h,msbt,01395h,030eeh,043h,078h,03dadh - tstr 0,03fh,0,0,0,0,0,0,0,0,080h,0,0 ; (128 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,057h,-1,0 ; (53 cycles) - db 0ebh,060h,04dh,058h ; expected crc - tmsg "shf/rot .." - -; n, (7936 cycles) -srz80: db 0d7h ; flag mask - tstr 0cbh,080h,0,0,02cd5h,097abh,039ffh,msbt,0d14bh,06ab2h,053h,027h,0b538h - tstr 0,07fh,0,0,0,0,0,0,0,0,0,0,0 ; (128 cycles) - tstr 0,0,0,0,0ffh,0,0,0,-1,-1,0d7h,-1,0 ; (62 cycles) - db 08bh,057h,0f0h,008h ; expected crc - tmsg " n,....." - -; n,(+1) (1792 cycles) -srzx: db 0d7h ; flag mask - tstr 0ddh,0cbh,1,086h,0fb44h,msbt-1,msbt-1,0ba09h,068beh,032d8h,010h,05eh,0a867h - tstr 020h,0,0,078h,0,0,0,0,0,0,0,0,0 ; (128 cycles) - tstr 0,0,0,0,0ffh,0,0,0,0,0,0d7h,0,0 ;(14 cycles) - db 0cch,063h,0f9h,08ah ; expected crc - tmsg " n,(+1)......." - -; ld (+1), (1024 cycles) -st8ix1: db 0d7h ; flag mask - tstr 0ddh,070h,1,0,0270dh,msbt-1,msbt-1,0b73ah,0887bh,099eeh,086h,070h,0ca07h - tstr 020h,003h,0,0,0,1,1,0,0,0,0,0,0 ; (32 cycles) - tstr 0,0,0,0,0,0,0,0,-1,-1,0,0,0 ; (32 cycles) - db 004h,062h,06ah,0bfh ; expected crc - tmsg "ld (+1),......" - -; ld (+1), (256 cycles) -st8ix2: db 0d7h ; flag mask - tstr 0ddh,074h,1,0,0b664h,msbt-1,msbt-1,0e8ach,0b5f5h,0aafeh,012h,010h,09566h - tstr 020h,001h,0,0,0,1,1,0,0,0,0,0,0 ; (16 cycles) - tstr 0,0,0,0,0,0,0,-1,0,0,0,0,0 ; (32 cycles) - db 06ah,01ah,088h,031h ; expected crc - tmsg "ld (+1),.........." - -; ld (+1),a (64 cycles) -st8ix3: db 0d7h ; flag mask - tstr 0ddh,077h,1,0,067afh,msbt-1,msbt-1,04f13h,00644h,0bcd7h,050h,0ach,05fafh - tstr 020h,0,0,0,0,1,1,0,0,0,0,0,0 ; (8 cycles) - tstr 0,0,0,0,0,0,0,0,0,0,0,-1,0 ; (8 cycles) - db 0cch,0beh,05ah,096h ; expected crc - tmsg "ld (+1),a.............." - -; ld (),a (96 cycles) -stabd: db 0d7h ; flag mask - tstr 2,0,0,0,00c3bh,0b592h,06cffh,0959eh,msbt,msbt+1,0c1h,021h,0bde7h - tstr 018h,0,0,0,0,0,0,0,0,0,0,0,0 ; (4 cycles) - tstr 0,0,0,0,-1,0,0,0,0,0,0,-1,0 ; (24 cycles) - db 07ah,04ch,011h,04fh ; expected crc - tmsg "ld (),a................" - -; start test pointed to by (hl) -stt: push hl - ld a,(hl) ; get pointer to test - inc hl - ld h,(hl) - ld l,a - ld a,(hl) ; flag mask - ld (flgmsk+1),a - inc hl - push hl - ld de,20 - add hl,de ; point to incmask - ld de,counter - call initmask - pop hl - push hl - ld de,20+20 - add hl,de ; point to scanmask - ld de,shifter - call initmask - ld hl,shifter - ld (hl),1 ; first bit - pop hl - push hl - ld de,iut ; copy initial instruction under test - ld bc,4 - ldir - ld de,msbt ; copy initial machine state - ld bc,16 - ldir - ld de,20+20+4 ; skip incmask, scanmask and expcrc - add hl,de - ex de,hl - ld c,9 - call bdos ; show test name - call initcrc ; initialise crc -; test loop -tlp: ld a,(iut) - cp 076h ; pragmatically avoid halt intructions - jp z,tlp2 - and 0dfh - cp 0ddh - jp nz,tlp1 - ld a,(iut+1) - cp 076h -tlp1: call nz,test ; execute the test instruction -tlp2: call count ; increment the counter - call nz,shift ; shift the scan bit - pop hl ; pointer to test case - jp z,tlp3 ; done if shift returned NZ - ld de,20+20+20 - add hl,de ; point to expected crc - call cmpcrc - ld de,okmsg - jp z,tlpok - ld de,ermsg1 - ld c,9 - call bdos - call phex8 - ld de,ermsg2 - ld c,9 - call bdos - ld hl,crcval - call phex8 - ld de,crlf -tlpok: ld c,9 - call bdos - pop hl - inc hl - inc hl - ret - -tlp3: push hl - ld a,1 ; initialise count and shift scanners - ld (cntbit),a - ld (shfbit),a - ld hl,counter - ld (cntbyt),hl - ld hl,shifter - ld (shfbyt),hl - - ld b,4 ; bytes in iut field - pop hl ; pointer to test case - push hl - ld de,iut - call setup ; setup iut - ld b,16 ; bytes in machine state - ld de,msbt - call setup ; setup machine state - jp tlp - -; setup a field of the test case -; b = number of bytes -; hl = pointer to base case -; de = destination -setup: call subyte - inc hl - dec b - jp nz,setup - ret - -subyte: push bc - push de - push hl - ld c,(hl) ; get base byte - ld de,20 - add hl,de ; point to incmask - ld a,(hl) - cp 0 - jp z,subshf - ld b,8 ; 8 bits -subclp: rrca - push af - ld a,0 - call c,nxtcbit ; get next counter bit if mask bit was set - xor c ; flip bit if counter bit was set - rrca - ld c,a - pop af - dec b - jp nz,subclp - ld b,8 -subshf: ld de,20 - add hl,de ; point to shift mask - ld a,(hl) - cp 0 - jp z,substr - ld b,8 ; 8 bits -sbshf1: rrca - push af - ld a,0 - call c,nxtsbit ; get next shifter bit if mask bit was set - xor c ; flip bit if shifter bit was set - rrca - ld c,a - pop af - dec b - jp nz,sbshf1 -substr: pop hl - pop de - ld a,c - ld (de),a ; mangled byte to destination - inc de - pop bc - ret - -; get next counter bit in low bit of a -cntbit: ds 1 -cntbyt: ds 2 - -nxtcbit: push bc - push hl - ld hl,(cntbyt) - ld b,(hl) - ld hl,cntbit - ld a,(hl) - ld c,a - rlca - ld (hl),a - cp 1 - jp nz,ncb1 - ld hl,(cntbyt) - inc hl - ld (cntbyt),hl -ncb1: ld a,b - and c - pop hl - pop bc - ret z - ld a,1 - ret - -; get next shifter bit in low bit of a -shfbit: ds 1 -shfbyt: ds 2 - -nxtsbit: push bc - push hl - ld hl,(shfbyt) - ld b,(hl) - ld hl,shfbit - ld a,(hl) - ld c,a - rlca - ld (hl),a - cp 1 - jp nz,nsb1 - ld hl,(shfbyt) - inc hl - ld (shfbyt),hl -nsb1: ld a,b - and c - pop hl - pop bc - ret z - ld a,1 - ret - - -; clear memory at hl, bc bytes -clrmem: push af - push bc - push de - push hl - ld (hl),0 - ld d,h - ld e,l - inc de - dec bc - ldir - pop hl - pop de - pop bc - pop af - ret - -; initialise counter or shifter -; de = pointer to work area for counter or shifter -; hl = pointer to mask -initmask: - push de - ex de,hl - ld bc,20+20 - call clrmem ; clear work area - ex de,hl - ld b,20 ; byte counter - ld c,1 ; first bit - ld d,0 ; bit counter -imlp: ld e,(hl) -imlp1: ld a,e - and c - jp z,imlp2 - inc d -imlp2: ld a,c - rlca - ld c,a - cp 1 - jp nz,imlp1 - inc hl - dec b - jp nz,imlp -; got number of 1-bits in mask in reg d - ld a,d - and 0f8h - rrca - rrca - rrca ; divide by 8 (get byte offset) - ld l,a - ld h,0 - ld a,d - and 7 ; bit offset - inc a - ld b,a - ld a,080h -imlp3: rlca - dec b - jp nz,imlp3 - pop de - add hl,de - ld de,20 - add hl,de - ld (hl),a - ret - -; multi-byte counter -count: push bc - push de - push hl - ld hl,counter ; 20 byte counter starts here - ld de,20 ; somewhere in here is the stop bit - ex de,hl - add hl,de - ex de,hl -cntlp: inc (hl) - ld a,(hl) - cp 0 - jp z,cntlp1 ; overflow to next byte - ld b,a - ld a,(de) - and b ; test for terminal value - jp z,cntend - ld (hl),0 ; reset to zero -cntend: pop bc - pop de - pop hl - ret - -cntlp1: inc hl - inc de - jp cntlp - - -; multi-byte shifter -shift: push bc - push de - push hl - ld hl,shifter ; 20 byte shift register starts here - ld de,20 ; somewhere in here is the stop bit - ex de,hl - add hl,de - ex de,hl -shflp: ld a,(hl) - or a - jp z,shflp1 - ld b,a - ld a,(de) - and b - jp nz,shlpe - ld a,b - rlca - cp 1 - jp nz,shflp2 - ld (hl),0 - inc hl - inc de -shflp2: ld (hl),a - xor a ; set Z -shlpe: pop hl - pop de - pop bc - ret -shflp1: inc hl - inc de - jp shflp - -counter: ds 2*20 -shifter: ds 2*20 - -; test harness -test: push af - push bc - push de - push hl - if 0 - ld de,crlf - ld c,9 - call bdos - ld hl,iut - ld b,4 - call hexstr - ld e,' ' - ld c,2 - call bdos - ld b,16 - ld hl,msbt - call hexstr - endif - di ; disable interrupts - ld (spsav),sp ; save stack pointer - ld sp,msbt+2 ; point to test-case machine state - pop iy ; and load all regs - pop ix - pop hl - pop de - pop bc - pop af - ld sp,(spbt) -iut: ds 4 ; max 4 byte instruction under test - ld (spat),sp ; save stack pointer - ld sp,spat - push af ; save other registers - push bc - push de - push hl - push ix - push iy - ld sp,(spsav) ; restore stack pointer - ei ; enable interrupts - ld hl,(msbt) ; copy memory operand - ld (msat),hl - ld hl,flgsat ; flags after test - ld a,(hl) -flgmsk: and 0d7h ; mask-out irrelevant bits (self-modified code!) - ld (hl),a - ld b,16 ; total of 16 bytes of state - ld de,msat - ld hl,crcval -tcrc: ld a,(de) - inc de - call updcrc ; accumulate crc of this test case - dec b - jp nz,tcrc - if 0 - ld e,' ' - ld c,2 - call bdos - ld hl,crcval - call phex8 - ld de,crlf - ld c,9 - call bdos - ld hl,msat - ld b,16 - call hexstr - ld de,crlf - ld c,9 - call bdos - endif - pop hl - pop de - pop bc - pop af - ret - -; machine state after test -msat: ds 14 ; memop,iy,ix,hl,de,bc,af -spat: ds 2 ; stack pointer after test -flgsat: equ spat-2 ; flags - -spsav: ds 2 ; saved stack pointer - -; display hex string (pointer in hl, byte count in b) -hexstr: ld a,(hl) - call phex2 - inc hl - dec b - jp nz,hexstr - ret - -; display hex -; display the big-endian 32-bit value pointed to by hl -phex8: push af - push bc - push hl - ld b,4 -ph8lp: ld a,(hl) - call phex2 - inc hl - dec b - jp nz,ph8lp - pop hl - pop bc - pop af - ret - -; display byte in a -phex2: push af - rrca - rrca - rrca - rrca - call phex1 - pop af -; fall through - -; display low nibble in a -phex1: push af - push bc - push de - push hl - and 0fh - cp 10 - jp c,ph11 - add a,'a'-'9'-1 -ph11: add a,'0' - ld e,a - ld c,2 - call bdos - pop hl - pop de - pop bc - pop af - ret - -bdos push af - push bc - push de - push hl - call 5 - pop hl - pop de - pop bc - pop af - ret - -msg1: db "Z80 instruction exerciser",10,13,"$" -msg2: db "Tests complete$" -okmsg: db " OK",10,13,"$" -ermsg1: db " ERROR **** crc expected:$" -ermsg2: db " found:$" -crlf: db 10,13,'$' - -; compare crc -; hl points to value to compare to crcval -cmpcrc: push bc - push de - push hl - ld de,crcval - ld b,4 -cclp: ld a,(de) - cp (hl) - jp nz,cce - inc hl - inc de - dec b - jp nz,cclp -cce: pop hl - pop de - pop bc - ret - -; 32-bit crc routine -; entry: a contains next byte, hl points to crc -; exit: crc updated -updcrc: push af - push bc - push de - push hl - push hl - ld de,3 - add hl,de ; point to low byte of old crc - xor (hl) ; xor with new byte - ld l,a - ld h,0 - add hl,hl ; use result as index into table of 4 byte entries - add hl,hl - ex de,hl - ld hl,crctab - add hl,de ; point to selected entry in crctab - ex de,hl - pop hl - ld bc,4 ; c = byte count, b = accumulator -crclp: ld a,(de) - xor b - ld b,(hl) - ld (hl),a - inc de - inc hl - dec c - jp nz,crclp - if 0 - ld hl,crcval - call phex8 - ld de,crlf - ld c,9 - call bdos - endif - pop hl - pop de - pop bc - pop af - ret - -initcrc:push af - push bc - push hl - ld hl,crcval - ld a,0ffh - ld b,4 -icrclp: ld (hl),a - inc hl - dec b - jp nz,icrclp - pop hl - pop bc - pop af - ret - -crcval ds 4 - -crctab: db 000h,000h,000h,000h - db 077h,007h,030h,096h - db 0eeh,00eh,061h,02ch - db 099h,009h,051h,0bah - db 007h,06dh,0c4h,019h - db 070h,06ah,0f4h,08fh - db 0e9h,063h,0a5h,035h - db 09eh,064h,095h,0a3h - db 00eh,0dbh,088h,032h - db 079h,0dch,0b8h,0a4h - db 0e0h,0d5h,0e9h,01eh - db 097h,0d2h,0d9h,088h - db 009h,0b6h,04ch,02bh - db 07eh,0b1h,07ch,0bdh - db 0e7h,0b8h,02dh,007h - db 090h,0bfh,01dh,091h - db 01dh,0b7h,010h,064h - db 06ah,0b0h,020h,0f2h - db 0f3h,0b9h,071h,048h - db 084h,0beh,041h,0deh - db 01ah,0dah,0d4h,07dh - db 06dh,0ddh,0e4h,0ebh - db 0f4h,0d4h,0b5h,051h - db 083h,0d3h,085h,0c7h - db 013h,06ch,098h,056h - db 064h,06bh,0a8h,0c0h - db 0fdh,062h,0f9h,07ah - db 08ah,065h,0c9h,0ech - db 014h,001h,05ch,04fh - db 063h,006h,06ch,0d9h - db 0fah,00fh,03dh,063h - db 08dh,008h,00dh,0f5h - db 03bh,06eh,020h,0c8h - db 04ch,069h,010h,05eh - db 0d5h,060h,041h,0e4h - db 0a2h,067h,071h,072h - db 03ch,003h,0e4h,0d1h - db 04bh,004h,0d4h,047h - db 0d2h,00dh,085h,0fdh - db 0a5h,00ah,0b5h,06bh - db 035h,0b5h,0a8h,0fah - db 042h,0b2h,098h,06ch - db 0dbh,0bbh,0c9h,0d6h - db 0ach,0bch,0f9h,040h - db 032h,0d8h,06ch,0e3h - db 045h,0dfh,05ch,075h - db 0dch,0d6h,00dh,0cfh - db 0abh,0d1h,03dh,059h - db 026h,0d9h,030h,0ach - db 051h,0deh,000h,03ah - db 0c8h,0d7h,051h,080h - db 0bfh,0d0h,061h,016h - db 021h,0b4h,0f4h,0b5h - db 056h,0b3h,0c4h,023h - db 0cfh,0bah,095h,099h - db 0b8h,0bdh,0a5h,00fh - db 028h,002h,0b8h,09eh - db 05fh,005h,088h,008h - db 0c6h,00ch,0d9h,0b2h - db 0b1h,00bh,0e9h,024h - db 02fh,06fh,07ch,087h - db 058h,068h,04ch,011h - db 0c1h,061h,01dh,0abh - db 0b6h,066h,02dh,03dh - db 076h,0dch,041h,090h - db 001h,0dbh,071h,006h - db 098h,0d2h,020h,0bch - db 0efh,0d5h,010h,02ah - db 071h,0b1h,085h,089h - db 006h,0b6h,0b5h,01fh - db 09fh,0bfh,0e4h,0a5h - db 0e8h,0b8h,0d4h,033h - db 078h,007h,0c9h,0a2h - db 00fh,000h,0f9h,034h - db 096h,009h,0a8h,08eh - db 0e1h,00eh,098h,018h - db 07fh,06ah,00dh,0bbh - db 008h,06dh,03dh,02dh - db 091h,064h,06ch,097h - db 0e6h,063h,05ch,001h - db 06bh,06bh,051h,0f4h - db 01ch,06ch,061h,062h - db 085h,065h,030h,0d8h - db 0f2h,062h,000h,04eh - db 06ch,006h,095h,0edh - db 01bh,001h,0a5h,07bh - db 082h,008h,0f4h,0c1h - db 0f5h,00fh,0c4h,057h - db 065h,0b0h,0d9h,0c6h - db 012h,0b7h,0e9h,050h - db 08bh,0beh,0b8h,0eah - db 0fch,0b9h,088h,07ch - db 062h,0ddh,01dh,0dfh - db 015h,0dah,02dh,049h - db 08ch,0d3h,07ch,0f3h - db 0fbh,0d4h,04ch,065h - db 04dh,0b2h,061h,058h - db 03ah,0b5h,051h,0ceh - db 0a3h,0bch,000h,074h - db 0d4h,0bbh,030h,0e2h - db 04ah,0dfh,0a5h,041h - db 03dh,0d8h,095h,0d7h - db 0a4h,0d1h,0c4h,06dh - db 0d3h,0d6h,0f4h,0fbh - db 043h,069h,0e9h,06ah - db 034h,06eh,0d9h,0fch - db 0adh,067h,088h,046h - db 0dah,060h,0b8h,0d0h - db 044h,004h,02dh,073h - db 033h,003h,01dh,0e5h - db 0aah,00ah,04ch,05fh - db 0ddh,00dh,07ch,0c9h - db 050h,005h,071h,03ch - db 027h,002h,041h,0aah - db 0beh,00bh,010h,010h - db 0c9h,00ch,020h,086h - db 057h,068h,0b5h,025h - db 020h,06fh,085h,0b3h - db 0b9h,066h,0d4h,009h - db 0ceh,061h,0e4h,09fh - db 05eh,0deh,0f9h,00eh - db 029h,0d9h,0c9h,098h - db 0b0h,0d0h,098h,022h - db 0c7h,0d7h,0a8h,0b4h - db 059h,0b3h,03dh,017h - db 02eh,0b4h,00dh,081h - db 0b7h,0bdh,05ch,03bh - db 0c0h,0bah,06ch,0adh - db 0edh,0b8h,083h,020h - db 09ah,0bfh,0b3h,0b6h - db 003h,0b6h,0e2h,00ch - db 074h,0b1h,0d2h,09ah - db 0eah,0d5h,047h,039h - db 09dh,0d2h,077h,0afh - db 004h,0dbh,026h,015h - db 073h,0dch,016h,083h - db 0e3h,063h,00bh,012h - db 094h,064h,03bh,084h - db 00dh,06dh,06ah,03eh - db 07ah,06ah,05ah,0a8h - db 0e4h,00eh,0cfh,00bh - db 093h,009h,0ffh,09dh - db 00ah,000h,0aeh,027h - db 07dh,007h,09eh,0b1h - db 0f0h,00fh,093h,044h - db 087h,008h,0a3h,0d2h - db 01eh,001h,0f2h,068h - db 069h,006h,0c2h,0feh - db 0f7h,062h,057h,05dh - db 080h,065h,067h,0cbh - db 019h,06ch,036h,071h - db 06eh,06bh,006h,0e7h - db 0feh,0d4h,01bh,076h - db 089h,0d3h,02bh,0e0h - db 010h,0dah,07ah,05ah - db 067h,0ddh,04ah,0cch - db 0f9h,0b9h,0dfh,06fh - db 08eh,0beh,0efh,0f9h - db 017h,0b7h,0beh,043h - db 060h,0b0h,08eh,0d5h - db 0d6h,0d6h,0a3h,0e8h - db 0a1h,0d1h,093h,07eh - db 038h,0d8h,0c2h,0c4h - db 04fh,0dfh,0f2h,052h - db 0d1h,0bbh,067h,0f1h - db 0a6h,0bch,057h,067h - db 03fh,0b5h,006h,0ddh - db 048h,0b2h,036h,04bh - db 0d8h,00dh,02bh,0dah - db 0afh,00ah,01bh,04ch - db 036h,003h,04ah,0f6h - db 041h,004h,07ah,060h - db 0dfh,060h,0efh,0c3h - db 0a8h,067h,0dfh,055h - db 031h,06eh,08eh,0efh - db 046h,069h,0beh,079h - db 0cbh,061h,0b3h,08ch - db 0bch,066h,083h,01ah - db 025h,06fh,0d2h,0a0h - db 052h,068h,0e2h,036h - db 0cch,00ch,077h,095h - db 0bbh,00bh,047h,003h - db 022h,002h,016h,0b9h - db 055h,005h,026h,02fh - db 0c5h,0bah,03bh,0beh - db 0b2h,0bdh,00bh,028h - db 02bh,0b4h,05ah,092h - db 05ch,0b3h,06ah,004h - db 0c2h,0d7h,0ffh,0a7h - db 0b5h,0d0h,0cfh,031h - db 02ch,0d9h,09eh,08bh - db 05bh,0deh,0aeh,01dh - db 09bh,064h,0c2h,0b0h - db 0ech,063h,0f2h,026h - db 075h,06ah,0a3h,09ch - db 002h,06dh,093h,00ah - db 09ch,009h,006h,0a9h - db 0ebh,00eh,036h,03fh - db 072h,007h,067h,085h - db 005h,000h,057h,013h - db 095h,0bfh,04ah,082h - db 0e2h,0b8h,07ah,014h - db 07bh,0b1h,02bh,0aeh - db 00ch,0b6h,01bh,038h - db 092h,0d2h,08eh,09bh - db 0e5h,0d5h,0beh,00dh - db 07ch,0dch,0efh,0b7h - db 00bh,0dbh,0dfh,021h - db 086h,0d3h,0d2h,0d4h - db 0f1h,0d4h,0e2h,042h - db 068h,0ddh,0b3h,0f8h - db 01fh,0dah,083h,06eh - db 081h,0beh,016h,0cdh - db 0f6h,0b9h,026h,05bh - db 06fh,0b0h,077h,0e1h - db 018h,0b7h,047h,077h - db 088h,008h,05ah,0e6h - db 0ffh,00fh,06ah,070h - db 066h,006h,03bh,0cah - db 011h,001h,00bh,05ch - db 08fh,065h,09eh,0ffh - db 0f8h,062h,0aeh,069h - db 061h,06bh,0ffh,0d3h - db 016h,06ch,0cfh,045h - db 0a0h,00ah,0e2h,078h - db 0d7h,00dh,0d2h,0eeh - db 04eh,004h,083h,054h - db 039h,003h,0b3h,0c2h - db 0a7h,067h,026h,061h - db 0d0h,060h,016h,0f7h - db 049h,069h,047h,04dh - db 03eh,06eh,077h,0dbh - db 0aeh,0d1h,06ah,04ah - db 0d9h,0d6h,05ah,0dch - db 040h,0dfh,00bh,066h - db 037h,0d8h,03bh,0f0h - db 0a9h,0bch,0aeh,053h - db 0deh,0bbh,09eh,0c5h - db 047h,0b2h,0cfh,07fh - db 030h,0b5h,0ffh,0e9h - db 0bdh,0bdh,0f2h,01ch - db 0cah,0bah,0c2h,08ah - db 053h,0b3h,093h,030h - db 024h,0b4h,0a3h,0a6h - db 0bah,0d0h,036h,005h - db 0cdh,0d7h,006h,093h - db 054h,0deh,057h,029h - db 023h,0d9h,067h,0bfh - db 0b3h,066h,07ah,02eh - db 0c4h,061h,04ah,0b8h - db 05dh,068h,01bh,002h - db 02ah,06fh,02bh,094h - db 0b4h,00bh,0beh,037h - db 0c3h,00ch,08eh,0a1h - db 05ah,005h,0dfh,01bh - db 02dh,002h,0efh,08dh - -- cgit v1.2.3