@TopazRabbit@oldbytes.space
Via Topaz π
Just played through Symphony of the Night for the first time. Real solid game. Super Metroid is next, so I can see both origin points of the Metroidvania genre.
Here you’ll find regularly updated posts from the various places where The Industrious Rabbit happens – across the Fediverse, here on this blog, and in the various apps that support the project.
Just played through Symphony of the Night for the first time. Real solid game. Super Metroid is next, so I can see both origin points of the Metroidvania genre.
Full Hop to the Top: Bunny's Revenge stream replay is up: https://makertube.net/w/8NZRE6S5zR5dNq6pLc5Bu7
I play through a bunch of Hop to the Top: Bunny's Revenge and bounce between streaming providers while I get Owncast working. Now that my Twitch- and YouTube-free streaming setup is worked out, expect a full live stream of HttT:BR for realsies!
Download the game and see high scores here: https://rabbit.robsmithdev.co.uk/
OK the stream is stable and chat is working. Playing Hop to the Top: Bunny's Revenge: https://stream.hackerbun.social/# #commodore #amiga #retrogaming #indiegame
OK I'm going to try on an #owncast server I have set up. Quality will be a little lower on the stream but I'll upload the high quality version later. https://stream.hackerbun.social/
Ugh stream failing again...
I'm streaming Hop to the Top: Bunny's Revenge on @MakerTube ! Stop by and say hi! https://makertube.net/w/4HPmg44SPeiLzzAY4TFG4i #commodore #amiga #indiegame #retrogaming #rabbit
Gonna try streaming Hop to the Top: Bunny's Revenge tonight. I'll post here once the stream is up.
While working on the graphics for Hop to the Top: Bunny's Revenge, I ended up writing some custom IFF ILBM writer code in Ruby, both to work around a issue I likely caused myself, and to learn how the format works: https://theindustriousrabbit.com/blog/2023-10-30-hop-to-the-top-bunnys-revenge/
RobSmithDev released Hop to the Top: Bunny’s Revenge and posted a video about some of the production process. I did some of the graphics for the game, as well as writing the code for the intro. For the graphics, I ended up writing some custom code to automate some of the process, and it was an opportunity to learn about a popular Amiga image format.
My typical process for making art for retro systems is:
In the case of the Amiga, I’ve used ArtPRO on the Amiga in the past to convert PNG images to whatever format I needed. With all the art I was making, and potentially remaking, I needed a faster process. ArtPRO is good, but clicking buttons on retro machine software to convert images was going to be too slow.
I was also running into an issue with GIMP not preserving the index order of the color map I had created for the game. I think I had Remove Unused and Duplicate Colors from Colormap enabled which was messing up the color indexes, so be sure to disable that if you’re using a similar process.
Due to this, the resulting color map on the output images was all over the place, so I needed to fix that issue.
I had two approaches I could take:
I chose the latter since I preferred separate image banks to start, over hard-wiring in sprite sheet locations, during initial development.
I decided to write a tool in Ruby that converts indexed color PNG images directly to IFF Interleaved Bitmap (ILBM) files, enforcing the order of the palette. It uses RMagick to load the image, and then implements IFF ILBM writer code to create the Amiga-ready files. It even supports run length encoding compression.
Here’s the source code. It drew heavily from the IFF ILBM reference found here, as well as from a lot of examining IFF ILBM files in hex editors. It only supports images up to 32 colors, so no Extra Half Brite or HAM images. If you end up using it, let me know!
I did artwork and wrote the intro code for a soon-to-be-released Amiga game by RobSmithDev! It features a lot of rabbits. π Check out the trailer: https://www.youtube.com/watch?v=T_tV8fjHkLc
I've had some real busy times these past few months -- lots of life stuff happening, some good things, some not so good things. One reason I like to draw, even during those busy times, is that it gives me some moments away from all that life stuff. Where it becomes just me and the piece, even if it's just for a half hour. I finally finished up two Night in the Woods pieces I started during this time, where I wanted to try different approaches from how I normally draw. Hope you like them. Marked sensitive for some slight spoilers to the game.
Now that these are done, I'll be starting on the next Industrious Rabbit video, which will be a nice code heavy one to balance out the Paintbox video, which was more of a history video.
Hope your day is going well!
After @SharkaBytes 's Amy the Squirrel post yesterday, and after having received an Amiga 600 case and keyboard for use with a Keyrah and RPi 4 yesterday as well (a project for next year!), I decided to make a fanart built for 1990s me. #Amiga #FanArt #Furry #FurryArt #Krita #AmyTheSquirrel #retrocomputing
I made some new art for my personal site. This sits on the side of the index page. I still have to do some work on the site itself, but the site is way more lofi and early Web than it used to be, and having my cartoon art back on the site makes me happy. #mastoart #krita
Since Antoine came up in my last #SonicTheHedgehog SatAM fanart post, here's an Antoine. I'm using these as an opportunity to work on increasing my drawing speed, and it's very slowly working. #FanArt #FurryArt #Coyote #Krita
I started watching SatAM Sonic the Hedgehog because I never saw the whole series through so here's a #BunnieRabbot. #SonicTheHedgehog #FanArt #Rabbit #Robot #FurryArt #Krita
All registered for MAGFest!
The new #blender open movie is really great and gave me a list a mile long of things to learn in the software after watching it.
I now know a lot about the IFF ILBM format. #amiga #retroprogramming
The full Quantel Paintbox art stream recorded this Sunday is now live! If you wanted to see a Paintbox being used live for illustration work, here's a good opportunity.
https://makertube.net/w/8zGMDzTpczkwuuEHdzCUE7
#quantel #paintbox #retrocomputing #art #artstream #livestream
I draw your requests on a Quantel Paintbox, specifically a Harriet from the early 90s. Due to streaming issues, I wasn't able to broadcast this live, but I did record the whole stream locally. I made it through three pieces: a rat holding a Quantel RAT (a mouse-like input device), a request from @imrustyok@meow.social for a TV show ad card recreation, and a request from @tyrel@social.tyrel.dev to draw his cat. I thought I was drawing his cat Henry, but it was actually Victor. Oops.
Learn more about the Quantel Paintbox:
Stream music by Nihilore: https://nihilore.com
I uploaded the full Quantel Paintbox live stream, edited a bit to trim out some stream issues and to correct some audio issues. This was my first time not only recording a Paintbox, but also recording away from home, so there were plenty of issues to work around!
Below are the three pieces I produced during the stream. They came out as Targa files from the Paintbox that I converted to JPEG.
Thanks again to Adrian Wilson for providing me access to the Paintbox and giving me lots on instruction on how to use it. Hopefully I’ll get a chance to paint on it again!
Stream music by Nihilore.
A cartoon rat holding a Quantel RAT, an input device for the Paintbox.
A parody of a TV ad card for a show called Mission Bunpossible. This was a request by Rusty Ralston.
A drawing of Tyrel's cat Victor. I thought it was Henry. Oops! Sorry, Victor.
Finally a request from @tyrel to draw his cat Henry. See, I can draw stuff besides cartoons! #cat #MastoArt #quantel #paintbox #blep
Continued stream go here: https://makertube.net/w/7dyJqokqtdXYJFsURs6tgn
I've taken your requests, as well as a few of my own ideas, and will draw them on a Quantel Paintbox, a Harriet model from the early 90s. Watch and see how digital graphics were made on bespoke art computers long before Photoshop took over the digital art world.
I'm taking YOUR REQUESTS for what to draw on a Quantel Paintbox this Sunday, September 3rd at 1pm Eastern! Read the blog post to find out more and to make a request: https://theindustriousrabbit.com/blog/2023-08-31-drawing-your-requests-on-a-quantel-paintbox/
I’ve been given access to a V-Series Quantel Paintbox and I want to draw your requests on it! I’ll be on the machine for a few hours, streaming the art production on my PeerTube channel and talking with the Paintbox’s owner, Adrian Wilson, while I draw. Send in your characters, ref sheets, and requests, and I’ll do my best to honor those on this dedicated art machine from the 90s! Don’t make me just draw Topaz and the Amiga custom chip characters over and over, because I will if you don’t send anything in.
Don’t know what a Paintbox is? Watch my latest video to learn more!
If you want to submit a drawing request, use the email instructions on the About page to send me your request. Attach or link to any reference images I might need. You must email me your request! Requests made on Mastodon will cause me to point you at these instructions instead.
The popular shorthand for digital photo editing is based on the name of software developed in the 90s. However, that activity was already being done by users of a bespoke art computer developed by a British company in the early 80s, and the public could see the output of this machine everywhere. So why is digital photo manipulation not called "being Paintboxed"?
Thanks to DextersTechLab for actual Paintbox footage and technical assistance, Adrian Wilson for lots of feedback and resources!
Chapters
00:00 - Introduction
00:36 - Digital Video History
01:23 - The Quantel Paintbox
02:33 - Music Videos
02:57 - Paintbox Machines
03:23 - Why is it not called being Paintboxed?
References
Quantel Paintbox Resources:
Credits
Music:
The popular shorthand for digital photo editing is based on the name of software developed in the 90s. However, that activity was already being done by users of a bespoke art computer developed by a British company in the early 80s, and the public could see the output of this machine everywhere. So why is digital photo manipulation not called “being Paintboxed”?
Thanks to DextersTechLab for actual Paintbox footage and technical assistance, Adrian Wilson for lots of feedback and resources!
I will no longer be publishing videos on YouTube, and will instead focus on publishing videos using PeerTube, the federated, community-driven video sharing platform. If you’ve never used PeerTube, it’s a lot like YouTube, except it respects you, your attention, and your data much more than Google does. This move fits in with trying to get ahead of what I’ve been experiencing on the Internet in the past few months:
I’ve changed all of the video embeds over to MakerTube, the current host for my videos. The Industrious Rabbit has a channel, just like it would on YouTube. I may start other channels for other projects. Whatever is currently on YouTube is all that will be there from now on, and those are not guaranteed to stick around, either.
One downside is that PeerTube does not have account export/import/migration yet, so if my current host goes down, reuploading everything becomes a very long, manual process, and I can’t bring along users. If you like what you see here, follow me on Mastodon just in case the worst case scanerio happens. Of course, YouTube is even worse since it has no official export or migration tools, and makes it very tough to get in touch with all channel subscribers directly! I’ll likely make one final post over there to let interested subscribers know where I’m going.
Check out the other videos MakerTube users have uploaded, and if you like what you see, be sure to donate to your instance admins.
See you on PeerTube!
My 2021 annual playthrough of the Night in the Woods supplemental games, "Longest Night" and "Lost Constellation".
Join me for my yearly play through of the Night in the Woods supplemental games, "Longest Night" and "Lost Constellation". Jump to 08:46 to skip past all my stream setup stuff.
I did it. I finished the animation. Working with this software is more challenging than I expected. It also didn't help that my tablet was having issues with Weylus after a while. I also learn just what Frisket does, and why it's important to Free the Frisket!
Skip to 2:23:54 if you want to see the finished animation playing!
I'll be taking a break from streaming while I focus on the next video, then I'll pick back up with either DeluxePaint V or True Brilliance as my next Amiga art tool to explore.
Stream music by Nihilore (CC-BY 4.0) - https://nihilore.com
Bamboo figures out how to get code he wrote 23 years ago on the Amiga to work for someone today, and it involves a lot of work with libraries.
Thanks to Piotr Kuchno for contacting me and working through debugging the code, and for the videos of the code in use on real Amiga computers! Thanks also to @ijimkoz on Twitter for valuable feedback!
Note: The project name and URL have changed! Go to theindustriousrabbit.com to learn more!
Resources
Intro:
http://aminet.net/package/dev/amos/BSDSocket - The code I wrote 23 years ago
https://en.wikipedia.org/wiki/AMOS_(programming_language) - AMOS BASIC
https://docs.freebsd.org/en/books/developers-handbook/sockets/ - BSD sockets in general
https://www.youtube.com/watch?v=EVr1AHJaGCk - The Copper Demo video, also written in AMOS, that exercises a bunch of Agnus's features
AMOS Extensions:
Amiga libraries:
Why was my server code not working?
Want to try out gaming on the classic Commodore Amiga computer? Topaz walks you through the basics of this retro computer's hardware, and the things you'll need to look for to get your own setup working.
I currently use these emulators:
If you're on Windows, you can run the venerable WinUAE (https://www.winuae.net/).
You can get Kickstart ROMs from Cloanto and their Amiga Forever pack (get at least the Plus Edition for the more modern Kickstarts) and/or from Hyperion if you want AmigaOS 3.2, a modern AmigaOS for applications.
I leave ADF and WHDLoad archive hunting to the viewer!
Thanks to Meredith, Tyrel, Dave!
Read more at https://theindustriousrabbit.com and subscribe to the channel and RSS feed for future updates!
Credits
I take Digital Creations True Brilliance 2.0 for a spin on my emulated Amiga 1200. I've never used this software before, and I discover it's actually not bad for painting, especially when using my Weylus and Galaxy Tab powered input setup.
Stream music by Nihilore (CC-BY 4.0) - https://nihilore.com
Having trouble getting MiSTerFS to work on the AO486 core? Topaz Rabbit walks you through a workaround you can do on the Linux side of the MiSTer, then describes how that workaround works.
Thanks to Tyrel (@tyrel@social.tyrel.dev), Jim (@ijimkoz@mastodon.social)!
References
Credits
Topaz Rabbit walks us through writing a pizza timer app in C on the Commodore Amiga. Follow along and learn about Intuition, GadTools, devices, message ports, IO, and even signals!
Thanks to Tyrel (@tyrel@social.tyrel.dev)!
Chapters
00:15 - Introduction
00:40 - Intuition
01:17 - Opening a Window
01:50 - GadTools
03:31 - setup and teardown
03:53 - Fonts
04:29 - Timer Logic
05:24 - Amiga code documentation
05:53 - Message Ports
06:34 - Intuition Direct Communication Message Port (IDCMP)
09:06 - Time & timer.device
10:01 - Synchronous & Asynchronous IO
11:40 - Alerting the user with DataTypes audio playback
12:43 - Signals
13:27 - Intuition menus
14:19 - The About window
14:45 - App testing with CodeWatcher and avail
15:25 - Conclusion
References
Amiga documentation and tools:
C tutorials:
Source code:
Credits
Music:
Sound Effects:
Topaz Rabbit walks through building a simple bsdsocket.library based server for the Commodore Amiga using the C programming language. You'll learn about development environment setup, waiting for socket connections & other signals, and reading and printing client data to the console.
Chapters
00:00 - Introduction
00:08 - Network socket basics on the Amiga
01:06 - Development environment setup
01:54 - Starting work on our server
02:20 - setup()/teardown()
02:53 - Control-C handling in SAS/C
03:24 - bind a socket to a port and interface and listen, and processor/networking endian-ness conversion
04:00 - Waiting for socket activity or Control-C using WaitSelect()
05:25 - Reading data from the client
05:56 - Amiga function names can be different from normal socket library function names
06:11 - setsockopt, TIME_WAIT, and SO_REUSEADDR
06:52 - Conclusion
References
Code:
Documentation:
Setup:
Credits
Music:
Introducing the BSD Socket Extension for AMOS Professional, the newest and easiest way to get your AMOS BASIC programs onto the Internet. Available now on Aminet and on the Hackerbun code repository.
This code finalizes the 25 year old project I started in 1998 to write a networking library for AMOS Professional. If you want to watch from the beginning, check out this playlist: https://www.youtube.com/watch?v=l4GNHJfYOUU&list=PLX_wfJQZe5SVK1D17NJpbmjyXI6dByOKl&pp=gAQB
Thanks to Piotr & Tyrel (@tyrel@social.tyrel.dev)!
References
Download:
API & Examples:
Extension Users:
Credits
Music:
Sound effects:
During the Bromo Art Walk in Baltimore on May 18, 2023, I drew the character for the custom chip Denise on an emulated Amiga 1200 in the 24-bit Amiga painting software True Brilliance, which was released in 1993. My display was mirrored onto a monitor so others could see the art production. There was a lot of stopping and showing the 30 year old copyright date on the About window for True Brilliance that I cut out of the video. Next time, I'll use the Stencil feature more so I'm not overwriting my ink lines so much.
Music
Topaz walks through what it takes to write a network client in M68K assembler on the Commodore Amiga, using development tools that run right on the Amiga itself!
Thanks to Tyrel (@tyrel@social.tyrel.dev) & Colin!
Chapters
00:00 - Introduction
01:02 - AsmPro Setup & Usage
02:11 - Web-based m68k Assembler
02:50 - Just enough assembler
05:58 - Amiga Library Vector Offsets (LVOs)
07:29 - Working with AsmPro
08:58 - Tour of the client code
16:18 - Conclusion
References
Code:
Tools:
68000 Assembler:
BSD Socket Library:
Credits
Music:
Rasterbars are a common special effect on early computer games and demos. The Commodore Amiga's take on rasterbars are special due to the Copper, a special processor that synchronizes its activity to your monitor's image rendering hardware.
Thanks to Tyrel (@tyrel@social.tyrel.dev)!
References
Documentation:
Examples:
Credits
I see how much cleanup I can do in an hour of work on my Topaz animation in "Disney Presents: The Animation Studio" on my emulated Amiga 1200. Spoiler alert: it's not a lot. I really miss my modern animation toolset.
Stream music by Nihilore (CC-BY 4.0) -- https://nihilore.com
I start cleaning up and coloring my small animation of Topaz using the Ink & Paint part of DPTAS and discover that you can hide the menu bar, and the toolbox, but not both consistently with the F10 key. I really need a real manual for this program, if anyone has a scan of one somewhere.
Stream music by Nihilore (CC-BY 4.0) - https://nihilore.com/
Part 2 of working through this short animation of Topaz. I do a lot more cleanup and learn how the Exposure Sheet, the precursor of modern animation software timelines, works in DPTAS.
john/bintz-integration_testing_setup
to github-migration/bintz-integration_testing_setup
john/harmoniouscode
to github-migration/harmoniouscode
Rasterbars are a common special effect on early computer games and demos. The Commodore Amiga’s take on rasterbars are special due to the Copper, a special processor that synchronizes its activity to your monitor’s image rendering hardware.
Thanks to Tyrel (@tyrel@social.tyrel.dev)!
During the Bromo Art Walk in Baltimore on May 18, 2023, I drew the character for the custom chip Denise on an emulated Amiga 1200 in the 24-bit Amiga painting software True Brilliance, which was released in 1993. My display was mirrored onto a monitor so others could see the art production. There was a lot of stopping and showing the 30 year old copyright date on the About window for True Brilliance that I cut out of the video. Next time, I’ll use the Stencil feature more so I’m not overwriting my ink lines so much.
This is probably the biggest binary counter I've ever seen. It's also the only one I've ever seen. #vcfeast
What do programmers think about themselves? About their employers? About changing jobs? I didn't read the pamphlet, so I'll just never know. #vcfeast
I just finished posting all my photos from VCF East 2023. Go check them out on my Pixelfed!
I went to #VCFEast last weekend, played with a lot of older computers, and took a ton of photos. I'll be posting photos of some of the fun stuff I saw here over the coming days.
Current solution:
This should be fixed.
Introducing the BSD Socket Extension for AMOS Professional, the newest and easiest way to get your AMOS BASIC programs onto the Internet. Available now on Aminet and on the Hackerbun code repository.
This code finalizes the 25 year old project I started in 1998 to write a networking library for AMOS Professional. If you want to watch from the beginning, check out this playlist: https://www.youtube.com/watch?v=l4GNHJfYOUU&list=PLX_wfJQZe5SVK1D17NJpbmjyXI6dByOKl&pp=gAQB
Thanks to Piotr, Tyrel (@tyrel@social.tyrel.dev)!
Larger programs hit against this 32KB limit and exhibit behavior such as:
Topaz walks through what it takes to write a network client in M68K assembler on the Commodore Amiga, using development tools that run right on the Amiga itself!
Thanks to Tyrel (@tyrel@social.tyrel.dev), Colin!
I took a break from some Amiga assembler programming to draw this piece. I had seen a picture from an advertisement of a knight attacking an Amiga 500, so I redrew it featuring Topaz, and gave Topaz a good reason to want to attack the Amiga. Enjoy!
Topaz Rabbit walks through building a simple bsdsocket.library based server for the Commodore Amiga using the C programming language. You’ll learn about development environment setup, waiting for socket connections & other signals, and reading and printing client data to the console.
I forgot to write down the name of this game, so if you know it, please post it in the comments! You controlled a green dot on the LED strip, and you moved it with a spring down the dragon's interior, the goal being to get the dot to the end of the dragon's tail. If you made the spring wiggle quickly, it did a yellow attack that could take out enemy red dots. There were orange dots that toggled on and off too. Each run was randomized so it was a new challenge every time. #magfest #indiegaming
I've never played a theremin, so I didn't do too well at the shoot'em up Psychic Space Wars, where you raise and lower your left hand to control the ship's position, and raise and lower your right hand to control aiming the ship's autofiring guns. #magfest #indiegaming
Icarus Proudbottom's Typing Party was like Warioware but with keyboards. #magfest #indiegaming
The Elvira House of Horrors machine played little movie clips during the game, if you were good enough to unlock them. #magfest
Join me for my yearly play through of the Night in the Woods supplemental games, “Longest Night” and “Lost Constellation”. Jump to 08:46 to skip past all my stream setup stuff.
Having trouble getting MiSTerFS to work on the AO486 core? Topaz Rabbit walks you through a workaround you can do on the Linux side of the MiSTer, then describes how that workaround works.
Thanks to Tyrel (@tyrel@social.tyrel.dev), Jim (@ijimkoz@mastodon.social)!
Topaz Rabbit walks us through writing a pizza timer app in C on the Commodore Amiga. Follow along and learn about Intuition, GadTools, devices, message ports, IO, and even signals!
Thanks to Tyrel (@tyrel@social.tyrel.dev)!
I had two pieces in the Amiga Art Contest 2022, one of which I drew in Disney Presents: The Animation Studio, and the other I did in True Brilliance 2.0. There was a lot of amazing art and animation in the show this year, and you should check out all the entries.
Now that I know what I’m doing on the platform, I’ll be ready to make an even more impressive showing in 2023!
I wanted to store my completed AjSTer AIO MiSTer computer vertically when not in use. Inspired by some stands for other all-in-one computers, I designed this particular stand which seems to work pretty well.
You can get the STL from Thingiverse. Enjoy!
Well not only did I have to take a Blender-shaped knife to the top of the case, I also have to take one to the side of the case as well.
I can’t get power over to the USB hub via the DE-10 Nano without some creative solution. I’ve seen one build where someone soldered a power cable coming off of the DE-10 to power the USB hub, but I’m not that confident in my soldering skills right now to try that.
So I’m going to cut a hole in the case for the DE-10 power plug, then run a cable out the side and back into the case for the hub. I also need to print a different USB hub-side of the case, ‘cause I printed the one for two exposed USB ports and I only have one over there. Oops.
At least I have all the electronics components I need to build this thing. And once it’s all built and working, I’ll put up my modified files on Thingiverse and here for others to use.
Most of the parts to assemble my AjSTer arrived, so I started on construction. I decided to tackle the hardest part first, the soldering. Also, depending on how the soldering came out, I’d likely need to reprint some parts.
I got the primary parts list from BuildingTents’ build, but I ordered a different Micro USB header which seemed simpler to use suggested on Reddit.
The MiSTer digital I/O board has two connectors for external buttons and LEDs. I found a great diagram showing how to wire up the LEDs, and my breadboard setup and subsequent soldering job worked out great.
The buttons were a little more difficult and required some experimentation. The first pin on the Digital I/O board for the buttons seems to be on the other side of the connector as the LEDs, so I had to wire the buttons “backwards”. Once I figured this out, breadboard testing, and subsequent soldering, went smoothly.
Since the PCB I got wasn’t the same one as the original creator used, the top right part of the case needed to be reworked. I grabbed my calipers and some paper and took as many measurements as seemed to make sense to ensure:
My go-to way of building most 3d models nowadays is using the Boolean modifier in Blender. Rather than directly modifying vertices, I’ll drag cubes and cylinders and whatever overtop of an object and use the modifiers to make non-destructive cuts. This was how I built the floppy disk model for the Amiga Architecture 101 video, and it’s how I modified the AjSTer case model.
As I’m writing this, the new case part and buttons are printing away, and I have one cable I forgot to order, a USB to headers connector for the USB hub, arriving tomorrow. If my schedule holds up, I can have this new case assembled sometime this weekend!
Want to try out gaming on the classic Commodore Amiga computer? Topaz walks you through the basics of this retro computer’s hardware, and the things you’ll need to look for to get your own setup working.
I currently use these emulators:
If you’re on Windows, you can run the venerable WinUAE (https://www.winuae.net/).
You can get Kickstart ROMs from Cloanto and their Amiga Forever pack (get at least the Plus Edition for the more modern Kickstarts) and/or from Hyperion if you want AmigaOS 3.2, a modern AmigaOS for applications.
I leave ADF and WHDLoad archive hunting to the viewer!
Thanks to Meredith, Tyrel, Dave!