phooky/VT100-Hax — pull request #1 by rdebath (2014-12-24 13:45:35+00:00)
Title: Some nice emulator patches

Love your hardware "hax"; but I'm more interested in the software.

I Googled for a VT100 emulator using the original ROMs and this seems
to be exactly what I want.

I started it up, (Hit the space bar to get it running, escape to start
typing) forked off a shell onto the slave side of the PTY but the 8080
isn't listening. It seems to be stuck in loopback mode (local) ASCII
and ^J working fine (No ^M, I might need that later).

After digging around in the source and online I was able to get into
setup mode, and used the '4' key to switch it into 'online' mode.

It's working!

But it wasn't easy to startup, so I got the NVRAM routines working
off a preconfigured setup. It now starts online, in VT100 mode with
jump scroll.

The Online/Local 'LED's were flipped. -- fixed.

It didn't startup talking to anything, initially I put something on the
pty from another session, but that's annoying too -- so it now starts
up a shell on the slave side of the pty for itself.

The video memory can hold control characters, if you start using
VT-Graphics it messes up the emulator display big time. Fixed this for
the most part but the code is probably ncurses specific.

There was no flow control on the virtual serial line. Characters get
lost if the PTY posts things too fast to the 8080. XON/XOFF didn't
help presumably because the buffer is just too small. So I simulated an
XON/XOFF controller in pusart.cpp.

The mapping for the keyboard characters was weird and there was no mapping
for most of the keyboard control characters. I made quite a few changes
here and mapped most of the keyboard to something reasonable.

I've slowed down the CPU emulation. It looks like the code built into
the 8080 emulator was doing nothing so I added something that should be
reasonably stable. Problem is I'm not sure what speed the CPU should be
clocked at. It appears to be 1MHz, but you said 2.7MHz ?

Now, I've made these changes, but there's other things I like to see;
specifically I would like to get an AVO version and possibly some way of
dumping out a true bitmap image of the screen. These need ROM images,
specifically the character generator ROM and (probably) the extension
ROM on the AVO board. Do you have those ROM dumps ?

Anyway, it's lunch time, see ya.