9B9: Proportionally Awesome

I astound myself with my ability to invest twelve hours of labor per day in projects which I will never be paid for, whilst paying projects lay idle and whimpering amid stacks of mental detritus.

Picking-up where the meat of 9AJ left off, the screen-dump to the right is the first flickering of life from my most recent (entirely unnecessary) foray into Atari software development. I downloaded Eclipse the other night, so I could install the WUDSN IDE, which is very nice and gives syntax highlighting and easy integration to ATasm. I do have to make an effort not to be bothered by the fact that Eclipse (which, for my purposes, is really just a gussied-up text editor) reserves over 120MB of virtual memory on top of around 30MB of physical memory, and results in a lot of disk-thrashing when switching between apps, but I shouldn't complain because it beats the pants off of my previous Atari development workflow, which went like this:
  • write simplified, unlabeled assembly code in Notepad
  • using a printout of 6502 opcodes, hand-assemble the code into a list of decimal integers
  • manually input the integers into DATA statements in Atari BASIC
Yeah. I'm pretty hard-core, I know.

Anyway, as you can see, a small proportional font even on the Atari's meager 320-pixel-wide display can yield almost 80 characters per line. This is actually more than I was shooting for. I intentionally designed my character set to have an average glyph width of around five pixels with the hopes that I'd be getting ~60 characters per line, but I misjudged the abundance of spaces, Is, and punctuation in the average line of text. If I'd just copied Two Bit Gothic..., the situation would be even worse, probably something on the order of 100 characters per line. Too much.

I'm actually considering going a different route and using the Atari's "narrow playfield" mode, in which the display list processor only draws 256 pixels per line. One reason I'm considering this (less pixels? Sacrilege! I know...) is because it will skinny-up the display and get me closer to 60 characters -- but if all I cared about was the number of characters per line, I'd just redesign my font. The other reason I'm considering going the narrow playfield route is because I could do all my cursor positioning in 8-bits, and remove an awful lot of irritating 16-bit math from the code. This would also speed things up, and that's a major factor, since, as it stands, the program is pretty slow at drawing a full screen of text. Remember, I'm not using any of the machine's character-mode hardware, so it's raw CPU that's putting the text on the screen.

Anyway, it's barely a working program right now. There will likely be significant back-end changes before it's done -- and I'm probably going to find out that somebody else already wrote a really fast text editor for the Atari with proportional fonts in a couple of days, which will cause me to lose all interest in working on it and it'll never get done at all.


Another thing I mentioned in that same previous blog was a photo of Jerry Pournelle in front of a neato stack of boxes. Here's the photo, and I was right about the Televideo terminal. What it's sitting-on appears to be a CompuPro System 8/16, which was a pretty nice S-100 system, and I'd wager Mr. Pournelle was running M/PM on it, what with the two concurrent terminals, there. Some of the other stuff I still can't ID, but the CompuPro's disk drives are in the stack on the left.

No comments:

Post a Comment