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 ... 117 118 [119] 120 121 ... 317
1771
« on: April 26, 2012, 04:52:00 pm »
As I mentioned int he Grammer 2 topic, I should be starting Grammer 3 in about two weeks if I am on schedule (1 year after Grammer 1 was started). Because this is the time that I will be without internet, if you have any ideas, post them here, I will make a copy of it, and I will reference it while I am working on the program. In the plans for Grammer 3 since the start: It will be a two page app It will have a legacy mode for older Grammer programs It will have a built in program editor It will allow for custom command sets (up to 16 packages that contain their own functions). - This will mean you can have a floating point math command set, linking command set, and others
- I might bring this down to 8 possible sets at a time
- These will be defined at the beginning
Source code will be "tokenised" like on the TI-89. This will help speed it up massively. There will be specific variable types like sprites, fonts, and strings I am thinking of adding in standard 32-bit math. 4-level grayscale and 3-level gray More tile map options Proper sprite clipping (I've already got the code planned) If you guys can think of any good ideas, please post. For the editor, what would make things easier? I will be writing a menu system, so I will probably include customisable menus, quick keys, and other things. Maybe I should make a search function? Search and replace? Since Grammer will have so much control, errors will be completely handled by Grammer, so if you press ON for example, Grammer will take it to the Grammer editor, not the program editor.
1772
« on: April 26, 2012, 04:17:32 pm »
3 level means white, gray (50%), black :[ I don't have four level gray yet (which is white, 33% gray, 66% gray, black). And thanks
1773
« on: April 26, 2012, 04:07:22 pm »
bugs: 1) I can't quit the app by pressing [F4] (EXIT) or [CLEAR] ----> RAM Cleared
2) When a Grammer program finishes, I can't shutdown my calculator until I press a key which displays a menu ( like [prgm], [stats]...)
and then I had other crashes, but while a program execution. Maybe it was my fault, if I try bad commands. (like displaying a number in base 1)
The first bug should not occur Which version do you have? It still works fine for me The last update was here: http://ourl.ca/13558/298071The second bug should not happen, either Is your program ending with the Stop token? Do you have other apps running (even then there should be no interference). About the third bug (displaying in base 1). You are right, I should fix that Sorry :[ EDIT: Fixed. I just make it not display anything if the base is 1 or 0.
1774
« on: April 26, 2012, 03:59:14 pm »
1) What is the "Gray" method for displaying sprites ? ( Pt-On(7 ) Do you explain it in the topic about grayscale ? If yes, don't answer, I'll see.
You form the sprite data like the MASK version, except it is gray byte, black byte, gray byte, black byte, et cetera. It lets you draw gray sprites without using two buffers (but you need to constantly draw the sprite and update the screen). 2) You told talk several times about buffers to display. I didn't know that we could create custom buffers at custom adresses. I heard about the buffer and the backbuffer in Axe, but that's all. It's not very limpid, can you re-explain me what is exactly a buffer and how it works ?
A buffer can be any area of RAM that you work with for storing data. For example, the particle buffer and drawing buffers. What you are interested in are drawing buffers, I think. Drawing buffers are the size of the graph screen and you can draw on them, erase them, display them, or do anything else. The OS has three of these at: pi9872 (Grammer uses this for the default particle buffer. If you aren't using this for particles, feel free to use it for drawing) pi86EC (Grammer uses this for some functions like converting hex to sprites or executing AsmPrgm code) pi9340 (This is the normal graph buffer). Additionally, you can create your own by making a variable with 768 bytes (or if you want two buffers or more, use 1536, 2304, ...). In Grammer, to set a new buffer, you can do Disp <<pointer>>. Then, all drawing you do after that is drawn to that buffer and every time you use DispGraph, that buffer is shown. Most of the drawing commands let you draw to another buffer, too. For Grayscale, you have two buffers, the main buffer and the graybuffer. If a pixel is turned on in the gray buffer but not the black buffer, it will show as gray. If it is turned on in the black buffer or both buffers, it will show as black. Here is an example of the gray layer, black layer, and the result: You will need to be updating the screen regularly, too, to see it as gray.
1775
« on: April 26, 2012, 03:39:04 pm »
Feel free to ask in french, english, or franglish (This post was made in between his two posts ^ omnom messed up, I think or my internet lagged)
1776
« on: April 26, 2012, 03:36:32 pm »
Ah, there was an earlier post that said 16 (It was for bullets from certain enemies). I think for the general bullet code, I would prefer 8 directions as that is easy to handle.
1777
« on: April 26, 2012, 03:34:25 pm »
I figured I should let you all know that in about 1 week, I will be on summer vacation which means I won't have much internet access. This has a few consequences (good, mostly):
1) I will be wrapping up Grammer 2 :'( 2) I will be starting in on Grammer 3 :woot: 3) I will need to start taking requests now, since I won't have internet. I will open up a topic for Grammer 3 after this. 4) I must now hope things go according to plan and I need to tease out all possible bugs. I will still be adding stuff to Grammer 2 while I work on Grammer 3 (like more Widths available for Pt-Off, more tilemap options, any optimisations, et cetera).
1778
« on: April 26, 2012, 03:28:03 pm »
Hehe, feel free to ask them all It will give me something to do
1779
« on: April 26, 2012, 02:31:38 pm »
That is an excellent picture 1) Where do you find the "solve(" command in the menus ? The [math][0] gives me a "Misc(" command. Is that from Grammer, or from MirageOS (or from XtraTkn ?)
Ah, yes, you have the Token Hook enabled (it changes the names of some tokens). It still does the same thing, though. 2) about solve(3.
Ans and Ɵ' are put back to normal when the error handler completes. Do you mean they come back to 0 when the program arrives to the specified label ?
I mean that they are preserved, or restored. This way, if your error handler changes Ans or Ɵ', it won't effect the program. 3) Explain solve(4 ...
solve(4 will automatically cause an error. For example, solve4,0 causes an ON error, solve(4,1 causes a Memory error, solve(4,2,"String" creates a custom error. This is good for custom error handling. I attached a screenshot 4) Explain how works the duration with the conj( command... 64, for me, it's just Minecraft...
If you use 64, it makes it take a long time. Try using 16 instead? (or smaller values).
1780
« on: April 26, 2012, 02:31:25 pm »
Cool, that would be helpful And if you guys know exactly what arguments will be passed to the code, I have a novel idea for what to do All I have to do is make it chase the main character around, right? (that is what I had in mind for being able to do or help with). I could also potentially return collision detection info, as well. What I know I will need as arguments passed are: Size of the Enemy Coordinates of the enemy Size of the player coordinates of the player As for bullet code, I have no experience with that, really, but if it is only in 16 directions, I think I can handle that. What I would ideally like is: A buffer for bullets (no clue what size) A 768 byte scrap buffer
1781
« on: April 26, 2012, 02:17:53 pm »
Hmm, do you have the names of these programs, or does the user have to pass an argument telling what program to read/write from?
EDIT: Here is some example code for getting the location of a var you have the name of:
ld hl,Name rst rMOV9TOOP1 ;Copies 9 bytes at HL to OP1. In otherwords, it copies the name of the program to OP1. bcall(_ChkFindSym) ;Searches for the variable, returns info: ;c flag set if the variable was not found ;HL points to the VAT entry ;DE points to the size bytes of the data ;B is the flash page the data is on ;C is the length of the name ;The lower 5 bits of A is the type of the var. ret c ;quit because it doesn't exist ld a,b ;This is 0 if it is in RAM, otherwise, it is the flashpage number or a ;This is a sneaky trick to check if A is 0. It is smaller and faster than cp 0 ret nz ;quit if it is not zero (meaning it is archived). ;If it made it this far, the var exists in RAM. DE points to the size bytes. ;I typically use those, so I'll store it to BC: ex de,hl ;swap HL and DE ld c,(hl) ;loads the lower byte into C. you cannot do ld c,(de), this is why I used ex de,hl inc hl ;HL now points to the next byte ld b,(hl) ;B now contains the higher byte of the size. Now BC is the size of the var. inc hl ;HL now points to the start of the program data. ;(this is just randomness on my part, feel free to try it. It will destroy all the data in the program, though) ld d,0 DoStuffLoop: ld a,d and 00001111% ld d,a inc d add a,'A' ld (hl),a cpi ;Cheap trick. This decrements BC, increments HL, returns PE if BC is not 0. jp pe,DoStuffLoop ret Name: .db ProgObj,"NAME",0 ;This is the name of the program with PrgObj in front and 0 at the end.
1782
« on: April 26, 2012, 01:49:00 pm »
Woo, awesome! I'm glad you have had spare time to do stuff
1783
« on: April 26, 2012, 01:46:16 pm »
Hmm, is this going to be an app? If so, I can try to program the AI as long as I know what scrap RAM will be available and whatnot. Also, what is the time frame looking like for this? Finally, I will be gone by the first week of May (next week) without internet for a few months.
1784
« on: April 26, 2012, 07:06:46 am »
Yeah, you can define your own table, but I was looking for a way to change only certain menu items without having to make a table. Of course, it probably would be easier to just use a table, but hey, it's good to have options You can also use this idea when the hook is exiting (I think A=4) and you can change which token gets pasted.
1785
« on: April 25, 2012, 10:45:20 pm »
I edited the first post with the good version What happened was I accidentally erased 7 lines of code before compiling, so I fixed that. For the curious, the code in question was: out (6),a ld b,0 or a jr z,$+6 add hl,bc ld c,10 add hl,bc
That is pretty much the code that allows it to get the pointer and size of an archived variable. There was also one other line of code, but that had no affect since this code wasn't there. EDIT: Also, I emailed you back
Pages: 1 ... 117 118 [119] 120 121 ... 317
|