Author Topic: [TIGCC] 68k C  (Read 28038 times)

0 Members and 1 Guest are viewing this topic.

saubue

  • Guest
[TIGCC] 68k C
« Reply #60 on: February 05, 2006, 09:17:00 am »
The TIGCC Documentation also contains a topic about "How to break the 64k limit using a DLL" - in fact, it's not difficult, but you have to consider carefully which functions can be stored in a DLL, because you can't access the same global data.

I once tried creating a DLL for Shadow Falls that should do the fighting - it worked, but soon some bugs appeared (they could have been there before, though) and I decided only to use a DLL when the program really needs one.

Liazon

  • Guest
[TIGCC] 68k C
« Reply #61 on: February 05, 2006, 09:43:00 am »
Couldn't you just pass on the pointers?

the executables that might take up the most space and might not be necessary are the battle animations.  I was originally thinking that each attack animation be it's own function that requires pointers to the fighting characters' sprite sets and the direction that the attack is actually going.

saubue

  • Guest
[TIGCC] 68k C
« Reply #62 on: February 05, 2006, 07:30:00 pm »
I think passing pointers to globals or directly to data stored in external files might result in some memory errors, but I'm not sure since I haven't tried it.
You could also pass an argument that tells what sprite set the animation should use. The function then could call another function which loads the tile set needed from an external data file (if you don't have an external file already, there's not much need for a DLL because that's the stuff that can be stored outside the real program the easiest way).

Liazon

  • Guest
[TIGCC] 68k C
« Reply #63 on: February 06, 2006, 09:48:00 am »
Won't loading the entire sprite set take tons of time?  Too bad you can't pass the pointer of global data.  It's probably what I would have done with z80 (considering how everything is a pointer  ;)wink.gif )

MathStuf

  • Guest
[TIGCC] 68k C
« Reply #64 on: February 06, 2006, 11:50:00 am »
You could find the global pointer every time you try to use it. Making a refresh_pointer() function might work well...

Liazon

  • Guest
[TIGCC] 68k C
« Reply #65 on: February 22, 2006, 06:19:00 am »
well, since my current project will probably be under 64 kb (data and executable, since it's such a simple game, just an eleborate and large GUI), I don't think I'll need to worry about DLLs.  If it does get slightly bigger, I'll probably just use ppg.

Something that I've been wondering about for awhile is how to use the linkport.  I've read the link.h article in the TIGCC documentation, but I don't quite understand what I need to do with them to get (semi) real time data transfer.  If I can't get real time, I don't mind turn based kind of stuff, since the game is kind of turn based anyways, though normally you'd never think of it that way.  

Oh, I've been wondering why my OSdequeue key press routine no longer works.  If I can find it I'll post it up.  TIGCC keeps throwing an error that says something along the lines of "Bad Reference to OSdequeue(); Unresolved reference to OSdequeue()"

Thanks!!

MathStuf

  • Guest
[TIGCC] 68k C
« Reply #66 on: February 24, 2006, 05:04:00 pm »
Yeah, it takes quite a bit to get to 64k...

Your OSdequeue() error could be the result of not having the tigcc.h file included. What you got basically means that it can't find where the function is.

Liazon

  • Guest
[TIGCC] 68k C
« Reply #67 on: February 27, 2006, 04:29:00 pm »
i thought that was default in the header.

Offline Ranman

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1354
  • Rating: +83/-0
    • View Profile
[TIGCC] 68k C
« Reply #68 on: February 27, 2006, 05:35:00 pm »
Unfortunately, OSdequeue() is not defined in AMS 1.00. :(sad.gif Which is the one reason that I have never attempted to use it.

Make sure you have the minimum AMS set to 1.01 or better. ;)wink.gif
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

Liazon

  • Guest
[TIGCC] 68k C
« Reply #69 on: February 27, 2006, 06:37:00 pm »
in that case, I think I'll try to make sense of that low level key reading stuff.

but then an unsigned long int might not be big enough for a for loop counter.

saubue

  • Guest
[TIGCC] 68k C
« Reply #70 on: February 27, 2006, 07:13:00 pm »
QuoteBegin-Ranman+Feb 27 2006, 23:35-->
QUOTE (Ranman @ Feb 27 2006, 23:35)
Unfortunately, OSdequeue() is not defined in AMS 1.00. :(sad.gif Which is the one reason that I have never attempted to use it.

Make sure you have the minimum AMS set to 1.01 or better. ;)wink.gif

That's true, but who uses AMS 1.00? And _rowread isn't supported by PedroM yet :(sad.gif

QuoteBegin-Liazon+
-->
QUOTE (Liazon)
in that case, I think I'll try to make sense of that low level key reading stuff.

but then an unsigned long int might not be big enough for a for loop counter.

You should use some kind of Wait-function for this, e.g.
c1
-->
CODE
ec1void Wait(unsigned int delay)
{
 

Offline Ranman

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1354
  • Rating: +83/-0
    • View Profile
[TIGCC] 68k C
« Reply #71 on: February 28, 2006, 01:25:00 am »
QuoteBegin-saubue+Feb 28 2006, 1:13-->
QUOTE (saubue @ Feb 28 2006, 1:13)
That's true, but who uses AMS 1.00? And _rowread isn't supported by PedroM yet :(sad.gif
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

Liazon

  • Guest
[TIGCC] 68k C
« Reply #72 on: February 28, 2006, 01:43:00 pm »
wow thanks.  but I don't get what you mean be puting the calc to sleep.

edit: how do you prevent the calc from reading 2nd +, Alpha+, and Diamond + key presses?

Offline Ranman

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1354
  • Rating: +83/-0
    • View Profile
[TIGCC] 68k C
« Reply #73 on: February 28, 2006, 02:59:00 pm »
QuoteBegin-Liazon+Feb 28 2006, 19:43-->
QUOTE (Liazon @ Feb 28 2006, 19:43)
wow thanks.
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

Liazon

  • Guest
[TIGCC] 68k C
« Reply #74 on: March 03, 2006, 08:42:00 am »
so there's no way to prevent 2nd, diamond, or alpha from appearing at the bottom of the screen mid game?