pleroma.debian.social

pleroma.debian.social

I made a tour of an obscure window system called Bellcore MGR, made by the Bell Core Research and bearing a strong resemblance to Plan 9's 8.5.

The tour also comes with a short overview of the $HOME MOVIE film authoring tool from 1990. There are many screenshots, a 40-minute long video with Mozart and Liszt, and a hard disk image for 86box.

Like, share, boost, comment <3

https://www.ninakalinina.com/notes/mgr/

A screenshot of an old computer system in black and yellow. It shows a page from a manga "Bloom into you" with two girls running somewhere; there is a terminal behind the image viewer, and a few icons on the side - mail, clock and some windows. A colourful screenshot of an old computer interface showing a terminal, a menu, and an analogue clock

The part that took me the most time was writing a decoder for a video from 1991. The video is a demo of the $HOME MOVIE system, 1152 x 900 with voice and music. HD video from 1991, folks!

https://www.youtube.com/watch?v=1j3WYV2sQno

@nina_kali_nina that is an impressive video for 1990. Is the video format anything special?

@nina_kali_nina And SuperBook is in there too.

@efscher I wish the SuperBook was available, or at least the full demo for $HOME VIDEO... But at least the Roll-A-Credit and the IMG are!

@root42 I wrote a decoder in a day, so probably not! It is an LZ-compressed stream of bit blits (up to 1024 bitmaps supported), key frames, line and dot plots. The scrolling is implemented through a series of bit blit commands between multiple buffers. It isn't going to be great for camera-recorded videos, but it is good enough for animations.

@root42 but I tell you, it is a special feeling: finding a .Z archive that clearly has a video data in a format basically lost to the sands of time, and thinking "I can figure it out!". And then to actually figure it out!

@nina_kali_nina you figured it out without an existing en- or decoder? How? Was it a binary format?

@root42 I have a sick hobby of doing this one thing to the files I find...

As the file was compressed with LZ, I could tell the insides are going to be some sort of bitmap. This would have been enough to unpack the video, but conveniently there were sources for "play_data" and "to_ascii" tools that parse this format into the MGR system calls. I only had to implement my own blitter for 32-bit-aligned bitmaps with Plan9-style ROPs, and re-time the blitting events (I couldn't do it perfectly, but I think it's good enough - it certainly works much better than play_data on Linux with my Sun-compatibility patch)

A screenshot of "Load image from Raw Data" dialogue from GIMP showing some clear bitmap (checkered pattern and text on top), then bit patterns, and then some soft of font data that parsed incorrectly

@nina_kali_nina @root42 oh I love this. Made do for a while with a plan 9 like window manager and a circular menu system.

@nina_kali_nina https://payhip.com/b/ndZvR
Your future self is watching you.
Don’t quit now. 💭🔥
Read my free eBook — ‘I’m Watching You, Kid

FREE....FREE.....FREE....

@nina_kali_nina Was the Unix tool script a predecessor of $HOME MOVIE, or possibly a successor?

@amoroso the script tool was introduced in 3.0BSD, means 1980. $HOME MOVIE and VCR are 1990-1991, so - a spiritual successor, I guess?

@nina_kali_nina NEEEEERRRDDDDD

Also, that jaunty music... :D

@nina_kali_nina This is fantastic! -- back in the 90s wanted to try MGR but could never get it to run on my old PC. There were several attempts by various people to port it to the linux framebuffer, sdl etc. MGR was a clever idea and could still be useful as a remote semi-graphical shell. And those gorgeous bitmap fonts... should convert to BDF or even opentype bitmaps one of these days...

brings back memories, thanks!

@kaveman from what I can find online, it seems there were many, many ports for various platforms, and for some reason very few of them survived 'til this day. There is X11 port https://github.com/alex-arknetworx/mgr and there's an SDL port https://github.com/ProgrammerArchaeology/bellcore-mgr but they all are relatively modern takes on the MGR.

@nina_kali_nina Monochrome anime girls ftw!

@nina_kali_nina @root42 fascinating! Sounds like a 2D game renderer? Nice work reverse engineering the format!

@iyashikei_kris I know, right? (Manga is mostly monochrome anyways)

@nina_kali_nina

Awesome work, thank you for this!

I'd totally forgotten about mgrbd!

Also that yellow on black, yeah I spent too many hours staring into that...

Edit: game name

@goosey dash is still the default Debian shell, I believe! Kind of cool that there are still major Linux distributions that use something that isn't bash by default

@nina_kali_nina @goosey dash is the default for /bin/sh, while bash is the default user shell
replies
0
announces
0
likes
1

@nina_kali_nina The “middle button for menu”paradigm reminds me of RISC OS.

(I think that the mantra “middle button for menu” might be the only thing many people in my generation took away from learning computers in primary school, knowledge which became worse than useless as soon as they left school, as nobody anywhere else ran RISC OS!)

@h0m54r especially true for computers that have only one or two mouse buttons 🥲

@nina_kali_nina impressive,thx! Look at sdf.org if you haven't yet. They share quite a huge number of old systems which you can use just for fun.

@nina_kali_nina Great Post! I have some insight as to the relationship between MGR and 8.5: any resemblance is pure coincidence. I didn't' know about 8.5 until long after I wrote MGR, although I suspect they were mostly contemporaries. Happy to answer other questions you might have.

@Suhler thanks for reaching out! My understanding is that Rob Pike developed 8.5 in 1989-90, based on his earlier work on Blit. Judging by the video* I can find, Blit had a "user experience" very similar to what MGR offered - plain windows without headers, drop-down menus, and so on? Could it be that Blit, developed in 82-83, was somewhat an inspiration to MGR? I am especially curious because Blit, MGR, 8.5 and Rio all have a very distinct look and feel. Most other UIs I know about were heavily inspired by Smalltalk-80 and/or Xerox Alto, and thus have window title bars (but then early X10/X11 didn't have title bars, either).

* https://www.youtube.com/watch?v=4YuRkOxNsDk

@Suhler I think MGR really rocks! In terms of sheer performance, it beats most desktop environments, and it seems to be quite portable, too. But ultimately it didn't became the standard for Unix-like systems. Could it be due to political forces (e.g. license limitations - Bellcore non-commercial vs MIT), architectural reasons (e.g. limited support for colour displays), marketing, or perhaps it was pure luck?

Also, if you'd want to re-design MGR today, what would you keep and what would you change about the architecture?

@nina_kali_nina
Mgr origin story. In 1982 while at Exxon trying to improve the existing engineering computing environment, which consisted of typing FORTRAN code into an IBM3270 terminal and receiving, the next morning by interoffice mail, a neatly rubber-banded roll of printer paper with source and execution output. Rubber band balls were a thing.

While participating in a "Xerox Star" pilot, I saw the famous "Alto Demo": I wanted the engineering version of it - similar GUI, but on a Unix workstation. I saw a Sun/100 at the Unix conference that year, bought one, and wrote MGR early in 1983 (users of the first release called it "mgr" after the "mgr.c" file containing the source code: the name stuck).

I joined Bell Labs in the fall of 1983, ended up in "Bellcore" following the 1984 "breakup", convinced my new boss (M. Lesk) to buy a ½ dozen of the newly announced Sun/2s, and rewrote the window system from scratch - the only thing I kept from the Exxon version was the name. [July '83 screenshot]

Screen shot of the MGR window system from July, 1983

@Suhler this is so awesome!!!