Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Spyro543

Pages: 1 ... 3 4 [5] 6 7 ... 9
61
Other Calculators / CX or Prizm?
« on: March 12, 2012, 04:40:48 pm »
I've been thinking about getting a new calculator; either a CX or a Prizm. I know each has their advantages and disadvantages. Which one should I get (and why)? Also, money is not a problem. I have enough money to get either one.

62
Other Calculators / Trace
« on: February 29, 2012, 08:51:42 pm »
Trace



http://www.omnimaga.org/index.php?action=downloads;sa=view;down=780

Trace is a simple avoider game. You are flying down the screen to the right, and you must avoid everything in your path. Use up/down arrow keys to avoid all obstacles. Get to the right of the screen to win. One hit = game over. Send both TRACE and TRACEMOV to your calculator. Run program TRACE to play.

63
Art / Logo idea for my website
« on: February 18, 2012, 12:51:32 pm »
I made a logo for my website. What do you think?

Ideas? Suggestions? Comments?
Btw, I made this with PowerPoint. :)

64
TI Z80 / TRACE - a game in TI-BASIC
« on: February 09, 2012, 07:45:33 pm »
Download:
TRACEMOV program http://www.mediafire.com/?9221os7di6sjgd1
TRACE program http://www.mediafire.com/?f99g8m5uxdafbhv

Trace is a simple avoiding game. I only made a few levels so far, so if you want to make more levels that would be awesome :D
You are a pixel going down the screen to the right. Use up/down arrow keys to avoid all obstacles. Get to the right of the screen to win. One hit = game over. Send both TRACE and TRACEMOV to your calculator. Run program TRACE to play. Here's a screenshot:

Also the level I died on is the last level, btw.

65
Miscellaneous / Pesterchum - Who has it?
« on: February 06, 2012, 06:40:15 pm »
(First off, iVenom told me about this. :P)
Have you ever heard of Homestuck? If you haven't, Pesterchum is the fictional chat client they use to communicate. Someone made a read version of it! Here's the MSPA thread:
http://www.mspaforums.com/showthread.php?43922-PESTERCHUM-3.41-Updated-Pesterchum!-New-Thread
Who here has pesterchum or has just gotten it? What's your chumhandle (username)?
Mine is cardboardCalculator.
This is how your nickname is set up: two words, one is lowercase, the other one's first letter is uppercase. For example: lowercaseUppercase.

66
Other / Spyro gots a pickit 2 starter kit
« on: January 25, 2012, 06:31:09 pm »
I has gots a PIC18F4XK20 Starter Kit board!
This is a dev board-like device powered by a PIC processor. It has 4 buttons, 2 pots, audio in and out, 8 LEDs, and an OLED 128x64 screen that you can interface with. I'm hopefully gonna start programming it soon. Here's a pic:

It also came with the PICkit 2 Programmer device (that's also the power supply).
The cord that came with it to connect to the computer is bright red. Mom says she likes the bright red cord best, even more than the board itself. *.*

Pictures of it running programs coming soon (as soon as the IDE finishes downloading x.x man my internet is slow).

67
Computer Projects and Ideas / Spyrodecimal - esolang
« on: January 08, 2012, 03:48:13 pm »
First off, esolang is short for esoteric programming language.
Spyrodecimal is an esolang where all the commands are numbers.

Here are all the commands:

0 - Pauses the program for 1/10 second.
1 - Prints the ASCII equivalent of the number in memory.
n - Prints the actual number in memory.
2 - Increases the number in memory.
3 - Decreases the number in memory.
4 - Gets one character of input, and stores it in memory.
5 - Prints a new line.
6 - Generates a random number between 1 and 256 and stores it in memory.
7 - Moves the program reader back for the amount in memory. For example, if 5 is in memory, it will move back 5 spaces.
8 - Erases the memory.
9 - Same as 7, except moves the reader forward instead of backward.
q - Quits the interpreter.
x - quits the program, but not the interpreter.
s - Stores the current memory value into one of six variables (a, b, c, d, e, f). Variables are not affected by 8. Syntax (s<var> example: sa)
r - Recalls the value stored into one of six variables (a, b, c, d, e, f) and stores it in memory. Syntax (r<var> example: ra)

I'm currently working on the interpreter (in C++).
Any ideas are welcome!

68
Web Programming and Design / My custom home page
« on: January 01, 2012, 07:56:56 pm »
I made a custom home page for my browser that has a lot of stuff; well it's kinda hard to explain so here's pictures:

This is the main page that appears when I start Chrome:
Spoiler For image:

Also sorry about the floating menu thing there in the middle. :P

This is the chat page. It has both OmnomIRC and Cemetech's SAX embedded.
Spoiler For image:

This is the sites page with both Omnimaga and Cemetech embedded.
Spoiler For image:

And here is the links page, nothing special, just hyperlinks to Omnimaga and Cemetech pages.
Spoiler For image:

Also, you can try it out at http://anova.57o9.org/spyrohome/home.htm.

69
Other Calculators / The inside of a cheap calc
« on: December 23, 2011, 10:49:46 am »
My friend had a Sentry CA756, but the EXE button stopped working, and he gave it to me (but I can't fix it). These graphing calcs are about $20, with a very small screen and only 10 program spaces. Yes, 10. You reference them by using Prog, like Prog 1. It's looping capabilities are lbl, goto, ISZ, and DSZ. Sad, isn't it? And it doesn't even have a function catalog! You have to access function with a Shift- or Shift-Alpha- key sequence. To change the calc's mode, you have to press MODE, MODE-SHIFT, or MODE-ALPHA and a number.  D: This thing is awful! So, without further ado, here are some pix!

Here's the awful small screen and the label that tells all the calc modes.



Sorry about this one being blurry, but here's the keyboard. As you can see, almost all of the keys have SHIFT, ALPHA, and SHIFT-ALPHA labels on them.



Here's a close-up of the arrow keys. Notice how they stole the "REPLAY" and "EXE" from Casio. :P



The "screenshots" on the quick reference aren't even screenshots. They didn't even attempt to make them look real.



The battery. Notice how the calc only needs one battery to work, so they just glued foam to the other contact!



This is the inside of the calc.



The main (and only) chip is, of course, buried under epoxy.



Here you can see that foamed-up battery slot also has terminals running to the circuit board, just like the other one!



The only thing holding the LCD in is the back cover pressing against it. I can freely pull it out of its slot (that is too big, the LCD can wobble all around in the slot).



Another shot of the calc, this time with the LCD flopping.


You have just witnessed how awful this cheap, $20 calc actually is. It's definitely worth less than $20 :P

70
TI Z80 / Learning Axe! And made a program
« on: November 22, 2011, 08:00:40 pm »
Ok, I am learning Axe! Yay! <insert applause here>
My program lets you use the arrow keys to move a circle around the screen and change its velocity!!! :w00t:
Added a cool feature!
The circle gets larger the faster it's going!
It's still a bit buggy, but here it is!

At the end, the circle stops instantly. Do this with [DEL]. [CLEAR] exits the program.
Attached : SVELDRAW is the source, and VELOCITY is the compiled program.
Source code:
Code: [Select]
:.VELOCITY
:0→A
:0→B
:1→X
:1→Y
:While 1
:Pause 180
:If getKey(4)
:B-1→B
:End
:If getKey(1)
:B+1→B
:End
:If getKey(2)
:A-1→A
:End
:If getKey(3)
:A+1→A
:End
:If getKey(56)
:0→A
:0→B
:End
:If getKey(15)
:Return
:End
:Y+B→Y
:X+A→X
:If X>>96
:1→X
:End
:If X<<1
:96→X
:End
:If Y>>64
:1→Y
:End
:If Y<<1
:64→Y
:End
:A+B→R
:If R<<1
:If R=0
:Circle(X,Y,1)
:Else
:Circle(X,Y,‾R)
:End
:Else
:Circle(X,Y,R)
:End
:DispGraphClrDraw
:End
Optimizations, suggestions, bug reports?

71
Computer Projects and Ideas / ircbot: Library for Python for making bots
« on: November 19, 2011, 11:14:34 am »
I just made a library for Python 2.7 that allows you to easily create IRC bots.
Here is the source code:
Code: [Select]
import socket
import string
import time
s = socket.socket(AF_INET, SOCK_STREAM)

def connect(server, port=6667):
    s.connect((server, 6667))

def ready():
    x = s.recv(2048)
    if "376" in x:
        return True
    else:
        return False

def register(nick):
    s.send("NICK %s\r\n" % nick)
    s.send("USER  %s 8 *  : %s\r\n" % (nick, nick))

def join(channel):
    s.send("JOIN %s\r\n" % channel)

def send_msg(reciever, message):
    s.send("PRIVMSG %s :%s" % (reciever, message))

def send_raw(data):
    s.send(data)

def recieve():
    x = s.recv(2048)
    if x != "":
        return x

def username():
    x = s.recv(2048)
    return x.split("!")[0].strip(":")

def hostmask():
    return x.split("!")[1].split(" ")[0]

def message(message):
    x = s.recv(2048)
    msg = x.rpartition("PRIVMSG %s :" % (channel))
    return msg

def format_recv():
    return "<%s> %s" % (username(), message())

def timestamp():
    return "%s:%s:%s" % (time.localtime()[3], time.localtime()[4], time.localtime()[5])

def op(channel, reciever):
    s.send("MODE %s +o %s\r\n" % (channel, reciever))

def deop(channel, reciever):
    s.send("MODE %s -o %s\r\n" % (channel, reciever))

def voice(channel, reciever):
    s.send("MODE %s +v %s\r\n" % (channel, reciever))

def devoice(channel, reciever):
    s.send("MODE %s -v %s\r\n" % (channel, reciever))

def ban(channel, reciever):
    s.send("MODE %s +b %s!*@*\r\n" % (channel, reciever))

def kick(channel, nick, reason=None):
    s.send("KICK %s %s %s\r\n" % (channel, nick, reason))

def data_present(check):
    x = s.recv(2048)
    if check in x:
        return True
    else:
        return False

def nick(nick):
    s.send("NICK %s")

def disconnect(reason="Disconnected."):
    s.send("QUIT :%s" % reason)
    s.close()

if "PING" in s.recv(2048):
    ping = s.recv.rstrip()
    ping = split(ping)
    s.send("PONG %s" % ping[1])
Here's all the commands you can currently use:

connect(server) - Connects to the IRC server.
ready() - Returns true if the end of the MOTD is reached.
register(nick) - Registers with the nick.
join(channel) - Joins the channel.
send_msg(reciever, message) - Sends a message to reciever.
send_raw(data) - Sends raw IRC data to the server.
recieve() - Returns the IRC data recieved if it is not empty.
username() - Returns the username of the last message sent.
hostmask() - Returns the hostmask of the last message sent.
message() - Returns the last message sent.
format_recv() - Returns the last message sent like you would see it in an IRC client.
timestamp() - Returns the current time as a string.
op(channel, reciever) - Ops the reciever.
deop(channel, reciever) - Deops the reciever.
voice(channel, reciever) - Gives the reciever voice.
devoice(channel, reciever) - Removes voice from the reciever.
ban(channel, reciever) - Bans the reciever.
kick(channel, reciever[, reason]) Kicks the reciever.
disconnect([reason]) - Disconnects from IRC.
nick(new_nick) - Changes your bot's nick.
data_present(check) - Returns true if <check> is in the reciving IRC data.

It also includes a ping responder, so your bot should never time out.

Soon, I'll attach the .py file and an installer batch file.
Yay! Download the install.zip, unzip it, run install.bat, and yay!

Bug reports and suggestions welcome!

72
TI Z80 / Keypress programming for the TI-8x+ family
« on: November 16, 2011, 07:22:27 pm »
I've been experimenting around with emulators of keypress programmable calculators, some of which are the TI-95 and TI-59. For you people who don't know what keypress programming is, I made a nice article of what it is. http://anova.57o9.org/keypress/
Quote from: my website
Keypress Programming: What is it?

Keypress programming is the kind of programming used on old, vintage calculators like the TI-66 Galaxy.



Notice how there are some programming instructions - and they're all on seperate buttons (or using 2nd.)
The LRN button is for making a program. Each programming instruction is on a seperate "step". Every step has a number. Some calculators can only hold 112 or less steps. The reason it's called keypress programming is because to enter a command, all you had to do was press a key. Every key press is a step. For example, a program to multiply a number by 2 would be 3 steps long, meaning 3 keypresses long. You would press x to multiply, 2, and = to return the value. Now, the R/S and RST commands are crucial too. They stop/start the program, and reset the step counter to 0.

Hopefully that helped. Well, I'm making a keypress programmer in TI-Basic. So far, I have added buttons 0 through 8 (it takes a long time to add in the code to detect the button and do whatever it's supposed to do). Your programs are stored in L1, and can be up to 100 steps long (just like the old keypress programmable calcs). I'll try my best to simulate the keypress programming of the TI-59 calculator. I'll also add in a parser which will run the program stored in L1. Soon, I should have a good enough program for screenshots, source, and downloads.

Ideas and suggestions would be greatly appreciated ;D.

73
Other Calculators / Where to buy TI-62 and TI-95?
« on: November 13, 2011, 02:10:57 pm »
I've looked on eBay and Amazon, but I just cannot find the TI-62 Galaxy and the TI-95 Procalc for a "buy it now" reasonable price.

Anyone know a (American) website that sells these calculators?

74
Computer Programming / Tkinter window help needed
« on: November 10, 2011, 05:53:41 pm »
Alright, I am making my own home-made chat protocol!!  :o
I'm having problems with the Client GUI:
Code: (here's the code!) [Select]
import socket
import sys
s = socket.socket()

from Tkinter import *

def GetUsername():
    global username
    username = usrnam.get()
    s.connect(("anova.57o9.org", 5000))
    s.send("!!!JOIN " + username)
   
    UsrBox.destroy()
   

def SendMessage(messagetosend):
    s.send("<%s> %s" % (username, messagetosend))

def Disconnect():
    s.send("!!!QUIT " + username)
    s.shutdown()
    s.close()
    sys.exit()
   

UsrBox = Tk()

UsrBox.title("")

title = Label(UsrBox, text="Please enter a username.")
title.pack()

usrnam = Entry(UsrBox)
usrnam.pack()

b = Button(UsrBox, text="Connect", width=10, command=GetUsername)
b.pack()

UsrBox.mainloop()

master = Tk()
master.title("chat5000")

titlelbl = Label(master, text="Connected. Username is " + username)
titlelbl.pack()

msg = Text(master)
msg.pack()

e = Entry(master)
e.pack()
e.insert(END, "Enter message here")

send = Button(master, text="Send Message", command=SendMessage(e.get()))
send.pack()

disconbtn = Button(master, text="Disconnect", command=Disconnect)
disconbtn.pack()

while True:
    data = s.recv(2048)
    if data != "" or data != None:
        msg.insert(END, "\n" + data)

master.mainloop()

I click Run, and the first window shows up fine. I type in a username, and click Connect. I'm pretty sure it connects, then the window goes away cuz of UsrBox.destroy(). The main client window should come up, right? If it's not supposed to, how can I make it come up? (the server program is running on the server while I tested this, btw)

75
Computer Usage and Setup Help / CodeBlocks IDE is not working...
« on: November 06, 2011, 06:29:38 am »
I've been trying to learn C++, but with an IDE/Compiler that is refusing to work (or maybe I'm too n00bish to figure it out :P) it's kinda hard.
I set the default compiler to Cygwin GCC, set all the toolchain executables (C compiler -> gcc.exe, C++ compiler -> g++.exe), and typed in some code in my current project. It's just a very simple program:
Code: [Select]
#include <iostream>
using namespace std;
int main()
{
    int a = 5;
    int b = 6;
    a = a + 5;
    int result = a + b;
    cout << "The result is " << result;
    return 0;
}
(Also I think the numbering is broken on the code tags)
When I click Build and Run, I get a command prompt window with the following:
Code: [Select]
      4 [main] ? 2488 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
Exception: STATUS_ACCESS_VIOLATION at eip=77AA47E5
eax=00000000 ebx=00000000 ecx=00000000 edx=7EFDD000 esi=00000000 edi=00400000
ebp=0028EEA4 esp=0028EE70 program=, pid 0, thread main
cs=0023 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame     Function  Args
0028EEA4  77AA47E5  (00400000, 00000000, 00000000, 0028EEE8)
0028EEB8  77AA2C54  (00400000, 00000001, 0028EFC0, 6104F4A6)
0028EEE8  6109A582  (00400000, FFFFFFFE, 0028EEE4, 77AA317F)
0028EFA8  61004A78  (0028EFC0, FFFFFFFF, 0000EEEE, 0028F8B8)
0028FF58  6100594F  (00000000, 00000000, 00000000, 00000000)
End of stack trace

Process returned -1073741819 (0xC0000005)   execution time : 10.676 s
Press any key to continue.
And in the build log I get:
Code: [Select]
Checking for existence: C:\Users\Owner\Documents\C++Proj\C++ Experiments\bin\Release\C++ Experiments.exe
Executing: "C:\Program Files (x86)\CodeBlocks/cb_console_runner.exe" "C:\Users\Owner\Documents\C++Proj\C++ Experiments\bin\Release\C++ Experiments.exe"  (in C:\Users\Owner\Documents\C++Proj\C++ Experiments\.)
Process terminated with status -1073741819 (0 minutes, 52 seconds)
Anyone know what's wrong here? Any way I can fix it?

Pages: 1 ... 3 4 [5] 6 7 ... 9