Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: AssemblyBandit on July 05, 2013, 02:47:18 am

Title: TI84+C Buttonz
Post by: AssemblyBandit on July 05, 2013, 02:47:18 am
Here's a speed test for my game:



You press the F1-F5 keys to match the colored blocks to the arrows. The closer the block is to the center, the more points you get.
It should be out tomorrow, it will probably be a flash app. Check out my blog for the latest info on it.
Title: Re: TI84+C Buttonz
Post by: Adriweb on July 05, 2013, 03:12:43 am
Awesome !

Pretty amazing speed actually :)
(I wonder how the heck TI made their b&w-looking OS go so slow on scrolling menus then.... ?)
Title: Re: TI84+C Buttonz
Post by: Sorunome on July 05, 2013, 03:42:40 am
Wow, how did you make it run so fast?
I thought scrolling the whole screen (or almost the whole screen) Would be waaaaaay slower due to the slow LCD?
Title: Re: TI84+C Buttonz
Post by: Keoni29 on July 05, 2013, 03:44:22 am
Apparently the lcd driver has some tricks to get around that. Can you hardware vertical scroll?
Title: Re: TI84+C Buttonz
Post by: Hayleia on July 05, 2013, 03:55:06 am
(I wonder how the heck TI made their b&w-looking OS go so slow on scrolling menus then.... ?)
They must have done some stupid thing such as refreshing the whole screen for every written line instead of refreshing it only when all lines are written. edit see answer below for accurate answer instead of a guess of mine.

Anyway, awesome job AssemblyBandit !
Title: Re: TI84+C Buttonz
Post by: DrDnar on July 05, 2013, 03:55:11 am
This is an excellent demonstration of how thoughtful optimization can give superior performance.

(I wonder how the heck TI made their b&w-looking OS go so slow on scrolling menus then.... ?)
Wow, how did you make it run so fast?
I thought scrolling the whole screen (or almost the whole screen) Would be waaaaaay slower due to the slow LCD?
The OS visits every pixel when it scrolls text. He's optimized his program so that it only updates the pixels that actually change each loop iteration. Addendum: I don't mean to overstate the usefulness of this technique. It can only provide an optimization when applied to groups of pixels, not individual pixels. If the squares had sprites instead of solid colors, it would not be able to run so fast.

Can you hardware vertical scroll?
No, there is no support for vertical scrolling. The LCD is actually rotated 90 degrees from its intended orientation, so its vertical scrolling feature actually produces horizontal scrolling. (To reduce confusion, the documentation of WikiTI is written to reflect the LCD's actual orientation; thus, the Wiki and the datasheet differ on the meaning of "horizontal" and "vertical".)
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 05, 2013, 04:58:16 am
Yup... Unfortunately DrDnar is correct. I wish I could tell you that the screen can actually scroll this fast or that there was vertical scrolling, but nope. Just like he says, it just displays a black row at the top of each block and adds a color row to the bottom. You can *not* get this many sprites to move that fast on the TI84+C  :'( Just a little trickery on my part  ;D I originally planned for the whole screen to take advantage of horizontal scrolling to change the colors of the arrows and mess the player up, but erasing and redisplaying the score would be a pain and very slooowww. Instead I'm going to give the player the ability to change the arrow colors him/herself to be able to catch colors in different columns. I already ported it to an app, just need a few more hours to get it ready to be released. Going to take a break and watch Master Chef right now though!
Title: Re: TI84+C Buttonz
Post by: Sorunome on July 05, 2013, 04:59:52 am
still cool, I wonder how many work-arounds we'll find for speed optimization :)
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 05, 2013, 05:13:37 am
Thanks everyone! I'm still surprised at how fast it can go, and that's at full screen resolution, if I used interlacing, it would fly!
Title: Re: TI84+C Buttonz
Post by: Sorunome on July 05, 2013, 06:13:28 am
wait, full screen resolution? O.O
And I guess interlacing is that thing we found out that you can set the screen to half res?
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 05, 2013, 07:59:53 am
Yeah full screen is 320x240, calc84maniac's mode is 160x240. Check out the ILI9335 documentation to see exactly whats going on (just remember it displays vertical but its really horizontal).

Bit 10 in register $01 sets the scan mode.
0=progressive (default) 1=interlace

Edit:
When I say interlace, infer partial imaging as well because its probably (?maybe gaps might be a good thing sometimes?) worthless without it.
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 05, 2013, 09:42:36 am
That is really awesome and fast. I was impressed by the video and it shows how the calc can pull games that runs at more than 5 FPS.

It also shows that it is possible to overcome limitations by using various programming tricks like what developers had to do on retro consoles back in the days. From the video, I could immediately figure out how that speed was achieved, since the squares were plain color. Just only draw the new line of pixel then erase the one you're scrolling from. I actually used a similar technique for the potential bosses in Zelda, where the initial drawing is slow, but moving left and right is fast:

(http://www.omnimaga.org/index.php?action=dlattach;topic=16246.0;attach=15161;image)

However, I am limited to only 1 color per row and the boss can't move up and down.


Also, for ASM games like platformers, the calc has built-in horizontal scrolling support, so those games will run fast too (although if you use 320x240 mode, the scrolling will glitch up a little bit like in most NES games on each side of the screen.)
Title: Re: TI84+C Buttonz
Post by: Sorunome on July 05, 2013, 06:52:01 pm
but dj, is your example in BASIC?
AWESOME O.O

And yeah, all this hacking seems to me as if it was 'the old days', which were before i was born :P
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 06, 2013, 02:53:40 am
Yeah my example is pure BASIC (except the stretched screen part). I just use a bunch of Pt-on/off commands to move the sprite around.
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 08, 2013, 06:41:21 am
Buttonz v1.0 is finished!



Please post any bugs or suggestions for it.
Title: Re: TI84+C Buttonz
Post by: Sorunome on July 08, 2013, 06:48:08 am
Ui, this is looking awesome!
Suggestion: lives? Power ups?
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 08, 2013, 07:30:40 am
This looks really awesome, and nice intro + splash screen as well. :D

I assume that the download link will be up as soon as Omni/ticalc/Cemetech staff approves it? :P (EDIT Nvm http://briandm82.com/?ddownload=265 )
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 08, 2013, 05:24:15 pm
Thanks. It's now up on my blog, ticalc, Omnimaga, and Cemetech.
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 08, 2013, 05:30:02 pm
Cool to hear. By the way does the final version eventually gets as fast and brutally hard as in your previous video? :P
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 08, 2013, 05:34:17 pm
It goes pretty fast but I haven't made it past level 14! (at level 25 its moving its fastest) Its a lot harder than it sounds. You have to keep track of shifting the arrows around and eventually it seems like your eyes stop seeing in color and you start making mistakes. Because there are only five columns it takes at most 2 shifts to get to a column, but once you start messing up its easy to shift past the columns.
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 08, 2013, 05:40:53 pm
Ok cool to hear. I was wondering since there was a drastic difference in speed between both vids and the 2nd one didn't show the game running faster later. I personally doubt I'll get far, though, since I am not that good at Guitar Hero and Stepmania :P
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 08, 2013, 05:51:36 pm
I might add some different modes though so that its full speed can be shown. Originally I had planned the game to be timed but I thought that it would get frustrating because it would be impossible to keep up and players would just end up mashing random buttons.
Title: Re: TI84+C Buttonz
Post by: Xeda112358 on July 08, 2013, 06:05:40 pm
Maybe if the user is pressing [DOWN], skip the delay? Nice job, by the way!
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 08, 2013, 10:55:31 pm
Ok so now I understand why there are no animated GIF screenshots of this game. jsTIfied totally murders the game XD

And yeah different modes (such as difficulty settings, where it starts faster) would be cool. :)
Title: Re: TI84+C Buttonz
Post by: Sorunome on July 09, 2013, 04:44:16 am
Ok so now I understand why there are no animated GIF screenshots of this game. jsTIfied totally murders the game XD
How does it do that? O.O
Title: Re: TI84+C Buttonz
Post by: Streetwalrus on July 09, 2013, 06:13:48 am
Looking pretty awesome ! Too bad I don't have a CSE. D: I'm wondering how much space you have left in the app ?
Title: Re: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 09, 2013, 01:01:48 pm
I found a bug with highscores: if you fill the list with highscores then lose again, it will still say you got a new highscore even if it doesn't make the top 5 list, then your name will show as garbage on the list. After quitting the game, accessing the Y menu or trying to delete/archive the many 31 KB large Y vars in the MEM manager will crash the calc, forcing you to press the reset button sometimes, then RAM Clear.
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 09, 2013, 04:59:31 pm
Damn! If I would have only scored one more time I would have caught that! When you lose, it tries to put you at the 6th position even though there isn't one. I'll fix it now and add your suggestions. Probably: set the start level, put in a new mode, and have a white box as some kind of power up (maybe up the speed to max and have it auto catch the blocks). Thanks for pointing that out DJ, I didn't add it to the instructions, but deleting the app var ButtonzD will reset the high scores (except for mine!).

Streetwalker, I have 395 bytes left, but there are plenty of spots for size optimizations.

Code size: 6,688 bytes
Title image size: 4,220 bytes
Blog image size: 5,081 bytes
Total size: 15,989 bytes
Min app size: 16,384 bytes
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 09, 2013, 05:02:32 pm
Yeah that's what I thought about the appvar. Btw would it be possible to keep it archived by default like some ASM games do? It would be nice in case another program clears my RAM to not lose my highscores. :P

Another thing I am wondering: Does your game setup 320x240+0 mode by default on startup? I know that BASIC games sometimes use an utility that shifts the screen around and decreases the resolution, and there's xLIB that uses that resolution by default so it might be something you might want to check out (especially that your game seems to turn OFF the screen at some points).
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 09, 2013, 05:52:43 pm
Good thinking DJ! While programming, I have ram clears like every other time! My little reset button has already been put through hell! I've reuploaded a quick fix (v1.1, one line was missing!) for the high score bug, I'll start working on v2.0 now. The default resolution is 320x240 and the app doesn't check or set it to 320x240. It is possible to set 160x240 mode, low color mode, or reverse color mode and run Buttonz and it will run in these modes and return with them still set. I'll change it though, so that it forces the defaults, in case someone wants to execute it from their program (maybe a shell that uses 160x240 res or something).
Title: Re: TI84+C Buttonz
Post by: tr1p1ea on July 09, 2013, 05:54:38 pm
Thats a good idea as there are some tools that will put the calc in a mode that you arent expecting.

Looks awesome by the way!
Title: Re: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 09, 2013, 06:04:09 pm
I like the idea of multiple modes actually. Reverse color would be cool as well since some ppl want to save batteries and turn their contrast way down, meaning darker screen.
Title: Re: TI84+C Buttonz
Post by: Runer112 on July 09, 2013, 06:10:44 pm
I'd say it's perfectly reasonable for all programs and applications to expect that the LCD will be in the normal 320x240 mode the OS uses when they are launched. If a shell doesn't use these settings, it should be the shell's responsibility to restore the standard settings before running the program. So in my opinion, you shouldn't need to add code to enforce any LCD settings that are already default in the OS.
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 09, 2013, 06:29:41 pm
I have to agree Runer112, especially since the OS doesn't even check them! If you leave reverse color set and exit your program, the OS just keeps going with it, even after you turn it off and back on.
Title: Re: TI84+C Buttonz
Post by: DrDnar on July 09, 2013, 06:32:35 pm
That also applies to upside-down mode and mirror mode. Heh.
Title: Re: TI84+C Buttonz
Post by: tr1p1ea on July 09, 2013, 06:48:16 pm
Im sure people will create fake 'virus' programs that mess with the LCD :).

Either way i am inclined to agree. Im betting that calc owners will soon be accustomed to recognising when the calc is in a different mode anyway.
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 09, 2013, 06:55:32 pm
Now that I think about it, you could set low color (low power) mode to help conserve your battery life. From what I can tell, grey is now either black or white, but the basic colors are all there. Actually, I'll set it in Buttonz. Since it only uses basic colors, there is no change and it will use less power. The game doesnt turn the screen off all the way, just the backlight. I disable the base image during drawing and I don't want the screen flashing white, so I turn it off to keep it 'black'. And thanks tr1p1ea!

Almost forgot, I don't use JStified while programming alot (hence the abused reset button!) so I can't say that all my apps will run on it.
Title: Re: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 10, 2013, 12:25:35 am
How does low color mode look like actually? By basic colors do you mean TI-BASIC? Someone should make a demo prgm.

As for jsTIfied tthe game looks totally messed up in it anyway.

EDIT: What happened to the game download? O.O Or is it just down due to an update awaiting staff approval?
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 10, 2013, 04:23:46 pm
You might want to replace the download file with an URL in the dl section such as http://www.ticalc.org/archives/files/fileinfo/454/45463.html , because the Omni upload system seems to only work sporadically and is broken for updates. Right now your link says 404 not found at http://www.omnimaga.org/index.php?action=downloads;sa=view;down=856 .

Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 10, 2013, 04:39:01 pm
Ok, it will work when it gets approved.
Title: Re: TI84+C Buttonz
Post by: Streetwalrus on July 10, 2013, 04:40:01 pm
@DJ Omnimaga : Please don't double post in such a short time interval. You have an Edit button to the top right of your post./me runs :trollface:

Anyway since pics seem to take most of the app space you might wanna consider making a program version that doesn't include them. ;) That'd be good for people who want to save space (even though the CSE has huge flash).
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 10, 2013, 04:42:46 pm
Just wanted to make sure that the post gets noticed since no one replied before the file got re-approved. :P

Also Streetwalker which pics do you mean? ???
Title: Re: TI84+C Buttonz
Post by: Streetwalrus on July 10, 2013, 04:44:32 pm
Yeah I understood, hence the /me runs and the troll face. :P I know you are a good and well educated forum member. :P
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 10, 2013, 06:01:03 pm
Streetwalker, an app *has* to take up at least 16,384 bytes (and in $4000 byte multiples after that) even if your code is just 3 bytes! There's no way of getting around it, so I might as well include whatever I can fit in. Oh yeah, and thanks for the heads up DJ! I knew there was a problem yesterday, but I thought it would have worked itself out. I'll make a quick program to enable and disable low color mode so you can see low color mode for yourself. By basic I just mean 8 basic colors, enough to plot and use the calc as a calc, but probably not enough for game graphics. A light blue would appear just white or blue depending on which color it is closer to.

However, I could make it into an asm program and use self modifying code to reduce the code size to next to nothing! There's a lot of copying and pasting going on for each separate column. But then it wouldn't have the perks of an app.
Title: Re: TI84+C Buttonz
Post by: Streetwalrus on July 10, 2013, 06:02:20 pm
That's why I suggested the light version to be a standalone program. ;)
Edit : I posted before you edit.
Title: Re: Re: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 10, 2013, 06:12:05 pm
Streetwalker, an app *has* to take up at least 16,384 bytes (and in $4000 byte multiples after that) even if your code is just 3 bytes! There's no way of getting around it, so I might as well include whatever I can fit in. Oh yeah, and thanks for the heads up DJ! I knew there was a problem yesterday, but I thought it would have worked itself out. I'll make a quick program to enable and disable low color mode so you can see low color mode for yourself. By basic I just mean 8 basic colors, enough to plot and use the calc as a calc, but probably not enough for game graphics. A light blue would appear just white or blue depending on which color it is closer to.

However, I could make it into an asm program and use self modifying code to reduce the code size to next to nothing! There's a lot of copying and pasting going on for each separate column. But then it wouldn't have the perks of an app.
i guess smc could be used to make it harder to lose your highscores.
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 10, 2013, 09:38:46 pm
Yeah Streetwalker, I edited it right after I wrote it  ;D Actually it started off as a program and I remembered I was going that route, but with IViewer, as a program, it originally wrote the the bit mode bits back and when I made it an app I completely forgot about it and it took me a while to find the bug! I wasn't about to make that mistake when doing Buttonz though! Buttonz could be a program but with over 3.5 million bytes I'm sure people can spare 10K! And the best part about apps is I don't have to worry about RAM Clears. I have this program I wrote in BASIC that I have wrote 3 times (not that big of a deal but annoying as hell) on my regular 84+ because of the RAM. They should have an auto arc/unarchive function for BASIC programs.

And DJ here is a small program to set/reset Low Color Mode. I used the worst color example possible because Light Blue happens to be one of the 8 colors! However Brown is Red, Orange is Yellow and most of the Grays are White.
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 11, 2013, 01:05:39 am
Yeah at least on the Nspire when the calc crashes, you don't lose anything and on Casio calcs I think you only lose stuff updated after the last time you turned the calc OFF.

Also thanks for the program, I'll check it out later :)
Title: Re: TI84+C Buttonz
Post by: Streetwalrus on July 11, 2013, 01:13:20 am
Yeah I agree that you have a point with the fact that the CSE has a lot of memory.

I have this program I wrote in BASIC that I have wrote 3 times (not that big of a deal but annoying as hell) on my regular 84+ because of the RAM. They should have an auto arc/unarchive function for BASIC programs.
zStart does it for the regular 84+ but thepenguin is not planning CSE support unfortunately.
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 18, 2013, 12:26:32 am
Buttonz v1.5 is released.

Updates:
    Screen flashes if you hit the center of a block
    High scores are auto archived on app exit
    Bug fix during unarchiving
    HW2 int changed to HW1
    2nd button increases level up to 10
    Increased points at higher levels
    Low color mode used to conserve battery
    Levels increase faster
    Max speed at level 15
    Highest level reached displayed with high score

Thanks adriweb, Sorunome, Keoni29, Hayleia, DrDnar, DJ Omnimaga, Xeda112358, Streetwalker, tr1p1ea and Runer112 for your comments and suggestions actually...

Modified the first screen:
(http://briandm82.com/wp-content/uploads/2013/07/IMAG0028.jpg)
Title: Re: TI84+C Buttonz
Post by: tr1p1ea on July 18, 2013, 12:35:14 am
Nice work AssemblyBandit! the low color mode is clever. It would be interesting to see what the % difference is as far as battery usage goes.
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 18, 2013, 01:42:58 am
Thanks! I couldn't find exactly how much power is saved using low color mode, but it is labeled as a power saving function. I'm assuming it bypasses the fine tuning resistors, not exactly sure though, the datasheet (or my reading!) isn't too precise.
Title: Re: TI84+C Buttonz
Post by: Streetwalrus on July 18, 2013, 01:46:35 am
Thanks adriweb, Sorunome, Keoni29, Hayleia, DrDnar, DJ Omnimaga, Xeda112358, Streetwalker, tr1p1ea and Runer112 for your comments and suggestions actually...

Modified the first screen:
(http://briandm82.com/wp-content/uploads/2013/07/IMAG0028.jpg)
Thanks for that actually, even though I haven't been able to test it. :)
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 18, 2013, 01:50:27 am
 I'm just hoping no one gets upset! ;D
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 18, 2013, 02:20:49 am
Awesome update! I noticed that levels didn't update fast in the previous version so I kinda gave up after a while. :P Also it's nice to know when we hit the block in the center, since it was hard to tell before.

EDIT: I don't see any actual flashing ??? (bug?)

Also the low color mode appears to not use all BASIC colors because I ran some program and a lot of them displayed differently. In that mode, it almost looks like the Casio PRIZM.

Another bug report: The game doesn't retain my contrast settings, so when I exit, I have to set it again or turn OFF the calc to reset the contrast to my original settings. Another thing is that the highscores still don't auto-archive on exit.

Also what are HW1 and 2? ???
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 18, 2013, 01:26:15 pm
Ha Ha! Oh man Omni! I really hope your still using the old version! I probably should have pointed out that it still hasn't been accepted on ticalc yet, right now you can get it from my blog http://briandm82.com/?ddownload=265

Hopefully that should fix most of the problems ;) I will fix the contrast bug (it's because I turn off the backlight and it resets and I don't pay attention, never change my contrast, and do a very poor/lazy job at bug testing)



When you run v1.5 it will delete the old high score table (because this calculates points different along with level) and you will see the screen I posted above. The high score table will now display the level you made it up to.

It's definitely better than the old version, the levels use to drag on and if you lost you probably didn't want to restart from the beginning. I would have to watch the bonus level to see when it went up. Now you can skip levels to try to get back where you were.

The low color mode in the game only exists during the game, on exit the LCD settings are reverted to exactly the way they were before the game started. If you were referring to that low color program I made, run it again to turn low color mode off. With the low color mode, edit a basic program and go to colors to see exactly how they change. It's really a toss up between colors and some extra battery life. Maybe keep low color mode on while your adding numbers and stuff but if your going to play a game be sure to shut if off unless the game looks good with a lower color count. Again, I don't know how much battery life it saves, but if you want maximum run time per charge, enable low color mode and cut off or turn down the contrast. In Buttonz, low color mode doesn't take away any colors so I might as well enable it. The screen flashing part of the game is just the colors being reversed temporarily.

Thanks for pointing the contrast reset out!!!!!!!!! Will be fixed immediately!!!!!! So far you found three bugs!!! One you probably didn't know, but your suggestion on archiving the variable pointed it out! From now on, I'll probably send you versions privately first ;)

HW1 and HW2 are two different interrupts, HW2 runs faster but when I was testing it on the oscilloscope I noticed sometimes it would run erratically. That's just my calc though, it goes through a lot of abuse like random values being thrown at a port. (But a reset always fixes everything, nobody should be afraid to do some testing :)) Hw1 goes slower but fast enough. Here's what it looks like when I pulse a line with it:

(http://briandm82.com/wp-content/uploads/2013/07/HW1.jpg)
Title: Re: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 18, 2013, 05:27:55 pm
Yeah I downloaded it directly from your blog last night (I had a very hard time finding it too) so maybe you forgot to update the link there then?
Title: Re: TI84+C Buttonz
Post by: AssemblyBandit on July 18, 2013, 05:45:24 pm
Oh no, what happens is it caches the page when someone visits, I need to reset that I think. Im going to do it right now and I just uploaded v1.5.1 which will address the contrast reset. It basically just skips turning the backlight off. Sorry DJ, that caching sucks, but it helps the pages load faster. I'll keep that in mind when I update from now on. I hope it works, open Buttonz.asm with a text editor and verify it reads Buttonz v1.5.1 if possible.
Title: Re: TI84+C Buttonz
Post by: DJ Omnimaga on July 18, 2013, 09:49:09 pm
No problem. :P Hosting can be a big issue because better hosting costs more money. Omni, for example, is a little slower than it used to be because the staff just can't afford something better while still being able to organize contests, and there are even volunteers who provide separate hosting for stuff like OmnomIRC just so that it won't slow down Omni server.

I'll check the new version soon :)

EDIT: Tried it and works pretty well :D. Nice job