WordStar – My Choice in WordProcessors

UPDATE:  GO HERE


Update here, and here


I was introduced to WordStar many, many moons ago.  I built myself a Ferguson BigBoard CP/M based computer (the system came with a board and parts.  I had to buy my own soldering iron), bought a Hazeltine 1400 Hazeltine Modular One terminal and two 8 inch floppy disk drives.  The terminal is so old, I can’t even find an image of it on the Internet.  That computer eventually fried… don’t ask.

Gerald Brandt - Big Board

The one thing I truly got from that system, was a deep love for WordStar from MicroPro.  I took to the command sequences like a fish to water.  Even after the BigBoard died, I stuck with WordStar and it’s command sequences.  Turbo Pascal used the WordStar keys, one of the text editors I use today has a WordStar mode (joe).

I’ve even remapped my Caps Lock key to be a Ctrl key to make keyboard navigation easier. That being said, I do seem to have gotten into the habit of using the cursor keys for navigation.  Hmmm.

Gerald Brandt - WordStar

I missed my WordStar.  Oh, I always had a DOS or CP/M Emulator available that would run WordStar, but then I couldn’t print quite right.  The files couldn’t be read by other apps for printing.  It was generally a pain.

So, I decided to double my pain… I wrote a WordStar ‘clone’.  It’s got most of the command sequences in it, it’s missing most of the dot commands, and has only rudimentary formatting support.  Still, it’s getting there.  I can pretty much read and write WordStar 4 and under files.  Wordstar 5 and up is coming.

Gerald Brandt - WordTsar (WordStar)

My next steps from here (once I get out of novel revision mode) is to

  1. complete printing
  2. complete the command keys
  3. complete the dot commands.
  4. add RTF read/write abilities (write for sure).
  5. read and write all WordStar files

Then I’ll look into adding macros.  I’ve never used WordStar macros, so it’s a new one on me.

WordTsar (yeah, bad name) isn’t a WYSIWYG wordprocessor, but it does try make things look close.  For example, the screen width is the printer width (hard coded to 8.5 x 11 for now).  The screen shot above uses Times New Roman as it’s font, so variable width fonts are displayed correctly.  Bold, italics, etc are displayed as is as well.  The main code base can deal with font changes and display the correct font, but a user can’t change the font yet.  These font styles do not yet follow the WordStar font table.  I’m not sure if they will.  I’ve added a full screen mode, since I hate distractions when I write.  The program is UTF-8 throughout, except reading and writing of WordStar files, that’s still 8 bit ASCII.

It’s currently at version 0.0.1 Alpha, but it’s pretty stable and usable.  It has one crashing bug that I’m working on (weird delete problem).

I use wxWidgets to code it, so it’s cross platform: Windows, Linux, and OSX.  I currently only have the Linux version running, but next month, we’ll see.

Ahh, what I do to keep my programming skills up while I write!  Fun fun fun.

20 comments

  1. Wasn’t it said once that “Reinventing the wheel is a sure sign of a sick mind?”

    Nice effort for a version 0.0.1 alpha

    I say GPL3 the sucker, host all the code on one of the great free Mercurial (Hg) hosting services and let the community take it to the next level.

    I always thought the Name “WordTsar” was an awsome and fun name.. very memorable. I think the reference to historical Russian Communism is excellent for a non GUI word processor such as archaic as WordStar!

    Then again.. all the coding effort for crazy command-sequences.. you may has well Learn Vim with all the plug-ins available.. Ha Ha!

    Heston

  2. In Linux, no WordStar clone that I know of has the full set of WS block commands, especially the ability to define a block, go fiddle around elsewhere, then either copy or move the block to the current location.

    An ideal WS clone would, for my 2 cents, include the ability to fully customize the keyboard. The choice of ^Q to introduce important commands was just crazy, especially when ^M was available. Whose pinkie finger is that nimble.

    In my dreams I also see a WS clone having macros, or at the very least a “delete previous word” command. (In MS Word and OpenOffice, I assign this to ^L.) I think I would learn Vi/Vim if someone could assure me that I could use those fine WS block commands.

    I grew up with WordStar 2.4 on a Morrow Micro Decision I with a single 8 1/2″ floppy drive. I absolutely loved it. I practically memorized the manual.

    Too bad MicroPro shot themselves in the foot in the tradition-honored software company fashion: by growing too important to serve their users. It’s a mistake the original WordPerfect Corp. never made. They were Mormons and very attuned to customer service – you could suggest a fix/feature and it would be in the next $15 release. You could pretty much also clone the WS commands in WP, except for those darned block commands.

    I always say, an ISV could make a fortune building a really sophisticated word processing app. Word processing died in every meaningful sense with WordStar. With each new generation (WordPerfect => Word), we lost word-churning power. Few people remember how wonderful it was to be able to do everything from the keyboard. Control equals creativity and power. Articles like yours bring back fond memories.

  3. Ah, the smell of your big board going *poof* I remember it like it was yesterday. (I’m pretty sure I was in the room with the poor thing when it gave it’s all for you 🙂
    Didn’t you have those slimline Ratshack 8″ floppies? I remember some of those running around during that time.
    You had zero luck with computers back then if I recall.

    I’m also a Joe fan, I port it to any system I’m asked to work on. (that and bash)
    As for a pic of the 1400, best I could find on short notice is an ad for one from ’79 with a bad pic.
    http://books.google.com/books?id=DT0EAAAAMBAJ&pg=PA9&lpg=PA9&dq=%22Hazeltine+1400%22+terminal&source=bl&ots=MafvhBq02N&sig=-pVBbn90LD5IoJKTcR8ke8e7ZmQ&hl=en&ei=Jrf_S_64O4vANuez1Ds&sa=X&oi=book_result&ct=result&resnum=5&ved=0CBwQ6AEwBA

  4. Hi Greg,

    Yeah, I had bad luck then. I did have 2 of the slimline 8″ drives — double side if I recall.

    You were definitely there when the Big Board died, it was as your mom’s house.

    Thanks for the link to the image. Now I’m thinking my memory is fuzzy, ’cause thats not the Hazeltine I had. Mine was a monster, and has a separate keyboard. I’ll have to look through more Hazeltine terminal images.

  5. I loved WordPerfect 4.2. “Reveal codes” was true heaven. I could do pretty much anything with that program. Best was the paper overlay you could put around the function keys to twig you on all the permutations of them plus Control, Alt, and Shift.

    But if we’re talking nostalgia (and we are), my friends, my sister (!) and I banged out a lot of words with AppleWriter //e.

  6. Man, I can’t even remember the name of the word processor I used on the Commodore 64… PerfectWriter?

  7. Hey, I found your blog searching for Wordstar clones. Upon looking at wxWidgets I see that it’s also portable to some mobile formats.

    Do you know if Palm would be anywhere near the realm of possibility? Ever since I tried out the Alphasmart Dana (a mobile writing device running PalmOS) I have dreamed of having one with Wordstar on it. Not to mention how wonderful it would be if it could open/edit plain RTF files without having to juggle around with Star Exchange.

    I had Palmdosbox on an old Palm Treo phone and was able to use Wordstar with it but the Dana has a much slower cpu and an older version of palm.

    Interesting side note to all this: I find it uncanny how much we have in common. I’m also a work from home Dad who writes fiction, loves Wordstar, and I saw that you quoted Carl Sagan in your blog. That’s awesome. Well, take it easy.

  8. I would love Wordstar on the iPad, Gerald. I used it until I converted from CPM to Windows and though it continued for sometime in the DOS/Windows world, I consider that its owners abandoned the field to Word by sitting on their well-deserved but increasingly dusty laurels.

    That having been said, I’ll gladly jump on an iPad version. Remember, this puppy was running fine on a 64K Osborne and its peers so it wouldn’t have a problem running on the iPad. But . . . how will you duplicate the CTRL key so integral to Wordstar on a platform that doesn’t have one?

    Pat

  9. @Rob – Thanks! The basics are all there, but I really need to finish printing, RTF import/export, and macros before it’s really usable.

    @Pat – I haven’t started the iPad port yet, but I’ve been looking at code that use a custom keyboard. I should be able to get a CTRL key functioning.

  10. Wow! I just happened to come across this site while I’m in the middle of trying to put all the WordStar key bindings into jEdit. 🙂

    I’d be highly interested in beta testing this when it’s ready!

    –Rich


  11. Shayne O :
    Mozilla Firefox 7.0.1 Mac OS X 10 *

    Any progress on this? I’d love to use it on my mac!

    Hi,

    Progress, yes. Ready for release, nope. I’m currently working on a nasty text display bug.

    Gerald

  12. Well done!

    One question: can you use Wordtzar from the command line? 🙂

  13. Mozilla Firefox 21.0 Windows 7

    Hi; would you consider open-sourcing it, even in the unfinished form?
    I’m currently playing with my own attempt at wordstar-like keybindings editor implementation, planning for persistent undo if I succeed, and Markdown support… but for now I expect it to be a console app. I would be interested in possibly joining the code with yours somehow, or maybe reusing some of it if possible, especially the GUI part. Or just switching to yours app 🙂
    By the way, I’ve found some strange Windows editor with wordstar-based keybindings, at http://www.writeandset.com/english/wsedit.html – you may be interested, but I had trouble getting used to it.

  14. Google Chrome 28.0.1500.95 Windows XP

    Hey Gerald, how’s this coming along? Any new updates?

Leave a Reply

Your email address will not be published. Required fields are marked *