iNSOMNiA E-Mag Interface History      written by fade/rem
[both the e-mag interface AND the revision notes =)]

    iNSOMNiA #1's interface was written in Turbo Pascal 7.0, and unless
it gives me any more trouble, then i'll probably revise it in tp7...
    iNSOMNiA #1's features include:
     0% ansi.sys-reliant
     ansi gallery you can scroll around in...
     neato multicolored article viewer
     easily recompilable article index (just add articles!)
     umm...pretty pictures? =)
     those lightbar menus you've probably all come to love.
     far, FAR too much nin influence in the code.
        - when i needed another throwaway var and i didn't know what to
          name it... well... what am i listening to?  all right.
             for ruiner := 1 to length(hurt) do inc(piggy)....
          well, you get the idea.

     i sure hope no one is taking this too seriously, because i sure as
hell ain't. =)  if anyone says "dude, the coding on your mag sucks!", i'll
snap in reply, "you can read the articles, can't you, fucko?"
     er, you >can<, you know.  can't you?  if you have any problems, let me
know.  /msg me, e-mail me (wagner@crl.com), or kmb - network 23 - 4153812137
nup: zikzak...

version 0.01a
    article viewer kludged together.  doesn't work very well.  files
not read or displayed correctly.  fuck.  =)

version 0.01b
    article viewer revised.  changed the input routines from scanning for a
CR/LF to stop reading one string to just readlning a string... neat eh?
can now read the sample article i wrote for it, but cannot distinguish
articles in the same file.  progress bars and scrolling functions still
don't work.  only uses '8' and '2'...and as i said before, scrolling doesn't
work... ain't that a bitch?

version 0.02
    finally got around to putting in the "line/total" thingamabobber.  it
works, sort of.  had to kludge this too, to get it working.  depending on
where i want the viewer to stop scrolling on something, gotta change the
scroll procedure as well.

version 0.03
    added in a help screen, pageup,pagedown,f1,home,end, and arrow key
support.  enter & escape both quit the viewer.  unfortunately, there's
not much for it to go back to (haven't done the main menu/filesys).

version 0.05
    well, the article viewer can practically stand on its' own.  it
determines article length by the first null string in the article, so i
hope no one is going to hit ENTER a lot and not put any spaces in, because
then that will fuck it up.  i'll see what i can do about that.  for now,
it looks like you'll have to make do with that.

version 0.06
    added in the progress bar.  wrote it in asm.  AAAARRRGH!!!!!
    it was tedious, yes.  kids, the inside of your computer is a very
dangerous place.  don't mess with the BIOS unless you know what you're
doing.
    <i didn't, but it's still good advice. =)>
    also added in the title/author thing.  iNSOMNiA scans the ARTICLE.DAT
file for characters at the beginning of the line, and if it finds them,
it adds the rest of the line into the article database.  this allows me
to add articles on the fly.  just gimme an article and i'll show you.
dead simple.
    also added an "EOA" (end of article) character... groovin'.  now the
viewer doesn't fuck with null strings and just scans for that character.  if
that char ain't there, then it scans for the next article title... finds that,
then it stops...  well... almost.  need to tweak that.

version 0.07
    well, the viewer pretty much works and it's impossible to crash,
unless you count a successful exit to DOS as a crash. =) which i don't.
    made it into a unit and i am now working on the main menu and fsystem.
    fsystem shouldn't be too hard, just have to write it. =)
    menu should also not be too hard.  the worst is over!

version 0.10
    filesystem works.  kinda.  scans the ARTICLE.DAT for article names and
authors (which don't get confused, mangled, shredded, OR truncated... <cough
cough>terbium!<cough>), and adds them to the Glorious People's Article
Index...  it's so beautifully simple i could cry, but i won't.

version 0.11
    kludged the main menu together.  it works.  kinda.
    of course, the main menu doesn't exactly DO anything at the moment...
    filesystem works, but better than kinda.  now if i can only get it to
recognize the end of an article... d'ooooooh!

version 0.12
    all right, the filesystem finally works the way i want it to.  even
added a few test articles and it worked fine.  i can increase the max # of
articles any time i damned well please...
    starting on the article menu.  may not have enough space (using approx
same sized menu window as the main menu, but a bit wider).  but it should
work, at least in theory.
    art gallery still not done.  i'm putting that off as long as possible.
    this mag doesn't need an art gallery.  it DOES need everything else.
    <it's a frill, IMO>
    ansi parsing has always been the bane of my existence. =)  yes, i am a bit
lazy. =)

version 0.15
    had a teeny tiny problem with the viewer unit... it's such a hog that
i had to move all the screens into a separate unit (ANSIS)...
    to further conserve memory, i'm drawing the screens myself, that is,
i'm not displaying an article screen and a main menu screen and an art
screen, i'm just displaying the insomnia menu background and drawing a
box and window of the appropriate size.

version 0.16
    forgot to set the viewer's buffer (200 lines, max) strings to
string[80]s or so, and that crashed the mag just as i had it integrated.
    ain't THAT a bitch?
    well, now let's see if it works... <crash!>

version 0.17
    widened the article menu to about 70 columns x 10 or 15 or so lines.
    much better.  me like.  not everyone has a name as short as fade/rem.
    i just imagined someone like nemesis/renaissance trying to fit his
article name and such on the old menu (tiny!).  well, it's not that big a
deal since i'm drawing them with a few routines now...

version 0.20
    whoops!  don't tell anyone, but i used a goto in the article menu
code... i feel so bad for doing that... haven't used a goto since my BASIC
days. =)  i used it in the wrong place, anyway... where the local option
variables are initialized is in the beginning of the loop (duuuuh?) and
the label is in a position that causes it to reset you back to the beginning
of the list instead of where you last read an article.  works now.
    added color support.  #170-#172 or so does it.  only for a word or
until it finds another word (meaning, a space).  replaced the article
printing loop's "writeln(placeinthearticle)" with my own code. =)

version 0.21
    as soon as i get out of this hole (i've been coding since 0.02 on a
laptop... =Q), i am going to definitely start soliciting articles.  i have
some scrolling functions in the article selection menu, but i currently
do not have the following working:
      BGM  <background music =)>
      ANSi file support <UNLESS i cheat and save 'em as .PAS in thedraw>
      VGA >ANYTHING<  <if you've seen my abortive attempts at VGA, you
                       know why... if someone wants to help, GREAT!!!>
    other than that, the mag is theoretically ready to go.  it needs a
.DIZ, a k-k00l nfo file, and SOME FUCKING ARTICLES .. =) ...
    i'm hoping for an early september/late august release date.

version 0.22
    okay, the scrolling in the article menu DOESN'T work.  waaaaah....
    i'm working on it, though.  it's only a matter of time, now. =)

version 0.23
    goddamn, that was quick.  article scrolling : fixed.
    this is probably good enough to pass around to people and show them
that i've been doing something and not just riding my damned bicycle all
the time. =)
    i will probably have to revise the filesystem if/when i ever try to
add ansi support.  it's a bit beyond me right now... i think i could prob.
code it if i could just THINK IT OUT... i'm getting there, but slowly. =(

version 0.23a
    ok, i'm not going to let this thing go until i have the ansi support
at least in a fully-kludged form... right now it's...really ugly.  that's
just about the best way i can describe it without having to get really
upset.  the code's rather nasty now, but it DOES recognize most of the
more common codes... it even recognizes that <esc>[;XXH thing that obv/2
does... =) ... well, by accident, but it works.  i don't have that much to
test it out on, but i think the cursor movement codes are a teeny bit off.

version 0.25
    i can't believe it.  in just about 90 minutes i managed to clean up
the ansi parser.  it works.  fully.  'course, now i have to clean up the
filesystem unit and add in the ANSi gallery........ =)

version 0.26
    okay, so i got a bit sidetracked.
    instead of REALLY putting in the ANSi gallery functions, i tweaked
the article menu.  but since i will pretty much be duplicating the article
menu in the art menu  (yeah, THAT'S RIGHT. ahhhhh, i cheat so much... =) ),
there's not much point, really.

version 0.27
    art gallery function works, as long as you don't fuck with them funky
h codes... =) ... who needs to change video modes for ansis, anyway?!
    there is currently only ONE bug with the art gallery... it sort of gets
goofy with the two sample ansis i have there... ugly to look at, but it works
OK.  you can still select them... and the error isn't fatal.  it's just a
bug... if i don't bother with it, i'll just call it a feature. =)

version 0.28    7.aug.1994
    tweaked the viewer again.  now tells ye when you're at the end of the
article.  also no longer uses a screen clearing function when updating the
screen.  the new output procedure fills the line so there's no need for it...
right now the mag works fine, i'm just trying to get rid of as much flicker
as i can... and on a laptop, you see a LOT of flicker (damned LCD display)...

version 0.29    8.aug.1994
    well, in my opinion, i probably have enough done so that i can just set
insomnia aside (it's done ENOUGH, at least =) ) and start working on a new
REMVIEW proggy.  i have noticed that the file list in REMVIEW is apparently
hard-coded.  i am going to apply the knowledge i've accumulated in coding
iNSOMNiA to writing this viewer and perhaps then i'll move on to something
bigger & better... bbs soft? =)  <maybe a forum hack... naaaaah...>
    this will probably be the final version of insomnia #1 for a while...
       all the functions work. =)  i will not add in anything unless i code
it myself (no "hmm, i'll just take this VangeliSTracker source...").
    we'll see...

version 0.30   12.aug.1994
    ok, i'll tweak it a bit more.  and i have.
    insomnia was reading the raw menu fine, but the raw was about one line
too big... shaved off about five characters from it and it's fine... however,
all of the menu windows are shifted up one line.  fixing that right now...
    viewer now reads "end/end" when you reach the last line of the article and
when you try to scroll down afterwards, as well.
    changed the closing screen.  will add the hella k-phunky phresh insomnia
logo i drew for it after i get home & can color it... <i leave tomorry>
    also fiddled with the menus a bit, not just the locations of them... =)
    fixed the bug in which the "introduction" article (the first one) appears
in the article viewing menu.  it now skips over it completely, so you have to
go back and go to introduction if you wanna read it.
    there's also a little bug when you hit pagedown in the article viewer...
    it tends to...er...quit.

version 0.31   12.aug.1994 2:08p
    pagedown still tends to quit (it's not THAT MUCH like "enter" is it? =) ).
    menus are now drawn correctly.  flicker is all but eliminated.  wheeee!
    changed ansi parser a bit - it was incorrectly reading <esc>[?7h codes
as <esc>[? and then printing 7h on the screen... baaad.  however, 'tis now
fixed and if i actually gave a shit about the ?7h code i would write the code
necessary to parse it...... =)     after all, who wants to switch screen
modes?
    there are only two insomnia bugs at this point, and they've been around
for so long i'm about to call them features... there's the pagedown bug and
the ansi menu, which is violently fucked up when you hit "up" at the first
choice... other than that, it works fiiiiiiiiine.... =)  probably needs more
bound-checking...

version 0.32   12.aug.1994 2:12p
    er... nevermind.  fixed the ansi gallery bug.  it MAY reappear in a new,
monstrous form when i put in the other ansis... but... oh well.  i'll fix
that when i get to it...

version 0.35    7.sep.1994
    escape bug fixed.  it now works.  i hated it when people said "d00d your
mag is fucked, it doesn't quit with escape."  well, hey, i was on vacation and
the laptop's keyboard had an escape key that was so far out of the way that i
forgot an escape key existed. =)
    the pageup/pagedown bug is still there.  gotta work on that one.

version 0.36   10.sep.1994
    with the help of some source someone posted on impact net, i've finally
figured out dac fading... which was eluding me for quite some time ("can you
help us?  we look for things, to make the screen get dark."  =) ) ... so now
that it works, i am happy and won't feel so bad about releasing the mag. =)
    people continue to drag their asses when it comes to articles.  dorks. =)
    hehe...
    just downloaded MIDAS but i haven't read the docs yet.  but gosh, i'm so
confident... i've already asked a few composers to write some tunes for
insomnia.  they will be packaged outside of the executable becase, hey, why
make work for the mod rippers?  it's so much more not-satisfying this way. >=)

version 0.37   11.sep.1994 16:15
    fading routines are finding their way into most of the rest of insomnia.
    they actually work and don't fuck up, now. =)
    update on sound support/MIDAS:
    working with a temporary module <Krystall/KLF's Space Track S3M>, i have
actually gotten the fucker working very well.  ends rather abruptly when you
quit the mag, but other than that, no problems.

    insomnia now turns off the cursor when you run it and restores it when
you quit the mag.  looks a lot better now. =)

version 0.38   12.sep.1994 22:01
    all right, i lied.  the cursor doesn't come back on.  boo FUCKING hoo.
    i can fix it, though.  i'll fix it in the next version.  right now, i want
to release this as the next pre-release. <hopefully the final pre-release. =)>
    send comments, etc., to wagner@crl.com or /msg me on irc... i, surprisingly
enough, go by the handle Fade. =)
    changes for the pre-release version:
     music support has been removed, ONLY FOR THE PRE-RELEASE.  i have it all
set up, but since i want to keep the size of the zip real tiny, i just removed
the init routines... and since they set a music flag, it performs silently so
well you'd swear it never had any music support at all.  hmm ... =)  trust me,
it's not a hoax...
    i'm waiting for them damned musicians to start sending me those
extremely-elite muzax...
    and i also need a music selection screen, mofos! =)  don't make me draw
another one! =)  i coded the fucking mag, ain't that enough for ya?  hehe...

version 0.40   23.oct.1994 18:21
    well, it's been a while, and i think i've left out a bit of revisions here.
so let me just get to the point... i have been seriously tweaking the mag.
    for starters, hadji gets brownie points for being the first musician to
give me a mod.  and then he gave me another one.  =)  "what," sayeth he,
"you're actually going to use that?!" ... well, yeah.  why not?  it's nice.
    cosmetic change!  normally, this wouldn't happen until the mag was
actually seriously released.  but i'll make an exception. =)  thanks to
halaster[fire, as of this writing =) ], i have a k-spammy main menu screen.
    and i'm using it, too.  since this will require a rewrite of the screens
unit, i'm rewriting the screens unit.  arrgh.  while i'm at it, why doesn't
someone draw me a message header so i can rewrite THE ENTIRE FUCKING VIEWER
while i'm at it?!  =)  seriously, though, if you draw an ereet header, i'll
take it, as long as i don't have to totally rewrite half the viewer (i.e.,
someone gives me a header longer than 4-5 lines with no space for the article
info). =)  i'm going to switch to another one soon, i think.  that i drew.  so
it sucks. =)
    also, i will be relocating the previous main/article/gallery menu ansi
to the music selection screen.  neat, eh?

version 0.41  29.oct.1994 17:09  [spring forward, fall backwards...]
    well, pretty much replaced the casper menu with hal's...however, the mag
has the annoying habit of clearing the screen after returning to the main
menu.  it's only a matter of time before i track it down.
    am thinking about adding a reviews and interviews section or something.
    dunno if i need it right now, though. i'd have to spawn a few more copies
of the filesystem or otherwise tweak it.  maybe it's not worth it. =)

version 0.42  29.oct.1994 17:23 [fnord!]
    ah, it is such a wonderful thing to squish all the bugs into tiny little
splotches.  if you were to look at insomnia at around 0.20, you might think
it's a different mag by now. =)  heheh...well, gee, if things were on time,
i'd be releasing #2 by now.  but at least the mag looks like a #2, even tho
it's a #1.
    still waiting on a few more articles, and also Nemesis's tune for the mag,
if he is in fact doing one.  i don't really want to get pushy about it
because i'm sure he's got better things to do anyway. =)  but it's time to
crack the whip...if i could FIND HIM... =)  now what was the name of that mud
he frequents.......

version 0.45  27.nov.1994 1:30
    got the spontaneous quitting bug.  the keypad keys send out two signals -
one is a 0 value and the second is a value from 0-255, as normal.  but pagedown
sends the same value as the 'Q' key, hence it quit all the time.
    oopsie.  it's fixed.
    also have a weird new fader in, using it here and there... =)
    hal turned in his article.  yay.

version 0.46  29.nov.1994 20:46
    rewriting input routines to make things easier.  except, of course, it's
turning out to be harder.  dagnabbit!  the article and main menus work a lot
better now, since they handle pageup/pagedown/home/end as well as up/down,
as well as q/Q/esc/Enter.  might add F1 support if it seems necessary, but i
doubt it.
    i might add Save to File support, maybe.  dunno.

version 0.50  30.nov.1994 23:27   halfway point? =)
    that music selection screen still irritates me.  it's not pretty. =(
    other than that, the mag's pretty much ready to go.  i'll send it to mage
and he can take care of the rest, i suppose.  the universal input processor's
in... it uses two routines, one for handling lightbar input and moving the bar
as it deems appropriate, and the other for scrolling lightbar stuff (scrolling
article selection menus, etc.).  i have made this expandable in case it
becomes necessary to separate the "articles" section into "articles,"
"reviews," "interviews," whatever.
    discounting the chance of getting a few fonts or getting a music selection
screen, this will probably be the second-to-the-last revision of insomnia for
a while.  i might try to beautify the music selection screen, anything to make
it a bit less disgusting than it looks right now. =)

version 0.51  4.dec.1994 15:48
    i lied.  =)
    first of all, i fucked up on the ansi gallery menu and forgot to add a few
things.  like responding to the "ENTER" key.  oopsie.
    got a couple more articles.  huzzah!  rewrote the ansi displayer to include
scrollback and other k-spammy shit.  might try a few other things.  like
including reviews of the ansi or artist's comments which will appear in a popup
window. =)  i dunno.

version 0.60  19.dec.1994 19:43
    ansi viewer routines work pretty well.  smooth-scrolling routines are
there but buggy, so i'm disabling them for the final magazine release and i'll
work on them for ish 2.  perhaps i'll toy with vga after i'm satisfied with
the ansi interface...
    rewrote the progress bar indicator as well.  it's now a bit more accurate
in its portrayal of one's position in the article...
    this will most likely be the final version before the release of insomnia
issue#1.  i hope so at least. =)
