Lattice of Convenience

There is a lattice of convenience which runs my house. From ripping CDs and DVDs to Kodi, Arcade cabinet, and a shitphone army acting as media players and remote controls. These posts describe how to sysadmin my house.

xrayspx's picture

Tech Henge

Music: 

Shriekback - Nemesis



As noted previously we basically just bought our way into a retro-computer collection with the addition of an Atari ST and two further 8-bit systems. This created problems for us, but we decided to solve them with craftsmanship and as a result Natalie built an impressive henge.

Previously my office had a bookshelf that Natalie built while I was out of town for work. It worked great for 10 years or so but the shelves were only 10" deep, and while I was able to cram an impressive amount of stuff on there, it had to change. So we designed one 24" deep with a work surface a couple of inches deeper than that, and then a 20" hutch for the top section. This will allow us to have several layers of display items with storage behind them.
Because as is my motto: "If It's Not Display, It's In The Way"

So we've spent the last week setting everything up and trying to consolidate all the new stuff into bins, test what's working and what needs repair, and cabling up all the systems and network hardware. We put two 12u racks in the bottom, one is full of network hardware, NAS, and webservers and the other has several Atari 8-bit peripherals that are hooked up and then storage for in-progress projects like the Kaypro II. We designed it with the three cubbies to accommodate our printer and scanner, but decided that they were better used with books and stuff, so as a bonus we swapped out the top on a metal cabinet we already had and it really fits in well.

You can already see there's room for 4 computers/keyboards and mice "comfortably", and we could probably have 6 going if we really wanted to add anything more. We'll be spending some time to come trying to find the most effective way to fill this thing, but I think it's off to a good start, and we can nearly eat on our dining room table again, so that's a bonus! I think all we have left to do is unfortunately send the Elvis tapestry on a permanent vacation and replace him with 3 or 4 bookshelves to hold all the software and documentation we got with this haul.

xrayspx's picture

What Have I Done: Atari Edition

Music: 

The Ramones - Somebody Put Something in my Drink

Yesterday we went out and collected what was left of the Atari collection we bought, so today we set up pretty much everything in one place. This is why we need to build furniture:

This collection comes to us from a man I was in an Atari computer club with back in the '80s, when I was an Overly-Enthusiastic 'Tween pirate. So while I don't have my personal childhood 8-bit and ST computers anymore, this is actually stuff I remember. I specifically remember the ICD enclosure with the Apple sticker stuck on it for example. The ST actually was lovingly packed in a suitcase with custom foam for the machine, Spectre GCR and external floppy. However when we got it home the foam utterly disintegrated all over our dining room, so that's all being replaced just in case we ever take it anywhere again, but I can definitely remember that case being lugged into meetups back in the day as well.

There are also lots of things I've never seen in person before, like the Atari-branded tablet, light pen or the Indus GT drive. Apparently you can retire quite comfortably off the sale of an Indus GT, at least according to eBay weirdos. I don't know, I just remember they looked real cool in magazine ads.

It should be noted that all those boxes of disks, and the other boxes of stuff not pictured, contain nearly all fully licensed commercial software and manuals. That's why I haven't posted any shots of ST demos and cracked game intros and stuff. There aren't any :-) Everything is legal and has manuals, which is great. One of the big issues I had when I was a kid is that yeah, I had tons of games, but no idea how half of them worked, not a problem for Jumpman, but big problem for SCRAMM or Silent Service or MULE, at least I never knew how to play them. While this definitely wasn't a "Gamers" computer, it's really going to be interesting to stick Natalie in front of Calamus or PageStream and show her the state of the art for 1988 design software. Spectrum 512 has already left us both stumped. I've got some re-learning to do for sure.

Natalie was super excited playing with the drawing tablet and I guess I might have to get a CRT just so we can try the light pen out too. We're also looking forward to projects with the AtariLab temperature and light modules, which just have a really interesting history.

My loose plan is to get a GoTek so as not to have to deal with physical disks as much, and a SCSI to SD that can live in that ICD enclosure (along with probably 15 Raspberry Pis!) so that everything is gainfully employed once its new home is ready. To use the Spectre GCR I'll need high resolution mode, which should be achievable with a VGA converter. Color requires a monitor to support a 15Khz refresh rate (or use of an expensive scan doubler), but monochrome should work just fine. I'm waiting eagerly for CheckMate1500Plus.com to start selling their "ultimate" retro computing monitors to actually solve that problem once and for all.

Once we get the new storage built we'll have much more room to get in and start opening stuff up on the bench and start some repairs.


Inventory





On the 8-bit side, inventory-wise, we've got:
130XE
XE Game System
XEGS Light Gun
1010 Tape Drive
1050 Disk Drive
Indus GT Disk Drive
CX80 Trackball
CX77 Touch Tablet
CX75 Light Pen
AtariLab Light Module
AtariLab Temperature Module

Of that, the XEGS seems to be totally fine, while the 130XE tests bad on a bunch of its RAM, so that will be a project. I don't know whether I'll just replace the 64x1 DIPs that are in there now or go for some over-the-top modern upgrade that might be easier to source. It's also likely got a bad keyboard membrane, but I have a spare to replace that on hand.











On the ST side:
Atari 1040 ST
SC1224 Color monitor
SF-314 Floppy Drive
ICD FA-ST 2x SCSI disk enclosure
Spectre GCR Mac Emulator
There's also an internal PC emulator mod that I've not tested yet
Gravis analog joystick

The external floppy at the very least has a bad power switch, and doesn't seem to do anything. There are a total of 4 SCSI drives spread between two enclosures, but none of them spun up immediately either, so some work to do there. The Atari mouse doesn't work (yet!), so we got a DE9 to USB adapter so we can use modern mice. However that Gravis stick will work as a mouse, and was crucial to getting the machine up and tested.

There's one broken key slider stem that can be seen in the picture, we have the key and got a whole bag of replacement sliders so that's handled.

The external mouse & joystick switch box kind of resolves the problem of those ports being buried under the machine.

xrayspx's picture

Fall Project Time

Music: 

REM - The Wrong Child

I recently started bringing in a truly special collection of Atari hardware. I was expecting to pick up an ST and some software, and when we arrived found not only that that ST had loads of peripherals and neat stuff to test out, but lots of 8-bit hardware and an XE Game System as well. I actually had to do this in trips just to make sure I had somewhere rational to store all of it while we inventory it and do any repairs and cleanup needed before we start trying to see what other more serious collectors might want to take in. But honestly how could I pass this up an XEGS for this room?

We really only need to make a stand for the 2600 that will let you see and use both systems. All the power and A/V stuff routes to that shelf so we can just fire them up in place and start playing.

But what this really spawned is a project to start building furniture in the office. Natalie has this habit of doing projects while I'm out of town on business as a surprise for when I get back, so in 2015, before the full house renovation, while I was on a trip to a datacenter for a week Natalie built this bookshelf. At the same time she uncovered the awesome tile floor in the office which had been hidden under the crappiest industrial carpeting for all these years.

However we're reached a tipping point with that thing. The shelves are 12" deep which is great for a bookshelf but not so great for cramming a bunch of computer equipment into. You can see it's way too narrow to comfortably fit that scanner for instance.

The goal is to build something deeper which can comfortably store an ST, Mac Classic, and some other small home computers as well as just bulk storage of Crap in My Office. At the moment all my network hardware, switches, firewalls and storage are buried under my main desk. Tidy and out of the way, but a hassle to get to if I need to plug new stuff in or actually work on anything. I don't want to be 70 years old crawling around on the floor to add a network drop, so we're going to get that stuff out of there. We also need just "Bulk Computer Storage" for larger systems like a Mac Pro, KayPro II. My desk and repair bench has been getting a little crowded lately, so I'm hoping a good amount of that stuff can move as well. Some of the details of what we're doing are going to be a surprise, but it'll be cool, I swear. I've told Natalie my only real goal is to have somewhere to put my laptop bag. All this stacking shit is making me itchy :-)

The ST is currently taking up exactly the surface area of a small storage cabinet, which is a little cramped for purposes of troubleshooting to say the least, though a couple of toys have trickled in since I got it, like an Atari 9-pin to USB adapter for a modern mouse and a supply of replacement key switch sliders/stems.

We'll be building more ST projects to share Real Soon Now, promise. Once we get our bearings from all the work office moves and re-shuffling these shelves. My word is as good as a Tremiel promising us all Falcons By Christmas!

So I wanted to save a quick "Before" of that space before we start tearing into the project:



That Panasonic boombox works and sounds AWESOME, but barely even picks up the FM transmitter from 10 feet away because the boombox's day-job is to hide multiple WiFi routers, a network switch and a 10 port power strip, so there's like 8 WiFi antennas right up against the tuner, not ideal. Be nice to clear that up.

xrayspx's picture

Kodi Machine Screensaver Notes

Music: 

Veruca Salt - Born Entertainer

I've just spent too long messing with a small PC to replace my Raspberry Pi Kodi machine. Problem was that the system would blank the screen after 10 minutes and there's too much stuff to test, and each test takes 10 minutes. Make a change, reboot, wait 10 minutes, make another change, and so on.

The problem was the Xorg default screen blanking, and it was fixed by creating /etc/X11/xorg.conf, with only the following config in it:

Section "ServerFlags"
Option "IgnoreABI" "True"
Option "BlankTime" "0"
Option "StandbyTime" "0"
Option "SuspendTime" "0"
Option "OffTime" "0"
EndSection

I had previously tried a bunch of stuff with setterm and enabling rc.local to run from Systemd, all to no avail, so I wanted to document this one for the next time.

xrayspx's picture

Mac Classic Pt. 2 - This is Fine

Music: 

Pailhead - I Will Refuse

Note: I say "We" a lot. Natalie has been doing at least as much of this work as me. She has a whole method that she likes for the tantalum caps so she pretty much installed all of those. She even discharged the CRT. We learned later that the Classic seems to bleed the CRT automatically which is nice. I'm still sticking a screwdriver back there every time though just to make sure.

Good and bad news on the Mac Classic front.

If you read in part one, we over-paid a princely sum for a Mac which "Works as intended", but which should really have been "For parts or repair" for 1/3 what we paid.

So I'm personally beholden to make this fucker run regardless of personal cost in blood or treasure at this point.

"Rookies do very tidy job and rightfully feel pleased"

We recapped the motherboard on the Mac Classic. We got a heat gun, generous with the tape all around to make sure we didn't mess up any other components, and quickly and easily got the old parts off, we cleaned the pads up with solder wick, tinned them with new solder and put in the replacement tantalum caps, applying a bit of flux and cleaning regularly along the way. No damaged pads, everything went extremely smoothly regardless of which of us held the iron. Natalie really did most of the installation of the new parts.

Before:

After:

"Rookie makes Rookie Mistake"

The eagle-eyed among you already see why my office smelled like shit all day last Saturday. Of course, tantalums don't note polarity the same way any electrolytic I've dealt with has. So we installed them all backwards.

I know I have seen at least one person mention that while doing a recap and replacing electrolytics with tantalums. In fact, in the box from the company we ordered the replacements from:

So it's not like there weren't ample people trying to get this information into my head. Oh well, happens. Here's the before & after, after the second recap:

I also took the cardboard shield off the high voltage board and saw sticky burnt electrolyte gack on the back of the board. That gack was the smell that took this machine beyond just "nicotine soaked" when you turned it on.

We've removed the high voltage board and will re-cap that in Part 3.

I'm in no position to recommend the hot air station we got, but it was just "not quite the cheapest one on Amazon". Came with some extras like a pair of side cutters and a couple pairs of tweezers, so that was helpful.

xrayspx's picture

PiST

Music: 

Peter Murphy - The Sweetest Drop

*Skip to the RetroPie customization stuff*

Like every other moderately Vintage / Retro Computing person,
not to mention my whole job being what it is, I immediately bought one of those
12" IPS 16:9 Eyoyo monitors when I started seeing them pop up on some YouTube channels. Thing works great as a bench monitor, but it's kind of a weird size for use with 1980s OSes that expect 4:3. I found that Eyoyo also makes a 4:3 12" 800x600 monitor with all the same inputs so I grabbed one. Since the Atari branded monitors for the ST were 12", and I never saw any of these machines on anything much bigger than a 13" TV back in the day, this looks pretty much exactly as I remember and the correct aspect ratio makes everything feel "bigger" in the right way.

The Pi 3 seems to be completely sufficient for emulating a stock 8Mhz 68000, it just needs enough power, swapping a 750ma power supply for 2.5A made a huge speed difference in emulation. I'm not trying to make this a "modern" experience like PiMiga or anything that requires any more horespower. For software, I started with RetroPie for their package management and the fact that they've already done the work of building all their packages to run from the command line with SDL/framebuffer, plus the ease of tweaking things like the boot splash screen, etc.

Aside from that, it's really just Hatari and Amiberry. I found a 1GB ACSI disk image for the ST which is split into thirds and had a bunch of preloaded software. I've not added anything to it yet, but apparently the hero at 8bitchip has also archived over 1500 ST games and has patched them to run from a hard disk so I won't need to sort through a bunch of disk images which is great. I already spotted Oxyd in the list.

That all makes me want to get NeoDesk running, which I gather is possible though it didn't immediately work in the 5 minutes I had to spend on it. Like I said, for this machine I'm not interested in running a "modern" take like PiMiga. But "nostalgia", well, while I'd certainly love to have original ST or Amiga hardware, I really am more nostalgic for the content and getting in front of Vroom or Nebulus for 10 minutes every 2 months, and it's awesome that it's using the same desktop I spent so much time in front of.

The little boot menu I wrote just replaces the RetroPie autostart.sh file at /opt/retropie/configs/all/ with one that shows the user a menu to select the boot OS or shutdown. Windows 3.11 is a menu option, that's kind of TBD. DosBox is installed but I haven't done the full Windows install yet but it'll be fun to play Solitaire on this thing.


Little tweaks I made to RetroPie

I used RetroPie as my base rather than regular Raspbian because of their great packaging and basic customization tools. I just installed Hatari and Amiberry from the retropie_setup installer and they worked immediately at the command line. The retropie_setup tool also lets you swap out the default boot splash screen. I was expecting to just find the location of the file and swap in an Atari Fuji logo and be done with it. But they've built the tool into their setup utility, and even let you assign an MP4 so I was able to use an animated rainbow Fuji logo so it just looks awesome.

I made one edit to /boot/cmdline.txt to suppress the bootup log output, so cmdline.txt looks like this now:

console=serial0,115200 console=tty1 root=PARTUUID=8ee2ea28-02 rootfstype=ext4 fsck.repair=yes rootwait loglevel=3 quiet consoleblank=0 plymouth.enable=0

I copied /opt/retropie/configs/all/autostart.sh out of the way and replaced it with:

#!/bin/bash

/home/pi/bin/menu

That's pointing to the boot menu screen. It's really simple but really what am I trying to do here? I did add a countdown timer so it will automatically boot to an ST desktop after 20 seconds:


#!/bin/bash
# /opt/retropie/configs/all/autostart.sh

clear
echo "POMPEY PIRATES" | sed -e :a -e "s/^.\{1,$(tput cols)\}$/ & /;ta" | tr -d '\n' | head -c $(tput cols)
echo ""
echo ""
echo "Press '1' For Atari ST"
echo "Press '2' For Amiga"
echo "Press '3' For Windows 3.11"
echo "Press '9' For Bash Shell"
echo "Press '0' For Shutdown"
echo "Press 'T' For Trainer"
echo ""
echo ""

msg="Booting Atari ST in"
tput cup 12 0
echo -n "$msg"

l=${#msg}

l=$(( l+1 ))

for i in {15..01}
do
tput cup 12 $l
echo -n "$i Seconds"

read -t 1 -n 1 system 2>/dev/null

if [ "$system" = "1" ]
then
/opt/retropie/emulators/hatari/bin/hatari --timer-d 0 && reset; /home/pi/bin/menu
elif [ "$system" = "2" ]
then
/opt/retropie/emulators/amiberry/amiberry.sh && reset; /home/pi/bin/menu
elif [ "$system" = "9" ]
then
exit 0
elif [ "$system" = "0" ]
then
sudo shutdown -h now
fi

done

/opt/retropie/emulators/hatari/bin/hatari --timer-d 0 && reset; /home/pi/bin/menu


To-Do

  • I'll probably install Windows and Mini vMac just to do it
  • Add ST High Res mode
  • May add a timer to the menu to boot to the ST after some number of seconds just to make it more immersive.
  • Add a "POMPEY PIRATES" at the top and "PRESS 'T' FOR TRAINER" at the bottom for authenticity



  • xrayspx's picture

    Caching Password passer

    Similar to the RDP Launcher, I occasionally need to grab passwords that I use all the time from KeePassXC to paste into various forms or prompts. Basically anything I use more than once per day, I have defined in this script for quick access. I don't want to be able to remember these, and I also don't want to have to interact with the password manager UI if I'm in a shell.

    xrayspx's picture

    Sharp Boombox Repair

    Music: 

    Tom Petty - Freefallin'

    xrayspx's picture

    DVD Ripping

    Music: 

    The Wipeouters - Ravin' Surf

    Another note for myself for later, and boy this is dumb.

    RDPLauncher

    TL;DR: Here's the Link:
    RDPLauncher

    I use RDP a lot and had some scripts to let me launch lots of RDP sessions without having to enter my random-generated passwords over and over. I wasn't happy with how I was handling those passwords so I've made it more secure using gpg and KeePassXC. Last night I made it compatible with Windows and MSTSC which will be uploaded here shortly once it's cleaned up a bit.

    Basically I'll click a shortcut for whatever host, which runs my launcher. I get prompted for my GPG passphrase, which reads from an encrypted file containing my KeePassXC passphrase, which is then used to retrieve the user password for launching the RDP session.

    Gpg-agent uses a cache-TTL to "hold the door open" for 10 minutes by default, so I can launch a bunch of sessions and only type my passphrase once.

    Requirements:

    - gpg client and running gpg-agent (gpg4win, etc) with a private key set up, etc.
    - cygwin if you're running Windows
    - KeePassXC (or some other key-store that has a command-line interface
    to query the database. In the beginning I was just using the gpg file
    with user/password pairs, so that works too)

    The tool has a few neat features:

    - If run from the command line with no arguments, it will prompt for user/pass/host/domain, good for one-off sessions to machines I won't log into much. That's great since I spend all my time in terminal windows and this stops me having to go back and forth to the mouse and keyboard while entering credentials.

    - If launched with -b, it prompts you for information for a one-off connection, but will also build a new shortcut launcher from a template. So like for the first connection to a machine you know you're going to use a lot. (Linux/Mac only)

    - Automatically tunnel sessions over ssh. This means I can launch RDP sessions on my Mac and they'll seamlessly proxy through my work laptop to the VPN.

    For tunneling, I am taking an arbitrary range of 200 ports and incrementing them based on what's currently listening. If there's already a process listening on port 6201, then try 6202 etc until there's an open one. So I can easily open 20-30 ssh tunneled sessions each with its own ssh process which will close down when the RDP window closes. 200 is "probably overkill", which means it might just be barely enough in the real world.

    The launcher shortcut mechanics are a bit different on my Linux and Mac machines so I split the -b script builder piece out based on OS. On Linux, I use KDE/Plasma, and so I generate these as KDE desktop files which look like this:

    #!/usr/bin/env xdg-open
    [Desktop Entry]
    Comment[en_US]=
    Comment=
    Exec=/home/xrayspx/bin/rdplauncher.sh -h it-host.xrayspx.com -d xdomainx -u xrayspx
    GenericName[en_US]=
    GenericName=host.xrayspx.com
    Icon=remmina
    MimeType=
    Name[en_US]=
    Name=host.xrayspx.com
    Path=
    StartupNotify=true
    Terminal=false
    TerminalOptions=
    Type=Application
    X-DBUS-ServiceName=host.xrayspx.com
    X-DBUS-StartupType=
    X-KDE-SubstituteUID=false
    X-KDE-Username=

    On the Mac side, I use shell scripts with the extension .rdp (which conflicts with Microsoft's client, but I don't care since I never use their client anyway). Those just launch using Terminal, so it does pop a terminal for a fraction of a second, but I really don't have a problem with that. To get the Terminal window to close (and I do associate these files with Terminal.app specifically rather than iTerm2), open Terminal.app, go to the Terminal menu -> Settings -> Profiles (tab) -> "Basic" or whatever profile is your default -> Shell (tab). Choose what action to take when the shell exits. I have it set to "Close if the shell exited cleanly" and "ask before closing" set to "only if there are processes other than the login shell..."

    The launcher for that looks like:

    #! /bin/bash
    rdplauncher.sh -h host.xrayspx.com -d xdomainx -u xrayspx &

    I generate those from the KDE .desktop files with a command like this:

    for host in $(ls | grep "\.desktop$" | awk -F ".desktop" '{print $1}'); do cmd=$(grep Exec $host.desktop | awk -F "xrayspx/bin/" '{print $2}'); echo "\!#/bin/zsh" >> $host.rdp; echo "$cmd &" >> $host.rdp; done

    That creates .rdp files in the same directory as the .desktop files, so now they can be moved around, have chmod set, etc.

    If I call it with AppleScript or Automator instead of a bash script as above, none of the password retrieval process works. I think it short circuits and sends the output back to the AppleScript rather than the bash script which ran the command. If I can get that working that would be ideal.

    The mechanics on Windows are similar to the Mac method. a .bat file which launches the bash script via Cygwin:

    C:\cygwin64\bin\mintty.exe -w hide -e /bin/bash -l -c '/home/user/bin/rdplauncher.sh -h host -u username -d domain'

    On Windows at least the Cygwin window it creates is hidden from the user, so that's nice.

    Pages

    Subscribe to RSS - Lattice of Convenience