This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Messages - calcdude84se
Pages: 1 ... 93 94 [95] 96 97 ... 161
1411
« on: August 18, 2010, 10:45:42 am »
1. This is more of a feature request, and I agree I would like it. 2. This is because DCS installs a parser hook, and if you delete the appvar, it thinks you reset the calc, and it feels obligated to fix this. Just don't delete it (Though I agree this should be fixed) 3. gui7 is the GUI stack, and should not exist except when a program is running. If it's there, it's because a BASIC program that used the GUI didn't close the GUI stack or it was interrupted w/ON. Make sure to delete this appvar before running other programs and especially before running DCS. CHAIN7 has something to do with DCS's ability to run programs, and it really should not appear outside of when a program is running. Under what circumstances do you see it? Also, it would help to post this on cemetech, since that's where Kerm is most often. (He doesn't normally frequent here except to make announcements.)
1412
« on: August 18, 2010, 09:25:29 am »
Hey that's cool! Porting a program an excellent way to learn Axe given a background in BASIC.
By the way, would a >Hex command be useful? I already have a >Dec, >Char, and >Tok so in a similar way I can add a >Hex. There is even a really cool optimization for it that uses the daa instruction which is something I've never used but always wanted to.
Using daa seems so out of place in Axe... go ahead and add it
1413
« on: August 18, 2010, 08:56:03 am »
So, at $4000 on the first page will be the header, which goes to $407F. The calculator starts execution of the app at $4080. If you want a multipage app, (or rather if you want to run routines on other pages), you'll need a branch table (what was mentioned above). However, you'll need to skip over the table because executing it would not be good, so you'll want to use jp to skip over it. After that you'll need one byte of padding to get to a multiple of three (anything will do, so just use nop). After that, you'll need to add your off-page calls. Starting at $4084, after the header, jp, and nop, will be the branch table. As Hot_Dog said, first you'll put the address of the routine, then the page, indexed from 0. (So the main page is page 0, the next page is page 1, and so on) As for a "nickname," it would be easiest to adapt a convention for naming them. The one I'll use in the example I'm about to give will be to prefix an underscore ('_') to the label name. For getting what it is divided by three, you'll want to use ($-$4000)/3. Now for an example. ;Branch table example .org $4000 ;Header goes here .org $4080 jp Start nop ;We're now at $4084, and here will be the branch table ;Let's suppose you have a routine called PutSprite on the third page _PutSprite .equ ($-$4000)/3 .dw PutSprite .db 2 ;And a routine FetchData on the second page _FetchData .equ ($-$4000)/3 .dw FetchData .db 2 Start: ;At the end of the branch table, your code can start ;When you need to run PutSprite, use b_call(_PutSprite) ;Same for FetchData, for which you use b_call(_FetchData) If you're still confused, feel free to continue asking.
1414
« on: August 17, 2010, 08:06:34 pm »
Send( is a linking routine to send one byte The first one is fine, and the second calc will have to do something like Get*256+Get to get the result, though the Send('s will need to be in the reverse order (high byte first)
1415
« on: August 17, 2010, 08:03:51 pm »
You'll have to do it by hand. Assuming you don't need T, then the following code will display 2 hex digits corresponding to the data at P.
Disp {P}/16->T>=10*7+T+48>Char,{P}^16->T>=10*7+T+48>Char The condition is to add the right amount to make $30+$10 $41 (which is A)
1416
« on: August 17, 2010, 07:57:29 pm »
I saw this from thedailywtf.comVery amusing
1417
« on: August 17, 2010, 06:32:31 pm »
By the include file it's the start of ram and some field called "appdata" I'm not really sure, though.
1418
« on: August 17, 2010, 05:43:05 pm »
It probably didn't have a header because it was developed before the recent versions of Axe that allowed external libraries. Before those versions you'd have to recall the library into the program manually, making a header meaningless. Just my guess Edit: Ninja'd
1419
« on: August 17, 2010, 05:32:09 pm »
So water acts like antigravity? Nice to see a release, I hope you can get more work done on it.
1420
« on: August 17, 2010, 05:29:48 pm »
Oh, that's not near as bad as some of us supposed
1421
« on: August 17, 2010, 05:28:27 pm »
Yeah. Obviously you'd use saferam before you used an appvar And, now that I think about it, I'm not sure there is a workaround for apps. For text, I'm convinced it does something to the effect of displaying one char at a time, but there's no simple equivalent for a bitmap... You might have to stick with copying it to RAM, as above.
1422
« on: August 17, 2010, 05:16:08 pm »
Nothing like in the PC version where a plasma ball is re-released until it is used? Or am I misunderstanding? Also, will there be multiple plasma balls, or is the screen too small?
1423
« on: August 17, 2010, 05:12:24 pm »
This is probably related to why text w/in an app can't be used w/o care (in regular ASM, not Axe) Like he does for text, Quigibo will have to add support for bitmaps. Until then, you need to copy the bitmap to RAM before using it.
1424
« on: August 17, 2010, 04:09:26 pm »
Interpreters normally don't define what happens if you go back beyond the zero cell, and I assume thepenguin77 would do the same. I'd guess that it starts at appBackupScreen, then.
1425
« on: August 17, 2010, 04:05:39 pm »
Nice to know. How hard (and how large in the generated program) would it be to support more characters? (Right now I'm thinking of the language's own []<>+-,. so I can run a self-interpreter )
Pages: 1 ... 93 94 [95] 96 97 ... 161
|