View previous topic :: View next topic |
Author |
Message |
[ES] GARYsurvivor Trick Member
Joined: 12 Oct 2004 Location: Lakewood, CO |
0. Posted: Sun May 01, 2005 6:50 pm Post subject: New Calculator DDR! |
|
|
Somebody suggested that I move this topic here, so here it is:
I have been working on a new video game for the TI-83 Plus, TI-83 Plus Silver Edition, TI-84, TI-84 Plus, and TI-84 Plus Silver Edition graphing calculators. Of course it will not have sound, but It should turn out good in the end. Here are some screen shots:
It will be programmed in assembly language (which is hard and it sucks ). I wanted to get your opinions, and possibly even suggestions to make the game better. I already have a songlist, so I can't add any more songs. |
|
Back to top |
|
|
Philipio Trick Member
Joined: 23 Dec 2003 Location: Texas |
1. Posted: Sun May 01, 2005 6:56 pm Post subject: |
|
|
Make sure everything is on heavy. Playing on light is extremely boring. _________________
|
|
Back to top |
|
|
Arctic Wolves Trick Member
Joined: 16 Dec 2004 Location: Canada |
2. Posted: Sun May 01, 2005 7:00 pm Post subject: |
|
|
I'll never get anything done in Math ever again. Looks good! =P _________________
|
|
Back to top |
|
|
DX Manaic Trick Member
Joined: 28 Aug 2002 Location: Outer Limits |
3. Posted: Sun May 01, 2005 7:24 pm Post subject: |
|
|
I LOVE YOU IF YOU CAN FINISH THAT.
just make sure everythings on heavy the other one is fast but all light so :/ _________________
|
|
Back to top |
|
|
Reenee Trick Member
Joined: 21 Nov 2003
|
4. Posted: Sun May 01, 2005 7:47 pm Post subject: |
|
|
Keep it to the original thread, please. |
|
Back to top |
|
|
Cutriss Staff Member
Joined: 24 Jan 2002
|
5. Posted: Sun May 01, 2005 8:18 pm Post subject: |
|
|
I have no idea how long ago that thread last had a post, so it's not *that* big of a deal.
I realize that those are just test pics you've posted, but can the TI-series recognize more than 2 inputs at a time? Or 1 even? I would assume that, considering that all the 2nd/3rd level functions use a toggle and not a hold-press technique, that the keyboard scanning routines would only check for the first key depressed. _________________
Sentient Mode is capable... |
|
Back to top |
|
|
davidbrit2 Trick Member
Joined: 03 May 2002 Location: Grand Rapids area, MI |
6. Posted: Mon May 02, 2005 6:53 am Post subject: |
|
|
Cutriss wrote: | I realize that those are just test pics you've posted, but can the TI-series recognize more than 2 inputs at a time? Or 1 even? I would assume that, considering that all the 2nd/3rd level functions use a toggle and not a hold-press technique, that the keyboard scanning routines would only check for the first key depressed. |
Yeah, that should be fine. I've played many games on various TI calculators that have diagonal movement and such. I think the TI-86 was the only one that had a bug in that regard, because it would halt as long as you held down Down + Left or something like that.
_________________
debt relief
Last edited by davidbrit2 on Sun Mar 01, 2009 8:12 am, edited 1 time in total |
|
Back to top |
|
|
[ES] GARYsurvivor Trick Member
Joined: 12 Oct 2004 Location: Lakewood, CO |
7. Posted: Mon May 02, 2005 2:59 pm Post subject: |
|
|
It is possible to detect as many keypresses as you want with the power of assembly language. The key port is separated into 6 groups (I think). You can read a group and get a number to use in the program. Coviniently, all the arrow keys are in the same group. When the group is read, it returns 11111111 if no keys are pressed. If all the arrow button were pressed, the number would look like 00001111. Each 0 represents a different key being pressed. I can individually check each bit.
Do not worry. It will have heavy. It will have all 3 main difficulties for the songs. (Some of my friends suck at anything even close to DDR )
The topic was moved here because the last post in my other one told me to move it here, so it could gain more attention.
I really don't know when this could be done. I still have to program the groove radar, program most of the stuff used for actually playing, and changing the steps for the songs into a series of 1's and 0's that only my program can read and understand. Each arrow should only take 1 byte. If you really are curious, the format will go as follows:
Bits 7-4 will control the existance of arrows. A 1 will represent an arrow.
Bits 3-0 will control the existance of freezes. A 1 will toggle the presence of a freeze on or off.
1001 1000 will start a jump with a freeze continuing off the left arrow. Just an example.
Wow, I typed a lot...I just wanted to answer some questions. |
|
Back to top |
|
|
davidbrit2 Trick Member
Joined: 03 May 2002 Location: Grand Rapids area, MI |
8. Posted: Mon May 02, 2005 3:19 pm Post subject: |
|
|
Hmm, sounds like a decent enough format. You'll need a way to flag 12th note/triplet sections, though. You could probably get away with having bits 0-3 just contain the bitwise complement of the high order bits to designate the beginning or end of a triplet section. Then you can do something simple like this to check for switching into 12th note mode:
(byte / 4) XOR (byte AND 0xF) == 0xF
That will work fine assuming you'll never have 4 arrows at once in the step data.
Since you're going to be using 16 bytes per measure for full 16th note compatibility, you can then just store each triplet in the 1st 3 bytes for any given beat of the measure and ignore the 4th one when the program is expecting 12th notes. I was tinkering with making a simple DWI viewer for Palm once, and that's more or less how I handled storage for those.
Gah. This is the first week since classes, and I'm already reverting back to computer science mode. Kill me.
_________________
Honda CB1000R
Last edited by davidbrit2 on Sun Mar 01, 2009 8:12 am, edited 1 time in total |
|
Back to top |
|
|
[ES] GARYsurvivor Trick Member
Joined: 12 Oct 2004 Location: Lakewood, CO |
9. Posted: Mon May 02, 2005 3:33 pm Post subject: |
|
|
I have already had that idea. If the program comes across 1111XXXX, I have made special commands that do what would have suggested and more. In really easy songs, I can set it up to only read for the next arrow after evey 12 pixels (the regular 1/4 note spacing). If a song is mostly 1/8 notes, I can set it up to read for the next arrow after every 6 pixels. I can use these 1111XXXX commands to change this defaust spacing to whatever I want. Speed changes will also be controlled with this. It's a good idea, but I have already done it.
I hope this is what you are talking about. That mumbo jumbo C++ or whatever high-level language stuff confuses me. I would use something fun like this to check junk:
ld a,(datablah)
push af
and %11110000
cp %11110000
jp z,commandstuff
pop af
bit 7,a
jr z,leftarrowstuff
...
...
...
Something fun like that. Assembly is great. |
|
Back to top |
|
|
Light_373 Trick Member
Joined: 11 Apr 2005 Location: Chicago |
10. Posted: Mon May 02, 2005 3:51 pm Post subject: |
|
|
You have a beta version of that yet? I got an 84+SE w/ the usb cable and a hell of a lot of free time. |
|
Back to top |
|
|
[ES] GARYsurvivor Trick Member
Joined: 12 Oct 2004 Location: Lakewood, CO |
11. Posted: Mon May 02, 2005 3:58 pm Post subject: |
|
|
Light_373 wrote: | You have a beta version of that yet? I got an 84+SE w/ the usb cable and a hell of a lot of free time. |
I could try to get a sample like thing to work. It doesn't really show much. I can't give you my program I have now because it will probably kill your calculator because it isn't finished. Assembly is kinda weird that way. I could show you the title screen, a little menu, and like half of a song selection screen...if you really want to see it...or maybe an arrow speed demo? |
|
Back to top |
|
|
Light_373 Trick Member
Joined: 11 Apr 2005 Location: Chicago |
12. Posted: Mon May 02, 2005 4:16 pm Post subject: |
|
|
send em to my email. [email protected]. the only programming code i know is what your site taught me of basic. |
|
Back to top |
|
|
Bolt-Edge Trick Member
Joined: 01 Sep 2004 Location: Mayfield, OH |
|
Back to top |
|
|
[ES] GARYsurvivor Trick Member
Joined: 12 Oct 2004 Location: Lakewood, CO |
14. Posted: Mon May 02, 2005 4:21 pm Post subject: |
|
|
Light_373 wrote: | the only programming code i know is what your site taught me of basic. |
You actually went to that? I thought nobody ever went to that site. I never finished it...I will send it to you or just post a like here when I get something going.
Wow, somebody actually went to my lame, incomplete tutorial? WOW!
http://paranoia.sitesled.com/basic/
If you want to see it.
I actually might put bag on DDR version 3.18! |
|
Back to top |
|
|
Bolt-Edge Trick Member
Joined: 01 Sep 2004 Location: Mayfield, OH |
|
Back to top |
|
|
Light_373 Trick Member
Joined: 11 Apr 2005 Location: Chicago |
16. Posted: Mon May 02, 2005 4:37 pm Post subject: |
|
|
That would be cool. |
|
Back to top |
|
|
Cutriss Staff Member
Joined: 24 Jan 2002
|
17. Posted: Mon May 02, 2005 5:51 pm Post subject: |
|
|
GARYsurvivor wrote: | It is possible to detect as many keypresses as you want with the power of assembly language. The key port is separated into 6 groups (I think). You can read a group and get a number to use in the program. Coviniently, all the arrow keys are in the same group. When the group is read, it returns 11111111 if no keys are pressed. If all the arrow button were pressed, the number would look like 00001111. Each 0 represents a different key being pressed. I can individually check each bit. | Granted, I haven't worked in TI-ASM, but I figure that your keyscanning routine runs similar to x86 ASM:
MOV AX, whatever the opcode is
INT whatever the keyboard interrupt is
And then you read the ASCII values out of AX for the individual keys. I'm making an assumption that the TI uses something similar for its keyboard-handling.
Basically, as I recall, the INT 09 functions are only capable of storing two keys at any given time, so when the keyboard is polled, one of two things happens - either certain keys take precedence by default (for example, on most keyboards, when pressing left, up, and down, left will always be present, and one of the other two keys will be ignored), or the two most recently-pressed keys will be recognized.
So, it's not "the power of assembly" - it's actually assembly that instills such limitations in programs. All of the recent "hard disk capacity barriers" have been a result of limitations in x86 assembly being worked around. As you've stated, the TI appears to be immune to this keyboard polling problem, but the PC is not. _________________
Sentient Mode is capable... |
|
Back to top |
|
|
ãã©ã¤ã¢ã³ Trick Member
Joined: 20 Sep 2003 Location: Allendale, MI / Grand Valley State University |
18. Posted: Mon May 02, 2005 6:23 pm Post subject: |
|
|
If I can find some free time I will try to make up a Draw Menu and Graphics Page. I just made a really cool animation (recall pic x) of a guy kickflipping a set of stairs. I'll make another one to demo on your website. _________________
|
|
Back to top |
|
|
IoriYagami Basic Member
Joined: 02 May 2005 Location: Right Here |
19. Posted: Tue May 03, 2005 10:21 am Post subject: |
|
|
You know... you could make a lot of money if you sold this, i know i would buy it. _________________
Peaceful Chaos |
|
Back to top |
|
|
|