summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.cvsignore8
-rw-r--r--NEWS21
-rw-r--r--configure.in2
-rw-r--r--doc/Makefile.am7
-rw-r--r--doc/img/.cvsignore2
-rw-r--r--doc/img/Makefile.am2
-rw-r--r--doc/mdk.texi38
-rw-r--r--doc/mdk_gmixvm.texi69
-rw-r--r--doc/ss_devices.pngbin16621 -> 0 bytes
-rw-r--r--doc/ss_mix.pngbin12642 -> 0 bytes
-rw-r--r--doc/ss_mix.txt31
-rw-r--r--doc/ss_mixal.pngbin14536 -> 0 bytes
-rw-r--r--doc/ss_mixal.txt14
-rw-r--r--doc/ss_worddlg.pngbin15050 -> 0 bytes
-rw-r--r--samples/stress2.mixal15
15 files changed, 110 insertions, 99 deletions
diff --git a/.cvsignore b/.cvsignore
index 117e735..fa9f420 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,4 +1,8 @@
.emacs.desktop
+GPATH
+GRTAGS
+GSYMS
+GTAGS
Makefile
Makefile.in
blah
@@ -12,7 +16,9 @@ intl
mdk-0.1.1.tar.gz
mdk-0.1.tar.gz
mdk-0.2.tar.gz
+mdk-0.3.tar.gz
+mixmvc
stamp-h
stamp-h.in
test
-mixmvc
+tmp
diff --git a/NEWS b/NEWS
index b3ea3bb..2bcc0c9 100644
--- a/NEWS
+++ b/NEWS
@@ -3,11 +3,18 @@ GNU MDK -- History of visible changes.
Copyright (C) 2000, 2001, Free Software Foundation, Inc.
See the end for copying conditions.
-Please send mdk bug reports to jaortega@acm.org.
+Please send mdk bug reports to bug-mdk@gnu.org.
-*Version 0.2.1
+*Version 0.3 (28/03/01)
-** MDK is now an official GNU packaga.
+** MDK is now an official GNU package.
+
+** New GTK+ interface for the virtual machine (gmixvm).
+
+** New mixvm-Emacs/GNUD interface via mixvm.el (Philip King).
+
+** JRED is now properly implemented (bug pointed out by
+ Vasiliy Ozmetelenko).
*Version 0.2 (07/01/01)
@@ -15,19 +22,19 @@ Please send mdk bug reports to jaortega@acm.org.
invocation of run or next.
** mixvm can trace instructions as they are executed. tron/troff
- commands turn off/off instruction tracing.
+ commands turn on/off instruction tracing.
** mixvm accepts a new command, w2d, which computes the
decimal value of a MIX word given as a series of
bytes (e.g. - 01 00 34 32 22).
-** symbols can be defined at the mixvm prompt with the
+** Symbols can be defined at the mixvm prompt with the
new command ssym.
** mixvm accepts a new command, weval, which allows the
evaluation of MIXAL w-expressions.
-** expressions containing strings of successive '*' are now
+** Expressions containing strings of successive '*' are now
correctly evaluated.
** When using block devices in mixvm, the buffers are now
@@ -55,7 +62,7 @@ Please send mdk bug reports to jaortega@acm.org.
-------------------------------------------------------
Copying information:
-Copyright (C) 2000, Free Software Foundation, Inc.
+Copyright (C) 2000, 2001, Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
diff --git a/configure.in b/configure.in
index c27cde4..5e2bc00 100644
--- a/configure.in
+++ b/configure.in
@@ -91,7 +91,7 @@ AC_SUBST(CFLAGS)
AC_OUTPUT(
Makefile
doc/Makefile
-doc/html/Makefile
+doc/img/Makefile
mixlib/Makefile
mixlib/testsuite/Makefile
mixutils/Makefile
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 42953a8..9640449 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -10,14 +10,13 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-SUBDIRS = html
+SUBDIRS = img
SUFFIXES = .html
-
info_TEXINFOS = mdk.texi
mdk_TEXINFOS = gpl.texi mdk_intro.texi mdk_tut.texi mdk_gstart.texi \
mdk_mixvm.texi mdk_emixvm.texi mdk_mixasm.texi mdk_bugs.texi \
- mdk_index.texi
+ mdk_index.texi mdk_gmixvm.texi
html_docs = mdk.html
@@ -25,4 +24,4 @@ html_docs = mdk.html
$(MAKEINFO) --html $<
.PHONY: html
-html: version.texi gpl.texi $(html_docs) \ No newline at end of file
+html: $(html_docs)
diff --git a/doc/img/.cvsignore b/doc/img/.cvsignore
new file mode 100644
index 0000000..282522d
--- /dev/null
+++ b/doc/img/.cvsignore
@@ -0,0 +1,2 @@
+Makefile
+Makefile.in
diff --git a/doc/img/Makefile.am b/doc/img/Makefile.am
index ed6877f..bc20ab4 100644
--- a/doc/img/Makefile.am
+++ b/doc/img/Makefile.am
@@ -10,6 +10,6 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-EXTRA_DIST = ss_mix.png ss_mixal.png ss_devices.png ss_worddlg.png \
+EXTRA_DIST = ss_mix.jpg ss_mixal.jpg ss_devices.jpg ss_worddlg.jpg \
ss_mix.txt ss_mixal.txt
diff --git a/doc/mdk.texi b/doc/mdk.texi
index ba5b94f..338917b 100644
--- a/doc/mdk.texi
+++ b/doc/mdk.texi
@@ -92,24 +92,17 @@ helpful discussions, as well as actual code (@pxref{mixvm.el}).
@end ifinfo
@menu
-* Introduction::
-* Installing MDK::
-* MIX and MIXAL tutorial:: Learn the innards of MIX and MIXAL.
-* Getting started:: Basic usage of the @sc{mdk} tools.
-* mixvm.el:: Using @code{mixvm} within Emacs.
-* mixvm:: Invoking and using the MIX virtual machine.
-* gmixvm::
-* mixasm:: Invoking the MIXAL assembler.
-* Copying:: @sc{mdk} licensing terms.
-* Problems:: Reporting bugs.
-* Concept Index:: Index of concepts.
-
-
-
-
-
-
-
+* Introduction::
+* Installing MDK:: Installing GNU MDK from the source tarball.
+* MIX and MIXAL tutorial:: Learn the innards of MIX and MIXAL.
+* Getting started:: Basic usage of the @sc{mdk} tools.
+* mixvm.el:: Using @code{mixvm} within Emacs.
+* mixvm:: Invoking and using the MIX virtual machine.
+* gmixvm:: Invoking and using the GTK+ virtual machine.
+* mixasm:: Invoking the MIXAL assembler.
+* Copying:: @sc{mdk} licensing terms.
+* Problems:: Reporting bugs.
+* Concept Index:: Index of concepts.
@detailmenu
--- The Detailed Node Listing ---
@@ -184,9 +177,12 @@ Interactive commands
gmixvm
-* Invoking @code{gmixvm}::
-* MIX virtual machine::
-* Menu and status bars::
+* Invoking @code{gmixvm}:: Invoking the GTK+ interface.
+* MIXVM console::
+* MIX virtual machine:: The MIX virtual machine window.
+* MIXAL source view::
+* MIX devices view::
+* Menu and status bars:: Available menu commands.
@code{mixasm}, the MIXAL assembler
diff --git a/doc/mdk_gmixvm.texi b/doc/mdk_gmixvm.texi
index f3ed33b..81ced1d 100644
--- a/doc/mdk_gmixvm.texi
+++ b/doc/mdk_gmixvm.texi
@@ -7,11 +7,14 @@
@menu
* Invoking @code{gmixvm}:: Invoking the GTK+ interface.
+* MIXVM console:: Using @code{mixvm} commands.
* MIX virtual machine:: The MIX virtual machine window.
+* MIXAL source view:: Viewing the MIXAL source code.
+* MIX devices view:: Device output.
* Menu and status bars:: Available menu commands.
@end menu
-@node Invoking @code{gmixvm}, MIX virtual machine, gmixvm, gmixvm
+@node Invoking @code{gmixvm}, MIXVM console, gmixvm, gmixvm
@comment node-name, next, previous, up
@section Invoking @code{gmixvm}
@@ -27,7 +30,7 @@ gmixvm @kbd{RET}
at your command prompt. The @code{gmixvm} main window will appear,
offering you a graphical interface to run and debug your MIX programs.
-@image{ss_mix}
+@image{img/ss_mix}
Apart from the menu and status bars, we can distinguish two zones (or
halves) in this main window. In the upper half of @code{gmixvm}'s main
@@ -48,12 +51,27 @@ devices.
@noindent
On the other hand, the main window's lower half presents you a
@code{mixvm} command prompt and a logging area where results of the
-issued commands are presented.
+issued commands are presented. These widgets implement a @code{mixvm}
+console which offers almost the same functionality as its @acronym{CLI}
+counterpart.
The following sections describe the above mentioned components of
@code{gmixvm}.
-@node MIX virtual machine, Menu and status bars, Invoking @code{gmixvm}, gmixvm
+@node MIXVM console, MIX virtual machine, Invoking @code{gmixvm}, gmixvm
+@comment node-name, next, previous, up
+@section MIXVM console
+
+In the lower half of the @code{gmixvm} main window, you will find a
+command text entry and, above it, an echo area. These widgets offer you
+the same functionality as its @acronym{CLI} counterpart, @code{mixvm}
+(@pxref{mixvm}). You can issue almost all @code{mixmv} commands at the
+@code{gmixvm}'s command prompt in order to manipulate the MIX virtual
+machine. Please, refer to @xref{mixvm}, for a description of these
+commands, and to @xref{Getting started}, for a tutorial on using the MIX
+virtual machine.
+
+@node MIX virtual machine, MIXAL source view, MIXVM console, gmixvm
@comment node-name, next, previous, up
@section MIX virtual machine
@@ -65,10 +83,11 @@ total uptime, elapsed time since the last run command and total
execution time for the currently loaded MIX program).
Clicking any register entry, you will be prompted for a new register's
-contents
+contents.
+
@ifnotinfo
-(as shown in the next figure).
-@image{ss_worddlg}
+The next figure shows the enter word dialog.
+@image{img/ss_worddlg, 400pt}
@end ifnotinfo
In the same manner, click on any address of the memory cells list to be
@@ -77,8 +96,42 @@ address column's title, a dialog asking you for a memory address will
appear; if you introduce a valid address, this will be the first cell
displayed in the scrollable list after you click the OK button.
+The register contents are shown as a list of MIX bytes plus sign. If you
+place the mouse pointer over any of them, the decimal value of this MIX
+word will appear inside a tooltip.
+
+@node MIXAL source view, MIX devices view, MIX virtual machine, gmixvm
+@comment node-name, next, previous, up
+@section MIXAL source view
+
+The second notebook's page, dubbed MIXAL, shows you the MIXAL source of
+the currently loaded MIX file. A shown in the next figure, the
+information is presented in two columns.
+
+@image{img/ss_mixal, 400pt}
+
+The first column shows the address and memory contents of the compiled
+MIX instruction, while the second one displays its corresponding MIXAL
+representation, together with the source file line number. The current
+location of the location counter is highlighted in grey, while any set
+breakpoint is marked in red. You can set/unset breakpoints by clicking
+on any line in this view which has an associated memory address.
+
+@node MIX devices view, Menu and status bars, MIXAL source view, gmixvm
+@comment node-name, next, previous, up
+@section MIX devices view
+
+The last notebook page, dubbed Devices, shows you the output on
+character based MIX devices (the console, line printer and paper tape,
+@pxref{Devices}) produced by the running program. The binary
+input/output devices (disks, cards, etc.) are handled via files, as in
+@code{mixvm} (@pxref{Devices}).
+
+@ifnotinfo
+@image{img/ss_devices, 400pt}
+@end ifnotinfo
-@node Menu and status bars, , MIX virtual machine, gmixvm
+@node Menu and status bars, , MIX devices view, gmixvm
@comment node-name, next, previous, up
@section Menu and status bars
diff --git a/doc/ss_devices.png b/doc/ss_devices.png
deleted file mode 100644
index bb2ee83..0000000
--- a/doc/ss_devices.png
+++ /dev/null
Binary files differ
diff --git a/doc/ss_mix.png b/doc/ss_mix.png
deleted file mode 100644
index 9d0e6b6..0000000
--- a/doc/ss_mix.png
+++ /dev/null
Binary files differ
diff --git a/doc/ss_mix.txt b/doc/ss_mix.txt
deleted file mode 100644
index 757026e..0000000
--- a/doc/ss_mix.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-|-----------------------------------------------------------|
-| Menu |
-|-----------------------------------------------------------|
-| |
-| |
-| |
-| |
-| MIXVM / MIXAL / Devices |
-| |
-| |
-| |
-| |
-| |
-| |
-|-----------------------------------------------------------|
-| |
-| Command output |
-| |
-| |
-| |
-|-----------------------------------------------------------|
-| Command prompt |
-|-----------------------------------------------------------|
-| Status bar |
-|-----------------------------------------------------------|
-
-
-
-
-
-
diff --git a/doc/ss_mixal.png b/doc/ss_mixal.png
deleted file mode 100644
index 506a170..0000000
--- a/doc/ss_mixal.png
+++ /dev/null
Binary files differ
diff --git a/doc/ss_mixal.txt b/doc/ss_mixal.txt
deleted file mode 100644
index 4ae0455..0000000
--- a/doc/ss_mixal.txt
+++ /dev/null
@@ -1,14 +0,0 @@
- address | source
---------------------+----------------------------------------------------
- | 001: * table of primes (taopc p. 148)
- | 002: *
- | 003: L EQU 500
- | 004: OUTDEV EQU 20 the paper tape
- | 005: PRIME EQU -1
- | 006: BUF0 EQU 2000
- | 007: BUF1 EQU BUF0+25
- | 008: ORIG 3000
-3000: + 00 00 00 20 | 009: START IOC 0(OUTDEV)
-3001: + 32 02 00 05 | 010: LD1 =1-L=
-3002: + 32 03 00 05 | 011: LD2 =3=
- | \ No newline at end of file
diff --git a/doc/ss_worddlg.png b/doc/ss_worddlg.png
deleted file mode 100644
index be6e7f2..0000000
--- a/doc/ss_worddlg.png
+++ /dev/null
Binary files differ
diff --git a/samples/stress2.mixal b/samples/stress2.mixal
index 4c7250d..0c4d7d6 100644
--- a/samples/stress2.mixal
+++ b/samples/stress2.mixal
@@ -1,14 +1,7 @@
ORIG 1999
ST NOP
-3H CON 10
- ENT1 *
- LDA 3B
-** rI1 is 2001, rA is 10. So far so good!
-3H ORIG 3B-1000
-** at this point 3H should
-** equal 2002, and the location counter should be 1000.
- ENT2 *
- LDX 3B
-** rI2 should be 1000, rX should be 2002 (I think...)
+SYM EQU SYM+1
+SYM2 CON SYM2+1
+SYM3 ORIG SYM3+2
HLT
- END ST
+SYM4 END SYM4+1