
Check out Viewtronics!
The best things in life are often silly, and in this case gloriously retro. Blocktronics, a collective of the best textmode artists around the world, have released their second art pack entitled “Codename Chris Wirth” in homage to the legendary ANSI artist RaD Man. No, it’s not 1995, and yes, this kind of art is still being produced in stunning fashion.
Along with the pack, this marks the debut of a textmode viewer I’ve been working on for some time called Viewtronics. The project is a refinement of my AS3ANSI engine which powers Flashterm, and includes features such as multiple fonts, zooming, and image generation.
Read the rest of this entry »

One of the main reasons I started playing around with Alchemy a while back was to experiment with some of my favorite textmode libraries, specifically AA-Lib, which is the most commonly used image-to-ascii-art library of the bunch (has been used with Quake, VLC Player, and many other desktop programs) . It’s a frequently requested port among ascii art fans, and I’m glad to finally release it for everybody to use.
Read the rest of this entry »

After spending so much time lately experimenting with Alchemy, I thought I’d revisit my early attempt at a real-time ASCII converter (yes, I have a textmode obsession). TextFX7 (the C++ library I’m using for the conversion) has built-in Color and Block modes which I’ve been wanting to implement. Of course there were a few hurdles along the way, but I learned some valuable lessons about porting Visual C++ and Windows projects to Alchemy.
Read the rest of this entry »
I’m happy to launch my Flash telnet client, which I’m calling FlashTerm, based off the AS3ANSI library. FlashTerm is only meant to be a UI for AS3ANSI, which handles all the parsing and viewing operations for both ANSI and telnet controls and will remain open source.

The demo is a default installation of Synchronet (fantastic BBS software which is still very actively maintained) that I have running on an crappy old WinXP HP server. The socket security policy server was fairly straightforward to set up. I used a PHP script from Maxim Sprey, but there are numerous server scripts written in different languages all over the web (Adobe posted some in Perl and Python).
Please keep in mind that this is still in early beta, and I’m aware of the numerous bugs that still exist. A few Sysops have agreed to help beta test, and I hope to have a more stable client is the very near future. Thanks to everyone who has provided their feedback and encouragement.
Don’t forget to click on the Flash object to enable keyboard focus! (UI fix for that in the future)
www.flashterm.com

Adding telnet functionality was a logical and relatively simple step to take with AS3 ANSI. Connecting to various BBS's also served as a great testing environment for the viewer. Consequently, many display bugs were fixed. Most notably, I managed to nail down several bugs that involved cursor positioning.
One major change that I had to implement to the viewer was moving over entirely to Bitmap drawing routines. The Sprite drawing method was just proving to be inflexible with operations like scrolling and transformations. One drawback from the switch is being limited to the 2,880 (double in F10) pixel size restriction.
A few new parameters were added to the viewer:
Actionscript:
-
AnsiViewer( columnWidth:Number=80, lineHeight:Number=24, scroll:Boolean=true )
The height and width parameters are meant to lock a screen resolution size, like a regular terminal window. Scrolling pushes the 'screen' content higher depending on your locked height.
So where's the online demo? Well, there isn't one. Since I don't run a BBS of my own, I can't write the necessary policy files required to establish a socket connection to a port. If you run your own telnet site, this library could be useful for providing users access through a browser. To be honest, I just built it for fun, but if you're a Sysop and want your BBS running in your website drop me a line and I can help you out.
Here's how you use it:
Actionscript:
-
import net.peternitsch.ansi.telnet.TelnetSession;
-
import net.peternitsch.ansi.viewer.AnsiViewer;
-
-
var viewer:AnsiViewer = new AnsiViewer(80, 25);
-
addChild( viewer.getBitmap() );
-
-
var session:TelnetSession = new TelnetSession(viewer, "site.com", 23);
-
session.start();
The library is still beta, but feel free to comment with any requests, suggestions, or rants. I'm still planning on adding 80x50 support, JPG export, and baud speed control.
Check out the source.