Show Posts

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 - Xeda112358

Pages: 1 ... 307 308 [309] 310 311 ... 317
4621
ASM / Re: Evaluating Ti-Basic expressions using the Parser
« on: November 18, 2010, 03:08:51 pm »
Oh, no. Now I know what you mean. Class 2 are functions like If, Repeat, While and things like that. If a function has a "(" then it is class 1. Output( is class 1, just like int(. Output isn't part of that "most programming commands" thing.

EDIT: Unless it is Class 3...

4622
ASM / Re: Evaluating Ti-Basic expressions using the Parser
« on: November 18, 2010, 02:03:26 pm »
What do you mean by class 2? Sorry, I have only ever used the int( command in my parser hooks.

4623
ASM / Re: Evaluating Ti-Basic expressions using the Parser
« on: November 18, 2010, 01:18:11 am »
Okay, from there you will want to check the floating point stack, but I am not sure exactly where that is (there are a few bytes in RAM that point to various points). If you used Output(Y,X,<<String>> it will put a pointer to the temporary string in OP1, X at the top of the FPS, and then Y. I am not sure if PopReal or PopRealO1 might be useful B_Calls for you??? I am not sure if they work in hooks, though.

4624
General Calculator Help / Re: [help plz] Image retention
« on: November 17, 2010, 10:38:28 pm »
Ah, well, it was worth the practice :D

4625
General Calculator Help / Re: [help plz] Image retention
« on: November 17, 2010, 10:33:22 pm »
I have no clue about a solution, but I just made a program that rapidly changes the contrast just for fun! All you do is press and hold enter. When you let go, you might need to do [2nd][up] to reset your contrast, though...
Code: [Select]
AsmPrgm
3C47
AFD301DB013CC8
78F6D8D31018F0

Run it using Asm(prgmA ...or whatever you name it...

4626
ASM / Re: Evaluating Ti-Basic expressions using the Parser
« on: November 17, 2010, 09:43:03 pm »
Sorry, it might take a while for me to get alll the info. I had a folder named Parser Notes, but it didn't have my actual notes in it. Right now I am figuring everything out all over again... And I have to convert all the hex *groan* :D
Here is the start of the hook I have. All it does is change int( into a getKey-ish thing:
Code: [Select]
;this first section is only if you are going to run it as a program. It stores the hook in
;AppBackUpScreen and sets it up as well.
 ld de,9972h      ;117299        this is a appbackupscreen+256
 ld a,(de)          ;1A              This will store the byte into a
 cp 83h            ;FE83            if a=83h, the hook might be active, so disable it...
 jr nz,3             ;2003            ...and quit
   xor a               ;AF               this sets a to 0
   ld (de),a          ;12               this disables the hook by overwriting the 83
   ret                  ;C9
 ld hl,9DB0h       ;21B09D         This is the location of the hook data
 ld bc,512         ;010002          number of bytes left in appbackupscreen
 push DE           ;D5
 ldir                  ;EDB0             this copies the hook data to 9972
 pop HL             ;E1                this points to the start of the hook in appbackupscreen
 in a,(6)            ;DB06             this checks the current page..
 B_Call(5026h)   ;EF2650           sets up the hook using HL=pointer to hook and a=page in memory
 ret                  ;C9

HOOK:
 add a,e            ;83            necessary to start a hook
 or a                 ;B7            like cp 0. if A=0, z flag is set
 ret z                ;C8
 push hl             ;E5            will need this later, but also need hl
 ld hl,B1B1h        ;21B1B1      B1 is the int( token
 sbc hl,bc          ;ED42         BC= the token, so if it is int(, HL-BC=0 and sets the Z flag
 pop hl              ;E1
 jr z,2                ;2802         so if it is the right token, skip 2 bytes
 xor a                ;AF            this is to set the z flag I think
 ret                   ; C9
;And this is where the code gets creative. HL is the number of arguments passed and OP1 has the last argument. the arguments are stored reverse in the FPS, so it can be confusing. To pass a value, just store it to OP1 and do FE01C9... So here goes...
 ld a,(843Fh)       ;3A3F84     this is the key press... it is used in my quickkeys program
 B_Call(478Ch)     ;EF8C47     this is SetXXOP1
 cp 1                  ;FE01        does something flag-wise to let it exit the hook with modified Ans
 ret                    ;C9

4627
TI Z80 / Re: YEONG RPG
« on: November 17, 2010, 07:06:02 pm »
Yes, in Axe, variables like Str, Pic, GDB and L1~L6 are just numbers.They are not pictures or lists or GDBs or what ever. They are just used as numbers to point to where data is stored. In a way, this is like using a list as squidgetx said.

4628
ASM / Re: Coding ASM by hand
« on: November 17, 2010, 06:56:28 pm »
Actually, the only time I used it was before I learned assembly with the hopes that I could learn that way. Numbers are easier for me to use. By the way, I am probably high functioning autistic, so I got pretty lucky and I have a form of synesthesia that connects with emotions, so numbers mean a lot to me. Those may be reasons for why I have such an affinity for hex programming.

4629
ASM / Re: Coding ASM by hand
« on: November 17, 2010, 06:50:39 pm »
Whenever I make a call I usually add it to my .txt document that I keep for calls and routines, but I typically don't ever forget what snippets of code do. Every once in a while, when I convert my codes to mnemonics, I make thorough notes for every line.

4630
Nice :D
Actually, are int( and iPart( only different for negative numbers? int( is the command I use for parser hooks (I have never released a program using the parser hook yet, but I make them every now and again for fun and for friends), so I was curious about how that might affect programmers if I ever did release one...

4631
ASM / Re: Coding ASM by hand
« on: November 17, 2010, 06:40:08 pm »
My largest program... hang on lemme check (it is between EnPro and SpriteLib)
SpriteLib=1356 bytes
EnPro=1872 bytes

EnPro was completely on calc. For SpriteLib, I make use of the spreadsheet for the final product, but everything is programmed on the calc first.

4632
TI Z80 / Re: [Project] BASIC ReCode
« on: November 17, 2010, 06:17:03 pm »
Yes, I actually am trying to visualize it right now, but I am pretty sure I can do it for almost no loss in speed. It was just easier for me conceptually at the time (2:00 this morning).

4633
TI Z80 / Re: [Project] BASIC ReCode
« on: November 17, 2010, 06:08:58 pm »
Sorry, I just got out of class...
@nemo: It is easier, more optimized, and faster for the numbers to be calculated this way. Sorry about that...Well, actually, now that I think about it, I might be able to come up with a way to fix that. Okay, I will work on that and come up with a definite answer later...

@DJ Omni: Actually, once I get to making variables, it will be easier to use compressed data. If you check SpriteLib, I have a method to take a 128 byte "screen shot" of the homescreen which then gets compressed to 64 bytes (because only 16 tiles are used). Plus, I have a method to extract that data from archive. So yes, when I get to that point, I will definitely add the ability to compress data and access archived data because I already have the calls made.


I have a bunch of calls made from previous programs, but I am only implementing them as I need them so as not to take up too much memory. I have been making a bunch of new ones for this program and I still have a few more I need to make (like getting all the data I need when accessing a string argument...). So for now, I will be making a bunch of random calls and using them, but the commands are going to be more SpriteLib-like. Also, I need to make a way to implement variables... I tried a method that worked, but the variables were accessed using numbers. I think I am going to stick with using the letters like in BASIC...

4634
TI Z80 / Re: [Project] BASIC ReCode
« on: November 17, 2010, 03:06:13 pm »
Okay, I know have the four functions added for +, -, *, and /, but I have to go to class soon...
So pretty much:
-the result will never go above 65535
-Negative numbers have 65536 added to them (not really, but it is a BASIC version of the explanation) This means that -2 will result as 65534
-Division only returns the integer part of the quotient. Later I will add a way to get the remainder

I may have missed something...
Oh yeah, order of operations...
This is from the commands readme:
Code: [Select]
           |points. Order of operations is not used. functions
           |are evaluated from right to left. Here is an example
           |   3+2*6-3
           |   3+2*3
           |   3+6
           |   9

I hope that makes sense...

4635
ASM / Re: Coding ASM by hand
« on: November 17, 2010, 02:42:51 pm »
Oh, no I just meant each line needs an even number of digits. You cannot use 5 digits on a line. My code right now for a routine looks like this:
Code: [Select]
AsmPrgm
211C00
011000

3E10110000
29EBED6AEBF57AB820027BB938052CEBED42EBF13D20E9

EBEF0745C9

Pages: 1 ... 307 308 [309] 310 311 ... 317