Rainbow Rocks 10th Anniversary - Let's celebrate the 10th anniversary of Rainbow Rocks with an art event! Here
Interested in advertising on Derpibooru? Click here for information!
Furry Body Pillows - Preset and Custom Designs

Help fund the $15 daily operational cost of Derpibooru - support us financially!

Description

MinimaLP  
or  
“Cycle counting for newbs!”  
for the Atari Video Computer System

 
I realized quite a while ago that this picture would be relatively easy to replicate on the Atari VCS. I’ve been around and keeping tabs on the Atari homebrew scene for going on ten years by now, and this is what finally got me to get off my ass and learn how to program the console I love. And this is the result.
 
If you’re wondering how I’m running this on a real Atari, I have one of these.
 
Download link in the source. Included are the binary itself with associated listing and symbol files, source code, header files, and a text file explaining how the horizontal positioning works (it’s not very intuitive and I had to learn the details the hard way). The header files should only be used with the DASM assembler.
 
If you don’t have real hardware, I recommend running this in the cross-platform Stella emulator. It has great support for damn near every VCS ROM and bankswitching scheme under the sun and has a featureful debugger; that’s why I included the listing and symbol files, so you can step and trace through the code with the original, meaningful labels I used like “colorDraw” instead of “LF880”.
 
This program doesn’t do much, obviously, and besides being fun (and frustrating) to make, it’s a stepping stone for me to get familiar with how the Atari’s video chip works. Accordingly, it’s tiny: 176 bytes of code, 177 bytes of data, and lots of empty space in the 2K file.

safe2234886 artist:strangetalk1 artist:suineder1 applejack205452 big macintosh34495 fluttershy265531 pinkie pie262473 rainbow dash287073 rarity222897 twilight sparkle366769 earth pony530745 pony1665036 g42097372 atari91 atari 260094 funko712 irl85478 male573686 mane six38399 minimalist2294 photo99401 stallion205794 television3527 toy26038

Comments

Syntax quick reference: **bold** *italic* ||hide text|| `code` __underline__ ~~strike~~ ^sup^ %sub%

Detailed syntax guide

Suineder
Wallet After Summer Sale -
Not a Llama - Happy April Fools Day!
Magnificent Metadata Maniac - #1 Assistant
Artist -
The End wasn't The End - Found a new home after the great exodus of 2012

I don’t know if anyone still cares about this little bit of code, but I made a silly interactive version of it. You can use the player 1 joystick to send the left and right “columns” (Twilight and Rainbow/Fluttershy and Rarity) careening about the screen. Pressing left/right or up/down will change the velocity of the left and right columns respectively, and pushing and holding the fire button will make them actually move. Press the Reset switch to, appropriately enough, reset the system. Moving the Color/B&W switch will affect how quickly the joystick changes the velocities. In “Color” position (the default for emulators) the velocity changes once every other frame, while in “B&W” position the velocity changes on every frame for a faster acceleration (very twitchy!).
 
In another version of the program, I also had a little fun in deliberately crashing the Atari when the Select switch is pressed. That “feature” is not in the version I linked here. However, in the assembly file there are a couple bits of code and an interrupt vector that are commented out. If you uncomment the code and swap out the interrupt vector at the end of the file, and assemble the result, you’ll have a crash-on-demand version of this program. :)
Suineder
Wallet After Summer Sale -
Not a Llama - Happy April Fools Day!
Magnificent Metadata Maniac - #1 Assistant
Artist -
The End wasn't The End - Found a new home after the great exodus of 2012

Update!
 
I made a really stupid mistake in the code: I turned on vertical blank in the initialization routine and turned it off before the first frame, but then I never turned it back on inbetween frames. I guess the reason I didn’t notice is that by the end of a frame every object on the screen is already black.
 
But whatever, I fixed that and also tweaked Pinkie Pie’s mane and coat colors to give more accurate contrast. I’m also sharing the source code. So if any of you already downloaded the first version, please get the new, final one.
Suineder
Wallet After Summer Sale -
Not a Llama - Happy April Fools Day!
Magnificent Metadata Maniac - #1 Assistant
Artist -
The End wasn't The End - Found a new home after the great exodus of 2012

Also, I’m not sure who to give credit to for the original picture in the tag list. Is it Strangetalk or someone else? Any help is greatly appreciated.