PDA

View Full Version : PDP11 for full flight simulator in '70-'80s



Qwseyvnd
11-30-2014, 11:19 PM
How did it able to run better flight model than x-plane 10 and FSX with much, much lower performance ?

Regards from Qwseyvnd.

Qwseyvnd
12-03-2014, 12:05 AM
No anyone know ?

dnoize
12-03-2014, 05:17 PM
i dont think many here know what a pdp11 is.

Anyway, sims back then, in the late 70's early 80's werent as sophisticated as they are now.
flightmodel really wasnt that realistic.
Visuals were horrible and resembled the game Pong more than the Visuals of the sims we have at home. Back then the Visuals werent much more than a bunch of dots visualizing a runway.

It was more about procedure training than about visual realism.

Qwseyvnd
12-03-2014, 07:33 PM
So visual was not good but the physics was good enough ?

dnoize
12-04-2014, 06:38 PM
both do not compare to todays standards.
Visuals were nightvision only (and bad one too, to add to that).
There is no 180 degrees view.

A typical sim usually had around 4 pdp/11's in te machine room.
Most of te number crunching was for driving the instruments/logics.

the computers are not powerfull enough for accurate flightmodel.

Back in those days it was more about procedure training than about real flight physics.

check these guys:

http://www.dc10.no/

they used to run a 35 yr old DC10 sim powered by PDP/11 , but i dont know the status of their project today.

Qwseyvnd
12-04-2014, 07:18 PM
I know about the DC10 in Norway. I live in Norway.

Which equiment does today full flight simulators using ? Their own computer or a standard intel computer ? How do they operate a perfect flight model ?

xplanematt
12-12-2014, 05:02 AM
Sims in the 80s/90s used proprietary systems, usually based on various high-powered specialty computers of the day. However, nowadays you will see frequent reference to the term COTS components: Commercial Off The Shelf. This refers to using standard PC equipment, for example. I've seen a relatively recent sim running a real-time Windows 2000 kernel. As I recall, a lot of the instrument interfacing was being handled by an FPGA, but I saw fairly "normal" looking PC towers as well. Some of the other sims at that facility are running Redhat Linux also (presumably a real-time kernel as well, though I am not 100% positive on this).

I think the biggest key to the newer systems is the need for absolutely correct timing, which is why they are using real-time kernels. IMO a RT build has little advantage to us recreational simmers (you'd probably never notice the difference in flight), with a number of added complexities. But I must admit, the software they were running on Win2k was pretty cool: it broke up the various elements of the sim into discrete processes that could be managed individually. Each process had a frequency setting next to it...so the visuals might update at 25hz (yep, 25 fps is all they use), the switch inputs at 10hz, GPS updates at 5hz, etc. The whole system was very fascinating, and actually I think I will do something similar with the process scheduling on my X-Plane plugin for the Sabreliner (when hooking into X-Plane's API, there are very real performance advantages to be realized by being able to easily and quickly change the update rates of various parts of your plugin, to "tune" the plugin to get the best performance while still updating things fast enough).

Matt

geerol
01-22-2015, 06:07 AM
How did it able to run better flight model than x-plane 10 and FSX with much, much lower performance ?

Regards from Qwseyvnd.

Ran into this today....
Well, I have been contributing to Norwegian DC-10 project with focus on PDP-11s (hardware & software) since 2008. Before that I did not believe a Real World Sim could run on that kind of computers.

It actually takes two PDP-11s to run the original Link Miles software, which is about 500 Kbyte in total. You should realise:

it does not mimick any instrument (graphics!) as that is done by real hardware in the cockpit.
the DC-10 flight model has been FAA certified in the past, including simulation of all circuit breakers (and I mean all!), electrical and hydraulic systems, Flight Engineer panel etc not to forget the Trainer Station etc.
Visual system (cockpit view) is not done by these two hardworking machines: original/defunct Night Vision System, but replaced by software to map position info (and more) into FS9 or FSX (a plane in slew-mode).


For the curious readers:


Slides with project overview: http://geerol.home.xs4all.nl/filestore/FSW-111105.pdf
A very popular demo movie: http://www.youtube.com/watch?v=Y-DpcvY4aBk
About Daylight Vision System: http://geerol.home.xs4all.nl/filestore/DVS-project.pdf


Any questions -- feel free to ask....

Geert

geerol
01-22-2015, 06:45 AM
This is intended to delete my duplicate post.

geerol
01-22-2015, 06:48 AM
This is intended to delete my duplicate post.

geerol
01-22-2015, 06:51 AM
This is intended to delete my duplicate post.

Buddym
01-26-2015, 08:58 PM
I would say that any flight model running on a PDP-11 would be no better than the software written for it. I did assembly (good old octal!), FORTRAN and RSX BASIC on PDP-11/08 all the way up to the J-processors. I wrote software for central office telephone switches. The only I/O we had was the quad-port DLV-11J serial card. No graphics, just ASCII. VERY little memory (it was magnetic-core), and hard-pack drives, and RX02 floppy disc drives. DEC hardware was awesome, but I don't see it running much of a sim, not compared to modern home systems. The FORTRAN was decent, the assembly set on them was typical. There was no core OS, no kernel, no APIs, etc. The sims were math models that handed-off the graphics to another system. We had several programmers that had worked on various sims for DOD and NASA, just number-crunchers. The majority of systems in the sims were cardboard displays that you touched to simulate going through checklists and making observations on various indicators. The PDP family was awesome for the time, but in the last days of working on the J-processors, my Commodore 64 was a much richer environment for such things. A real OS, sound chips, video, a real API, and a joystick. I actually ran MS Flight Simulator, the first MS FS I ever ran, on a Tandy 1000. My first flight sim was a IFR simulator on the Commodore 64. It had a scenario where you had to fly through a valley, with a zigzag in the middle. I plotted a course on graph paper and calculated my turns with a stop watch.

Buddym
01-26-2015, 09:02 PM
Some information on the previously mentioned IFR flight simulator...

http://www.migman.com/sw/IFR/IFR.php

Qwseyvnd
05-04-2015, 05:29 PM
I investigated how it was possible to run those on PDP-11. It seems they are using some assembly trick and just load modules when it is necessary and maybe the program size is actually a small decompressing program to use the hard disk for that? Maybe also they using for example smaller increment for the flight model.

The .AIR file in FSX take just about 10kb in size, less in pure binary size. Or they are using predefined parameter, not measure of weight, wing size, flap degree, and such. for example temperatur then using just a part of 10 each time? I see in the, for example Il-62 flight characteristic, they are using graph at paper that show limit. So they are not calculating but using limit factor.

Each PDP-11/40 has 760.000 instructions per second, maybe they are actually using four pieces, thus about 3.4 millions of instructions per second; and maybe they are using extra Intel 8086 that is an optional add-on. And many logic circuit breakers as one user in the forum as mentioned. Almost near as this Intel i386DX 4.3 MIPS at 33 MHz. Then add some speed at logic for the physics, then I am sure that they are NOT using bloatware in the flight model. I am also sure that they do not include compiled code that it takes bigger size because I see that:

For example, I am programming a code to Arduino MEGA2560, it takes less than 1 Kb in pure text file in standard Arduino programming language, but smaller in assembly. But when compiled, it takes 2.5kb or some calculations that takes less than to store in memory; see it ? So 500kb * maybe 5 then 2,5 mb, enough in the old hard drive in PDP-11 CPU-C to boost math routines. But routines? Maybe it means to compile small modules assembly code?! Then when the computer knows that the training pilot surely SHALL landing the airplane because the fuel tank is low, then it compile from text to binary before it loads next module.

What do you thinking?

Qwseyvnd
05-05-2015, 06:10 AM
I made a small investigation in file size in asm and C++; clearly C++ takes much smaller size.Maybe they are using an exact C++ assembly to just compile a specific code for exact this system ?

Qwseyvnd
01-07-2016, 08:03 AM
I investigated a bit further, but will not do further because I do not want to copy.
An Arduino MEGA 2560 runs at 16 MHz and has 16 million instructions per second and 256kb.
An PDP-11/44 runs at 15 MHz and has just 0,76 million instructions per second and vary from 64-4mb.
If I should try to simulate similar behavior, then I must clock MEGA 2560 down to 1 MHz and care 256kb.
I asked in the Arduino official forum how fast an MEGA2560 that run 16 MHz can read memory per second; the user said roughly 128 kB per second. Then imagine that it must run roughly 20 cycles per second, then it is just 6 kB or less code to read each cycle. Multiply it with 2 to 4 pieces of PDP-11. Then it is just roughly 24 kB, which is not a lot data to calculate per cycle. So the flight model might is parameter based as the FSX is but with less accurate data. And they might use a lot of logic chips to make important circuit offload the PDP-11 and analog.

So, it is POSSIBLE but A LOT OF WORK with each logic circuit, bytes, instructions and make it compact; that's I asked my uncle that working with space technology. It is mainly waste of time for a standard inhabit in the world and uneconomically for today unless you are willing for hobby and free-time (I'm receive disability permanent pension) and limited resources because I, the user, haven't accessible to factory which I can make an decent integrated circuit which can be a fast computer that you buy in a shop on my own.

Avro748
01-19-2016, 12:13 AM
Are you trying to create a more dynamic flight model to accurately reflect the IL-62? If so, you could try AirWrench. I can vouch for it being a very powerful tool. Talk to the users on FSDeveloper too, many of them are very skilled at flight model creation.

Qwseyvnd
02-07-2016, 07:28 PM
I don't need AirWrench.I have investigated more about it.In forum in the www.arduino.cc they said I can using 74HC595 serial to parallell chip to get more output, but to transfer from memory then using bit and shift to get eight bytes array with bits from byte to parallell from ONE pin in the arduino MEGA2560 is very slow. Imagine transfer each bit from byte to array of bytes take instruction cycles. With 1-2 kB bytes multiply with eight then transfer serially with '595 takes too much speed in MEGA2560. And, read data input too then put to bytes value each right bits input. If I need to update ONE bit in whole '595 chips, I need to rewrite ALL chips which is a BAD idea as ****. Now I have found another solution. Using 2-3 pieces of 1:4-16 decoder/demultiplexer chip to connect with a lot of logic 8-bit flip flop. With multiple start-stop in array to determine this method:0 to 3, 10-11, 19-19, 114-240, 243-255 to put pointer to jump from 3 to 10, 11 to 19, 19 to 114, 240 to 243 to write to the PORT in the fastest method without for loop which is the slow method. That is nearest fastest option.The ABSOLUTE fastest option without instruction to change each latch gate flip flop from 4-16 demultiplexer chip, is to fit the logical flip flop to the exact memory address direct with the same place. For example, I want to write PWM speed using in servo motor, as in RC toys have but additional mechanic binary counter to determine how long it has been run and to read input to be sure it is in always correct position, in RAM. With digital to analog chip in paralell interface; that's the FASTEST option to see the instruments moving smoothly that can move forth and back and always in precise position with mechanical binary counter that can give the software a message how long it has been run that can stop if the software see it is necessary without need to using stepper motor.Let us do a small instruction math:Maybe it takes 20 instruction to put from byte to eight array lanes, then 2-3 kB * 20 = 41 kB of instruction cycles, then write to each 74HC595 chips, that takes 163 kB of instruction cycles. That's why some users in forums anywhere at the earth says I should get a decent computer but they don't know better. With 74HC595, if I want to update just only LED diode; thus, it need to rewrite the WHOLE '595 chips. But I found how able to using an MEGA2560 to run, it should.

BushPilotWannabe
02-08-2016, 12:30 PM
Is a Mini Pro running SevSeg a smart 595 chip?

Qwseyvnd
02-09-2016, 07:48 AM
Is a Mini Pro running SevSeg a smart 595 chip?

Can you explaining what Mini Pro running SevSeg.
Do you mean 595 is 74HC595 or TPIC6C595?

BushPilotWannabe
02-10-2016, 01:59 AM
With the low cost of Pro Mini clones, I was thinking that one may be a reasonable substitute for 8 or 9 74HC595 shift registers. I have run a Mega329P dip package on a breadboard running SEVSEG to drive 8 seven segment displays controlled via IIC from an Arduino MEGA1128. The setup was not scoped to confirm that the segments were multiplexed but the numeral 1 and numeral 8 were the same brightness using resistors on the common anode pins only. The literature says that processing in the background is possible but I do not know how much. It may be worth further investigation.

Hugh

Qwseyvnd
02-26-2016, 07:09 PM
You said only 8-9 shift registers... I need a lot MORE!!! In fact, I need 100 of them with fast update rate. I have solved the issue with 74HC595 and RS-232 communication.I will be using 2x 4-16 demultiplexer to get 16*16 values. That is to select which logic flip flop that I shall write to or read which is a much better way because I can select which logic flip flop shall be updated than updating the whole of '595s.I will be using USB to SPIhttp://no.rs-online.com/web/p/multiprotocol-transceivers/7617204/to get the input/output very fast. With that method, I will be able to communicate 100 times faster than 115.200 baud rate that is maximum in RS-232 standard.