Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: Hot_Dog on April 29, 2011, 09:48:48 pm

Title: Crabcake
Post by: Hot_Dog on April 29, 2011, 09:48:48 pm
I'm not ready to put this in "Our Projects" because I'll still trying to get over the shock of today.  I had something else besides a stolen laptop that put pressure in my day, so things got from bad to worse.

But now, I'm ready to tell what Crabcake will do, in case people have questions or suggestions:

Spoiler For Spoiler:
You can develop ASM programs that can be larger than 8 KB--up to 24 KB if you want!  And we're talking 24 KB of code, not just data.  Your calculator will not lock up, and you will need only 300 bytes of free space for running the program

You will need to read the 2-page instruction manual, and you will have to have crabcake.inc in your program.  In addition, a program that is meant to be more than 8 KBs will require a small "parent" program to get it ready.
Title: Re: Crabcake
Post by: apcalc on April 29, 2011, 09:51:16 pm
Sounds very nice!

Good luck with this project! :)
Title: Re: Crabcake
Post by: Yeong on April 29, 2011, 09:53:41 pm
good luck!
Title: Re: Crabcake
Post by: DJ Omnimaga on April 29, 2011, 10:34:25 pm
Hmm interesting, it would be nice if you made it easy to run or create such programs. How would it work, by the way? Also would it work with Axe too?
Title: Re: Crabcake
Post by: Hot_Dog on April 29, 2011, 10:37:19 pm
Hmm interesting, it would be nice if you made it easy to run or create such programs. How would it work, by the way? Also would it work with Axe too?

Someone would need to make it Axe-capable, but it wouldn't be hard to do so.

Here's how it works:  The Ti-83+ RAM is, by default, at the end of the memory that the Ti-83+ looks at.  Crabcake moves this ram to the MIDDLE of the memory.  That way, the processor never moves past the spot at the end that locks down the calculator.
Title: Re: Crabcake
Post by: calcdude84se on April 29, 2011, 10:51:58 pm
I think you are misunderstanding how the so-called "8KB limit" works :/
To my knowledge, it is _not_ PC being >=$C000 that causes this problem, it's that you're running code on a so-called "protected page".
On the plain 83+, for example, the page typically in the $C000-$FFFF range is RAM Page 0 ($40). If you go and, say, output $40 to port $06 and then try to run code at $4000<=PC<$8000, the calculator will reset.
Admittedly, this idea could work, but never on the plain 83+. The 16KiB of executable RAM it has is simply too little. (Not to mention the OS needs it)
Sorry to be such a downer :(
Note: there remains the small possibility that it could work on the 83+ by "unprotecting" RAM Page 0, as the table at http://wikiti.brandonw.net/index.php?title=83Plus:Ports:05 (http://wikiti.brandonw.net/index.php?title=83Plus:Ports:05) seems to imply. However, I've never been able to convince anyone to test this, and it requires unlocking flash.
Title: Re: Crabcake
Post by: Hot_Dog on April 29, 2011, 11:17:08 pm
I think you are misunderstanding how the so-called "8KB limit" works :/
To my knowledge, it is _not_ PC being >=$C000 that causes this problem, it's that you're running code on a so-called "protected page".
On the plain 83+, for example, the page typically in the $C000-$FFFF range is RAM Page 0 ($40). If you go and, say, output $40 to port $06 and then try to run code at $4000<=PC<$8000, the calculator will reset.
Admittedly, this idea could work, but never on the plain 83+. The 16KiB of executable RAM it has is simply too little. (Not to mention the OS needs it)
Sorry to be such a downer :(

0_0

Alrighty, how many other people knew this?
Title: Re: Crabcake
Post by: ralphdspam on April 29, 2011, 11:25:23 pm
Project crabcake sounds like a great idea!  I'm sure you will find a way to make it happen.  :D
Title: Re: Crabcake
Post by: Hot_Dog on April 29, 2011, 11:37:09 pm
Well it won't happen for BE, but I will continue this for Ti-83+ Silver edition and Ti-84+.  Many games these games can't use BE, but it still upsets me that I can't do it for BE :(
Title: Re: Crabcake
Post by: DJ Omnimaga on April 29, 2011, 11:42:39 pm
I hope you make it anyway for the SE. It sucks that it won't be BE compatible if you use the extra RAM page, but some people might be making CPU-intensive games like a 8 level grayscale 3D polygon engine or a full port of Crysis II that just won't be enjoyable on a 6 MHz calculator and that might be useful for them.
Title: Re: Crabcake
Post by: Hot_Dog on April 29, 2011, 11:44:15 pm
I hope you make it anyway for the SE. It sucks that it won't be BE compatible if you use the extra RAM page, but some people might be making CPU-intensive games like a 8 level grayscale 3D polygon engine or a full port of Crysis II that just won't be enjoyable on a 6 MHz calculator and that might be useful for them.

Sure, I'll make it for the SE and Ti-84+.  And you actually have a point, about 6 vs 15 Mhz.
Title: Re: Crabcake
Post by: DJ Omnimaga on April 29, 2011, 11:50:21 pm
Yeah, not that I encourage everyone to make their game 15-MHz only, but when it's necessary I think it's OK. Just as long as people try to do an effort to optimize their games for 83+ models first *refers to the wave of unoptimized BASIC games that came out on ticalc.org shortly after the TI-84+ got popular a few years ago*
Title: Re: Crabcake
Post by: calcdude84se on April 30, 2011, 12:17:14 am
Nice to see you're going ahead with this :)
I'll be interested to see how you'll manage to pull this off. Will programmers be able to use OS routines, even if not directly by bcall?
Title: Re: Crabcake
Post by: Hot_Dog on April 30, 2011, 12:22:01 am
As far as I know, OS routines without bcalls are a go.  Unless the user tries on purpose to goof up the system, of course :P
Title: Re: Crabcake
Post by: Hot_Dog on May 01, 2011, 11:52:41 pm
The 83+ SE / 84+ part of the project is about halfway done (aside from testing).  It is possible that I can get Crabcake to work with regular 83+s as well, but in the meantime, this is progressing nicely.
Title: Re: Crabcake
Post by: shmibs on May 02, 2011, 12:23:27 am
ooh, sounds delicious!
i'm glad to see you moving on to new things even when you just lost a good deal of your previous work. most people would be discouraged by that and at least take a short break to recoup.
Title: Re: Crabcake
Post by: z80man on May 02, 2011, 02:11:33 am
So does this auto archive stuff in ram for you when you begin a program. That would be very useful for those large programs and stuff and also pretty cool that the code restriction can be worked around.
Title: Re: Crabcake
Post by: Deep Toaster on May 02, 2011, 09:41:57 am
Well it won't happen for BE, but I will continue this for Ti-83+ Silver edition and Ti-84+.  Many games these games can't use BE, but it still upsets me that I can't do it for BE :(

* sigh

Glad this is still going forward though, since it is a great project. 8811 bytes is much too little on a calculator that has hundreds of kilobytes.
Title: Re: Crabcake
Post by: Hot_Dog on May 02, 2011, 10:18:41 am
Well it won't happen for BE, but I will continue this for Ti-83+ Silver edition and Ti-84+.  Many games these games can't use BE, but it still upsets me that I can't do it for BE :(

* sigh

Glad this is still going forward though, since it is a great project. 8811 bytes is much too little on a calculator that has hundreds of kilobytes.

Keep your chin up, Deep Thought.  It's quite possible that it will work for BE after all.

So does this auto archive stuff in ram for you when you begin a program. That would be very useful for those large programs and stuff and also pretty cool that the code restriction can be worked around.

No, it does not auto archive stuff in RAM.  It's just like Super Mario 1.2 does not auto archive stuff when it runs.
Title: Re: Crabcake
Post by: Hot_Dog on May 02, 2011, 04:13:42 pm
Success!!!  Crabcake works on ALL Ti-83+ and Ti-84+ calculators.

I now need to write the manual/special thanks and clean up the include files.
Title: Re: Crabcake
Post by: Deep Toaster on May 02, 2011, 06:33:00 pm
Whoa, fast O.O And * Deep Thought can use it! :D
Title: Re: Crabcake
Post by: ralphdspam on May 02, 2011, 09:44:19 pm
O.O Looks VERY promising now!  I can't wait for the release.  :)
Title: Re: Crabcake
Post by: Hot_Dog on May 02, 2011, 09:46:57 pm
Whoa, fast O.O And * Deep Thought can use it! :D

Glad to know that you can use it!  I know some people would prefer applications even if large ASM size were available to them
Title: Re: Crabcake
Post by: ztrumpet on May 02, 2011, 10:21:50 pm
Success!!!  Crabcake works on ALL Ti-83+ and Ti-84+ calculators.

I now need to write the manual/special thanks and clean up the include files.
Wonderful!  Do you mind explaining how you achieved 83+ compatibility?  'Tis interesting. :)
Title: Re: Crabcake
Post by: Darl181 on May 02, 2011, 10:35:57 pm
This is great ;D

So, will this be made compatible with Axe in an axiom or something?
Title: Re: Crabcake
Post by: Hot_Dog on May 02, 2011, 10:49:21 pm
Success!!!  Crabcake works on ALL Ti-83+ and Ti-84+ calculators.

I now need to write the manual/special thanks and clean up the include files.
Wonderful!  Do you mind explaining how you achieved 83+ compatibility?  'Tis interesting. :)

The Ti-83+ has a special port to unlock the RAM page in the "protected" area.  I found a spot in the OS that used this port, so I called that OS code after using BrandonW's flash-unlock exploit.

This is great ;D

So, will this be made compatible with Axe in an axiom or something?

It can be done, and I would give permission for use for that purpose.  However, I'm not familiar with doing that kind of thing myself.
Title: Re: Crabcake
Post by: TIfanx1999 on May 03, 2011, 04:20:24 am
Success!!!  Crabcake works on ALL Ti-83+ and Ti-84+ calculators.

I now need to write the manual/special thanks and clean up the include files.

Congratulations, this is pretty sweet stuff! ^^
Title: Re: Crabcake
Post by: Hot_Dog on May 10, 2011, 05:39:21 pm
By popular request, I am now writing Axe Axioms for Crabcake.  Just remember that your Axe game will need to be shell-compatible.  Also, the Axioms will use polar variables for execution.  For example:

;To start Crabcake

r1
r2
r1r

;Axe game
Title: Re: Crabcake
Post by: FinaleTI on May 10, 2011, 09:12:31 pm
By popular request, I am now writing Axe Axioms for Crabcake.  Just remember that your Axe game will need to be shell-compatible.  Also, the Axioms will use polar variables for execution.  For example:

;To start Crabcake

r1
r2
r1r

;Axe game
Sounds cool, but would that conflict with using r1-r6 as variables, or can the parser handle that? Because r1-r6 are used to feed subroutines arguments when they are called, which makes them very commonly used variables.
Title: Re: Crabcake
Post by: Hot_Dog on May 10, 2011, 09:19:58 pm
By popular request, I am now writing Axe Axioms for Crabcake.  Just remember that your Axe game will need to be shell-compatible.  Also, the Axioms will use polar variables for execution.  For example:

;To start Crabcake

r1
r2
r1r

;Axe game
Sounds cool, but would that conflict with using r1-r6 as variables, or can the parser handle that? Because r1-r6 are used to feed subroutines arguments when they are called, which makes them very commonly used variables.

It would indeed conflict, so I switched to AxesOn and AxesOff
Title: Re: Crabcake
Post by: leafy on May 10, 2011, 09:22:02 pm
Hold on, crabcake is for Axe? YESSSS
Title: Re: Crabcake
Post by: Hot_Dog on May 10, 2011, 10:15:22 pm
Hold on, crabcake is for Axe?

That's right!
Title: Re: Crabcake
Post by: DJ Omnimaga on May 10, 2011, 11:45:05 pm
This is awesome Hot Dog! I think you need to upload this on ticalc.org asap. The 8KB limit is something that hindered ASM coders for a decade. I'M glad you got it to work on the 83+. Hopefully it can be used in Axe too.
Title: Re: Crabcake
Post by: Hot_Dog on May 10, 2011, 11:46:35 pm
This is awesome Hot Dog! I think you need to upload this on ticalc.org asap. The 8KB limit is something that hindered ASM coders for a decade. I'M glad you got it to work on the 83+. Hopefully it can be used in Axe too.

The original crabcake has been uploaded.  I plan to upload the Axe portion as soon as it is complete.
Title: Re: Crabcake
Post by: DJ Omnimaga on May 10, 2011, 11:51:24 pm
Cool. Do you think it will come out before May 15th? It would make the contest even more interesting ;D (since any Axiom released before May 15th 1 AM GMT-5 can be used in it)
Title: Re: Crabcake
Post by: leafy on May 10, 2011, 11:51:58 pm
I so need this. I hate writing stuff as Apps, it takes forever.
Title: Re: Crabcake
Post by: Hot_Dog on May 10, 2011, 11:55:48 pm
Cool. Do you think it will come out before May 15th? It would make the contest even more interesting ;D (since any Axiom released before May 15th 1 AM GMT-5 can be used in it)

Interesting, interesting...SURE!  Unless something goes wrong, it will be ready.  Come the 15th, you should let people know that it's available, since I'm sure some people will prefer programs over apps
Title: Re: Crabcake
Post by: DJ Omnimaga on May 11, 2011, 12:00:45 am
Cool. Actually I thought about simply posting a zip containing the allowed axioms in the news topic. Don't pressure yourself, though.
Title: Re: Crabcake
Post by: aeTIos on May 11, 2011, 09:08:34 am
Axiom would be cool, but Axe adds a ret at the end of a prog... Idk how that should be fixed.
Title: Re: Crabcake
Post by: alberthrocks on May 11, 2011, 03:20:43 pm
Axiom would be cool, but Axe adds a ret at the end of a prog... Idk how that should be fixed.
I'm not too sure if Axe lets you modify programs, something like Zeros(10) appends such to the program.
Of course, you could always make a converter program to parse through a program, find the start and the end, and modify it.
(This is probably a good idea - it could also reorganize the program to push data to the bottom, and all executable code to the top)
Title: Re: Crabcake
Post by: DJ Omnimaga on May 11, 2011, 03:25:32 pm
I think it is possible to modify programs in Axe if you use a shell like Mirage or Doors, but I think it's much harder in no-stub, since you need to detect the location of your program in the memory (no-stub didn't support SMC)
Title: Re: Crabcake
Post by: Hot_Dog on May 11, 2011, 04:57:08 pm
It doesn't matter...if you follow the instructions carefully, the "ret" automatically added at the end is actually a help rather than a hinderance.
Title: Re: Crabcake
Post by: ralphdspam on May 14, 2011, 12:01:59 am
Wow!  Crabcake has progressed so quickly!  Great work, Hot_Dog!  :thumbsup:
Title: Re: Crabcake
Post by: z80man on May 14, 2011, 04:11:52 am
It's really amazing at how fast you made progress on this. I don't know what I'll do with all that ram now.


BOOM 666 post!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t: :w00t:
Title: Re: Crabcake
Post by: Hot_Dog on May 24, 2011, 12:16:50 pm
Crabcake for Axe has been updated  http://www.omnimaga.org/index.php?action=dlattach;topic=7373.0;attach=7891

1. Fixed 83+ BE bug
2. AxesOn/Off with the r modifier work now

It will be up to DJ_O and the rest of the contest designers on the basis of this update being allowed for the Axe Contest
Title: Re: Crabcake
Post by: DJ Omnimaga on June 07, 2011, 02:18:23 am
This will definitively change Axe programming by far. I wonder if this should be featured on ticalc, since this involves breaking a long-time calc limit?
Title: Re: Crabcake
Post by: leafy on June 07, 2011, 02:22:26 am
It changes the limit from 8k to 20k or so - that's definetely pretty awesome.
Title: Re: Crabcake
Post by: DJ Omnimaga on June 07, 2011, 03:42:39 am
I wonder if it can take advantage of the extra ram page for SE-only games?
Title: Re: Crabcake
Post by: thepenguin77 on June 13, 2011, 03:36:24 pm
I found a somewhat bug with this. If certain hooks run while crabcakes is doing its thing, the calculator will crash. Hooks are never going to expect that the extra ram page is in (05) and has meaningful data on it. Of course this is an easy fix if the hook developer knows about the problem, but some of the developers aren't going to hear about the problem, or are are long gone.


So what I would think you should do is backup the hook flags on startup, clear the flags for running the program, and restore them when you are done. There are only 4 bytes worth of flags, so that's not really a huge memory issue.

Although at first glance it looks like only 3 bytes $8A24-$8A26 are used for hooks, $8A2A is used for the USB hook. And while it's rare that this hook is active, it's the most likely to cause problems, so be sure to include it.
Title: Re: Crabcake
Post by: TIfanx1999 on June 13, 2011, 03:50:14 pm
Nice bug find. I'm glad it's something that can be easily fixed. :)
Title: Re: Crabcake
Post by: Hot_Dog on June 13, 2011, 04:33:59 pm
I found a somewhat bug with this. If certain hooks run while crabcakes is doing its thing, the calculator will crash. Hooks are never going to expect that the extra ram page is in (05) and has meaningful data on it. Of course this is an easy fix if the hook developer knows about the problem, but some of the developers aren't going to hear about the problem, or are are long gone.


So what I would think you should do is backup the hook flags on startup, clear the flags for running the program, and restore them when you are done. There are only 4 bytes worth of flags, so that's not really a huge memory issue.

Although at first glance it looks like only 3 bytes $8A24-$8A26 are used for hooks, $8A2A is used for the USB hook. And while it's rare that this hook is active, it's the most likely to cause problems, so be sure to include it.

Good call.  I'll take care of that when I can
Title: Re: Crabcake
Post by: Hot_Dog on June 19, 2011, 10:33:18 am
Crabcake just made it onto the ticalc news, so I'd better get on that hook bug.  Penguin77, if you have a small segment of example code that crashes the calculator, I would be most greatful.
Title: Re: Crabcake
Post by: Munchor on June 19, 2011, 12:18:52 pm
Crabcake just made it onto the ticalc news, so I'd better get on that hook bug.  Penguin77, if you have a small segment of example code that crashes the calculator, I would be most greatful.

Oh yeah congratulations on the news :)
Title: Re: Crabcake
Post by: jnesselr on June 19, 2011, 09:47:28 pm
Crabcake just made it onto the ticalc news, so I'd better get on that hook bug.  Penguin77, if you have a small segment of example code that crashes the calculator, I would be most greatful.
Good job!
Title: Re: Crabcake
Post by: ztrumpet on June 20, 2011, 09:15:40 am
Congrats, Hot Dog!  I was hoping it would be featured. :)
Title: Re: Crabcake
Post by: DJ Omnimaga on June 22, 2011, 10:07:06 pm
Congrats on the news. Does the bug affects Axe stuff, by the way?
Title: Re: Crabcake
Post by: Hot_Dog on June 23, 2011, 12:22:28 am
The bug only occurs when hooks are installed, so Axe programs in and of themselves will not cause a crash.  It's the hooks that do the crashing.
Title: Re: Crabcake
Post by: DJ Omnimaga on June 23, 2011, 01:00:10 am
Oh ok. So when we open the prgm editor to edit Axe programs it will crash? (the custom Axe token hooks)
Title: Re: Crabcake
Post by: leafy on June 23, 2011, 01:03:08 am
I think it's more of hooks that are associated with running programs rather than the token hooks that Axe uses.
Title: Re: Crabcake
Post by: thepenguin77 on June 23, 2011, 01:04:16 am
Sorry, hot_dog, missed your request.

If you have specific font hooks installed, (most notably zStart with version less than ~6)
Code: [Select]
call crabCakeInstall

ld a, 'A'
bcall(_putC)
Will crash the calculator.

If you want to fix the problem, here is what I recommend.
Code: [Select]

crabCakeInstall:
ld hl, (flags + $34) ;iy + 34h
ld (nameBuff), hl
ld a, (flags + $36) ;iy + 36h
ld (nameBuff+2), a
ld a, (flags + $3A) ;iy + 3Ah
ld (nameBuff+3), a
xor a
ld (iy + $34), a
ld (iy + $35), a
ld (iy + $36), a
ld (iy + $3A), a

crabCakeUninstall:
ld hl, (nameBuff)
ld (flags + $34), hl
ld a, (nameBuff+2)
ld (flags + $36), a
ld a, (namebuff+3)
ld (flags + $3A), a

NameBuff is the area used when you type in the name of something, for instance, making a new basic program or RCLing something. Since I doubt any Axe programmer would ever use this area, or even know about it. The flags should be save there.
Title: Re: Crabcake
Post by: Hot_Dog on June 24, 2011, 09:02:13 pm
Sorry, hot_dog, missed your request.

If you have specific font hooks installed, (most notably zStart with version less than ~6)
Code: [Select]
call crabCakeInstall

ld a, 'A'
bcall(_putC)
Will crash the calculator.

If you want to fix the problem, here is what I recommend.
Code: [Select]

crabCakeInstall:
ld hl, (flags + $34) ;iy + 34h
ld (nameBuff), hl
ld a, (flags + $36) ;iy + 36h
ld (nameBuff+2), a
ld a, (flags + $3A) ;iy + 3Ah
ld (nameBuff+3), a
xor a
ld (iy + $34), a
ld (iy + $35), a
ld (iy + $36), a
ld (iy + $3A), a

crabCakeUninstall:
ld hl, (nameBuff)
ld (flags + $34), hl
ld a, (nameBuff+2)
ld (flags + $36), a
ld a, (namebuff+3)
ld (flags + $3A), a

NameBuff is the area used when you type in the name of something, for instance, making a new basic program or RCLing something. Since I doubt any Axe programmer would ever use this area, or even know about it. The flags should be save there.

Oh yeah, I forgot that I only need to empty the flags.  I looked at all the hooks and thought "How on earth am I going to have enough RAM to save all these hook states"
Title: Re: Crabcake
Post by: DJ Omnimaga on June 24, 2011, 09:04:50 pm
I think it's more of hooks that are associated with running programs rather than the token hooks that Axe uses.
Oh ok thanks for the info.
Title: Re: Crabcake
Post by: leafy on October 05, 2011, 11:35:31 pm
Hot Dog, I've been getting some odd errors with crabcake with the new Axe, so if you have time could you look into it for me?

The program compiles and runs fine, but crashes on exit.
Sometimes Axe throws a "Token" error, but error goes away eventually.

Thanks in advance ^^
Title: Re: Crabcake
Post by: Darl181 on October 05, 2011, 11:40:30 pm
Are you using AxesOn/Off with the r?  I'm using it sans r and it's working fine for me (axe 1.0.5)
Title: Re: Crabcake
Post by: leafy on October 06, 2011, 12:21:37 am
No such luck :/
Title: Re: Crabcake
Post by: Hot_Dog on October 06, 2011, 12:25:37 am
Hot Dog, I've been getting some odd errors with crabcake with the new Axe, so if you have time could you look into it for me?

The program compiles and runs fine, but crashes on exit.
Sometimes Axe throws a "Token" error, but error goes away eventually.

Thanks in advance ^^

It would help if I could have a go at the program you're creating, along with some more information.
Title: Re: Crabcake
Post by: leafy on October 06, 2011, 12:39:51 am
Compile AGRAV; tell me if there's anything else you need
Thanks ^^
Title: Re: Crabcake
Post by: leafy on October 09, 2011, 12:28:43 am
bump - have you found any problems? (Not rushing you or anything :P)
Title: Re: Crabcake
Post by: Hot_Dog on October 15, 2011, 02:08:05 pm
bump - have you found any problems? (Not rushing you or anything :P)

Wow...I got distracted, especially since my computer got corrupted.  Thanks for reminding me ;D
Title: Re: Crabcake
Post by: Hot_Dog on October 15, 2011, 03:12:50 pm
leafiness0, have you tried making sure that AxesOffr is the absolute last line that gets executed, no matter what?
Title: Re: Crabcake
Post by: leafy on October 15, 2011, 03:37:16 pm
Nope I fixed it ^^ I was using sub() instead of Goto, which was overflowing some random memory stack.