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.
Messages - Jerros
1
« on: November 02, 2011, 04:23:59 am »
Sorry to hear you could not finish it. Does it mean you are done with calculator programming completely? It would suck to see you go completely.
Well... The 83/84+ series will probably outdated soon, so I'd need to learn another language in order to begin something else... And since I do absolutely nóthing informatics-related, it'd take alot of effort to learn something new again. Hopefully I'll be 'back' again, though there's just no time for me to do anything for a while. :c
2
« on: November 01, 2011, 02:09:31 pm »
Bad news; I just can't find the time to work on this anymore, I'm very sorry. On the bright side, attached are all the .z80 files that make up for this game, plus the app itself. It's glitchy, and far from done (also, don't touch the achievement menu lol, it's only a rought sketch of the convept, and glitchy as hell). Feel free to either continue this, or rip it apart and create something else. Hopefully all the coding doesn't go to waste this way! Oh, and I know it's probably the worst scripting ever, but I kind of learned it only with the kind help of people on this forum, so... yeah. Oh, the 5 attached .z80 files are the 5 pages of the APP; depending on your assembler you might need to add them to one file, or idk. I used "AppDev" for assebling it into an App. Also, you can't fail the game yet (dieing is horrable when wanting to test things out ) but everything else kind of works... So... yeah, sorry guys. :'C
3
« on: August 03, 2011, 09:57:57 am »
I guess you could compile axe, then just optimize it a lot... but that seems inefficient
I... have zilch experience with Axe, sorry. Q_Q EDIT: Oh, and it doesn't really concern the 1-9 keys; it's just for 5 keys of the same group (namely Yequ-Graph). I had this other idea on how to accomplish this; will post the (probably waay to long and inefficient) routine later. <-- Failed. Using this now, but it's still not what I wanted, plus I bet it could be optimized, ghehe (BIG thanks to ThePenguin for this): tracePressed: push af set 0, c bit 0, b PUSH BC jr nz, traceIsHeld LD A, 58 LD (CheckYequ), A LD (CheckWindow), A LD (CheckZoom), A LD (CheckTrace), A LD (CheckGraph), A LD A, -58 ; LD (ButtonPressed), A ; CALL CheckYSprites ;you can ignore these in each loop, I just want this to be performed with the appropriate number stored in (ButtonPressed) jp graphDone traceIsHeld: LD A, 58 ; LD (xpos), A ; CALL sprendcall ; also ignore this, it's just something for the rest of the script. LD A, (CheckTrace) CP 58 JP z, graphdone LD A, 58 LD (CheckTrace), A LD A, -58 LD (ButtonPressed), A CALL CheckYSprites jr graphDone zoomPressed: push af set 0, c bit 0, b PUSH BC jr nz, zoomIsHeld LD A, 44 LD (CheckYequ), A LD (CheckWindow), A LD (CheckZoom), A LD (CheckTrace), A LD (CheckGraph), A LD A, -44 LD (ButtonPressed), A CALL CheckYSprites jr graphDone zoomIsHeld: LD A, 44 LD (xpos), A CALL sprendcall LD A, (CheckZoom) CP 44 JR z, graphdone LD A, 44 LD (CheckZoom), A LD A, -44 LD (ButtonPressed), A CALL CheckYSprites jr graphDone graphPressed: push af set 0, c bit 0, b PUSH BC jr nz, graphIsHeld LD A, 72 LD (CheckYequ), A LD (CheckWindow), A LD (CheckZoom), A LD (CheckTrace), A LD (CheckGraph), A LD A, -72 LD (ButtonPressed), A CALL CheckYSprites jr graphDone graphIsHeld: CALL graphsprshow LD A, (CheckGraph) CP 72 JR z, graphdone LD A, 72 LD (CheckGraph), A LD A, -72 LD (ButtonPressed), A CALL CheckYSprites graphDone: pop bc pop af ret windowPressed: push af set 0, c bit 0, b PUSH BC jr nz, windowIsHeld LD A, 30 LD (CheckYequ), A LD (CheckWindow), A LD (CheckZoom), A LD (CheckTrace), A LD (CheckGraph), A LD A, -30 LD (ButtonPressed), A CALL CheckYSprites jr graphDone windowIsHeld: LD A, 30 LD (xpos), A CALL sprendcall LD A, (CheckWindow) CP 30 JR z, graphdone LD A, 30 LD (CheckWindow), A LD A, -30 LD (ButtonPressed), A CALL CheckYSprites jr graphDone YequPressed: push af set 0, c bit 0, b PUSH BC jr nz, YequIsHeld LD A, 16 LD (CheckYequ), A LD (CheckWindow), A LD (CheckZoom), A LD (CheckTrace), A LD (CheckGraph), A LD A, -16 LD (ButtonPressed), A CALL CheckYSprites jr graphDone YequIsHeld: LD A, 16 LD (xpos), A CALL sprendcall LD A, (CheckYequ) CP 16 JR z, graphdone LD A, 16 LD (CheckYequ), A LD A, -16 LD (ButtonPressed), A CALL CheckYSprites jp graphDone
Works álmost perfectly, except that when you, lets say, hold Yequ then press the other four remaining buttons (while still holding Yequ) it won't react to any keypress untill you've released áll buttons. Then it resets. So 'Hold Yequ' --works--> 'Press Window' --works--> 'Release Window' --works--> 'Press Window' --ignores last press --> ... Sorry for being wordy, but hopefully someone gets it as it shouldn't be too difficult (yet I'm clueless).
4
« on: August 03, 2011, 08:32:24 am »
It's in the assembly subforum, so axe code won't help him..
I suggest you can keep something like a key table that keeps track of all keys currently pressed, and updates when a new one is pressed.
Assembly indeed, and a Key table, eh? I'll look into how to make/work with those then. Thank you for the advice.
5
« on: August 03, 2011, 06:35:51 am »
Been struggling with this for a while now; the principle I'm looking for is simple and straightforward: react to the last button pressed, regardless of whatever else might be pressed or released. So if you press '1', it perorms 'Label1' once, even if you have 2-9 held down at the same time already, or release random other buttons that were being held down before. Push the button, perform thát routine once. Nóthing more, nothing less. I'm sure there must be a simple way to do this, but... I'm newby. If anyone has any tips on how to do this, it'd be greatly appreciated! Thanks alot in advance.
6
« on: July 16, 2011, 02:00:31 pm »
So, is it supposed to set the coordinates of the current sprite to (C,-9) and then make the next sprite the current one, and making the first one currrent if it just set the coordinates of the 16th sprite?
Yup. So you "LD C, [x-coordinate] ", then call this and it should put spr.1 to those coordinates. Then spr.2 at the next call etc. untill it goes back to 1 after having set 16. But something's wrong, and it might be this script... If not, the problem lies elsewhere and everyone's free to use this, lol.
7
« on: July 12, 2011, 03:44:53 am »
The thing is, there are 16 sprites defined as followed:
SpriteNumber .equ AppBackUpScreen yspr1 .equ SpriteNumber+2 xspr1 .equ yspr1+1 yspr2 .equ xspr1+1 xspr2 .equ yspr2+1 yspr3 .equ xspr2+1 xspr3 .equ yspr3+1 yspr4 .equ xspr3+1 xspr4 .equ yspr4+1 yspr5 .equ xspr4+1 xspr5 .equ yspr5+1 ;etc.
Now, there is the following piece of code, with input C = Xcoordinate of a sprite. The idea is that it's loading C (thus an x-coordinate) to Sprite1, then Sprite2, then 3 etc. and after Sprite16 has been assigned, it starts over with Spr1 again. There's something glitchy, since it sometimes suddenly removes sprites from the screen (thus assigns x,y values to a sprite on the screen already). I can'tr figure out what's wrong though. Could it perhaps be because of direct input with the buttonpresses that it sometimes fails to finish this loop or something?
Script:
NextSprite: LD hl, SpriteNumber LD A, (SpriteNumber) LD B, A NextSpriteLoop: INC HL ; 2x INC HL will go to the next sprite, since each HL holds X INC HL ; and Y respectively of the current spritenumber djnz NextSpriteLoop ; Keeps track of the current sprite LD A, -9 ; Set the Y position of the current sprite LD (hl), A ; And save it to Sprite*number* INC HL LD (hl), C ; Save an X-coordinate to Sprite*number* LD A, (SpriteNumber) CP 16 ; After giving an X and Y to Sprite16, start with Sprite 1 again JR Z, ResetSpriteNumber INC A LD (SpriteNumber), A ret ResetSpriteNumber: LD A, 1 LD (SpriteNumber), A ret
So... is there something wrong? Or are the errors caused by other factors? Thanks!
8
« on: July 03, 2011, 08:22:42 am »
A label is just a nice reference point for other instructions to refer to. It's just a number, and it's not any code at all.
But they have to take up space... right? Ahh well, s'pose I have all the info now, thanks.
9
« on: July 03, 2011, 04:01:47 am »
http://clrhome.co.cc/resources/table/ (hover for size, time, and flags)[/ad]
This is what I was looking for, thanks! I've found all those other tables before too, though didn't knew how to figure the 'size' of the commands out of all those numbers... But that link you provded, Deep Thought, directly states so, so thank you! This'll certainly help somewhat. EDIT: Oh, just one more... the size/time of a Label?
10
« on: July 02, 2011, 08:45:47 am »
Is there any list stating all .z80 ASM commands with the number of T-cycles and Bytes they take? Or actually just the latter, since there are sites giving the number of T-cycles already, but no luck on finding the bytes per command yet... This would really help making speed/lenth decisions. Thank you!
11
« on: July 02, 2011, 08:35:01 am »
Looks nifty, might make use of it!
12
« on: June 30, 2011, 01:01:26 pm »
Thank you, I'll check out SPASM then, though AppDev worked fine... or at least it used to. >< So it's faster/less bytes to do: CALL Meh1 CALL Meh2
than: (...) CALL LAbel (...)
LAbel: CALL Meh1 CALL Meh2 ret
when needing to use Meh1 --> Meh2 in a row a couple of times? As for the space issue, the app is already 5 pages big, and wel... as usual, the smaller the better. Though if the other way's better then I'll stick to that.
13
« on: June 28, 2011, 11:18:23 am »
This... is odd, I'm using AppDev (DWedit ?) for creating apps, but it's crashing when changing a certain macro. This still works fine:
#define N1_R1 CALL Something1 #defcont \ CALL New1 #define N2_R1 CALL Something1 #defcont \ CALL New2 #define N3_R1 CALL Something1 #defcont \ CALL New3 #define N4_R1 CALL Something1 #defcont \ CALL New4
But as soon as I add one more:
(...) #define N4_R1 CALL Something1 #defcont \ CALL New4 #define N5_R1 CALL Something1 #defcont \ CALL New5
It crashes. It's not the "New5" thingy, since it does the same for 6 and up, and when removing one earlier macro it does work fine with "5" and up. Now, this could indicate that the maximum number of macro's has been reached, however this is not the case. It can hold up to 1000 macros, and it's still far from. Plus, when adding many other macros it still works like a charm. And what's even weirder, when using the macro to run a CALL containing both lines, line this:
#define N6_R1 CALL DoBoth (...) DoBoth: CALL Something1 CALL New6 ret
it works fine again. Can go all the way from 1-w/e with that. (Though I guess it's faster and shorter to use the two CALLs in a row, rather than making a small routing doing both CALLs, right?). It's not the scripts which are being called either - with any other macro substituting for those it works fine. Am I missing something?
Thanks in advance!
14
« on: June 27, 2011, 08:23:06 am »
As thepenguin77 suggested, holding down notes seems to be that one thing that's missing. And I'd also suggest remaking that score screen -- it's really underwhelming when you compare it to the brilliant graphics in every other part of the game.
The holding-down-notes thingy is being worked on, thanks to a brilliant piece of script ThePenguin gave me. Still waiting for PC to get fixed though, and I guess some spare time to actually work on a releaseable version 'd be nice too. >< And you're right, the score-screen is kind of basic and to the point, lol. Though pimping it a bit can't hurt. Maybe you could use that sprite font you used in the tier selection menu?
You... can change fonts? I just displayed pictures of letters there, and no 'font' lol. >.> Shows how big o' noob I actually am. Thanks for all reactions btw. (and yeey, this is the first hit on google for CalcHero, rofl!)
15
« on: June 23, 2011, 10:04:33 am »
Hmm, what about holding the calc upside down, using [On] through [Enter] to change the notes, and [Y=] to strum?
I've tried many things already, though one of the big downsides is that your screen is attached to the controller in this case. Holding it in any comfortable way results in you not being able to see the screen anymore. Secondly, the buttend are really to densly packed to use the calc as a guitar-like controller... I've tried. A release would be nice ^^ Also you should add note streaks and possibly that blue glowy mode forgot what its called.
Notestreak... is possible to add I guess, though not really necessary. Also Star power won't be included, lol. Perhaps when the whole thing's done I'll make a 2.0 with the suggestions posted here implemented. With regards to sound, I think that having a two player battle mode is far better than simply adding sound, because people could just be asked to play the MP3 at the same time.
No sound, and no 2 player mode, sorry. It's... 'something funny for a calculator', not some hardcore console release. Plus, I'm really a noob in programming; never done anything with informatics whatsoever, it's just that on a random blue monday back on highschool I decided it'd be fun to have a guitar-hero like thingy on the TI calc, and wondered if intewebs could teach how to do so... so there. On a sidenote, my laptop crashed and the last backup sets me back many weeks. On top of that, I'm réally buissy at the university at the moment, so a playable download thingy will have to wait for some more weeks... sorry. :'(
|