Omnimaga
Omnimaga => News => Topic started by: Hot_Dog on May 18, 2011, 10:51:18 pm
-
You can now use Crabcake to turn Axe programs into ASM programs that will run at more than 8KB. You will need to compile your Axe program under a shell such as Ion.
If you want only Crabcake for Axe, you can get it here:
http://www.omnimaga.org/index.php?action=dlattach;topic=7373.0;attach=7891
However, I made some important fixes to the original Crabcake, so you can get the whole kitten-kaboodle here:
http://www.omnimaga.org/index.php?action=downloads;sa=downfile&id=665
You are allowed to use this axiom for the axe contest. However, it requires a lot of program space, so don't use it unless you know for sure that your ASM program will need more than 8KBs.
-
Thanks, Hot_Dog. This looks awesome! :D
-
That it ridiculously simple. Wow. Wonderful work, Hot Dog. Well done. :)
-
That it ridiculously simple.
Good to know. 8)
-
Since I'm not a z80 programmer and I only read about axe and such stuff my knowledge might be not so brilliant. So forgive me if this question sounds stupid:
Why would you want to convert an axe program to asm?
-
Compiled axe programs are already asm. :)
Hot_Dog, why do you need the AxesOff? Couldn't you do something similar to what I do with the app header where you call the main program as a subroutine. Something like this:
AxesOn:
#asm code here
call mainprog
AxesOff:
#asm code here
ret
MainProg:
That way you only need one command at the beginning and the users could use ret just like they're used to. I don't know how the source looks though, so maybe there is something preventing this I don't know about? Anyway, nice job!
-
Very nice to see this out. =)
-
Hot_Dog, why do you need the AxesOff? Couldn't you do something similar to what I do with the app header where you call the main program as a subroutine. Something like this:
AxesOn:
#asm code here
call mainprog
AxesOff:
#asm code here
ret
MainProg:
That way you only need one command at the beginning and the users could use ret just like they're used to. I don't know how the source looks though, so maybe there is something preventing this I don't know about? Anyway, nice job!
Because I didn't think about that. It certainly would have saved me--and programmers--a lot of trouble. I'll definitely have to fix that...
In the meantime, it works quite well, so I'll wait until after the contest and post an "update". Every calculator programmer releases something better and easier after a time, so I don't see a reason to "rush" the update.
-
Holy crap. You are my hero. You are a GOD.
-
I'm not sure exactly how relavent this is, but when I compile a game for a shell (which Crabcake requires, so this is somewhat relavent) it replaces the letters in the text with random garbage.
-
Wow awesome! O.O
I hope I have time to provide a ZIP file of every allowed Axiom latest versions in the contest news soon.
-
This is really great, Hot_Dog! I like how someone has finally set out to fix this.
However, when I tried it on my 83 Plus (OS 1.19), on Eitrix (9100 bytes with Crabcake, 8700 bytes without), the game crashed immediately when it started running, as if it had broken the fourth wall already. Could you please look into this?
-
This is really great, Hot_Dog! I like how someone has finally set out to fix this.
However, when I tried it on my 83 Plus (OS 1.19), on Eitrix (9100 bytes with Crabcake, 8700 bytes without), the game crashed immediately when it started running, as if it had broken the fourth wall already. Could you please look into this?
I can definitely look into it. I'm assuming that your game worked perfectly fine before you put crabcake on? Also, can I see your source?
-
Awesome tool, thanks. I just wonder how to use AxesOnr/Offr. Axe Parser says "Bad Symbol".
-
Awesome tool, thanks. I just wonder how tu use AxesOnr/Offr. Axe Parser says "Bad Symbol".
I think that's my fault. I forgot to test that before the release :(
-
This is really great, Hot_Dog! I like how someone has finally set out to fix this.
However, when I tried it on my 83 Plus (OS 1.19), on Eitrix (9100 bytes with Crabcake, 8700 bytes without), the game crashed immediately when it started running, as if it had broken the fourth wall already. Could you please look into this?
I can definitely look into it. I'm assuming that your game worked perfectly fine before you put crabcake on? Also, can I see your source?
Both the source and the executable are available for download on ticalc.org (http://www.ticalc.org/archives/files/fileinfo/436/43633.html). To integrate Crabcake, I added AxesOn after the Icon and Axiom lines (making it the first line of actual code), and, in my Quit code, I moved the existing prep code to the end, under a Lbl END:
...
Goto END
...
Lbl END
Fix 4
Archive Str9
AxesOff
I don't know, but I have the slight feeling that you did not do extensive testing on code that broke the 8811 byte limit, because the test program that came with Crabcake is a heck of a lot smaller than that.
-
Both the source and the executable are available for download on ticalc.org (http://www.ticalc.org/archives/files/fileinfo/436/43633.html). To integrate Crabcake, I added AxesOn after the Icon and Axiom lines (making it the first line of actual code), and, in my Quit code, I moved the existing prep code to the end, under a Lbl END:
...
Goto END
...
Lbl END
Fix 4
Archive Str9
AxesOff
I don't know, but I have the slight feeling that you did not do extensive testing on code that broke the 8811 byte limit, because the test program that came with Crabcake is a heck of a lot smaller than that.
If I find something that I did wrong, I'll fix it. However, I swear that I did ALL my testing on code that broke the 8811 KB limit.
-
/me hopes the current version works at all x.x since any update would not be allowed in the contest at this point x.x
-
/me hopes the current version works at all x.x since any update would not be allowed in the contest at this point x.x
In that case, it won't be allowed. I did find the bug that Compynerd255 was talking about, but as you're pointing out, the newest version is a day too late.
-
Yikes D: I hope this doesn't set back Sir from his entry, since he was basing his engine around being able to use it D:
-
Yikes D: I hope this doesn't set back Sir from his entry, since he was basing his engine around being able to use it D:
good luck sir.
also, isn't Ashbad using crabcake too?
-
Darn this sucks. I guess maybe I could extend the date for this one, since it's like an Omni axiom, but then I fear people would beg so every other Axiom gains a deadline extension. :/
-
I will not be using it, but I think it's only fair that it gets an extension so it may be used in the contest by whoever whould like to use it.
-
Not in my defense, but in defense of those who are using it: There's only one small issue left to fix, and then it's perfect, so I and everyone else would be greatful for an extension. The axiom was done, but it was those 2 accidental issues 3 days before the deadline that messed things up
-
I will not be using it, but I think it's only fair that it gets an extension so it may be used in the contest by whoever whould like to use it.
++
I'd have to agree with this. :)
-
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
-
Glad to hear that using r is possible now. :)
How will you be called in the Special Thanks? Is 'Hot_Dog' ok?
-
Glad to hear that using r is possible now. :)
How will you be called in the Special Thanks? Is 'Hot_Dog' ok?
"Hot_Dog" is perfect
-
"Credits: 'Hot_Dog' is perfect" or "Credits: 'Hot_Dog'"? O.O Narcissism, much? :P <_<
-
Btw I think you should update the file in the download section because it is still the old one.
-
Is it safe to use subroutines and/or subprograms with this?
-
Is it safe to use subroutines and/or subprograms with this?
Yes, I believe so. I can't think of a reason why it wouldn't work. :)
Good luck!
-
Btw I think you should update the file in the download section because it is still the old one.
I do indeed.
Is it safe to use subroutines and/or subprograms with this?
Yes. However, subroutines and subprograms MUST return first
-
Is it safe to use subroutines and/or subprograms with this?
Yes. However, subroutines and subprograms MUST return first
...so they end up in the main program in the end? Makes sense, cool.
-
Is it safe to use subroutines and/or subprograms with this?
Yes. However, subroutines and subprograms MUST return first
...so they end up in the main program in the end? Makes sense, cool.
In fact, thanks for pointing that out. I need to update that in the manuals.
-
Maybe it is a noob question but I didn't very understand the limit question.
The 8KB limit is about code or code+data ?
Now, how much can we write of code and/or data ?
-
Maybe it is a noob question but I didn't very understand the limit question.
The 8KB limit is about code or code+data ?
Now, how much can we write of code and/or data ?
The 8K limit is actually only about code, but old versions of Axe sometimes tried to put data before the 8K limit and code after the 8K limit, instead of placing the code before it and data after it.
-
So I can have as much data as I want ?
And with CrabCake, how much code can I have (if not 8K) ?
-
Crabcake removes the limit entirely, so you could use the entire RAM if you liked.
-
Indeed...I actually tested a program where the entire 19 KB program was code, not data, and it worked perfectly.
-
Ok (so I just have to make the game fit in the RAM)
Thank you !
/me goes to write a huge program
In fact, I was just wondering if I had to worry about optimization or if that could wait a bit ;D