1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600
|
2020-10-15 Jose Antonio Ortega Ruiz <jao@gnu.org>
Support for Guile 3.x
NEWS updated
Documentation typo (fixes #59239)
2019-04-09 Jose Antonio Ortega Ruiz <jao@gnu.org>
Change vm->address_list from GSList to GQueue
The current emulator uses an unbounded linked list for tracking the
memory locations our program has traveled through. On a 64 bit system,
this requires 16 bytes of data for every instruction a MIX program
performs. For small programs that are light on computation cycles,
this does not cause a noticeable issue.
For programs that execute hundreds of millions of instructions, this
causes the memory footprint of the virtual machine to explode. I have
attached an example MIXAL program that will cause the VM to grow to
over 3 GB of memory usage when run.
To run the sample, compile coin-opt.mixal (attached), run it in mixvm,
and enter 499 at the prompt. Or use the following steps.
This patch changes all the appropriate references to GQueue references
and also caps the backtrace at 1000, which can be changed in the
mixlib/mix_vm.h header. I feel like 1000 is a reasonable limit for the
vast majority of debugging needs. Most people are looking back at the
most recent 100 instructions or so.
You can get the original behavior (unlimited tracing) back by setting
the MIX_MAXTRACE to -1, albeit with a slightly higher memory cost (24
bytes per instruction). Or you can turn it off entirely by setting it
to 0.
Using a queue doesn't change the logic of the program in any
significant way, and it allows programs to run for an extended period
of time without consuming all the memory on the machine and slowing
down to a crawl.
-Kevin Brunelle
2019-04-09 Jose Antonio Ortega Ruiz <jao@gnu.org>
GTK Console input no longer overruns buffer
Patch by Kevin Brunelle
The console input in gmixvm will only read 70 characters, but the
outer loop used 70 (the characters) instead of 14 (the number of
words). This caused the VM to read past the end of the buffer and
write 56 words of junk into the emulator.
2019-04-09 Jose Antonio Ortega Ruiz <jao@gnu.org>
Support IOC commands for disk/drum devices
Thanks to Kevin Brunelle
There is a minor fix included with regards to tape devices. The test
was failing if M == 0, when it should fail when M != 0.
NOTICE: This patch changes the behavior of the VM and changes the
function parameters for the ioc_ function. Documentation changes are
included.
Permits the following:
LDX BLKNUM
IOC 0(8)
OUT ADDR(8) Write block from ADDR into disk[BLKNUM]
IOC 0(8)
IN ADDR(8) Read block from disk[BLKNUM] into ADDR
...
BLKNUM CON 45000 Example possible block on disk
I was having an issue writing a block to a drive and then reading back
the same block. Because it is impossible to move the SEEK_CUR pointer
backwards on a disk device, there was no way for a program to read
back a block that it wrote to a disk without restarting or fiddling
with ~/.mdk/disk?.dev files and symbolic links.
I have added a function parameter to the ioc_ function and used it to
pass the value of rX to ioc_. This permits us to use IOC commands to
move the read/write head on a disk/drum device. I believe that this
conforms to the potential meaning of Knuth's description of IOC for
disk/drum devices.
I have put in tests to verify that rX is positive and M = 0.
I have updated the documentation to reflect this new behavior.
This makes disks much more usable.
Note: I won't be offended if this patch is rejected because it changed
the behavior of the VM. I think it fits the spirit and enhances the
functionality in a way that some might find useful. I wanted it for
something I was working on, and I felt others might want the same. The
thing with the paper-tape should be fixed, though.
2019-03-20 Jose Antonio Ortega Ruiz <jao@gnu.org>
NEWS and version bump
2019-03-20 Jose Antonio Ortega Ruiz <jao@gnu.org>
Fix: correctly rewind tape
According to the specification, if M < 0, the tape is skipped backwards M
blocks, or to the beginning of the tape, whichever comes first. In the
implementation, we don't check to verify that we aren't seeking past the
beginning of the file. This causes fseek(3) to fail, and it leaves us at the
position we were at.
Diagnosis and fix by Kevin Brunelle.
2019-03-19 Jose Antonio Ortega Ruiz <jao@gnu.org>
NEWS updates
Fix: allow access to last mem cell in devices (#9773)
Author: Kevin Brunelle
2019-03-11 Jose Antonio Ortega Ruiz <jao@gnu.org>
Obsolete string-to-int removed in favour of string-to-number
Thanks to Thomas Matecki. Fixes #bug 55877 and makes mixvm, Philip
King's child, work again!
2019-01-08 Jose Antonio Ortega Ruiz <jao@gnu.org>
Version 1.2.10
NEWS for 1.2.10
Fix for mixasm infinite loop on invalid F-specs (bug #32452)
Thanks to Sascha Wilde.
Fix for bug #43634: keep sign of rA for ADD/SUB yielding 0
Fix for bug #47208: correctly store immediate constants
We were taking only the first 3 bits of the index byte in a the word
representing immediate constants, so that, for instance, =262143=,
representing 00 00 63 63 63, was stored as 00 00 07 63 63.
Flex generation fix (invalid noreject removed)
2019-01-07 Jose Antonio Ortega Ruiz <jao@gnu.org>
Flex by-products added to CLEANFILES
Looking for guile 2.2 during configuration
2015-12-23 Jose Antonio Ortega Ruiz <jao@imladris.local>
Version upgraded to 1.2.9
2015-11-16 Jose Antonio Ortega Ruiz <jao@imladris.local>
NEWS update
Documentation fixes by Joshua Davies
2015-03-03 litvin <litvindev@gmail.com>
Modify texinfo documentation
Add missed instructions: SLB,SRB,JAE,JAO,JXE,JXO (from volume 2, section 4.5.2)
2014-08-04 jao <jao@gnu.org>
Including autogen.sh in distribution tarball
THANKS updated for 1.2.8
2014-08-03 jao <jao@gnu.org>
NEWS updated for 1.2.8
Apparently tautological comparisons fixed (bug #42871)
Whitespace
2014-08-02 jao <jao@gnu.org>
Fix for compilation in darwin (bug #42818)
2014-05-21 Jose Antonio Ortega Ruiz <jao@imladris>
Avoiding format strings security warnings (cf. #8467)
2014-05-20 Jose Antonio Ortega Ruiz <jao@imladris>
Fixes for readline 6.3
2014-01-06 Jose Antonio Ortega Ruiz <jao@gnu.org>
Help message for werrors configuration option fixed
Fixes for building with --without-guile
dummy.c -> darwin.c
Compilation fixes
Deprecated INCLUDES in Makefile.am removed
Incorporating gcompletion (fixes #39817)
New .gitignore entries
Fix for #41098 (compilation in darwing sans libguile)
Fix for #41097 (compilation in darwin)
2013-10-24 Jose Antonio Ortega Ruiz <jao@gnu.org>
Invalid assertion in xmix_vm.c (closes #40359)
2013-02-24 Jose Antonio Ortega Ruiz <jao@gnu.org>
Thanks where thanks are due
2013-02-23 Jose Antonio Ortega Ruiz <jao@gnu.org>
NEWS for 1.2.7
Generating ChangeLog during make dist
2013-02-18 Jose Antonio Ortega Ruiz <jao@gnu.org>
Convenience target to generate manual
Guile versions updated in doc
gendocs scripts updated
Version updated to 1.2.7
Additional samples and doc from TAOCP, via ESR's MIXAL
News bit
gitlog-to-changelog updated
Upgrade to guile 2.0 (Aleix Conchillo)
2010-10-10 Jose Antonio Ortega Ruiz <jao@gnu.org>
Release and maintenance scripts
ChangeLog generator updated
Fix for #5652
2010-09-27 Jose Antonio Ortega Ruiz <jao@gnu.org>
Fix for off-by-one bug in I-register modification breakpoints
2010-09-11 Jose Antonio Ortega Ruiz <jao@gnu.org>
Allow parallel (make -jn) builds (#31018)
Minimum libintl set to 0.37
Fix for the fix of #31010
2010-09-10 Jose Antonio Ortega Ruiz <jao@gnu.org>
Versions mentioned in documentation and configure.ac updated
Fix for #29524 (links to source repo updated in manual)
Fix for #31010 (no error on MOVE 0)
2010-08-11 Jose Antonio Ortega Ruiz <jao@gnu.org>
Typo in README (hat tip Iuri T.)
2010-03-26 Jose Antonio Ortega Ruiz <jao@gnu.org>
Fix for #28086 (compilation without Guile).
Document generation scripts updated.
2009-10-13 Jose Antonio Ortega Ruiz <jao@gnu.org>
Requiring inttool 0.40.
2009-10-11 Jose Antonio Ortega Ruiz <jao@gnu.org>
Typos and nits in the previous patch.
Proper acknowledge for Aleix's contributions.
* THANKS:
* doc/mdk_ack.texi: Proper acknowledgement.
Fixes for signature of guile initialization functions.
* mixgtk/gmixvm.c: inner_main_ signature corrected
* mixutils/mixvm_loop.c: loop_ signature corrected
* mixguile/mixguile.h: Cosmetics
NEWS for 1.2.5.
Copyright year updated.
Using gnulib's gitlog-to-changelog to generate ChangeLog.
Stanza for ChangeLog generation added to autogen.sh.
configure.in -> configure.ac in autogen.sh.
2009-10-05 Jose Antonio Ortega Ruiz <jao@gnu.org>
Minimum gtk+ version pumped to 2.16.
GtkFileChooser compatibility (conditionally using gtk 2.18 feature).
Copyright years update.
gmixvm: glade file: apparently, dialogs need to be top level.
gmixvm glade file: dialog properties homogenized.
Gmixvm's new glade file tweaks (mostly vbox layouts).
External programs directory scanning delayed (but still present).
2009-10-04 Jose Antonio Ortega Ruiz <jao@gnu.org>
Migration of gmixvm's glade file to Glade 3.
Fix for application exit (glade changes were too many)
Revert "Glade file updated (editing with Glade 3), and exit callback registered."
This reverts commit 7acdf4dca205d8da124cd169da9993ac3c6e1627.
Glade file updated (editing with Glade 3), and exit callback registered.
2009-10-02 Jose Antonio Ortega Ruiz <jao@gnu.org>
Cosmetics.
2009-10-01 Jose Antonio Ortega Ruiz <jao@gnu.org>
Guile: not using the deprecated gh_* interface.
Fix for #23816: missing symbol name in EQU is now just a warning.
2009-08-23 Jose Antonio Ortega Ruiz <jao@gnu.org>
configure.in is now called configure.ac.
autom4te cache dir removed
2008-08-31 jao <jao@gnu.org>
.ignore files for the compilation products
mix_eval_scanner: clean up dead code and remove warning (input() not used)
2008-03-21 Jose Antonio Ortega Ruiz <jao@gnu.org>
Copyright year in Glade file
2008-03-20 Jose Antonio Ortega Ruiz <jao@gnu.org>
NEWS update for 1.2.4
Minor TODO updates
Manual generation scripts updated and ignoring doc/manual
Set all fonts dialog fixed (using correct default font)
2008-03-17 Jose Antonio Ortega Ruiz <jao@gnu.org>
Default mixasm specification fixed
Add extra application mime type for external execs in darwin (closes #17519)
GTK version check for gkt_entry_completion_set_popup_single_match()
Properly set external commands, taking into account the host type
More ignored files
2008-03-16 Jose Antonio Ortega Ruiz <jao@gnu.org>
Initial toolbar style set properly
Ignore Glade backup files
Lower gtk requirements to 2.6
Compatibility with GTK+ 2.10
2008-03-15 Jose Antonio Ortega Ruiz <jao@gnu.org>
arch-inventory files removed
Org-mode for TODO file
Copyright year update
Texinfo's @include only works properly with depth 1
More ignored files
GPL/FDL license files updated
Small intl fixes and POTFILES.in updated.
Version bump and GTK+ >= 2.12.0 required.
Adapted to new GtkTooltip API.
More ignored files.
Ignore files generated by autogen.sh
2007-06-26 Jose A Ortega Ruiz <jao@gnu.org>
GPL v3 notices
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-43
2006-08-15 Jose Antonio Ortega Ruiz <jao@gnu.org>
Make -Werror a configuration option and use AM_CFLAGS everywhere
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-42
Unneeded assertion removed
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-41
2006-08-11 Jose Antonio Ortega Ruiz <jao@gnu.org>
News for version 1.2.3
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-40
mixvm's default prompt fixed
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-39
Version strings updated to 1.2.3
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-38
2006-08-10 Jose Antonio Ortega Ruiz <jao@gnu.org>
64bit compilation fixes & About dialog embellishments
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-37
2006-08-09 Jose Antonio Ortega Ruiz <jao@gnu.org>
Configurable toolbars (icons, text or both)
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-36
2006-08-08 Jose Antonio Ortega Ruiz <jao@gnu.org>
Attach/detach buttons in main toolbar are only active when meaningful.
E.g., if all windows are detached, no 'detach' button appears.
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-35
Missing toolbar tooltips added
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-34
About dialog cleaned up
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-33
Sloppy gpointer conversions fixed
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-32
Darwin compilation warnings fixed
Thanks to Aleix Conchillo.
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-31
Only executable files can be selected in external programs dialog
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-30
Set names for MIX/MIXAL filters in file chooser dialogs
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-29
2006-08-08 Jose Antonio Ortega Ruiz <jao@gnu.org>
External programs management improvement
- External programs (editor and mixasm) execution is more robustly
controlled both in mixvm and gmixvm.
- In gmixvm the external programs dialog has been revamped:
- Only proper paths can be introduced for the executables (via a
graphical file chooser).
- Flags for mixasm are no longer free text, but a check button.
- Internally, the code has been refactored.
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-28
2006-08-07 Jose Antonio Ortega Ruiz <jao@gnu.org>
Setting ALL_LINGUAS in configure.in is obsolete
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-27
Minor adjustments to manual generation template
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-26
Restore invariant sections in documentation
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-25
2006-08-06 Jose Antonio Ortega Ruiz <jao@gnu.org>
Define missing ac variable GETTEXT_PACKAGE
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-24
Make distcheck happy
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-23
No invariant sections in manual
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-22
Leak fixed
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-21
gmixvm: history in terminal input dialog
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-20
Refactoring of the previous patch
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-19
Load file dialog remembers last directory
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-18
All tests passing again (mix parser re-entrant)
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-17
2006-08-05 Jose Antonio Ortega Ruiz <jao@gnu.org>
Compilation tests re-enabled
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-16
Info about new Arch archive
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-15
Acknowledgements to Michael and Xiaofeng
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-14
Invalid F-spec reported as warnings, to allow hacks as CMPX xxxx(6)
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-13
Accept F-spec in NOP (with warning)
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-12
Bug fix: mixvm's smem correctly handles negative zero
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-11
Bug fix: typo in cbpo help string
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-10
Compilation warnings fixed
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-9
2006-03-24 Jose Antonio Ortega Ruiz <jao@gnu.org>
Warnings as errors
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-8
CVS $Id$ tags removed.
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-7
ChangeLog is automatically generated.
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-6
Compilation warnings fixed.
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-5
2006-03-21 Jose Antonio Ortega Ruiz <jao@gnu.org>
Arch inventory files added
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-4
2006-03-20 Jose Antonio Ortega Ruiz <jao@gnu.org>
Bug fixes for 1.2.2 (latest CVS version)
* mixgtk/mixgtk.glade (Module): I1 and I2 in mixvm swapped to their
correct position (closes #15746).
* mixgtk/mixgtk_mixvm.c (init_mem_): fixed segfault when clicking Memory
title bar (closes #15910).
* configure.in: obsolete C flags for Darwin deleted.
* misc/mixal-mode.el (Module): sync with Emacs CVS (Pieter).
* mixlib/mix.c: copyright year in console message updated.
* mixgtk/mixgtk_device.c (write_char_): buffer size was insufficient.
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-3
2006-03-20 Jose Antonio Ortega Ruiz <jao@gnu.org>
Trivial changes to tag rel--1.2--patch-1
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-2
Version 1.2.1 imported
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-1
Archive creation
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--base-0
|