Would you like a Chess Assembly Program? |
Yes |
|
83% |
[ 25 ] |
Maybe |
|
13% |
[ 4 ] |
No |
|
3% |
[ 1 ] |
|
Total Votes : 30 |
|
I am currently working on a Chess Program for the Ti-84+CE. I would post pictures of my current progress, however, I have no idea how to do that. Currently I am learning how to write assembly code and transform my Ti-Basic Program into an assembly program. Does anybody have any good ideas I could incorporate into this game?
Right now I currently have a main menu, settings, a 2-player mode that only includes the chess board and pieces (there is a lot more to go), rules, and a 1-player mode with an AI (incomplete). It is very user friendly.
To take screenshots, you can upload your program so far to CEmu, a CE emulator (Instructions
here). There is a screenshot option, which also allows you to record animated gifs as well, if you wish.
For the chess game, the best asm chess game that I have seen is
this one, for monochrome calcs. If I were making this game, I would look to that version for inspiration.
TI-Chess, which I did not create but worked on a bit, could be used at least as another source of inspiration.
It's written mainly in C, under a custom but permissive open source license; the engine core is relatively portable, but the UI and file handling code isn't, for efficiency reasons.
Two Questions.
1. Does anybody know what version of C programming language you can use in programs for the TI-84PCE?
2. How do you change a C type file to being a .8xp file to be compatible?
You can use ti planets project builder to do everything.
For the version, im not exactly sure, but I think its C89 (please correct me if i'm wrong).
seanlego23 wrote:
Two Questions.
1. Does anybody know what version of C programming language you can use in programs for the TI-84PCE?
I'm not sure about that, but probably the most recent. The C SDK is a modified version of Zilog's ez80 C SDK, I believe, so whatever Zilog used.
Quote:
2. How do you change a C type file to being a .8xp file to be compatible?
You can use something called the C SDK. When you install it, you can write some C code using the libraries, then make the code into a .8xp. It is on your computer, so you don't need an internet connection to use it. The SDK also goes really well with CEmu, Adriweb has created an autotester that if configured correctly will send completed calculator files the CEmu as soon as you make your progam. Dowload CEmu Win32 builds here. (courtesy of pimath)
If you do not want to go through the hassle of setting up the SDK, you can use SourceCoder 3 or the TI Planet Project Builder.
Sourcecoder is linked to your Cemetech account, so any files you write in there will be saved online. Same thing for the TI Planet Project Builder, but it has a emulator built it, which SourceCoder does not yet, because JsTIfied does not support the TI 84+ CE.
So if you want to program in C and don't have a constant internet connection, I would suggest downloading CEmu and installing the C SDK. (they both work under wine on linux and mac as well)
If you do have a constant internet connection, use TI Planet's Project Builder or Cemetech's SourceCoder. There isn't really a recommended one, both are quite great, but the Project builder does support file sharing and an emulator built in, but it doesn't support the other calculators. (that I know of)
So choose your preferred emulator or set up the C SDK, I and I'm sure others would be glad to help you set it up and learn the process. Oh, and don't forget when testing items you need these AppVars to run any C program.
I guess you just need to look at the library's command lists now, which reside online or in one of your C SDK folders. Here's the online links: graphx fileio keypadc
Unicorn wrote:
[...]Adriweb has created an autotester that if configured correctly will send completed calculator files the CEmu as soon as you make your progam.[...]
That's true, but transferring files isn't the goal of the Autotester (it's just a needed step)
Anyway, when in CEmu, you can basically drag'n'drop your 8xp file(s) on it, and it should work.
Unicorn wrote:
the Project builder does support file sharing and an emulator built in, but it doesn't support the other calculators. (that I know of)
As of this date, this is correct. Only a somewhat fragile CEmu port is there.
I think I will download the SDK thing, because I won't always have Internet Connection (but most of the time I do, so just in case). Thanks
Does anyone know how to make a make.bat file for C games? I need to know how to make one for this game so I can test it out in CEmu.
I'm not sure what you would want a .bat file for...
To compile the program you just need to go to whatever directory the makefile is in using the command prompt and type "make" and hit enter. That should compile the program, and the .8xp will be in the bin folder.
Ok. Makes sense, but don't you have to create the makefile first? If so, do you know how to create one?
I'm still pretty new at this, so any help is appreciated.
So kind of an update, I am switching all my basic stuff into C, which is going to take a while because I have to create a sprite for each piece. I'm hoping that I can add a bit of SMC(Self Modifying Code) where I only have to create 6 pieces: Pawn, Rook, Knight, Bishop, Queen, and King; and I can change the colors of the pieces from the settings. I don't know if that will work but I hope it does. Because of my stubborness and craving for some uniqueness in this game, I am creating the sprites by hand, and not using Convpng. If you want to know the sprites will take up this much space:
If SMC works: 3468 bytes
If not: 6936 bytes
So overall, not that much room. Each sprite is 24 x 24.
This and my train project are going to start to slow down in development now because school is getting closer and I get busier. Just fyi
Obviously there's not enough documentation to know that ConvPNG easily supports anything you want to do. But that's your prerogative
Good Luck!
I currently have the sprites all ready to go. Thanks to MateoConLechuga, I didn't do it all by hand, but I did have to change some of the sprite data because of some color issues that I had to fix in order to make the SMC work smoothly. Just an update.
What is the difference between Z80 asm and eZ80 asm?
z80 and ez80 are different procesors and they are programmed by their corresponding versions of assembly (like processor code, I think). ez80 ASM is somewhat simalar to z80 ASM, but newer, and only works on the ez80 processor, which means ez80 is only valid on the Ce. z80 Is valid on the other 84+ seiries calcs.
Unicorn wrote:
z80 and ez80 are different procesors and they are programmed by their corresponding versions of assembly.
They are actually quite similar. ez80 was intended to extend z80, but has some breaking changes nonetheless. z80 and ez80 assembly (technically the "same" language) have some certain differences explained here.
Is the TI-84+CE compatible with both or just ez80?
are u still working on this?