[Simh] MAME and simh

Johnny Billquist bqt at softjar.se
Fri Jul 3 09:24:20 EDT 2020


On 2020-07-03 14:54, Lars Brinkhoff wrote:
> Johnny Billquist wrote:
>>> Oh, and just for the people who don't want to read a lot of
>>> documentation, the smooth scrolling is essentially done by the
>>> terminal by changing where the source of the video signal generation
>>> picks up font information [...]
>>> I hope that made sense... :-)
> 
> Thanks, I think it does.
> 
> Emulation at this level of detail really isn't that uncommon now.

I can't say that I've seen much of it anywhere. The VT100 also have a 
lookup table for each line, so that scrolling can be done fast, but 
which also means that the video generation needs to also go through that 
table. While obviously you can always emulate anything, the emulating of 
detail down to analog signals is not something you do that often, unless 
there is additional reasons to. One reason being that this starts 
becoming a performance problem. Many analog simlulations/emulations are 
not done in realtime because of that.

But if we want to emulate a terminal, I would say that realtime 
emulation of the hardware is a must.

And it's easy to just do it partially. You do have the video memory, and 
for most purposes that would be good enough for the emulation to work 
satisfactory, a thing like the smooth scrolling means you no longer can 
stop at the abstraction of the video memory...

>> And to take this one step further. Emulation of this then means you
>> need to start emulation the video signal generation. And that in turn
>> means you are going to do emulation of the CRT phosphor.
> 
> I have no idea how MAME works, but SIMH does that for vector displays.

Well, MAME also do vector displays. Asteroids being the classical example.

> The current implemenation may not be suitable for raster displays, but
> it wouldn't be a huge step to add this.

At some level this is obviously rather trivial. We are after all simply 
talking about generation of a signal based on the scanning of memory, 
and a bit of logic to do the sweeps and sync. An interesting question 
becomes at what speed it can be done. Vector displays have a limit on 
the number of vectors that can be displayed without flicker, and for the 
old machines, that was not too great to start with, so simulations can 
certainly deal with it, and can even get away with some cheating to make 
it work even when pressed. After all, since you're also faking the 
phosphor decay, it can be varied as needed. With a raster display 
though, you need to be doing all the lines all the time, at an 
acceptable rate, and deal with the additional hardware logic of the CRT.

Again, definitely not impossible. But I'm curious what the speed would 
look like, and I cannot remember seeing anyone who have already done it.

   Johnny

-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol


More information about the Simh mailing list