Hacker News new | past | comments | ask | show | jobs | submit login
Cool-retro-term: A terminal emulator which mimics the old cathode display (github.com/swordfish90)
282 points by marcodiego on March 20, 2022 | hide | past | favorite | 71 comments



I toyed with both, Cathode on the Mac as well as Cool-retro-term on Linux, for video production. The effect and quality is exactly what I want. My only pain is that they both don't fit well into my workflow.

Does anyone know a plugin for Blender or Natron that can produce a high quality realistic CRT effect?

Preferably with similar flexibility and parameters as Cathode or Cool-retro-term.

All the plugins I found were very limited and most of them didn't even attempt to look realistic. For me quality and realism are key, convenient use in a compositor is also important. I don't care about rendering times.

Things I found during my research that look useful and cool but also don't quite fit into a more traditional compositor workflow:

* CRT-Royale [1] is a GPU based real-time CRT shader that seems to go into ridiculous detail.

* FFmpeg CRT Transform [2] is a purely FFmpeg based CRT effect.

[1] https://docs.libretro.com/shader/crt_royale/

[2] https://github.com/viler-int10h/FFmpeg-CRT-transform


I'm glad to see you're interested in quality and authenticity in your video productions. A lot of major Hollywood studios just don't give a crap, and composite some green text in Courier or Consolas onto a prop.

Cool-retro-term is open source, and jwz wrote some modules (like apple2) for xscreensaver that also have a detailed CRT simulation. So maybe mine that code for techniques to include in a blender module?


If you can use Adobe Premiere plugins through some means there's a ton of retro & VCR style plugins in their world. Most are commercial but not super expensive. I've used this one and liked it a lot: https://www.maxon.net/en/red-giant-complete/universe/vhs There are lots of knobs to tweak and you could definitely get something that's more like cool retro term.


> Does anyone know a plugin for Blender or Natron that can produce a high quality realistic CRT effect?

Sounds like a pretty niche scratch-an-itch thing for somebody to write. If you know Python the Blender Python API isn't that hard to learn, although it does tend to change sometimes, especially between major versions, and sometimes minor versions as well.


Have you looked at shadertoy.com? Searching 'CRT' has about 160 results, some look pretty good though you may have different requirements

For example, https://www.shadertoy.com/view/Ms23DR


I feel like you could get some real nice CRT effects in blender by messing with shader nodes. I doubt a plugin would add much to that workflow that's not there already natively.


There was a similar program called Cathode for macos.

The effects were cool (including the ability to change the bitrate of the terminal, made me understand why ed would make sense even aside from the other resource constraints, even `cat` takes ages at low speeds). There were also a bunch of included sounds like hardware boots (relay clicks, fan ramp up, etc…)

But the neatest thing is is that IIRC its “DRM scheme” was that the display would slowly degrade if you didn’t have a paid license. You could also degauss it (though I don’t think it would fix the degradation, you had to reboot for that). Obviously if you liked the degradation effect you could keep it even with a paid license.


Oh! I forgot all about Cathode but I used to love it, especially during the peak skeuomorphic Mac OS X era (tho I think it was then called OS X but I can’t remember what year Cathode was released, just that it worked on Lion). I forgot about the DRM thing too, but I was aware of it, and again, such a peak skeuomorphic vibe.

I’ve had cool-retro-term in my GitHub stars for years but I think I only used it on Linux. I’ll defUnitedHealth need to spin-up the latest release on macOS to reminisce about the glory days of software emulating software some of us don’t really remember (so I’m now legitimately nostalgic for the nostalgia-ware of a time I don’t actually remember).


I wish there was a setting to fold parenthesis in comments


Seems like a fun project. Browser extension?


For Windows folks, Windows Terminal has a similar effect available. Definitely nostalgic, definitely fun for a minute, definitely not how I would want to work in the terminal.

Steps to try the feature out:

Open/Switch to Windows Terminal

Control-, [Control-<comma>] to open Settings

Pick any profile from the side bar

Click Appearance tab

Toggle "Retro terminal effects" located below the font options


It depends. I could see myself using this for niche applications such as visually marking certain terminals.

When you work on multiple remote hosts, it's common practice to use different profiles to visually identify hosts. Say your local machine has your standard and preferred colorscheme but staging machines have a green background and customer-facing machines have a red background. Indeed, it's a manual process but I've seen people use it in most places where a substantial amount of work is done on remote hosts (I still use it today if/when I need to access remote hosts).


I deleted an archive tape, by being logged in to the wrong machine. The terminals did have different prompts, but that wasn’t enough.


It's happen to all of us frankly. Now I also keep the default shell on remote machines. I guess it's a cognitive trick where I feel uneasy at the different prompt and key bindings (I use zsh with bindkey -v locally).


For me it's the colour of the tmux status bar.


Same.

  echo 'set -g status-bg brightmagenta' >> ~/.tmux.conf && tmux source-file ~/.tmux.conf


I just downloaded cool-retro-term now that I have a mac, and the Windows Terminal effects are nowhere as cool.


Maybe some missing features:

Screen burn. Leave it on for a few months displaying the same stuff and get a grey burned in shadow forever showing 'Login:' at the top left of your terminal.

Gauss distortion: Bring a strong magnet close to your terminal to have all the letters suck to one side and stay there for days.

TEMPEST fun: Broadcast the contents of your badly shielded screen to another badly shielded screen in the same room (yes that's real and something I've actually seen).


How about adding the 15 kHz flyback transformer whine? Though most people who remember these terminals probably can’t hear that frequency any more.


I can hear that frequency all the time nowadays. It follows me everywhere...


My brother (late 30s) is the same, he's still bothered by anti-teenager and anti-bat repellent gadgets, too. Cracks me up every time. And he listens to more metal and attends more shows than I do, too.


Those repellents bother my kids as well, and they're everywhere apparently but I can't hear them. Permanent tinnitus from far too many loud concerts in my 20s and 30s. All I can say to younger readers is: wear earplugs. You won't appreciate not having tinnitus until you do, then it's permanent :/


The Apple II, and most home computers of that era, use a TV as a display.

So if you pushed the signal power high enough, what you typed was visibly on all TVs around.

As a teenager I remember sending love messages to the neighbor. She was mystified.


Fallout terminal hacking mode?


I use this whenever I feel like playing text adventures in frotz. Great ambience for that :)


I know this is just a toy, but the curvature and saturation are massively exaggerated from what using these terminals was really like. This is really hard to look at for more than a couple seconds. In reality, the old VTxx terminals were much easier on the eyes, particularly the amber ones.



If you right click then you can go to Settings and reduce the curvature and tweak all of the effects levels. I hated it originally also but after turning a few things down and a few other things up (advanced tab "quality") it is much better.


Yes, the Windows terminal effects overdo that too. Sure there was a little blur, but nowhere near as smeary as they make it look (unless you had buttered your monitor or something).

Monitors back then were much lower resolution, so the blur was subpixel. And monochrome monitors or black and white TVs (one part per pixel) were much sharper and clearer than standard color monitors or color TVs (three parts per pixel). There should be almost no noticeable blur if emulating those.

Increasing font size to 16 and decreasing font weight to 'light' helps a bit to get it more realistic, as long as you keep the terminal window at about 80x25.


Here's a picture of an old kaypro, looks similar to me. Of course, it's a small screen, and the end user has the saturation up too high.

https://www.nightfallcrew.com/wp-content/gallery/non-linear-...


Screen is curved, text isn't.


I think you're wrong. Didn't look at the code but it seems curved to me. Even reflection on the border is simulated.


He probably meant: "On a real display, the screen is curved, but the text isn't."


This is very hard for me to confirm: I don't have any crt close by and the crt's which I used more (late 90's) were already mostly plane.

But I remember big crt tv's. Some of the biggest one's, had a form of "inverse" curvature to mimic plane panels of the time. I clearly remember one whose curvature was not constant over the screen and panning scenes had a weird effect of enhancing its deformities. So, I still think he is wrong even on this second case.


There is some curvature on real terminals; here's my AM-75, which is a rebadged Wyse.

https://oldvcr.blogspot.com/2020/06/refurb-weekend-alpha-mic...

However, it's probably not as extreme as what this does, and when you're sitting in front of it (the photo is at an angle) I don't notice much text distortion.


It is much more noticeable on smaller CRT screens, like the 9 inch one on the Kaypro.


The keyboards on those machines... I loved my dad's kaypro :)


the curvature and saturation are massively exaggerated from what using these terminals was really like

Depends on how much your company wanted to spend on terminals.

I worked for a chemical company where we had hand-me-down Wangs from a different division that looked very much like these.

This is really hard to look at for more than a couple seconds.

Perhaps speak to your optometrist. When I was back in the office, I used this all day long on a 27-inch monitor with no problem. And I'm a graybeard.

the old VTxx terminals were much easier on the eyes, particularly the amber ones

I remember the amber terminals being marketed as easier on the eyes than the white or green ones I used, but I have no first-hand experience with amber.


I used amber monitors briefly and they were neat because they were different but I don’t recall ever seeing a study justifying the “easier on the eyes” claim.


Agreed. I would really dig this if it was a bit more realistic. I really miss amber monochrome and have had it at the back of my mind to build some css themes to mimick the old monochrome screens for years.


> I know this is just a toy

No more or less than any other terminal emulator.


I never used DEC VT terminals, but the curvature here does not seem exaggerated to me for other monitors circa 1980’s.


Do you mind sharing realistic settings with us?


I sat in front of those things for the first 10 years of my programming life. I am not nostalgic for them.

If you guys are so into retrocomputing, I might have a teletype for you in the attic. Don’t forget to bring your noise cancelling headphones.


I did too -- a mix of VT101's, IBM 3270's, VT-220's. Most of the VT-220's were green, but we had a few amber ones, which I preferred over green (it felt like such leading edge tech for some reason). We had a few demo units with a white phosphor, and they were amazing - you could use an escape sequence to turn on reverse video and tell yourself it was just like reading a piece of paper (it was not).

I have a bit of nostalgia for those screens but wouldn't want to use one for more than a few minutes. But would love to have an old DEC VT-220 keyboard!


Ha ha. Chain printer goes Brrrrrrrrrrr.


Combine it with Bucklespring (https://github.com/zevv/bucklespring) and it gets even better.


You can still buy actual buckling spring keyboards from Unicomp.


The compilation instructions for ubuntu do not currently work. Apparently, you need to add qtquickcontrols2-5-dev to the list of dependencies. But then at runtime you get this error:

    QQmlApplicationEngine failed to load component
    qrc:/main.qml:67 Type OSXMenu unavailable
    qrc:/menus/OSXMenu.qml:22 module "Qt.labs.platform" is not installed
    
    Cannot load QML interface


I’ve been tempted recently to drop this on a pi and hook it up to an old oled I have sitting around (that has minor burnin) for status-monitory things. One cool side effect is that because it’s always shifting pixels, it won’t cause further burnin. No, the irony is not lost on me and I love it.


The scanline was a bit strong. But I am glad it doesn't come with the high pitched whine of the flyback. My adm5 is .. unbearable to turn on these days.

Maybe I only worked in universities which bought high-end VT52/100 and clones. The curvature felt a bit overdone.


This will be a great conversation starter for screen-lookers while I'm at a café.


Xscreensaver has been shipping a wonderful crt emulator that works as a terminal for at least ten years. It’s based on the older “cathode” program.


Nothing like spending tons of computer power to duplicate the experience of technology limitations we had to bare with in the past!


Just FYI: it has context menus. So, if you have tmux to autostart when you open your fish shell, you will get a special tmux context menu on right-click instead of the Cool-Retro-Term menu that lets you edit your settings.


I have an old Osbourne Executive, that amber screen is amazingly accurate


Totally worth the headache. Is it possible to use this with guake?


There is also a font called vt220 somewhere out there that gives you the look and feel of the gorgeous DEC VT 220 terminals. If I can find it I'll post the link here


There are also a lot of PC/BIOS fonts here: https://int10h.org/oldschool-pc-fonts/



There's one called DEC Terminal Modern that may work better with cool-retro-term. It's a vector font that doesn't have the scanlines in the font, so won't clash with the scanline effects the terminal emulator provides.


Thank you, yes indeed, that's the one.


aaaaand will that enlarge the image if the overall brightness-of-all-pixels on screen gets higher (either by turning the knob, or, you know, type lots of text ) ?


I want it to shrink the screen when the virtual 8" Shugart floppy drive kicks in.


For the Windows users, you can run this with WSL and Cygwin.

(Maybe you can do this in WSL natively now, not sure, it's been a couple years)


It worked on my WSL setup.


Anyway to get this working on Windows?


Used this for a lark, and it gave me a headache. 10/10 for implementation.


Nice. This runs really smoothly. Feel like loading up some retro games :)


this is great! thanks for the share


wow. brings back memories




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

Search: