* * * * *

                The Psychotherapy of Racter might be possible

I may have spoken too soon. [1] Today I came across a reference to vm86(2)
[2], a Linux [3]-only system call [4] (which is okay because I'm running
Linux) for the x86 [5] 32-bit architecture (which is okay because I'm running
the x86 32-bit architecture). It can run x86 code in 16-bit mode (which is
okay because the version of Racter [6] I have is x86 16-bit code) and while I
don't have MS-DOS (Microsoft Disk Operating System) [7] (which is okay
because who runs that any more?) I can probably fake enough of it to get
Racter running.

The tricky part of this was to figure out how to set up and successfully call
vm86(). And like most things related to this project, there's not a lot of
documentation [8] on what I'm trying to do. I finally got a test program [9]
working, so I know in theory I can do what I want to do (and it says
something that using an obscure non-portable system call and writing my own
half-baked version of MS-DOS (Microsoft Disk Operating System) system calls
is the easiest approach, but I don't think I want to know what that something
is).

I had to dust off my copy of _The MS-DOS Encyclopedia_ [10] to read in and
properly load an MS-DOS executable into memory (which I think I got right—the
relocation records [11] appear to be simple but the devil is always in the
details) And Racter did make a valid MS-DOS system call, and better yet, it
was one I was expecting Racter to make.

So it looks promising.

I also found what claims to be a faithful implementation of the original
Eliza program [12] which requires rewriting my Eliza implementation but
that's okay since it seems to be a bit more fleshed out than the version I
used [13].

So it may be that a second attempt at this is warranted. We shall see.

[1] gopher://gopher.conman.org/0Phlog:2015/11/17.1
[2] http://man7.org/linux/man-pages/man2/vm86.2.html
[3] https://en.wikipedia.org/wiki/Linux
[4] https://en.wikipedia.org/wiki/System_call
[5] https://en.wikipedia.org/wiki/X86
[6] https://en.wikipedia.org/wiki/Racter
[7] https://en.wikipedia.org/wiki/MS-DOS
[8] http://www.ecstaticlyrics.com/notes/vm86
[9] gopher://gopher.conman.org/0Phlog:2015/11/18/msdos.c
[10] https://www.amazon.com/exec/obidos/ASIN/1556151748/conmanlaborat-20
[11] https://en.wikipedia.org/wiki/Relocation_(computing)
[12] gopher://gopher.conman.org/0Phlog:2015/11/18/eliza.txt
[13] http://hps.elte.hu/~gk/Eliza/ELIZA.BAS

Email author at [email protected]