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. 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... terbium!), 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. 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... 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 ANSi file support VGA >ANYTHING< 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 [;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? =) 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... 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 [?7h codes as [? 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 , 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. 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. =)