Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: AssemblyBandit on February 19, 2010, 01:23:47 am

Title: Cydia
Post by: AssemblyBandit on February 19, 2010, 01:23:47 am
Heres the RPG I was working on on the 86. Im going to port it to the 84+ and finish it.
. I have a few questions about the 84+. I would love to have a file documenting the memory, screen info, port info, interrupts, and all other technical data. Ive got the files off of TIs website for developers but its for the TI 83+, I cant find the TI84+s developers guide. How similar are these calcs and why make an 83+ and an 84+? Im tired right now, Ill finish this tomorrow. Ill explain the things in the video. And how do you make animated GIF's from an emulator?
Title: Re: Cydia
Post by: calc84maniac on February 19, 2010, 01:36:36 am
Heres the RPG I was working on on the 86. Im going to port it to the 84+ and finish it.
. I have a few questions about the 84+. I would love to have a file documenting the memory, screen info, port info, interrupts, and all other technical data. Ive got the files off of TIs website for developers but its for the TI 83+, I cant find the TI84+s developers guide. How similar are these calcs and why make an 83+ and an 84+? Im tired right now, Ill finish this tomorrow. Ill explain the things in the video. And how do you make animated GIF's from an emulator?
They are generally the same, except for speed and memory. The TI-84+ series has a USB port and a real-time clock, but is otherwise identical to the TI-83+SE. I recommend http://wikiti.brandonw.net/ (http://wikiti.brandonw.net/) for hardware info.
Title: Re: Cydia
Post by: Eeems on February 19, 2010, 01:47:12 am
For emulators if you have wabbitEmu up and running just hit backspace to start a screenshot GIF (choose where to save) make the screenshot and then hit backspace again to stop the screenshot.
You will need a ROM to do this so I would recommend getting rom8x from ticalc and getting a dump and then creating a ROM from that.
Title: Re: Cydia
Post by: Galandros on February 19, 2010, 09:04:58 am
For grayscale in TI-8X family I recommend graylib2 from James Montelongo. (you may find in RS forums or PM me) Or doing your own if you can.

One major modification are the graphics routines (mapper, sprites) because of the LCD size...
Title: Re: Cydia
Post by: DJ Omnimaga on February 19, 2010, 02:39:38 pm
Wow that looks awesome, that would sure make ticalc front page if finished, I hope you finish it :)

For emulators, you have to use WabbitEmu, but for screenshots, do not use the latest version because screenshooting is broken in it (I tried). Unfortunately there are so many versions out now that it is near impossible to find the right one there:

http://group.revsoft.org/?C=N;O=A

just try any build that was made after August 2007 but before 2010 and hopefully you'll run into one that is both stable and can do screenshots properly. Keep in mind that if your fade-in/out effects I see in your vids are done via contrast changes that these effects will not be captured during screenshooting. This is a bug in Wabbitemu.

Also, you have 24 KB of RAM to work with on 83 series. You might eventually want to go for flash apps if your RPG is really big.

But still I love the looks of this so far. It reminds me Dragon Warrior and I hope it comes out ^^, just make sure that grinding is not ridiculously long XD
Title: Re: Cydia
Post by: Builderboy on February 19, 2010, 03:05:59 pm
That looks great!  Out of curiosity, what are the little pixels moving around in your (radar?)?
Title: Re: Cydia
Post by: DJ Omnimaga on February 19, 2010, 04:16:30 pm
to me it seemed like monsters, but there were no monsters in the village. My guess is that on the overworld, when they will touch you, a random battle will occur, or there will be enemies moving around. I kinda liked that concept actually
Title: Re: Cydia
Post by: AssemblyBandit on February 19, 2010, 09:38:13 pm
Thanks for the info. I was really tired last night and crashed. I cant wait to get done with this game. Tonight I will test some stuff out and see where Im at on the calc programming. The circle in the upper right hand portion of the screen is a crystal ball that shows where the enemies are at. I took it from this old rpg on the snes. I just hate rpgs that have you battling an enemy every two steps. With the ball you can try to avoid enemies if your near death, and go after them when you want to gain money or experience. Its only up in there so i could test it out and make sure that the enemies actually come to you and not just aimlessly wander around. Its taking a long time to get the fighting part done because theres so many things i want to do with it, but trust me, when its done this game will be perfect. After that the rest of the game will go quick. Ive already made the majority of the routines to be used in it. I might have to change some things due to the resolution of the screen though. Another question though, is it possible to archive the map data? Ive read that it has to have an app header to go in there, but is there anyway possible to get around the ram memory limits? The world map alone is huge and the towns/caves are pretty big too. Can I store the map/sprite data in the archived area and readily retrieve it? And are there any small project requests that anyone has? I was reading about the teacher lock the calcs, has anyone found a way around that? If not I could look and see whats up with it.
Title: Re: Cydia
Post by: ztrumpet on February 19, 2010, 10:28:31 pm
This looks excellent! Great job. :D

If you want, you could store the maps in archive as AppVars.  Then you could directly read the data from them in archive and use it for anything.

This is really cool! Good luck!
Title: Re: Cydia
Post by: DJ Omnimaga on February 19, 2010, 10:33:43 pm
Yeah, back in the days, I used to have my RPGs set so every step you have 20% chances to encounter an enemy. However, one single arrow keypress made you move an entire area away, kinda like Phantasy Star 1 dungeons on the Sega Master System, but in 2D. When I discovered the wonders of tilemapping and collision detections, I switched to 2% chances every step, but what happens when you hit under 3% 6 times in a row? pure annoyance, so here's what I do now: when game starts, I store a value from 10 to 50 in variable R. This is the amount of steps before next random encounter. After every battle, this counter is randomised again, even after boss fights. This reduces battles every step a lot. Of course you still can't see the enemies but it's much more bearable IMHO (and faster, since you doN't use Rand every step, which is slow in BASIC). With a radar it's even better, altough it needs ASM to be fast enough x.x.

As for archived maps, it should be possible, you just need to learn how to deal with archived data. Usually, people will copy the needed map to a RAM area temporarly, while keeping the original program or file archived.

Another note, I recall the 86 using strings for ASM program storage, right? Or was it the 85? On the 83+/84+ we use 8xp files (programs), or FLASH apps, which are 8xk files. Keep in mind Flash APPs doesn't allow self-modifying code, though, so save data is saved in an external file, usually an appvar. Flash APPs are also coded a bit differently, IIRC, since it's divided into 16384 bytes pages. Chips Challenge, for example, is almost 10 pages large. The hard part can be to access data from a different page, but I'm not an expert at assembly so you would probably need to ask an ASM expert on either the forums or IRC.

This might be useful: http://wikiti.brandonw.net/index.php?title=Calculator_Documentation#TI-83_Plus_Family

But yeah, when doing ASM, you're not limited to just RAM. If you go with regular programs, you'll have to divide your game into multiple subprograms, with some of them being archived (usually the map data or stuff that is ran only a few times in a game, kinda like BASIC games that uses an ASM libs to copy archived programs in temp RAM programs). Otherwise, Flash APPs. I believe Flash APPs were not used for games when the 86 was still popular, though.
Title: Re: Cydia
Post by: jsj795 on February 21, 2010, 01:29:19 pm
Yeah, with TLM, I use 35-50 steps currently, and subject to change :P
Anyway, I don't know much about asm, so... can't answer any of your questions sorry
Title: Re: Cydia
Post by: Geekboy1011 on February 21, 2010, 06:25:23 pm
if you are talking about the teacher guard thing on teh calcs there was a way around it made that basically patches teh tios and makes it do nothing at all it just has the screen you hit ok nothing happens :P

if your talking about somthin else idk


also i love how this is coming so far :) and i like the crystal ball idea i hate it as well when u get into fight after fight after fight it made me have to restart final fantasy 2 from the begging cause i got stuck in a cave X.x
Title: Re: Cydia
Post by: ztrumpet on February 21, 2010, 08:27:39 pm
... i like the crystal ball idea i hate it as well when u get into fight after fight after fight it made me have to restart final fantasy 2 from the begging cause i got stuck in a cave X.x
Me too.  That's such an awesome idea.  I think my RPG for after Elmgon will include this. (This is in white 'cause I don't want to give away too many of my ideas yet, in case I don't get around to this idea. ;D Wait!  You can see this on the green! =\
Title: Re: Cydia
Post by: DJ Omnimaga on February 21, 2010, 09:10:54 pm
it's not green o.O?

Your computer screen might be dying or something x.x, cuz the forum post areas are blue-ish :P

In my RPGs there's a trick about not running into any random battle that works in Illusiat 7, 10-13, ROL1-3, Mystique and Mana Force 2: unlike in the PS1 remakes of FFI-II NES, the amount of step before next random battle is not stored into save files. Basically this means if you save/reload your game every 9 steps (or 4 for dungeons with higher encounter rates) you won't encounter any enemy.
Title: Re: Cydia
Post by: ztrumpet on February 21, 2010, 09:59:26 pm
In my RPGs there's a trick about not running into any random battle that works in Illusiat 7, 10-13, ROL1-3, Mystique and Mana Force 2: unlike in the PS1 remakes of FFI-II NES, the amount of step before next random battle is not stored into save files. Basically this means if you save/reload your game every 9 steps (or 4 for dungeons with higher encounter rates) you won't encounter any enemy.
I've abused that before... :D
it's not green o.O?

Your computer screen might be dying or something x.x, cuz the forum post areas are blue-ish :P
Okay, I'll call it Robin Egg Blue.  Better? :P ;D
Title: Re: Cydia
Post by: DJ Omnimaga on February 21, 2010, 10:24:16 pm
That said, I still remember once Netham45 Opera colors were totally screwed up, tho x.x, all sites colors were different x.x
Title: Re: Cydia
Post by: Zera on February 22, 2010, 09:35:17 am
Very nice. Reminds me of the classic Ultima games, but with a pleasant twist. I was trying my hand at something similar (http://ourl.ca/3973), but never really got off the ground with it. (aside from planning and designing assets) I have too much of a visual way of thinking. Beyond planning something, I can't buckle-down and embrace the abstraction of actually coding it. Oh, well.

I think I posted a good portion of my resources there, so they're open to you if you want to work any of the ideas into your own projects. Anything I post is open to the public for re-use or modification.
Title: Re: Cydia
Post by: DJ Omnimaga on February 22, 2010, 01:50:23 pm
Yeah the issue with game making is that you can be really dedicated to create your own game and may end up designing it completly. However, the coding part of it is another story for some people x.x. I myself don't like that part as much as the design part.

This is why on PC I used RPG Maker 2003 for simple RPGs and that it would be cool if such tool would come out for z80 calcs *pokes Tribal*
Title: Re: Cydia
Post by: Zera on February 22, 2010, 02:19:24 pm
RPG Maker is too limited for my needs. If you need anything practical done -- or you need to reconfigure elements of the program -- you have to know a scripting language to mess with its functionality. It defeats the entire purpose. You can find some scripts available in fan communities, but it takes a lot of searching, and half of them are a pain to get them working properly.

Err, sorry for going off-topic for a moment there. :P
Title: Re: Cydia
Post by: DJ Omnimaga on March 21, 2010, 10:09:56 pm
Well for PC the thing is that I tried many languages and it's just not my thing. I don't mind the RPG Maker 2003 engine since it lets you do a lot without having to code, but yeah it's a bit limited still. As for XP and VX, what I dislike is that almost all 2003 features were taken off and now you need to code them. It really defeats the point of the RPG maker.

That said, I wonder if this RPG project is still alive? :O
Title: Re: Cydia
Post by: Silver Shadow on March 22, 2010, 02:42:38 pm
I was wondering, is your choice of naming it "Cydia" have anything to do with iPhones or iPod Touces?
Title: Re: Cydia
Post by: AssemblyBandit on March 25, 2010, 09:37:14 pm
Oh no, Ive been working on this on and off for a while. I started it about 8 years ago. I originally wrote it on the 85 written in ti basic. Unfortunately there was a memory leak or something (the 85 didnt have that much memory anyway), and it would give me a memory error when i tried to play it for testing after a while. i kinda got off of it for a couple of years then i decided to learn asm and got me an 86. The 86 was awesome for its time but back then ti didnt really give out any info on its calcs. With documents from ACZ and months of testing, i had pretty much documented a ton of things on it, including port info, rom calls, other little things in the os, and the unofficial instructions. Then about 2 years ago i decided to remake Cydia in assembly. i really had everything laid out for it except for the fighting routines. I was busy trying to draw all the enemies but eventually i just left it alone. i released my first game on ticalc.org and nobody seemed to interested in it anymore. Now i look at the code and theres a lot to go through. i really dont remember exactly what all my routines do, but ill figure it out. Im also going to do (hopefully) a major overhaul on the graphics and make the story more in depth. By the end of next month I will have an actual demo for it ready. Its kind of tough working with the smaller screen though. Its really going to be good though.  ;D

And about the RPG Maker, I designed the code for this game to be modular. All the routines that are for basic gameplay are in the main code. Basically I designed it so that maps were to be saved as strings of data that held everything specific about them in it. Map strings contain theyre own sprites for the map, the design of the map itself (which includes the spots where the f1 key would change to what kind of spot it was, such as 'Talk' or 'Take'), and all of the text for the npcs in there. That way once i got done with the main engine all i would have to do is design the maps and what kind of stuff was in there for the storyline and chests and stuff. I planned to release a mapmaker with it so that theyre could be user created quests or even whole games themselves. And you wouldnt have to code anything, just design what you wanted in the game. Ill try to have that done when i finish it. (ill create a generic one to help speed up the process of making maps for now.)
Title: Re: Cydia
Post by: DJ Omnimaga on March 25, 2010, 09:46:51 pm
I kinda miss the ACZ. I remember sometimes visiting their site, altough they were alerady dead, then they shut down. And yeah mem leaks in TI-BASIC were a pain to deal with back then. There was barely any doc explaining how to get around them back in the days. No optimizing tricks either. Notice how many 85/86 BASIC games are lower quality than some today 83+ ones. It sucks TI discontinued the 86 cuz it was awesome. I wish they did a 86+/86 Titanium or something, since it's more user-friendly than the TI-89 and the Nspire. Hopefully maybe someone will make a TI-86 emu for the Nspire one day so it may revive this model. There's one for the 83+SE but it's slow and it doesn't work on any 84+ released after APril 2007 :(

I am kinda glad you are still working on this. Could you link me to your ticalc profile, though? I got many calc models (I only really miss the 92+/v200) so I would be able to play it easily when I get some time. I even have a bunch of Casio calcs :P
Title: Re: Cydia
Post by: AssemblyBandit on March 25, 2010, 10:16:08 pm
http://www.ticalc.org/cgi-bin/acct-view.cgi?userid=75011   my link to my profile on ticalc.org
Title: Re: Cydia
Post by: DJ Omnimaga on March 25, 2010, 10:21:47 pm
aaah ok thanks ^^

I was surprised at the ID though, I was expecting a number in the 4 digits XD, but again, I started coding maybe 8.5 years ago and my ticalc account is not even that old (I registered there in November 2003... took 3 attempts before I stop failing at it, too)

Gonna check I guess
Title: Re: Cydia
Post by: AssemblyBandit on March 25, 2010, 10:24:22 pm
im sure i have more on there, i just cant remember what they are.   ???
Title: Re: Cydia
Post by: DJ Omnimaga on March 25, 2010, 10:30:18 pm
Oh lol ok x.x

I used to have all my games on ticalc.org but they have been gone since April 23th 2008. Eventually I might re-add most of them (starting with Illusiat, ROL, Reuben, XXR, Zelda and both Metroid games) but I was not planning to do so until Illusiat 13 is finished.
Title: Re: Cydia
Post by: ztrumpet on April 02, 2010, 11:47:12 am
I kinda miss the ACZ. I remember sometimes visiting their site, altough they were alerady dead, then they shut down. And yeah mem leaks in TI-BASIC were a pain to deal with back then. There was barely any doc explaining how to get around them back in the days. No optimizing tricks either. Notice how many 85/86 BASIC games are lower quality than some today 83+ ones. It sucks TI discontinued the 86 cuz it was awesome. I wish they did a 86+/86 Titanium or something, since it's more user-friendly than the TI-89 and the Nspire. Hopefully maybe someone will make a TI-86 emu for the Nspire one day so it may revive this model. There's one for the 83+SE but it's slow and it doesn't work on any 84+ released after APril 2007 :(
I personally use my 86 for Chemistry, because I find it easier to use for Chem than 83 series calcs. ;D

AsmBandit, have you made any progress on this?  It looks like a neat game! :D
Title: Re: Cydia
Post by: AssemblyBandit on April 06, 2010, 09:41:43 pm
Im going a little crazy with the graphics, Im trying to get the fight scenes to look good, but i think i might be overdoing it for now. Ill post a video soon.
Title: Re: Cydia
Post by: DJ Omnimaga on April 06, 2010, 11:12:08 pm
Cool! I am curious what you will come up with. A lot of ASM RPGs lacks any good magic animations. They don't have to be complex but in many cases, the magic animations were just the entire screen flashing. In console games that used to happen on the NES too.
Title: Re: Cydia
Post by: AssemblyBandit on April 25, 2010, 12:40:11 pm
Well, i have a couple of complaints, first why does the include file have ram start at $8000? If someone swaps pages (which they will because theres no point in having duplicate pages) then they will get messed up. Correct me if im wrong but doesnt the ram start on page 0 (permanently mapped at $c000)? Second, Ive been trying to get some flickerless grayscale and it doesnt seem to want to work with me. I got some source code for this so called "4 level grayscale" but the guy really didnt seem to understand how grayscale actually works, he was just flashing two layers on and off at equal increments which just equates to 3 level grayscale? (that flickers like crazy.) Ive gotten some values that work good but even then theres this slow flicker that goes through. Ill try some more tonight using im2 but i cant stand the way ti did away with the memory mapped display, I just cant see why they would change it. they are anti grayscale though, so i guess that probably had something to do with it.
Title: Re: Cydia
Post by: DJ Omnimaga on April 25, 2010, 12:47:23 pm
Unfortunately I cannot help much x.x but if Revsoft was still around, I would have redirected you to their grayscale package. Both theirs and Durk Kingma packages do it right, except the later is not well optimized and slows down games a lot. Grayscale on the 82/84 series is different from 85/86 since the screen is not memory-mapped. Usually the newer grayscale packages adds some sort of interlacing in grayscale display to minimize the flicker effect. As for RAM pages I doN,t know x.x, you may need to wait until someone who knows ASM awnser.

For what shell/kernel are you compiling for, by the way? I think under Ion and no-stub there's a 8 KB executable code limit.
Title: Re: Cydia
Post by: ztrumpet on April 25, 2010, 01:33:09 pm
I don't know much, but I just saw the answer to this in Asm in 28:
For what shell/kernel are you compiling for, by the way? I think under Ion and no-stub there's a 8 KB executable code limit.
You can use some incredibly tricky code to get around this.  I'm pretty sure it works for no-stub, but as always, I'm not sure. ;D
Title: Re: Cydia
Post by: mapar007 on April 26, 2010, 01:28:16 pm
84+ screen sucks (that's why your grayscale doesn't work, probably :) ). I've never done grayscale, so I can't help that much here.
You can get around the executable code limit by copying pieces of code to system ram and calling them over there. Page 80h  (or 0 if you want) in RAM is permanently mapped at $c000, but it's non-executable. Page 81h is the default in $8000. That's just, well, yeah, TI style :)
Title: Re: Cydia
Post by: AssemblyBandit on April 26, 2010, 06:23:29 pm
The bastards!
Title: Re: Cydia
Post by: DJ Omnimaga on April 26, 2010, 11:26:13 pm
Indeed D:

Heck just to tell how bad the 83x LCDs are, even grayscale in BASIC with ASM libs looks better on 6 MHz calcs than 15 MHz ones if not modified. The picosecond it starts updating too quick, it looks terrible