Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-43
|
|
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-21
|
|
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-20
|
|
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-7
|
|
* 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
|
|
git-archimport-id: mdk@sv.gnu.org/mdk--devel--1--patch-1
|