On 2016-06-06 18:13, Mark Pizzolato wrote:
Hi Johnny,

The fundamental issue Bill is seeing is a problem in the simh code and not the 
hardware or the host OS.  There may be a hardware issue, but I doubt it and if 
there is, the simh issue will have to be addressed first.

I don't see how you mean that, Mark.
The PDP-8 will transfer one byte to the serial port. As soon as that byte have been transmitted, the serial port will once more indicate that it is free.

I would assume that simh gets the byte from the emulated hardware, and the pass it on to the physical device. But simh is not controlling the physical hardware. It is using the host OS device driver, which in turn is using the actual hardware. So any write, from the simh point of view, will complete directly, as the host OS driver will be buffering data, and is interrupt driven. So how can simh know when the byte actually have been sent? This host OS do not provide this information. And the host OS device driver in turn, will just do a write of the byte to the physical controller as soon as it is allowed to. And after that, the physical controller only signals when it can accept another character, which is not the same thing as the character actually have been transmitted, as there can be a buffer at that level too, so even the host OS do not know when a character have actually been transmitted.

To properly emulate the device, you should have simh indicate that the transmitter is ready when the physical hardware have transmitted the character.

As I can's even see how simh could do this, as it all depends on the host OS, and physical hardware, how can it be a problem in simh?

Or are you just suggesting that you'll add a timer in simh, and the transmitter idle flag will just blindly be set after that time, and this time would then be based what emulated bit rate you set? Which potentially will not work right, as the physical bit rate might not actually match what you set in the emulator. And furthermore, you now introduce timing issues between how the physical hardware works, and a calculated time of it.

        Johnny


- Mark

On Monday, June 6, 2016 at 9:01 AM, Johnny Billquist wrote:
On 2016-06-06 17:44, William Wuttke wrote:
Hi Mark,

Looking at the sources, the latest date on most of the files is Dec 15, 2015.

The serial port is actually 2 GPIO pins on the Broadcom SOC chip, levels
translated to RS-232 via a MAX3232.

The Raspberry Pi is a model 1 B+.

I looked at the sources online, and I saw the work done on the serial port
speed on the input side, but nothing on the output side.

The deal is that unless you are using ancient hardware connected to
simh/PDP-8, you wouldn’t notice any problem.

I wanted to post to this mailing list first to get some ideas before I create an
issue.

Your problem is that the serial port on your raspberry is buffering for
you. Either in the hardware, or else in the device driver.

The PDP-8 should not output data at the bps rate of the serial port. A
real machine don't do that. However, a real KL8E or KL8JA only have a
one character buffer. You need simh to simulate this then. but how to do
that might be very difficult, since this buffering is happening on the
hardware, or device driver in the OS for the serial port, and is not
something simh have real control over, or deep access to.

        Johnny

--
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: [email protected]             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol
_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh


--
Johnny Billquist                  || "I'm on a bus
                                  ||  on a psychedelic trip
email: [email protected]             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol
_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to