CDP
Character DisPlay
Parses one command
from a plaintext file
and works on it
---]
Command Line Arguments!!!
t = enable test mode.
Instead of parsing TESTIN.TXT; m1 do some internal test routines...
and print the entire charset to the screen... hopefully...
d = enable debug mode.
Regarless of mode,
SOMETHING is written to m1bug.log...
using this flag will include debugging info as well.
v = increase verbosity.
The more v's u use, the mor everbose the M1BUG.LOG file
will be. I won't go above 3 if I were u...
You've been warned.
In fact, there's little reason to use this... unless u wanna hack at the C src...
[NEW! - 990122/12:15Hrs GMT-4] Updated since initial release!!!
u = Use the Upper Case/Graphic char. set (default)
l = Use the Lower Case char. set (this was rearly used on a read C64 but it's good for
word processing and such like... i.e. it's boring!)
[NEW! - 990123/15:30Hrs GMT-4] Updated since second release!!!
o = display border (Not Yet Implemented)
n = display background
//setkode: r10b/K/p/M/' '
[NEW - 990122/13:25Hrs GMT-4] Updated before update was released!
r[constant][exponent char] = set size of C99ASIC workspace (BASIC RAM)
constant is an unsigned int, whine exponet char is one of:
b = byte;
K = Kilobyte, 1024 bytes;
p = C64 page, 256 bytes;
M = Megabyte, 1024 Kilobytes;
default = byte;
also, note that a limit of 10 000 000 bytes in imposed.
---]
Files in use:
input:
CHAR.ROM : ROM dump of C64 CHARSET.
TEXTIN.TXT : the semi-tokenized program file to parse.
format:
@column,row,literal
...
c[color]
...
-
The @ indicates PrintAt, column = 0-39, row = 0-24 (numeric constant literals);
and literal is a quote-enclosed string, e.g.
@1,1,"HELLO WORLD!"
@1,24,"GOODBYE WORLD!"
The c indicates COLOR, and is equivalent to POKE 646,[color]
on the C64. The C64's BASIC really needed this command!!!
Note that the hyphen ('-') is the EOF character...
forget it, and suffer in unspeakable pain.
---]
Architecture (how it works)
I don't feel like talking about it... to me, this is like crawling... the only point is
to move, not move well. When I walk, I'll explain how I walk...
Or at least why I put a bop in my step...
A few notes, though:
CHAR.ROM is read, using fread, into RAM in one fell swoop.
TEXTIN.TXT is run thru an adhoc processor which ...
1) copies it to RAM
2) replaces \f and \l and such with 0
3) replaces the EOF with a sting of zeroes... supposedly 3,
but it is broken so...
more like 12.
Know design flaws:
The rendering engine could not possibly be slower,
and the screen design is very haphazard.
Being design flaws, i will not fix them,
I will redesign m2 to avoid these
issues.
---]
Note:
The executable seems to random SIGSERV under 9x...
I'm not sure if this is:
1) A fault of 9x
2) A fault of PGCC
3) A fault in Allegro 3.0
4) A fault in my coding practices
It seems to be 4) and 2), that is,
functions which declare variables and never use them
fail... sometimes... I find it really, really odd.
Please tell me if u have any similar experiences...
Check readme.log for soapbox-like ranting...
---Kei.
Keinall "Lord Granitor" Caddle
granitor@hotmail.com
Hmmm... I may re-activate my geocites mail... *shrugg* nah...
               (
geocities.com/granitor)