atomicthumbs

remote sensing practicioner

gregarious canid. avatar by ISANANIKA.


Website League address
@wolf@forest.stream
send me an email
atomicthumbs@wolf.observer
twitter but hopefully i only post photos there in the future
twitter.com/atomicthumbs
newsletter!! this one will let me tell you where i go
buttondown.com/atomicthumbs
newsletter rss same thing
buttondown.com/atomicthumbs/rss
Website League (centralized federation social media project)
websiteleague.org/
Push Processing (Website League photography instance)
pushprocess.ing/
88x31 button embed code
<a href="https://wolf.observer/88x31"><img src="https://wolf.observer/images/wolf-88x31.png" style="display: block; margin-left: auto; margin-right: auto;"></a>
forest.stream (general admission website league instance)
forest.stream/
bluesky (probably just for photos)
bsky.app/profile/wolf.observer
this will be a cohost museum someday
cohost.rip/

cathoderaydude
@cathoderaydude

remember my post about bowling computers? I learned some shit

a friend advised me that he used to work on a brunswick system, mid 90s era, and sent me the service manual for it. now, this isn't the era i was really interested in (late 80s, early 90s) but it's still some fun data. it used a set of "Lane Servers," beige 486 towers running windows and some very Visual Basic-ass software; each server could support eight lanes.

ever wonder how pins are detected so the system can score automatically? well, that's a whole rabbithole that I might talk about later, since there's actually been a ton of approaches over the years. it's actually a really tough problem! most places you can mount a sensor system where it won't get destroyed by wayward balls/pins will be unable to see the entire field because some pins will be shadowed by others, but this particular system was able to make it work by very carefully positioning a camera mounted to the lane bumper.

the image above really tells the whole story - that crosshair icon comes with visual studio. they're just slurping up frames from the camera and looking at a single pixel to detect the pins. you have to manually type in the brightness level it should look for. no ML horseshit. this probably works flawlessly except when it doesn't

now, how do they get the camera feeds?

16-bit ISA card with a bunch of FPGAs, various components, and input jacks for video signals

multichannel capture card. this ran on a 486, and the card is ISA, so my guess is that the FPGAs are there to decode the signal and compress it so four (or as many as eight; not sure why this isn't fully populated) channels of video can fit across the bus. nothing more to it - the "machine vision" is clearly being done in software since they're only looking at a single pixel

how about all the I/O? there has to be gobs of it - surely each lane has like 60 little 22ga wires in a bundle (if you're lucky) that run to the back, where do those all terminate?

another 16-bit ISA card, densely packed with unidentifiable chips and a couple ribbon cable headers a rear panel for the lane server with a couple dozen D-sub connectors with various labels like "Overhead" and "Pin Camera Lanes"

huge fuckoff multiport serial card, natch. the keyboards, pinsetters, lane sensors, cameras and overhead displays all plug in on this back panel. presumably the first two categories are all serial interfaces that terminate onto this custom I/O card. the camera inputs are just plain composite, natch. the overhead monitors are interesting.

one of my big open questions is: when did they start having the overhead display play Agony Of Defeat clips when you roll a gutterball, and how does that work? my guess is that it started in about 1995, just early enough that it wasn't really economical to do it in any reasonable way, so they probably had a bank of laserdisc players that were switched into the monitor feed with some complicated elevator algorithm nonsense where you had to wait like 4 seconds for your stupid video to play if someone elses lane was busy humiliating them

well, this does nothing like that, and maybe nothing like that ever happened. maybe this is how it was done from the get go

another 16-bit ISA card with eight identical arrangements of FPGA, RAM chip, what is presumably a DAC, and a big "video output" header at the top

this is obvs the most interesting component of the whole thing. speculating on how it works

there are eight lanes worth of circuitry, each with an FPGA, a RAM chip, and what I assume is a DAC. my guess is that this is very straightforward: when a lane needs to play a video, the software pushes it to the card over the bus, storing it in the RAM for that lane, and once it's loaded, the FPGA decodes it and the DAC turns it into analog video

The rest of the time, the overhead monitor is displaying the score. This part is interesting to me. Since the output from this DAC is wired to the port on the back of the machine, then this has to be where the scoreboard picture comes from. But do they generate that in software and send it to the card as a bitmap, or do they send bytes to the FPGA and it assembles the bitmap itself? Maybe it doesn't assemble the bitmap, and just races the beam. I think this is the most interesting part of the whole machine and I will never know how it works.

this was phenomenally expensive in the 486 era but i can't think of a better way to do it, and for a system that probably cost, idk, $150,000 at least? it seems reasonable.

so yeah that's it. as far as i can tell, it really is no more complex than that. it's a normal PC with two cards that are pretty much just high-density versions of shit you could buy off the shelf, and then one special video player. the TVs were off the shelf monitors that brunswick rebadged, per the manual. the software is the most bland, visual basic ass shit, there are only a couple pictures but it looks like 14 year old me designed it. it really is as MVP as it could possibly be.

i would still be very interested to see how the pre-windows-95-era stuff worked. i think that's probably a lot more intriguing, but probably 100% of it is in the garbage


You must log in to comment.

in reply to @cathoderaydude's post:

I bet that camera card doesn't even send the frames, it just has some registers on the gate arrays for x, y, brightness, and then presents a register the CPU can poll/get interrupted on with the pin states. In the controlled environment of a bowling alley it's probably Fine with single pixel values and way easier to tune-- no phd in statistics, just mess with the sliders for a few 100 games until they're dialed in.

The Unix computers thread covered most of it, but looking at this manual really drives home the point that this stuff is both really cool and completely worthless. Yeah, this was 150k in computers and electromechanics in 1995 but if you had it now, what are you gonna do, set up a lane with it? I don't think even the most dedicated bowling people do that in their house, and if you want to run an alley a modern system is probably still better fit for purpose even if it Contains Bullshit. Hell, it's probably just 25 years of refinement by exactly the same people who were building this shit 25 years ago. And it's commercial gear that is directly used to Make Money so there's some hope every last component hasn't been cut to within a nanometer of failure.

Doesn't mean I don't kinda want one though because like, just think of all the things you could plan to do with it while it sits in storage.

that's a possibility but then they'd have to add extra functionality for the VB app to obtain the frames and i suspect they just. didn't bother

and yeah like that's the whole joke of this. i can buy a bowling alley setup, i got pointed to some facebook group with complete systems, but i don't want one and neither does anyone else. i just want to LOOK at one but there's no way i could get a hold of the owner of a really outdated alley to tour the back room, nor would they not call the cops if i asked

I helped a bowling alley to replace their brunswick computers in like 2015. We built basically the exact same system with commodity hardware (raspberry pis and cheap webcams) and some python scripts. Pretty cool.

Cool that some of my hardware designs are still remembered. This was more or less state of the art in 1995. You timed the year very accurately. The design actually started earlier, but the first products were launched in 1995.

You are a bit off regarding the camera board. It can handle more cameras but is not fully populated because in 99% of the cases only 4 cameras are needed. It saves a little money and makes it easier to use the correct connectors. If you got split pairs, you can add 2 more connectors without adding any other components.
An entire frame from the selected camera is stored to the local RAM and the scoring software reads the entire picture or part of the picture as needed. This minimizes the transfers and makes it very fast and efficient.
The scoring software analyze a small area around the center of the crosshair and calculates a weighted average. It is later compared with the "Level" that is set from the user interface. Some other tricks are used to catch pins that are a little off-spot, detect late falling pins etc.

Most of the software is written in Visual C++, not Visual Basic. It is not easy to guess from just watching the user interface. I was not really involved in software development, but I strongly object to the "14-year-old me" description of how it looks. It was simply the most modern design at the time, but I agree that it looks old now, almost 30 years later. It is probably still the scoring software that required the least number of clicks and keystrokes to do the everyday tasks like making and starting bookings.

The Video board stores the entire displayed bitmap in the RAM. The bitmap is generated in the computer, then sent to the card. It is also possible to address the RAM byte by byte so when playing an animation, only the changes are transferred. The card can't do any picture manipulation by itself. You are right that the top IC is a DAC that converts the digital information to an analog RGB signal. Actually according the CGA standard that is very similar to the VGA standard. It is made to work directly with a European SCART connector. This made it possible for bowling centers to buy cheap TVs instead of proprietary monitors.

The hardware and software platforms were purchased by Brunswick in 1999 or maybe 2000 and sold under the name Classic. The hardware platform was replaced with a newer design in 2002. It was based on a single PCI-board that included all functions of the 4 boards, plus some more features. The software was renamed to Vector and development continued until it was replaced by Sync.