THIS IS GNYLF V1.2

For some reason Jerry decided Triad needed a good text converter so I made one.
Actually I made more than he asked for: the original idea was to make a
converter to read files written with "Writers Choice" and convert them to RAW
screen codes.
  As I happened to have a half finished converter for Micro$oft RTF files, I
decided to include them aswell. (Even though I hate Micro$oft, this text format
is quite neat.)
  Then there was that half-finished Swedish version of the word processor from
"Mini Office II". So I finished it and included a converter for Mini Office
files. (That too is a neat word processor.)
  So I decided to program GNYLF, dedicated to Verdun / Triad who always cried
out "Gnylf!" when he was displeased with something. This program can read and
write all kind of files I myself have use for. If you do not find your
favourite among them, then either go to hell or write me and enclose some text
examples.

Text formats so far supports:

MICRO$OFT RTF
  Reads that curious text format from PRG or SEQ-files and writes it to PRG
files without starting adress. (There is really no point att all in using SEQ
files even though CBM recommended its use.) This mode is nice if you want to
convert texts from/to Various word processors on various platforms. If you
suddenly see the border flickering in lots of colors, do not worry. It is just
that your document includes something the converter can not handle, like inline
images, charset data etc. I did not bother to make a converter for these, since
that would actually force me to convert every f**king Micro$oft program to C-
64.
  If you ARE porting text from/to PC, use RTF where applicable. It definately
gives the best result.

WRITERS CHOICE
  Reads and writes files saved from or to be read by Writers Choice. The format
is SEQ ofcourse, and you do not have to add the strange character ($bf) at the
beginning of the filename. In fact, you must not enter it. If the file you are
converting exceeds the maximum for a file in Writers Choice (=600 lines) new
files will be created with the suffix .02,.03 and so forth.

MINI OFFICE II
  Reads and writes files created by or intended for the Mini Office II word
processor. Format: SEQ. You do have to enter the .TXT extension at the end of
the filename. The program does not.

IBM ASCII
  Quite self explaining. Now you can read all your anarchy philez and back
issues of Phrack in your favourite C= 64 word processor. IBM is an abbreviation
for "I've Been Mislead" of course, and this standard is mostly used on strange
boxes with a warning sign saying "Intel Inside" at the front. When reading text
in IBM ASCII or UNIX ASCII (below) format, double Line Feeds will be
interpreted as a new paragraph. Again, files will be saved to PRG-files without
starting adress. Upon reading, the converter will find both PRG and SEQ files.
This goes for the next mode aswell.

UNIX / WINDOWS (ISO 8859-1) ASCII
  In fact UNIX is probably one of the few operating systems that use the ASCII
standard as it was intended to be used. Thus, line breaks are made with one
single linefeed ($0A) instead of Carriage Return AND Line Feed ($0D+$0A) as on
the IBM or plain Carriage Return ($0D) as on the Commodore C= 64 or MacIntosh.
Most text you download to your UNIX host will probably be in IBM-format anyway,
but sometimes it is not. Sometimes the text comes in the genious Gnuzip format
(thus with the suffix .GZ) and in that case the file is formatted to local
conditions during Gunzipping. If you made this Gunzipping on a UNIX machine,
the text will be in UNIX format, and if you did it on an IBM it will probably
be in IBM format. Someday I will make a Gnuzipper for the C= 64 (haha yeah, the
coding genious), but until then...
  Another funny thing about both these ASCII-modes that if you use left or
right brackets or the pound sign (not this pound sign # this is a number sign)
they will turn into Swedish characters on IBM, ISO ASCII or RTF. That's because
that's the way the Swedish C= 64 machines map these characters. I thought about
putting an option to turn this converting off, but skipped it just to annoy
some yanks... Sweden rules!

PETSCII
  As you all know CBM like all other computer-firms, could not possibly resist
the temptation to make their own stupid ASCII standard, including all the bogus
graphic signs we know so very well. Files handled in this mode will be saved as
SEQentials, and this mode works fine with most word processors that are not
included in this list. Unlike most stupid word processors it CAN read both SEQ
and PRG files. Written results will not exceed say circa $C800 bytes. If you
try to convert longer texts, Gnylf will create several files.

SCREEN CODES
  Reads screen codes from 40 characters wide screens. (If you use a screen NOT
40 chars wide, enter you file via the "Linear Scroll" format below.) If you
have formatted your text with indent on the first line of every paragraph like
I do in this documentation, the format will be preserved. When you write screen
codes, you can choose between 40 or 39 characters wide screens (see "BOGUS
OPTION" below), that is because of the char removed when using X-wise smooth
scroll. If you do not use smooth scroll then do not bother, just set it to 40.
GNYLF will read and write files as the VIC-II video circuitry sees it, leaving
$10 bytes of adress space for page interleave and 8 bytes for sprite pointers
equalling $18 bytes following each $03E8-chunk of memory. When this is not
done, screen codes are stored linear in memory, a format also known as
"Upscroll".

UPSCROLL
  This format is just like Screen Codes, with one single difference: no extra
interleave is saved inbetween every 25th line (25 lines=1 screen). If you
haven't got the faintest idea of what I am talking about here, you probably
don't know what "Screen Codes" are either, so this does not apply to you.

LINEAR SCROLL
  Reads text in scrolltext format, removes any extra spaces between characters.
Writes in a similar format. Very useful for converting screen codes other than
the usual 40 column formatted. More than two spaces will be interpreted as a
new paragraph.

KF METATEXT
  Yeah, this is ofcourse King Fisher Metatext Format, my own stupid invention.
You can use it if you are making writers with proportional fonts like I intend
to do. The data format is like this:

$00..$7f Screen Codes
     $80 Enter sign = New paragraph
$81..$8f # of blank chars on the
         first line of any paragraph
         following this byte, ORA #$80
         (first line indent)
     $90 Set blank chars on first
         line to 0 again. (Default)
     $91 Normal Character
         characteristics
     $92 Boldface
     $93 Italic
     $94 Underline
     $a0 Leftwise justified paragraphs
     $a1 Centered paragraphs
     $a2 Rightwise justified paragraphs
     $a3 Fully justified paragraphs
     $ff End of metatext file

$a0..$a3 (paragraph formatting) should only occur after $80 (paragraph sign). A
smart way of implementing metatext readers (hint for magazine / reader
programmers):

Just read text:

Plot
     JSR GetNextByte
     CMP #$FF
     BEQ End
     CMP #$81
     BCS Plot
     BNE x1
     JSR NewParagraph
     JMP Plot
x1   JSR PlotChar
     JMP Plot
End  RTS

It is not that complicated really, try saving something and you will see how it
works... If you're not too stupid you will figure out how to make a fast & nice
handler for this textformat as well. Every KF METATEXT file begins with
paragraph justification controlbyte followed by a text formatting control byte,
typically $a0, $91.

GEOWRITE V2.1
  God knows why, but I included the GeoWrite text format here aswell. Probably
because it's the only word processor I have for the 64 that can handle special
controls like first line indent, boldface, italic, etc properly. However the
converter is not a 100% converter from/to GeoWrite. All text will be
transported properly, but certain attributes: outlined text, left & right
paragraph indent and some more, will not be converted. Inline pictures will be
thrown away aswell. On the other hand, this is probably the only textconverter
on this planet which can transport GeoWrite files from/to Micro$oft RTF, thus
making it possible for PC users to upgrade their systems to a C= 64 running
GEOS. (Not that Berkely Softworks attitude is much better than Micro$ofts' but
anyway...)
  Note that the files you convert TO GeoWrite must reside on the same disk as
your GeoWrite program. The program will write outputs in GEOS VLIR file format
(USR VLIR file handling using standard DOS instructions... Neat eh?), and of
course read the same format. R/W to/from 1581 disks works just fine if you use
a 1581 for your GeoWrite. The program will autodetect the holy presence of a
1581 drive. BUT, and this is important, DO NOT write files to drives that are
not 100% r/w compatible with either 1541, 1571 or 1581 (DOS versions $41 and
$44), and that is THE LAW. Sh*t could happen!
  When you read the converted files into GeoWrite, you might get lots of
requesters for line-break insertions. Just answer OK to all of them, and wow!
There you have your file.. And if you look at it in the Desktop you will find
the cutest icon you ever saw in your GEOS... Haha!
  Huge thanks to Sailor of Triad for lending me his copies of GEOS, GeoWrite,
and TextGrabber.

SOURCE / DESTINATION
  Gnylf supports different devices for loading and saving. If the same device
is used as source and target for conversion, you will be asked to swap disks
before each disk operation. When prompted, press the ANY key (space, that is)
to go on.

USING 17XX RAM EXPANSION
  Not much to say about this option. If you are about to convert files
exceeding, say 52 Kilobytes = 211 blocks (in the extremely compact KF Metatext
format, that is), you will need to use RAM expansion. The size of your
expansion unit (1764 etc ranging from 128 to 1024 KB) will be automatically
detected and fully used. If no expansion unit is plugged into your computer you
simply can't turn this option on.

BOGUS OPTION?
  At the bottom of the main menu, below the filename prompts and right above
the "START" text, you will find an obscure option called SCREEN WIDTH. Note
that this option apply to SCREEN CODES and UPSCROLL WRITING ONLY! If you're not
saving screen codes nor upscroll, don't bother! Just leave it as it is.

That is it. This program is freeware and it may be used by anyone for any
purpose. You may tamper with it, f*ck it up completely and give it away to your
friends if you like, but I do not promise that I will like that. By the way,
releasing a program as freeware gives me some freedom: I can be the man I am
and will not need to act out the role of that politically correct, suit-and-tie
well dressed up "service-minded" yuppie look-alike asshole most shareware and
commercial software producers (and the rest of the upper middle class) seem to
identify themselves with.
  Help fighting software patents / copyrights! In this program I use the
Micro$oft RTF-file format. In the USA, this would probably have infringed on
Micro$oft patents. Luckily, such "patents" DOES NOT apply in Sweden, and thus,
I am not stealing anyones "Intellectual Property". I do dislike all attempts to
limit the freedom of programmers and people in general, and in case you feel
like hearing some horribly politically incorrect statement today, here you have
one:
  It its RIGHT to crack and distribute copyrighted software to your friends.
Software, like all other kind of information is an extension of the human mind
and intelligence, and thus copyrights limit your mental freedom. As long as you
are not making money from your deprotecting and swapping, I really think it is
OK to do just that. If you think I am being naive, then so be it, because
INFORMATION WANTS TO BE FREE MOTHERF*CKER!!
  I have heard a lot of "the American Way"-bullsh*t from stupid geeks on the
Net lately, the most common objection against my anti-copyright policy being a
naive belief in market forces and overall justification of the capitalist
state. Let me tell you one thing once and for all: I will take no such crap
from white males living in a country where youths live in the street, fighting
and dying in pointless gangwars, where colored people and women are oppressed
by the same capitalist state, and which YET has not abolished capital
punishment. Capitalism is inherently racist in that it put the weak in society
head to head in order to maintain the power control from above. Freedom under
capitalism is the freedom of making as much money as you wish, and almost
NOTHING MORE.
  Oh, and while I am at it: your government obviously feeds you with complete
lies every day, making you believe incredibly stupid things using a technique
that was old before the second world war. But I guess you knew that already,
didn't you?
  If you don't agree with my political opinions you are not allowed to use
Gnylf. Sorry, bad joke... of course you are. If you think my opinions are
totally f*cked up then you're probably in good company, just dress up in your
suit and go out earning heaps of money until the environmental breakdown kills
you. Who's the biggest fool anyway; the fool or the fool who follows him?

Your friend in c/space:

King Fisher of Triad
Linus Walleij
Magistratsv. 55 N:306
226 44 LUND
SWEDEN
+46(0)46390785
triad@df.lth.se, linus.walleij@microbus.se

AND DO NOT FORGET TO VISIT THE TRIAD HOMEPAGE AT:
http://www.df.lth.se/~triad/

P.S: If you like this program, please send me a postcard, e-mail or whatever
you like, since it would really make an emotionally corrupt student like me
happy, and Ace of Base f*cking rules! Don't complain about music you don't
understand!