Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Bootable NASA 'SPOC' Software on Your PC (groups.google.com)
71 points by detaro on Sept 4, 2016 | hide | past | favorite | 16 comments


I tried booting to this with QEMU 2.6.1 with `qemu-system-x86_64 -sdl -fda nasa-spoc.img`.

It does boot but it uses some graphics mode that isn't properly emulated with QEMU, and only about half of the screen contents get displayed in the window.

edit: I got virtualbox to boot it but it's slow as molasses. Perhaps I don't have the right virtualization enabled. And I can't get the ALT (or CODE) key to work, so I can't get past the first screen.


Try mine: https://github.com/robertely/SPOC-VirtualBox

It's basically a stock VM with very low memory,minimal peripherals, and a CPU priority of 1% (even at 1% it's blazingly fast compared to the 80s)


I was using your .vbox file from GitHub. I have no idea why the ALT key isn't working. I tried changing to US keyboard layout but to no avail. I'm under Linux / x11 and I don't have any hotkeys on ALT.

The speed is perhaps 1/100th of what QEMU was putting out. May be related to not having correctly set up the virtualbox modules or something?


For speed try increasing the cpu execution cap here: https://github.com/robertely/SPOC-VirtualBox/blob/master/SPO... (out of 100) incromentally till you have a reasonable speed.

Sadly I can't explain the alt problem. I suppose I could rebind that to something like the space bar and upload a modified floppy image. I will poke at that later.


Can someone explain what this does, or was used for in the real world?


I believe it's this:

"SPOC, a navigation monitoring computer used by NASA in a 1983 mission, was a modification of a commercial computer called GRiD Compass, produced by GRiD Systems Corporation. ... SPOC automatically computes position, orbital paths, communication locations, etc. Some of the modifications were adapted for commercial applications."

http://spinoff.nasa.gov/spinoff/database/spinoffDetail.php?t...

Here's an Adafruit blog post with pictures of the hardware: https://blog.adafruit.com/2016/09/03/grids-compass-os-bootab...


This is the software that would've run on the Grid Compass [1] (coincidentally, one of the earliest laptop computers), which was flown on some early shuttle flights and was used to monitor and display ground position, orbital path, and some other stuff.

Basically, it was a UI to let astronauts monitor the shuttle's location in orbit. The shuttle's flight computers (especially at the time, prior to the glass cockpit upgrade) didn't really have a user interface to speak of; the SPOC gave them that.

[1] https://en.wikipedia.org/wiki/Grid_Compass


Here is what the Read me has to say:

"WORLD MAP"

The SPoC presently runs WORLD MAP as its primary program. A graphics display of a world map is overlaid by the Orbiter's current trajectory status. The following information/functions are available.

        Current MET
        Fixed coastline and Spaceflight Tracking and Data Network (STDN)/
        Tracking and Data Relay Satellite (TDRS) coverage graphics
        Day and night areas on the earth's surface
        AOS/LOS and identification of next/current ground communication site
        AOS/LOS and identification of next/current TDRS coverage
        Current and two predicted ground tracks
        Current position of the Orbiter on the world map
        AOS of the next earth observation site
        AOS of future earth observation sites
        Current F-stop
        F-stop for the selected earth observation site
        Predicted Site Acquisition Table (PSAT) Display
        Table of TDRSS AOS/LOS
        Communication/Earth Observation site reconfiguration
        Latitude and longitude of the Orbiter
        Time to Orbiter sunrise, noon, or sunset
        Sun glint position on the world map
        Sun glint look angles
        Longitude and MET of the next/previous ascending node
        Time until/from the next/previous ascending node


TL;DR: this is a map of the world. You put in the date and trajectory, and it charts where the shuttle is as it orbits the Earth, in real time. This map includes world-wide transmission stations, which basically follow the shuttle's orbit around the globe.

It was run on these laptops on the shuttle for years: https://en.wikipedia.org/wiki/Grid_Compass


It computes the position of the Shuttle orbiter in orbit at any point in time and displays a world map with the ground trace (the position on earth that the orbiter is over). It also has the coverage of the tracking network, so it can be used to predict when the shuttle is in contact with the ground.


video demo from email thread https://www.youtube.com/watch?v=quHlMiwTQZs


From the video/screenshots it seems that the software is written "SPoC", not "SPOC".


I just found the SPoC readme in the boot image. Aparnetly some people are having trouble with ALT as the CODE key, I'm looking for ways to change it.

For now this is a fascinating document: https://github.com/robertely/SPOC-VirtualBox/blob/master/REA...


quaalud.es (where the image is hosted) is one dodgy sounding domain hack...


Good thing I have a floppy drive


Works on the bare metal, reading from the bare metal oxide.

Very quick & easy.

Here's a tutorial, most of this is ordinary 21st Century floppy handling, geared toward this SPoC floppy image-

to make the 3.5inch floppy-

-Make sure all necessary PC mainboard bios settings are adjusted to fully enable Floppy, Legacy, FDD, Read/Write, USB FDD, etc.

optional quality ckecks- Quick format a 3.5inch floppy using any version of MS-DOS or Windows. Using your favorite disk editor, write F6 hex consecutively on every byte of the floppy over sectors 1 through 2879, leaving only sector 0 untouched in its formatted condition. Quick format the floppy again using any version of MS-DOS or Windows. Select a 3.5inch floppy which passes a thorough sector check fully without any defects. -using the WindowsME DOS version of SCANDISK.EXE while booted to the Windows98SE version of DOS is ideal for this diagnostic test. Other Win9x SCANDISK versions while booted to their Win9x DOS's are OK too.

Using your favorite bit copying routine, or disk editor, copy his default image to the floppy bitwise.

to boot the floppy-

Any PC made within almost 3 decades should work, as long as it supports 3.5inch 1.44MB floppies correctly. The PC does not need a hard drive, and may not need more than 128K to 512K of memory.

On modern UEFI systems you will probably need to disable Secure Boot and might need to be in Legacy, Bios Compatibility mode. --you will likely revert these settings afterward in BIOS when you are completely finished using 20th Century SPoC

Make sure your PC bios has its setup boot order giving the appropriate floppy hardware (mainboard or USB) the highest priority. -Make sure all other necessary additional bios settings are adjusted to fully enable Floppy, Legacy, FDD, Read/Write, USB FDD, etc. --you may or may not want to revert these settings afterward in BIOS when you are completely finished using 20th Century SPoC

As a performance check, there should be no problem booting to a Windows98 startup floppy. -a proper 64-bit mainboard handles this perfectly

Leave the SPoC floppy inserted to the drive.

Restart the PC.

It boots to the MS-DOS 3.31 on the SPoC floppy and automaticlly runs the batch file AUTOEXEC.BAT, which launches GRID.EXE \programs\spoc.run then you eventually see the Space Shuttle logo

to operate SPoC-

after the floppy boots, progress stops at the screen "GMT OF LAUNCH" where you set the GMT time of your launch, his defaults are- YEAR 1989 DAY 352 HOUR 23 MINUTE 46 SECOND 0 (you can change data on this screen if you want to by backspacing & typing) leave his defaults -you will have to accept this by typing ALT-RETURN where SPoC asks for CODE-RETURN

the next screen "Set time in GMT" is where your actual system time is displayed, and you set your actual system time on your mainboard hardware back to the 20th Century. -this GMT System time will need to be somewhat later than the above GMT Launch time, you will be using your system to plot the course of the Shuttle starting from your point in time after the launch had taken place- DAY 354 HOUR 15 MINUTE 41 YEAR 1989 -accept this by typing ALT-RETURN where SPoC asks for CODE-RETURN if "CAUTION: Vector more than 2 days old" message appears, the system date is more than two days later than the most recent vector data (shown on the following screen). --After you you are completely finished using 20th Century SPoC, you will have to correct your system time back to the 21st Century before your PC will be normal again.

the next screen "M50 STATE VECTOR (KFT) WITH GMT TIME TAG" has your "recent" Shuttle coordinates at a certain GMT time later than the launch, there is no year entry, it is assumed to be less than 2 days earlier than your newly-set 1989 system time. his defaults are- Day (GMT) 353 Hour (GMT) 0 Minute (GMT) 59 Second (GMT) 35 leave his defaults -accept this by typing ALT-RETURN where SPoC asks for CODE-RETURN "Inclination" & "Approx. orbit" info appears -accept this by typing ALT-RETURN where SPoC asks for CODE-RETURN if "CAUTION: Vector more than 2 days old" message appears, the vector date is more than two days earlier than your 1989 system time.

the next screen gives you the option to display the World Map, select "DISPLAY WORLD MAP" with the up/down arrow keys, then ALT-RETURN where SPoC asks for CODE-RETURN - or - accept this by typing ALT-M where SPoC asks for the CODE-M shortcut

the next screen gives you the option to select the communication and observation features select "INVOKE DEFAULT COMMUNICATION SITES" with the up/down arrow keys, then ALT-RETURN where SPoC asks for CODE-RETURN - or - accept this by typing ALT-D where SPoC asks for the CODE-D shortcut

now you get the "live" map as the Shuttle orbits in "real" 20th Century time.

to stop the map and return to its menu- type ALT-ESC where SPoC would normally want CODE-ESC -you return to the previous menu

to restart the map or exit to DOS 3.31- select using the up/down arrow keys, then ALT-RETURN where SPoC asks for CODE-RETURN - or - restart map by typing ALT-M or exit to DOS by typing ALT-ESC

in DOS while booted to the floppy, at the A> prompt-

restart SPoC by typing- grid \programs\spoc.run - or - a:\grid \programs\spoc.run

to start only the GRID emulator itself, at the A> prompt type- grid - or - a:\grid

when within GRID- -use ALT-Q followed by ALT-RETURN to QUIT -use ALT-ESC followed by ALT-RETURN to CANCEL

reboot to the floppy by leaving it inserted and simultaneously holding CTRL-ALT-DEL - or - shut down from DOS using the power button on the PC

--After you are finished using the SPoC floppy, you will have to revert your system time back to the correct 21st Century time in BIOS before you fully boot back to your regular modern operating system.

--On modern UEFI systems this is also the time to return the Legacy, Bios Compatibility mode and Secure Boot settings to your preferred options for modern operating system usage.

hope this helps




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: