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.


Messages - Zemmargorp

Pages: 1 ... 4 5 [6] 7 8
76
TI Z80 / Re: [Axe] Flappy Bird clone
« on: August 14, 2014, 12:38:27 pm »
This looks nice but what caught my attention was how fast it moved. I assume the game is much harder, right? O.O
Indeed, it moves fast, but this is to compensate the hardness of the original Flappy Bird !
My scores are better in my game than in Flappy Bird, I therefore consider it's easier  ;D
Nevertheless it's very hard to play it on emulator.

This looks nice so far, good work :)  I particularly like the pipes in the first one.
Yes, as I wrote, they come from the Mario assembly game. I didn't have time to draw the sprites.

Thanks for the messages !

77
This is interesting. I will most likely not use it since I don't code in Axe anymore but I know some people might not necessarily need complex menus in their games and might just want to use the default TI-OS ones.  In BASIC too it was pretty convenient and not too intrusive, game-design-wise, so it's good that they can now be used in Axe too. :)
Thank you. And, yeah, I'm one of these people who might not necessarily need complex menus...



I'm thinking of the syntax of the Menu( command, for Axe... First, I think it'd be better that this functions returns the selected item's index, instead of jumping to a specified address. Sometimes you don't need to jump : this is the case if the menu is used in a game to ask the number of players. Additionally, it would be a shame to have menus limited to one title and only two choices, as for now commands are limited to six arguments. If you want it to jump to labels, you can use it in combination with Z-Test. But there are still different ways to include it :
  • Use it like TI-Basic does : the first argument is the menu's title, and all the other are choices. The numeration is automatically made. It's easy to use, but very limited.
  • The second way is to use the first character of each string to describe what the string corresponds to. Adding the prefix "." to any string will treat it as a title, and ":" as a choice. This allows more kinds of menus, and it'll be easier to add later other options, like "=" to input numbers, etc.
  • Maybe use both ? Menu() will use the same syntax as TI-Basic does, and adding the ^r modifier will use the second way. This is a bit strange, though. And it will take a lot of bytes into Axe Parser, and everyone knows few bytes are remaining free.
What do you think ? (Personally, I think using both would be a waste, but I don't know which solution is better.)

78
TI Z80 / [Axe] Flappy Bird clone
« on: August 12, 2014, 12:54:15 pm »
Did you hear about Flappy Bird ?
Well, a friend of mine and I made it in Axe...
Here's my version of the game !
I know, I'm six months late, but better late than never !

I made this game because one Monday, at school, classmates challenged me to make the game in one school day. To make it quickly, I stole the sprites from the well-known Mario (like Flappy Bird's author did !), and I started coding. Here's what I came with (it's normal that the game isn't completely finished). The next day, I decided to make another version, where you move up and down using the arrow keys, and the more you keep one of these directional keys pressed, the faster you move. I called this second game "TWISTEUR", because it moves a lot  :P .

Being now an Omnimaga's user (an omnimagian ?), I decided to share these two games, with their source code. Here they are ! My best scores were around 40/50, if I remember well... I'm bad in the screenshots because it's very hard to play on emulators ! By the way, it's possible to fly from the bottom to the top, and from the top to the bottom, even if it's a bit hard, I've managed to do it in both games.

79
Wait, that means you can only have up to 5 choices right ?

Also, maybe you can display the title in inversed font, like Basic menus.

Apart from this, well done ! I'm sure many persons were waiting for this to pop out :)

Les Français vaincront ! :D
No ! You can have up to 7 choices ! If you had downloaded the zip (nobody did, but I got two points of karma : that's funny !), you'd have seen I provided an alternative which consists of generating data corresponding to the menu (I've made a generator in the zip), and sending an pointer to the data using this syntax : "Menu(GDB0)rr".

Yes, but I don't know how to display the title in inversed font, because it's the OS routine which draws the menu.

Probably, and I hope it will be useful !

Pourquoi pas, ça m'irais bien !  ;D


YES finally! A quick alternative to creating your own menu system every time you write an axe program! This slipped under my radar, but I am glad I see it now!
In fact, I published it today, so you're one of the first people to see it !

80
The Axe Parser Project / Re: Features Wishlist
« on: August 09, 2014, 03:04:34 pm »
Great :D
I am not sure I'll use it in any of my releases, but this could still be very helpful in unfinished projects to have functionnal code faster (and then only have beautiful interfaces).
*Yes ! My very first +1 ! I love you !*
Thanks ! Personally, I think I'll use it in some projects which have a TI-design...
I'm happy to have finished this Axiom ! Finished debugging !

81
The Axe Parser Project / Re: Features Wishlist
« on: August 09, 2014, 12:53:20 pm »
I've finished my Menu( axiom  :thumbsup:
Download it here !



But if any assembly wizards want to provide the majority of a solution, whether it's as hard as I think it is or if it's really simple, I'll happily include it! That is, if I can fit it. :P

It was not so hard, but currently the Axiom only allows to create menus like those in TI-Basic, not like the OS's ones (this will be much harder). Now, it would be great to add this feature in Axe !

82
The Axe Parser Project / Re: Axiom Requests
« on: August 07, 2014, 01:37:51 pm »
I'm currently making a Menu( axiom. For the time being, it's a beta and isn't very user-friendly, but I'll improve it ! You can try it here. Don't forget to read the post with the explanations !

EDIT : Axiom finished !


83
The Axe Parser Project / [Axiom] Menu( using OS's bcalls (finished !)
« on: August 07, 2014, 01:34:42 pm »
I've finally finished the Menu( axiom !

You can only use it like in TI-Basic, by writing Menu("WHO ARE YOU?","A BOY","A GIRL","A CALC"). Note you can't use labels as arguments. The function returns the selected choice's index. But there's a readme to explain it, and even its french translation.

EDIT : I improved the readme and translated it in french. No changes have been made to the axiom.

EDIT 2 : No more beta ! Final version released  :)

84
The Axe Parser Project / Re: Bug Reports
« on: August 07, 2014, 11:10:31 am »
It's not Axe that corrupts things. It's the OS. And it's because the token hook definitions are misaligned, so the OS interprets then wrong. It tries to replace non-existing tokens with random strings of random size, so of course it doesn't work.
I'm not sure, because the calculator crashes only when I try to open the source after compiling it, whether it be from Axe using the [prgm] key to scroll to errors, or using the OS. Before compiling, even if the Axiom was corrupted, I could edit it without any damage.

85
The Axe Parser Project / Re: Features Wishlist
« on: August 07, 2014, 11:03:20 am »
You could take a pointer as your argument instead and interpret the memory stored at the pointer instead.
Yes, but as the AxiomSDK says, "Puts the data pointer in hl (disables auto-replacements)", it disables the auto-replacements, and I need them. I'm wondering why it's linked  ??? .

86
The Axe Parser Project / Re: Features Wishlist
« on: August 07, 2014, 10:16:24 am »
Other ideas : in the Axioms, add a way to make commands which accept between n and m arguments. It can, for example, put the args count in the register B (B because it's the only register used by the DJZN command). This would be useful for some commands (like "Menu(", of course  ;D ), because if they are used multiple times with different arguments count, the commands' code will only be added once to the program. Also, maybe add a way to push the arguments after the return address, because it's not very practical the way it is for the person who writes the Axiom  :/

87
The Axe Parser Project / Re: Bug Reports
« on: August 07, 2014, 09:14:41 am »
This is usually caused by badly-aligned fields.
Yes, it is. This error is caused by a field using one byte instead of two. But Axe Parser should'nt corrupt the source.


You need to add to the size word one for every .org $-1 you wrote in your routine. This is because although PC doesn't take care of the special bytes, they still exist in the axiom (and not in the final Axe program) so they must be taken into account when calculating the routine's size.

I discovered it (a bit late, though). Ultimately, this is logical : I wrote the size as "labelEnd-labelBeginning", and writing ".org $-1" is used to not take into account the byte added (for labels).

Now I have a stable routine... Finally ! I may release a "beta" version soon (as the current version is not very practical), but I have to write a small documentation before, and do some more tests. I'll maybe post it tomorrow.

88
The Axe Parser Project / Re: Menu( command using OS's bcalls - need help
« on: August 06, 2014, 09:15:20 am »
*Currently working hard on an Axiom that doesn't work very well...*

EDIT : Finally, I've solved the big problems I had ! First, I wrote somewhere ".db" instead of ".dw", (which is, for the compiler, unforgivable) and then, it seems that Axe Parser doesn't like when you put data (and not code) inside an appvar. I'm happy that's done. Now, well, let's code !

89
The Axe Parser Project / Re: Bug Reports
« on: August 06, 2014, 08:55:01 am »
Code: [Select]
.db $7F ; says next instruction uses an address relative to the start of the axiom
.org $-1 ; since it's only used by Axe at compile time and not included in the final binary, tell the program counter it doesn't exist
Same for $49.
Thanks  :) ... it doesn't solve the problem, but I'm now at least sure that the error I encountered are not linked with it.


By the way, as we're in the "Bug Reports" section, here's a case where Axe Parser corrupts the memory due to a bad Axiom. If you want to reproduce this bug (on emulators of course) use the (buggy) axiom joined with the source written under. You'll get an "INVALID AXIOM" error, press clear, and try to open the source again... it crashes !
Code: (Source) [Select]
.AXE
#Axiom(AXEMENUS)
Menu(
Code: (Stats) [Select]

             009
E78009E8A3FE69F1
B9F1B000000000B3
700487F0A0000E60
000007BDE

90
The Axe Parser Project / Re: Bug Reports
« on: August 05, 2014, 12:22:33 pm »
No, that was a TASM issue. Switching to SpASM fixed it.

EDIT : oops just saw the answer in the other thread. Did you try compiling into AXIOM2 with TASM ?


Not yet. But I'm quite sure it does work.
*Editing the "compile.bat" file... Compiling with TASM...*
*Adding the file generated to emulator... Compiling with Axe...*
Yes, compiling into "AXIOM2" with TASM works.
*Editing the "compile.bat" file again...*
But I'm happy to have installed SPASM, since it supports the ".org" directive, and it will be useful for my Axiom  :) .


About Axioms : I don't succeed in using the prefixes $7F and $49 to change the replacement policy. Does anyone know which instructions to use them with (ld ? bcall ?), how to use them (before the instruction op-code or before the address), etc ?

Pages: 1 ... 4 5 [6] 7 8