1) I take this idea from Virtualbox Non-OSE, in which they forced you to read the license agreement by making you scroll ALL the way down before enabling the "Accept" button. This assumes that the ToS is inside a mini text box (or a scrollable DIV). However, some may know the trick, so an additional thing to tack on is a time limit, as well as a scroll rate detection. This depends on Javascript though, which leads me to the next idea:
2) Reading captchas! Basically, there's an image containing text hidden somewhere in the page. I got this idea from a free web host that really wanted its users to read the ToS, and hid an image somewhere. It's really random, but it's very effective as well. Basically, when the user searches for the image, they are pretty much forced to read it as well.
Personally, I would implement #2 or both, since #2 doesn't depend on Javascript. For my choice of both, I say that because using Omnimaga sans Javascript != good experience, so you might as well do both.
I'm going to assume that you've backed up everything already. If not, do it! (I mean EVERYTHING - including archived programs, apps, etc. and app vars if you are using Axe Parser's backup feature.)
Then, clear your ENTIRE memory. Usually, something screws up in the archive portion, so core parts of the calculator stop working or act very quirky. Once that's done, transfer 2.43 over and hopefully it'll work.
Speaking of good design, I'd like to suggest a few things:
* For selecting, use BOTH 2nd and Enter. That way, you don't have any crazy confusion. * For info screens (like "High score!", etc.) 2nd, Enter, AND Clear. I've ran into games that would seem to use 2nd to continue on, but I end up having to press some other weird button to continue on, almost thinking that I've crashed! The same applies to the above suggestion. * AxesOff and AxesOn is a must, as well as FnOff. For the first part, not everyone turns off their graph axes, nor should you assume that they know how. DO IT! For FnOff, no one wants to see a graph of y=x^2 unless you are making a quad solver (in which there are thousands, mind you ). As for FnOn... beware that it *might* cause a graph to be drawn (if there is one). I'm not too nimble on preventing that, so you're on your own. (You can try my code below though to see if my guessing works!)
For those BASIC programmers out there, here's what I do every time:
ClrHome FnOff AxesOff ClrDraw "You're done! Have fun coding! :) "(code goes here) "OK, time to give the user their graph back! ClrDraw AxesOn ClrHome FnOn ClrHome For FnOn, beware that FnOn turns all of the functions on. You may wish to add "1" to the end of FnOn. The code snipplet above is designed to (hopefully) prevent the user from seeing the graph, and therefore hiding the fact that you're using that place to draw.
As for Axe programmers - although this doesn't apply to you, I've seen some programs that have forgotten to ClrHome and ClrDraw! Unless you do an interesting homescreen transition (I have done and loved that a LOT, but most of the time if it isn't needed, don't do it), you should ClrHome. Finally, ClrDraw might be "corrupted" - some other program may have made a mess in there, or like some shells, leave the screen in the buffer. Erase it! ClrDraw^r is also a must if you use the backbuffer as well. * Mental tip: never assume that the user will be like you, nor will they be as smart as you! All of the above stuff basically follows this rule! If you are deviating from the standard keyset, etc., include help inside the game. Give really simple directions, keymaps like "2nd to jump!" and "Clear to exit!". This will ensure wide acceptance and enjoyability of your game! * Mental tip #2: never assume your environment is the same as your target user's environment! This pretty much encompasses everything above, but I thought to mention it if you already haven't realized it.
If there's anything that I've gotten wrong, feel free to correct me. I haven't done any serious BASIC game dev in quite a while... (Especially those involving the graph screen!) I think this topic should be stickied; it would be very useful to new and existing BASIC/Axe devs.
As you might have heard or seen a little while ago, I've created a little mess. Yup, that was all me, and I apologize to everyone. including KermM and DJ_O, for the mistake. I'm not in a very good mood, and my head wasn't straight at the time. I was very rude to you guys, and that was wrong of me. The only thing I would appreciate from before was if KermM/Merth would make it more clear what they were doing. But, the past is the past, and it cannot be erased; only atoned.
That said, I will be departing this community (Omni and Cemetech) indefinitely. My decision is final in this matter - it does have to do a little bit with the incident I've caused, but it also has to do with.... Lent!* (You might now know when "indefinitely" is.) I'm giving up something, and that something is going to this and the other forums every day. It's almost like an addiction if you think about it.
So what does that mean? From now to the end of my spring break, I will be abstaining from going to this site, nor #omnimaga or #cemetech. IRC is my other thing that I need to avoid, so I will limit myself to Friday/weekend only visits on my chan, #thebot.
Does that mean I've thrown Omnimaga and Cemetech out of the window for good? NO! I'll be back in time to release my secret project that I'll be working on while I'm gone.
What does this mean? It means I'll have to depend on the monthly newsletter for major project updates and calculator community news (which I love, btw). I will come to this site just to download beta or finished projects, but nothing else. It also means that any contact with me will have to be via Facebook or email. (You may obtain them via email/PM.) I wil NOT answer any PMs sent to me unless I know your email already, in which I will respond by email.
Sounds pretty reclusive? Yup - gotta kill the addiction and take some time off due to what has happened. I’m downloading all the available Axe routines and programs as we speak.
No worries - I’m still working on calculator programs, and eager to assist in web/PC/calc projects, but will be off Omni/Ceme/IRC for a bit. And as I’ve said, I’ll be back! (If not, it’s either because I’ve decided to permanently leave, or I’m busy at the time - more likely the latter.)
That said, here are some final announcements I’d like to make before I go *poof*:
withg.us.to Remember this site? Yup - it’s a fun haven for developers and users alike! Two things: 1) This site will go down for maintenance on Friday due to speed issues. (Frankly, my VPS provider gave me 2 cores of 0.977 GHz, which as everyone knows, 2 slow processors still means slow!) After the minor maintenance, the server should be MUCH faster. 2) This site is soon gaining more abilities, like bot/daemon management, VNC (remote desktop), and more! However, I’m running out of money! I drop around $13/month for this service. It seems cheap at first, but then you realize eventually that you’re going to be out of money! Simply put, I’ve paid 5 months X $13/month =.... $65! O_O And now my money is getting dry. For those who use my server a LOT (you know who you are ), please donate!
On the home page (http://withg.us.to/), there is a ChipIn widget that lets you contribute to me. However, it says $18. Why? If the donation amount reaches $18+ (and is sustained every month), I can upgrade to a 768 MB RAM server, making things a lot more faster. Otherwise, the minimum amount is $13 by next month.
wxWabbitemu Remember this project? Yup, it’s being rejuvenated as we speak! I’ve “hired” Juju to be my help dev, which will definitely speed things up. (No worries Buckeye, you’re still needed to implement that image based keypad... ) However, we’re still looking for budding C/C++ developers! If you are skilled in C/C++, please join us! Our project is FOSS, so it’s a non-committal code contribution basis. wxWidgets and Linux dev/usage experience is a major PLUS.
Secret Project(s??) Ahh yes, don’t forget about that! (It’s a secret/They are secrets), so don’t bother asking what (it is/they are). If everything goes well, I’ll release a beta when I come back. If things go extremely well, I’ll release a surprise final version when I’m back. While I’m gone, I’ll be depending on some Axe/ASM friends for help.
That’s all! With that said, I’m off.** Albert
*Lent doesn’t necessarily mean just Catholic, since other denominations of Christianity follow it. That explanation, however, is out of the scope of this topic, and probably the forum itself. **I’ll be off for tonight, since I have projects and HW to focus on, but feel free to reply. I will respond to the replies for a final time tomorrow, and will be on my way.
If you are in a tl;dr state, don't read this at all. My explanation should be read in full, although you can skim the IRC logs as necessary. If you skim my explanation though, the end result is going to be misunderstanding. Find some other time that you can allot, and then read this.
Finally, this is one of those "blind" posts - I haven't looked at any replies - just taken what I know and putting it into this post. Therefore, this post may seem out of context.
Spoiler For "Hidden because it's seriously big. Probably the biggest text-only post here. Only open when you're ready to read.":
Before I begin, let me start by saying I apologize if I've insulted anyone. If you know me, you'd know me as a happy go lucky person. If you know me more personally, you'd know that I'm sometimes upset, but usually happy. If you really knew me, you'd know I'm not in a very good mood - ever. Sure, I might toss thousands of happy faces all over my posts, but like many literary works, the happy masks the darker side of things. The reasons of my unhappiness is too personal to go into, and that's saved only to real life people, and occasionally online people. That dark side won't go away unless a godsend happens, which I still wait for patiently. Miracles do happen - you just have to be patient.
Now with a (hopefully/somewhat) cool head, let's begin the post. As I've said above, I apologize to anyone I've insulted. However, I will not apologize to KermM... yet. I still believe my POV is correct, and if you guys could read it with a neutral view, I would greatly appreciate it. I don't attack people unless there is a wrong that I see, and even so, I usually keep my mouth shut unless it has really pissed me off. Obviously, this was one of those times. If it is found that I am in the wrong, I misassumed, etc., I will apologize.
So, here goes the explanation. Before you begin, clear yourselves of any prejudice, past, and knowledge of the people involved, including me. Ignore my good side or bad side, and others as well. Once you are POSITIVE that you have done that, continue reading. Otherwise, don't until you are 100% neutral.
I will be quoting from my IRC logs while explaining.
So how did this get started? Fishbot (Qwerty) started the chan and announced it in #omnimaga:
Mar 06 15:45:59 <Pearfish>Graph, please join #prizm on EFnet. Mar 06 15:46:10 <SirCmpwn>back Mar 06 15:46:11 *Netham46 has quit (Read error: Connection reset by peer) Mar 06 15:46:17 <alberthro>ohh, I wanna join :P Mar 06 15:46:24 <Pearfish>Okay, go ahead. Mar 06 15:46:24 *Netham46 ([email protected]) has joined #omnimaga Mar 06 15:46:24 *Netbot45 gives channel operator status to Netham46 Mar 06 15:46:25 <Netbot45>[Netham46] Narf! Mar 06 15:47:19 *Pearfish is now known as Fishbot Mar 06 15:47:23 *Banana is now known as JosJuiceI've left the other parts so that you can see that Pearfish = Fishbot.
Mar 06 15:46:20 *Now talking on #prizm Mar 06 15:46:51 *Souvik ([email protected]) has joined #prizm Mar 06 15:46:54 *grphmstur ([email protected]) has joined #prizm Mar 06 15:46:58 *Banana ([email protected]) has joined #prizm Mar 06 15:47:00 <Pearfish>Hey everyone. Mar 06 15:47:03 <Souvik>hi Mar 06 15:47:03 <Banana>Hi Mar 06 15:47:05 <alberthro>hi Mar 06 15:47:05 <grphmstur>hi Mar 06 15:47:10 <grphmstur>!op Mar 06 15:47:12 <alberthro>4 his :D Mar 06 15:47:13 <grphmstur>no bots Mar 06 15:47:16 *KermM_ ([email protected]) has joined #prizm Mar 06 15:47:19 *Pearfish is now known as Fishbot Mar 06 15:47:20 <grphmstur>okay, so discussion? Mar 06 15:47:22 <KermM_>Hi cool peeps Mar 06 15:47:23 *Banana is now known as JosJuice Mar 06 15:47:29 <Fishbot>Yeah, about the Prizm/CX thing. After a little bit... Melisma appeared.
Mar 06 15:47:45 <Fishbot>Thanks. Mar 06 15:47:52 <Fishbot>Let's face it, though. Mar 06 15:48:00 *Netham45 ([email protected]) has joined #prizm Mar 06 15:48:04 <Fishbot>While TI should be more supportive of the community, they aren't. Mar 06 15:48:08 *Melisma ([email protected]) has joined #prizm Mar 06 15:48:15 <JosJuice>Melisma? D: Mar 06 15:48:17 <KermM_>Fishbot, agreed Mar 06 15:48:17 <grphmstur>bot After a bit, I brought my bot, MrAtom, into the chan.
Mar 06 15:48:22 <Fishbot>But Casio also isn't going to get the widespread distribution of TI. Mar 06 15:48:22 *Merth ([email protected]) has joined #prizm Mar 06 15:48:23 *MrAtom ([email protected]) has joined #prizm Mar 06 15:48:25 <grphmstur>Fishbot, agreed Mar 06 15:48:31 <grphmstur>this is true KermM_ Mar 06 15:48:33 <alberthro>We need serious promotion. Mar 06 15:48:40 <grphmstur>okay, this isn't a bot place alberthro Mar 06 15:48:43 <grphmstur>#thebot is. Mar 06 15:48:45 <Fishbot>Even that won't be enough. Mar 06 15:48:47 <alberthro>Melisma is a bot :P Mar 06 15:48:57 <grphmstur>I know, but we don't need MrAtom Mar 06 15:48:57 <KermM_>Melisma is a channel reservation bot :P Mar 06 15:49:01 <Fishbot>I think we need interoperability. Mar 06 15:49:05 <grphmstur>I see KermM_ Mar 06 15:49:10 *Juju ([email protected]) has joined #prizm Mar 06 15:49:10 <alberthro>KermM_: mine is too :P Mar 06 15:49:14 <KermM_>Fishbot, therefore, we need to tell TI we're pissed, and teachers that TI is failing us Mar 06 15:49:16 <grphmstur>well, fishbot's the only one opped here, so Fishbot, op Melisma Mar 06 15:49:23 <grphmstur>agreed KermM_ Mar 06 15:49:24 <alberthro>...and MrAtom :P Mar 06 15:49:26 <Fishbot>!op Melisma Mar 06 15:49:26 <Juju>lol Mar 06 15:49:34 <Fishbot>Can't :p Mar 06 15:49:35 <JosJuice>no, Fishbot :P Mar 06 15:49:37 <grphmstur>but for the most part, TI has no interest in us. Mar 06 15:49:38 <KermM_>Fishbot, you can't !op when you're the only op :P Mar 06 15:49:39 <Netham45>Fishbot, you have to do /mode #prizm +o Melisma Mar 06 15:49:43 <Souvik>do /op Mar 06 15:49:47 <alberthro>Anyway, we have to define our focus. Mar 06 15:49:49 *Fishbot gives channel operator status to Melisma Mar 06 15:49:54 *Melisma sets mode +s #prizm Mar 06 15:49:54 <KermM_>thanks Fishbot Mar 06 15:49:59 *Fishbot gives channel operator status to MrAtom Mar 06 15:50:01 <grphmstur>wait, does Melisma always secret rooms? Mar 06 15:50:03 <grphmstur>!op Mar 06 15:50:09 <Netham45>It's a good idea to secret them Mar 06 15:50:13 <Netham45>efnet gets alot of spambotsAfter a bit of discussion, both bots were accepted.
The actual CX vs. Prizm discussion ensued, with quite a few ideas tossed around. Afterwards, KermM_ and JosJuice left the discussion:
Mar 06 16:07:40 <KermM_>Anyway, I need to get back to work on my homework Mar 06 16:07:40 <grphmstur>awesome. Mar 06 16:07:44 <grphmstur>cya KermM_ Mar 06 16:07:48 <Fishbot>Bye KermM_ Mar 06 16:07:55 <Souvik>cya KermM_ Mar 06 16:07:59 <Netham45>c-c-c-combo breaker Mar 06 16:08:03 <KermM_>I hope you guys will copy out the gist of your thoughts in the Cemetech CX/Prizm topic :) Mar 06 16:08:14 <Fishbot>graph, I think we need to get Casio behind us. Mar 06 16:08:18 <Fishbot>Sure Kerm. Mar 06 16:08:19 <JosJuice>I'm going to bed now. Be back tomorrow GMT Mar 06 16:08:21 *JosJuice ([email protected]) has left #prizm After a bit, I asked Fishbot/Qwerty for permission to become op, and added a topic to the chan:
Mar 06 16:12:14 <alberthro>Fishbot: can I do something really quick? :) Mar 06 16:12:21 <Fishbot>Sure. Mar 06 16:12:24 <alberthro>?op Mar 06 16:12:25 *MrAtom gives channel operator status to alberthro Mar 06 16:12:27 *alberthro has changed the topic to: #prizm | PRIZM discussion occurs here! :) Mar 06 16:12:33 <alberthro>?deop Mar 06 16:12:34 *MrAtom removes channel operator status from alberthro Mar 06 16:12:39 <alberthro>I hate being op :P Mar 06 16:12:44 <Fishbot>It's a chan now? Mar 06 16:12:53 <alberthro>well, might as well be :) Mar 06 16:13:10 <alberthro>Most discussion will probably happen in #omnimaga tho Mar 06 16:13:16 <Fishbot>Yeah. Mar 06 16:13:23 <Fishbot>But it's good for meetings and stuff. Mar 06 16:14:15 <Fishbot>Thanks alberthro Mar 06 16:14:21 <alberthro>np :) Mar 06 16:14:39 <alberthro>(even tho I have no idea what I'm thanked for :P) Mar 06 16:14:47 <Fishbot>:p Fishbot then asked how to change the topic:
Mar 06 16:15:09 <Fishbot>How do I change the topic? Mar 06 16:15:13 <qazz42>ohai Mar 06 16:15:18 <grphmstur>"/topic" Mar 06 16:15:18 <Fishbot>Hi Mar 06 16:15:25 <alberthro>"/topic topic" Mar 06 16:15:34 *Fishbot has changed the topic to: Fishbot rulz Mar 06 16:15:39 <Fishbot>:p Mar 06 16:15:41 <alberthro>lol :P Mar 06 16:15:52 <qazz42>!topic Casio > TI Mar 06 16:15:56 *qazz42 has changed the topic to: Casio > TI Mar 06 16:16:05 *grphmstur has changed the topic to: "#prizm | PRIZM discussion occurs here! ;-)" Mar 06 16:16:06 <alberthro>how in the world? :P Mar 06 16:16:08 <qazz42>heheheh Mar 06 16:16:11 <KermM_>!t Prizm | Discussing the Casio Prizm | See also http://www.cemetech.net/news.php?id=443 Mar 06 16:16:16 *Fishbot has changed the topic to: Discussion of Prizm hacking, cracking, and random stuff. Mar 06 16:16:16 <grphmstur>err. Mar 06 16:16:23 <KermM_>dammit melisma Mar 06 16:16:24 <Fishbot>Okay, enough topic spam.[/quote] This is where I got slightly concerned - why was a Cemetech link here? The discussion has nothing to do with Cemetech. I looked at the link tho, and saw that it was about the open letter to TI. With that, I safely disregarded it.
Some others messing with bots: [code]Mar 06 16:17:59 <Fishbot>Okay, enough bots. Mar 06 16:18:06 <qazz42>just to be sure Mar 06 16:18:07 *grphmstur turns on his server.... Mar 06 16:18:08 <alberthro>lol :P Mar 06 16:18:10 <qazz42>$roulette Mar 06 16:18:10 <qazzbot>qazz42: *click* Mar 06 16:18:19 *Melisma gives voice to KermM_ Mar 06 16:18:20 <grphmstur>okay, kick all bots. Mar 06 16:18:20 <qazz42>hmm, I forgot about that :D Mar 06 16:18:24 <grphmstur>except melisma Mar 06 16:18:29 <Fishbot>!voiceall Mar 06 16:18:30 <grphmstur>do it in #thebot, not here. Mar 06 16:18:32 <alberthro>if it's to keep the chan alive, that's ok. But bot spam goes to #thebot, not here. :) Mar 06 16:18:32 <qazz42>$part Mar 06 16:18:32 *qazzbot ([email protected]) has left #prizm (qazz42) Mar 06 16:18:36 <grphmstur>I'm about to start kicking. Mar 06 16:18:39 <KermM_>!t Prizm | Discussing the Casio Prizm | See also http://www.cemetech.net/news.php?id=443 Mar 06 16:18:41 <grphmstur>thank you alberhtro Mar 06 16:18:47 <qazz42>Errr, wha? Mar 06 16:18:48 <KermM_>grr, I thought I got the flags right. Mar 06 16:18:48 <grphmstur>KermM_: I've already changed the topic Mar 06 16:18:53 <qazz42>sooo Mar 06 16:18:56 <KermM_>grphmstur, I just want to make sure we can all to !t Mar 06 16:19:03 <grphmstur>okay... Mar 06 16:19:08 <grphmstur>anyway. Mar 06 16:19:10 <grphmstur>back on topic.I got a little more concerned, seeing that KermM gave voice to himself, and still trying to set the topic... even after it was set.
After a bit, I cycled my IRC connection, due to some minor issues with the internet:
Mar 06 16:25:07 <alberthro>cycling Xchat, brb Mar 06 16:25:08 <grphmstur>anyway, back on what was a topic. Mar 06 16:25:10 *Disconnected (). **** ENDING LOGGING AT Sun Mar 6 16:25:10 2011
**** BEGIN LOGGING AT Sun Mar 6 16:25:26 2011
Mar 06 16:25:26 *Now talking on #prizm Mar 06 16:25:26 *Topic for #prizm is: Prizm | Discussing the Casio Prizm | See also http://www.cemetech.net/news.php?id=443 Mar 06 16:25:26 *Topic for #prizm set by [email protected] at Sun Mar 6 16:16:37 2011 Mar 06 16:25:27 *MrAtom gives channel operator status to alberthro After a quick cycle, bot control was needed, and so I added that in for Fishbot:
Mar 06 16:25:28 <uTanner>Discussing the Casio Prizm Mar 06 16:25:28 <grphmstur>okay, when alberthro gets back, just kick him. Mar 06 16:25:29 <grphmstur>gah Mar 06 16:25:36 <alberthro>:P Mar 06 16:25:37 <uTanner>Let's do that :) Mar 06 16:25:49 <grphmstur>I actually waited until he got back on, but whatevs. Mar 06 16:25:55 <Fishbot>?deop alberthro Mar 06 16:26:04 <alberthro>oh, I'm an op again :D Mar 06 16:26:04 <grphmstur>doesn't work that way. Mar 06 16:26:05 <Fishbot>?op Mar 06 16:26:09 <alberthro>?deop alberthro Mar 06 16:26:10 *MrAtom removes channel operator status from alberthro Mar 06 16:26:21 *grphmstur gives channel operator status to alberthro Mar 06 16:26:24 <Fishbot>?deop alberthro Mar 06 16:26:27 <alberthro>Fishbot: you need bot admin privs. can get that to you in a sec :) Mar 06 16:26:28 *grphmstur removes channel operator status from alberthro Mar 06 16:26:34 <alberthro>grphmstur: :P Mar 06 16:26:36 <Fishbot>Thanks :) Mar 06 16:26:40 <grphmstur>?op Fishbot Mar 06 16:26:40 *MrAtom gives channel operator status to Fishbot Mar 06 16:26:46 <grphmstur>close enough atm. Mar 06 16:26:55 <grphmstur>even though you were already op... Mar 06 16:27:03 <Fishbot>?deop grphmstur Mar 06 16:27:04 <alberthro>who else wants bot control? :P Mar 06 16:27:08 <Fishbot>>.< Mar 06 16:27:14 <Fishbot>:p Mar 06 16:27:18 <grphmstur>nic try Fishbot Mar 06 16:27:18 *MrAtom has quit (Read error: Connection reset by peer) Mar 06 16:27:23 <grphmstur>he has to reset it. Mar 06 16:27:30 <Fishbot>O.o Mar 06 16:27:38 *Fishbot will be victorious. After adding, he was able to be opped by my bot:
Mar 06 16:29:48 <Fishbot>?op Mar 06 16:29:57 *MrAtom gives channel operator status to Fishbot Mar 06 16:29:57 <grphmstur>?deop Fishbot Mar 06 16:29:57 *MrAtom removes channel operator status from Fishbot Mar 06 16:29:57 <Fishbot>?op Mar 06 16:29:57 *MrAtom gives channel operator status to Fishbot Mar 06 16:29:58 <grphmstur>?deop MrAtom Mar 06 16:29:58 *MrAtom removes channel operator status from MrAtom Mar 06 16:30:02 <Fishbot>?op Mar 06 16:30:02 <grphmstur>?op MrAtom Mar 06 16:30:11 <grphmstur>oh, MrAtom can't op himself? Mar 06 16:30:13 <alberthro>bot suicide != fun :P Mar 06 16:30:16 *Fishbot gives channel operator status to MrAtom I went to fix the bug, and add a topic command as well:
Mar 06 16:37:42 *MrAtom gives channel operator status to AtomASM Mar 06 16:37:49 <Fishbot>grr... Mar 06 16:37:51 <alberthro>just so that things are a bit smoother :P Mar 06 16:38:06 <alberthro>anyway, ?deop doesn't work on itself, and there's a topic command. :) Mar 06 16:38:11 <alberthro>?deop MrAtom Mar 06 16:38:15 <alberthro>see? :) Mar 06 16:38:22 <alberthro>and: Mar 06 16:38:23 <Fishbot>?op Mar 06 16:38:24 *MrAtom gives channel operator status to Fishbot Mar 06 16:38:27 <alberthro>?topic Prizm | Discussing the Casio Prizm | See also http://www.cemetech.net/news.php?id=443 Mar 06 16:38:28 *MrAtom has changed the topic to: Prizm Mar 06 16:38:35 <alberthro>err Apparently that didn't work out too well, so I quickly fixed that, and it worked:
Mar 06 16:42:17 <alberthro>?topic Prizm | Discussing the Casio Prizm | See also http://www.cemetech.net/news.php?id=443 Mar 06 16:42:18 *MrAtom has changed the topic to: Prizm | Discussing the Casio Prizm | See also http://www.cemetech.net/news.php?id=443 Mar 06 16:42:21 <grphmstur>?op Melisma Mar 06 16:42:22 *MrAtom gives channel operator status to Melisma Mar 06 16:42:27 <grphmstur>was that all? Mar 06 16:42:28 <grphmstur>mmk Mar 06 16:42:30 <alberthro>yup :) Mar 06 16:42:37 <alberthro>also, ?topic can be substituted with ?t Mar 06 16:42:42 <alberthro>?t Prizm | Discussing the Casio Prizm | See also http://www.cemetech.net/news.php?id=443 Mar 06 16:42:43 *MrAtom has changed the topic to: Prizm | Discussing the Casio Prizm | See also http://www.cemetech.net/news.php?id=443 Mar 06 16:43:01 <alberthro>ok, back to Prizm discussion :P After a bit, graphmastur/grphmstur disappeared, and I have a mini convo with Fishbot/Qwerty. KermM joined the discussion.
Mar 06 16:43:19 <alberthro>is the Prizm fast enough for games and such? Mar 06 16:43:42 <grphmstur>probably Mar 06 16:43:45 <grphmstur>anyway, cya Mar 06 16:43:46 *grphmstur has quit (grphmstur) Mar 06 16:43:54 <qazz42>hey.. Mar 06 16:44:29 <alberthro>it's a mess :P Mar 06 16:44:36 <alberthro>but everything's back to normal :) Mar 06 16:47:30 <Fishbot>The Prizm is fast enough for games. Mar 06 16:48:15 <alberthro>Is the SH3 processor faster than the Z80 per MHz? Mar 06 16:48:30 <Fishbot>A heck of a lot faster. Mar 06 16:49:11 <Fishbot>z80 instructions take 2-3 clock cycles, the prizm takes 1 for most instructions. Mar 06 16:49:37 <alberthro>oh nice :D Mar 06 16:50:41 <alberthro>So how's the general GUI drawing on the PRIZM? Is it fast? (basically, it doesn't have the infamous vertical overdraw) Mar 06 16:50:58 <Fishbot>In BASIC? Mar 06 16:51:09 <alberthro>No, just navigating around in general. Mar 06 16:51:41 <Fishbot>There are some noticeable lags when changing screens in the app menu. Mar 06 16:51:46 <Fishbot>But it's otherwise fine. Mar 06 16:52:20 <alberthro>Ahh ok. By lag do you mean just a pause (no change on the screen), app icon loading, or the vertical overdraw? Mar 06 16:52:31 <Fishbot>Pause. Mar 06 16:53:22 <alberthro>That's good. I was worried it would do the thing that a touchscreen credit card terminal does. Mar 06 16:53:37 <Fishbot>Which is? Mar 06 16:54:12 <alberthro>Vertical overdraw - basically, the new screen would draw from top to bottom by row, and it's fast, but noticable. Mar 06 16:54:29 <Fishbot>Oh, it doesn't do that.\ Mar 06 16:54:46 <Fishbot>I think it might use a buffer. Mar 06 16:54:48 <alberthro>If it did, that would be pretty icky to sell on the market. :P Mar 06 16:54:51 <alberthro>Probably. Mar 06 16:55:06 <alberthro>Then the OS just tells the LCD controller to display that buffer. Mar 06 16:55:30 <Fishbot>But even if it doesn't, we can make a buffer. Mar 06 16:56:09 <Fishbot>We have a few MB of contiguous virtual RAM to use. Mar 06 16:56:23 <alberthro>ahh yes, I forgot about the 16 MB of RAM :) Mar 06 16:56:45 <Fishbot>2 MB RAM, a bazilllion MB virtual RAM. Mar 06 16:57:05 <alberthro>virtual RAM? O_O Mar 06 16:57:33 <Fishbot>Yeah, it does some fancy hardware stuff that gives you a ton of free RAM with fake addresses. Mar 06 16:58:04 <alberthro>hehe, but i don't think I could have 1 GB of virtual RAM tho :P Mar 06 16:58:12 <Fishbot>The physical RAM is located in different locations, but the virtual RAM has nice continuous addresses. Mar 06 16:58:24 <Fishbot>Actually, I think it's up to 4 GB virtual RAM :p Mar 06 16:58:29 <alberthro>lol :) Mar 06 16:58:34 <Fishbot>But the OS limits it way before that. Mar 06 16:58:46 <alberthro>what the difference between physical RAM and virtual RAM? Mar 06 16:58:49 <alberthro>*what's Mar 06 16:59:29 <Fishbot>Virtual RAM is a PITA to work with and doesn't grant much hardware access. Mar 06 17:00:12 <KermM_>Disagree Mar 06 17:00:13 <alberthro>sounds like a messy hack imo :P Mar 06 17:00:25 <Fishbot>It has its uses. Mar 06 17:00:25 <KermM_>Virtual addressing is a very valuable tool for segmentation Mar 06 17:00:35 <KermM_>and it's used by every single desktop and server OS out there Mar 06 17:00:50 <Fishbot>I know. It's very useful for some applications. Mar 06 17:00:51 <KermM_>every C program on windows, Mac OS X, and Linux executes in virtual memory Mar 06 17:01:02 <KermM_>*every single compiled program Mar 06 17:01:11 <Fishbot>But for my purposes on the Prizm, it's an annoyance. Mar 06 17:01:21 <KermM_>No, you're missing the scope, it's not useful for applications, it's useful for OSes and kernels Mar 06 17:01:37 <Fishbot>Applications as in purposes. Mar 06 17:01:38 <KermM_>Even the z80 does sorta-virtual addressing Mar 06 17:01:46 <KermM_>by running Apps at $4000 After a bit, Fishbot/Qwerty left:
Mar 06 17:14:17 <alberthro>seems like this chan is just bots and very quiet people :P Now this is the part where my minor concerns became vividly valid - 24 minutes later, KermM responds and proceeds to take over the chan with his bot, Melisma:
Mar 06 17:38:53 <KermM_>I am both. Mar 06 17:39:28 *Melisma gives channel operator status to KermM_ Mar 06 17:39:33 *KermM_ is now known as KermM Mar 06 17:39:43 *KermM removes channel operator status from MrAtom AtomASM Mar 06 17:39:50 *KermM removes channel operator status from KermM Mar 06 17:40:33 <alberthro>chan takeover, no? :P Mar 06 17:41:17 <KermM>Too many ops is bad. Mar 06 17:41:24 <KermM>Notice I deop'd myself too ;) Mar 06 17:41:38 <alberthro>meh :P at least have MrAtom op'd :P KermM then proceeds to bring another bot in:
Mar 06 17:42:24 *Ginsburg ([email protected]) has joined #prizm Mar 06 17:43:00 *Melisma gives channel operator status to Ginsburg Mar 06 17:43:01 *Ginsburg sets ban on *!*MALPBot@* Mar 06 17:43:01 *Ginsburg sets ban on [email protected] Mar 06 17:43:01 *Ginsburg sets ban on moko|log*!*mokomull@dsl-*.aei.ca Mar 06 17:43:23 <alberthro>...and I thought 1 op was enough? :P Mar 06 17:43:42 <Merth>What if one's connection drops? Mar 06 17:43:45 <KermM>You need two bots Mar 06 17:43:48 <KermM>For that reason ^ Mar 06 17:43:54 <KermM>But they have to be linked bots Mar 06 17:44:00 <KermM>So that they know to protect each other Mar 06 17:44:19 <alberthro>err.... AtomASM and MrAtom was those bots protecting each other. :P Mar 06 17:44:20 <KermM>they're also on different servers in case of netsplats. Mar 06 17:44:42 <alberthro>good point. Mar 06 17:45:22 <alberthro>still, no reason to deop MrAtom :PAfter about 2 minutes, I realized that he's never going to op MrAtom, my bot, so I told him that he should at least op Fishbot:
Mar 06 17:47:00 <alberthro>at least make FishBot op'able, since he's the one who started the chan. After 7 minutes, mib_lpszq joined the chan and revealed himself to be Fishbot:
Mar 06 17:54:31 *mib_lpszq ([email protected]) has joined #prizm Mar 06 17:54:55 <mib_lpszq>Whoa, is this that awesome prism channel? Mar 06 17:54:59 <alberthro>hello mysterious one :) Mar 06 17:55:18 <mib_lpszq>hiya Mar 06 17:55:24 <alberthro>indeed it is, although it has gone over an unauthorized takeover :P Mar 06 17:56:08 <mib_lpszq>I think that epic coder Qwerty would be annoyed Mar 06 17:56:10 *mib_lpszq is now known as Fishbot Mar 06 17:56:13 <Fishbot>:p Mar 06 17:56:23 <Fishbot>That obvious? Mar 06 17:56:34 <alberthro>lol :P Mar 06 17:57:52 <alberthro>should've deop'd Melisma :P Mar 06 17:58:49 <Fishbot>Darn it. Mar 06 17:59:36 <Fishbot>Thanks alberthro. Now here's the part where I really get pissed off - Merth interjects, and says that KermM can set up ops... even when he can probably op someone himself (with the new bots):
Mar 06 17:59:49 <Fishbot>I should be OPable, though... Mar 06 18:00:03 <Fishbot>!op Mar 06 18:00:05 <Merth>I'm sure KermM will set that up. Mar 06 18:00:08 <alberthro>Ehh.... if MrAtom is op'd, sure. Mar 06 18:00:28 <alberthro>Not otherwise.Then Merth makes a snark comment:
Mar 06 18:00:48 <Merth>Making it hostmask or nickname based is dangerous, Melisma uses a password, so it'a a little more secure. Mar 06 18:00:48 <Fishbot>?op Mar 06 18:01:17 <alberthro>bleh :P does that justify taking over the chan? I have another bot that does identification. Mar 06 18:01:33 <Fishbot>How many bots do you have? O.o Mar 06 18:02:23 <alberthro>Three. MrAtom is my main bot, AtomASM is MrAtom modified to compile Z80, and AaronBot is totally different code (supybot, with the identing). Meanwhile, KermM is mysteriously missing, probably giggling away at my failure to keep the chan secure...
I bring in the bot that supports identifying after adding Fishbot to the user database and granting him full control over it... and get another snarky comment from Mr. Merth:
Mar 06 18:07:06 *AaronBot ([email protected]) has joined #prizm Mar 06 18:07:38 <Merth>All your bots are on the same IP. Mar 06 18:07:58 <alberthro>Still not a reason for a takeover. Mar 06 18:08:09 <alberthro>I have multiple areas to put them, as needed.OK, so you're going to complain, and instead of offering a solution, sticking your own bots here and taking over? Sounds perfectly logical. [/sarcasm]
That was all. Of course, you guys probably know the rest - I complained in #omnimaga, wrote that in this topic, and then got into a fight with KermM. Interestingly enough, as I go through my logs, I saw this at the end while I was fighting with him:
Mar 06 19:09:50 *tev ([email protected]) has joined #prizm Mar 06 19:09:56 <qazz42>hai apcalc Mar 06 19:12:34 *FinaleTI ([email protected]) has joined #prizm Mar 06 19:14:03 <qazz42>sigh Mar 06 19:14:59 <KermM>hi apcalc, tev, FinaleTI :) Mar 06 19:15:09 <tev>Hi Mar 06 19:15:09 <FinaleTI>Hi guys. Mar 06 19:16:10 <brooom>Hey Mar 06 19:16:12 <brooom>:) Mar 06 19:16:34 *Disconnected (). **** ENDING LOGGING AT Sun Mar 6 19:16:34 2011This is probably not the best part of my argument/POV, but I will say that it seems KermM goes on to pretend to own the chan.
Now you see why I'm not quite happy with the situation that occurred yesterday.
In response to some critisizm: 1) I am not a troll. (Or at least I don't think I am one.) The definition of a troll (at least from what I know) is someone who starts or instigates a fight for no reason at all, and in most cases, enjoys it. I have reason for this fight, and it's the massive text above. I just ABHOR this kind of behavior. (Experience: there's a kid at my school who doesn't do crap, and copies from other people, and gets higher grades than me.) 2) I'm not trying to start an Omni vs. Cemetech war, nor am I ever going to do so. In fact, it's one of those knee-jerk reaction accusations that people use. Last time I checked, Omni and Ceme were not combined forums. If you're going to complain about THAT, you're just finding another excuse. In fact, #Prizm is not meant to side with anyone. Even I would disagree with adding any "Omni" bot. Rather, it should be pretty neutral - like #ti. There's no major community power over the chan - just simply good devs. KermM hasn't done much (if at all) to support the Prizm dev; why should he get ops? I will admit that I have a bit of bias for Omnimaga - it tends to nurture a much kinder environment, plus a lot of the Prizm development has occurred here. I respect KermM as a dev, but Fishbot is one of the people in the forefront who has done serious work, and he deserves the control.
Speaking of respect, let me pause a bit to talk about it, since there's some issues that have been happening recently. Respect is something you earn, not get for free. So why do people get more respect when they release programs? Simple - people now know the person as a serious developer, and as a result, can expect more awesome stuff, as well as assistence as needed = respect for the dev. This is the "skills" part of respect. The other part? The "social" side. If you helped someone recently, provided a good tutorial, said something logical and smart, you get respect. Why? You have shown that you are willing to help someone, and that they can depend on you for assistance. They also know that you have some sense, some serious logic, and kindness. This is why you get respect.
Bouncing back from my small tangent, posting a topic about Nspire CX vs. Prizm, and then posting a letter to TI doesn't entitle you to take over a chan. You haven't contributed anything to Prizm development at all - just some petty fight with TI that is very unlikely to be won. Respect from the TI community isn't going to automatically transfer over to the Prizm community - Z80 != SH3. Outside of the TI community, the other Prizm devs are going to treat you as a normal person, not someone who can help. If you want respect, earn it. Respect is not earned by hijacking a chan and slapping a Cemetech label on it. (Frankly, it's considered plagiarizm.) Respect is not earned with quick and dirty self-promotion or ego stroking tricks. It is earned by helping. Help the Prizm guys get stuff done. Help them hack away into the LCD controller, link port, and others. For me, I want to help these guys in anyway possible, whether I get respect or not. It's just the right thing to do.
Back to the discussion of the "control" - my thought was really to have no one person get ops or voice - in fact, "devolution" would occur - if the other Prizm hackers got on to #Prizm, they will get ops. 3) This is not about whose bot is better - this is about net ethics. No one in their sane mind would go deop everyone but an owned bot, and then refused to give ops to the proper owner. What's next - a saxjax in there too? We're talking about taking down a working system, and replacing it with something else. MrAtom was a temporary thing until I get my other bot, AaronBot, set up. Eventually, I would ask Fishbot/Qwerty to create an account on my server, and run a separate bot from there. (If you question my legitimacy with bots, you may ask other people who have used my server. I don't modify bots unless they ask me too.) It doesn't even have to be on my server! The bot doesn't have to be AtomBot - heck, it could even be a Java bot (pIRCbot, for instance). Again, it's all about ethics - is it right to hijack a chan? Take credit for something that you haven't done? Probably not. 4) As for myself, what will I contribute to the Prizm hacking? I would eventually assist them with porting their emulator (once it's done) to Linux, and potentially Mac. I would also help them with some slight promotional things, like GFX, website design, etc. I don't have any assembly background at all, so at this stage someone with good background, like KermM et al, can step in. This is why communities get things done faster - everyone pitches in to help. 5) Ownership/control is important. A leading hacker is needed to answer questions, provide accurate info, etc. to keep the chan going. The channel itself could be considered an icon of the whole community, and it's best that the people who power development represent it as well. That would be Qwerty et. al., not some pompom raiser sticking their name into everything they see.
In the end, what I'm trying to say is that I feel justified in my argument here. It's wrong, and even immoral in my opinion. Respect is key, and I feel that someone (KermM) is trying to earn it (and fame) by hijacking the chan. Omni doesn't qualify for this either - it has to be neutral. The chan should be owned by the developers, not my massive communities. Omni (and eventually Cemetech) can continue (and should continue) to provide a haven and development for the Prizm, but like the #ti, shouldn't be owning a chan dedicated to the Prizm - instead, it should be given control to serious developers (and people who the devs feel fit to be an op).
I don't believe in censorship, so I will release the entire log of #Prizm (up until my departure) to the public. I have not modified the file in any way - the timestamp remains at March 6th:
42K 2011-03-06 19:16 EFNet-#prizm.logIf you wish, you may check line by line and verify the legitimacy of the log. I have nothing to hide. The logs are located here: http://pastebin.com/msXZ16sr
Since this is truly uncensored, I will have to explain some things. You may see lines like this:
*#prizm :You're not channel operatorThis is either because I was trying to set the topic, or opened the Ban List in XChat2. (This apparently runs something that requires OP privs, which is pretty silly.)
If you end up agreeing with my argument here, I will be simply comforted by your understanding. If not (and you're NEUTRAL), I will also accept that. Perhaps I might be wrong, mistaken, etc., and that I may learn something if I'm wrong. (If this is the case, please explain clearly why this is the case.) If you don't agree because of trying to stick up to KermM (or become one), you should probably reread it without the prejudice. Just because his IQ's good doesn't mean his EQ is, and the EQ is usually the thing that makes people successful, not their IQ.
... and who thought it was appropriate? I'd be fine with it if it were someone like DJ, or a casio cracker. hopefully not some admin/moderator on another site.
whoever took over does not deserve a gold star. period.
Uhh, yeah. That's the issue here. Someone who hasn't done much Prizm dev (better yet, doesn't even own one at all) took over the chan. In case you didn't connect, KermM (who took over, as seen in the logs above) is the admin at Cemetech. Merth is a gmod at Cemetech.
Yeah, and pretty much after fudging around, it was stabilized. Unfortunately, someone (*cough* KermM *cough*) took the opportunity of having Melisma opped to take over the chan.
<alberthro> seems like this chan is just bots and very quiet people :P <KermM_> I am both. * Melisma gives channel operator status to KermM_ * KermM_ is now known as KermM * KermM removes channel operator status from MrAtom AtomASM * KermM removes channel operator status from KermM <alberthro> chan takeover, no? :P <KermM> Too many ops is bad. <KermM> Notice I deop'd myself too ;) <alberthro> meh :P at least have MrAtom op'd :P * Ginsburg ([email protected]) has joined #prizm * Melisma gives channel operator status to Ginsburg * Ginsburg sets ban on *!*MALPBot@* * Ginsburg sets ban on [email protected] * Ginsburg sets ban on moko|log*!*mokomull@dsl-*.aei.ca <alberthro> ...and I thought 1 op was enough? :P <Merth> What if one's connection drops? <KermM> You need two bots <KermM> For that reason ^ <KermM> But they have to be linked bots <KermM> So that they know to protect each other <alberthro> err.... AtomASM and MrAtom was those bots protecting each other. :P <KermM> they're also on different servers in case of netsplats. <alberthro> good point. <alberthro> still, no reason to deop MrAtom :P <alberthro> at least make FishBot op'able, since he's the one who started the chan....and if you're curious, Fishbot is still not an op (Fishbot = Qwerty.55)
Well, I suggest to begin with .org 40339, then explaining thing about the 40339 byte, then switch to hex, explaining everyone uses hex because it's easier, while explaining hex, then never talk of the decimal form again.
This is a good idea - you can even introduce it with this:
Quote
So you're coding away, and you start noticing this weird thing in other people's ASM programs:
.org $9D95...and you're wondering - WHAT IS THIS WEIRD THING? WHAT AM I DOING WRONG? Fortunately, you're doing nothing wrong - it's just .org $9D95 is the same as .org 40339!
This will definitely clear up any ASM beginner confusion
z80man: then that would defeat the point of Axe, which is to make a standalone program without a need for a big app. Besides, that has been done with MirageOS and Ion, in which both have built-in routines that can be called by the running prgm. What IS a possible idea is to get Axe to replace the internal routine with a call to the routine in the shell, which could reduce size for certain shells (specifically, MOS and DCS, since MOS covers quite a bit of the bases, and DCS covers both MOS and Ion). ============================================= This is a very interesting project - in fact, I'm working on a Axe CS too! I'm working on the low level drawing side of things right now - basically, prepping for the GUI stuff. (Workflow for me is Drawing => Prgm Listing (and reading possibly) => GUI => Prgm Execution) For you though, it looks like prgm listing is done for you! It won't have "Axe" inside the name, but "Axe" will be mentioned in the about and the README of the program. (It's not really focusing on "Axe", it's focusing on smallness, hence the special name I won't mention. )
If you are planning for MOS/DCS/Ion support (in which I highly recommend), you get to join me on an interesting journey! It seems easy enough to simply read the header to determine type, jump past it, and execute from there. That's all, right? Not quite, as I've learned from looking at a DCS wiki entry on the SDK. Apparently, the program also can access the shell's routines too! It would involve implementing the routine, and then messing around with code (or at runtime) to place the routine in the right position for MOS/DCS/Ion, and then executing the program so that it can access it. The routines in question are NOT something you'd want to omit: http://dcs.cemetech.net/index.php?title=SDK Remember that not everything is an Axe program - that is, not all programs bundle in internal routines. (For instance, DispGraph in Axe compiles to a call to included code inside the program, which is Ion's FastCopy.) Therefore, it's a must to implement these guys!
Hehe, you're going to make one ExtendeD happy. He wants to make a small console for the Nspire and include it (??) with ndless. This could be that prgm.
(Of course, not a simple print/input prgm, but something like BASH)
One of the ideas I've had before was an ultimate Axe calculator/convertor, in which you could have either compilable or separate plugins. Those plugins specify categories, and have access to a minimal GUI library, in which you could make quite a bit of converters and calculators in Axe! Unfortunately, Axe isn't very good at floating point math (aka no decimals), and I'm not too sure how to approach it.
Initially started on IRC, Jonimus has suggested that you can get Linux on the Nspire, since it's ARM (Linux supported), and that doing such a thing doesn't require modifying boot1/boot2/OS. Of course, it will modify memory, reset parts of the HW, etc. to get it working, but other than that, it's definitely possible. Run a ndless program, and you're off!
Some other notes: = Look at Harlet/Lab Boot/uBoot and base the bootloader off them = Use Angstrom Linux for the distro = We need to know exact HW specs for Nspire (including memory mappings, LCD controller, etc.), and potentially find a dev board that has similar HW and use software provided with that dev board
So, can we do it?
Quote from: Jonimus
Edit: Also lets keep this thread about the kernel and bootloader, we can figure out where to put the rootfs later.
EDIT by DJ_O: Appended Jonimus quote so people can see. Members cannot enforce rules about what is discussed in a thread, but I'M adding this so it won't drift away from the main topic too much.