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 - ZippyDee
Pages: 1 ... 18 19 [20] 21 22 ... 51
286
« on: July 04, 2011, 01:58:07 am »
I guess I'll be the one to ask: are you doing with this to differentiate it from Mimas?
Well, one obvious thing would be syntax highlighting. Also, I PLAN for programs to be stored as regular program objects that are editable in the OS editor, but that may change to be AppVars with a more compressed format as well, mostly for speed of compiling and highlighting. I also might have a feature for line addresses in place of line numbers. Other than that, I really don't know. At this point a lot of this is still mostly a learning experience for me. Also, I forgot to mention that I do intend to have a copy/paste feature.
287
« on: July 03, 2011, 10:28:26 pm »
Okay, so I've been working on this for a while now, and I'm pretty happy with how some of my routines are turning out so far. I haven't gotten very far, and I'm still only working on the very basics of it right now, but here's basically what I'm thinking about: zIDE was inspired by Deep Thought's XDE, but this will be for on-calc Assembly programming. If it ever gets done, here's what I'm planning for it to have: - Custom text editor
- 4-level grayscale syntax highlighting
- Line numbering
- Line auto-indenting
- Jump to label / Jump to line
- Relative label support
- On-Calc Compiling with fairly descriptive errors (as much as possible, at least)
- Running
- #include support (hopefully)
- Saving as a program that can be edited in the normal OS editor
- Back-up to AppVar
Note: If #include support ends up working, I will make the ti83plus.inc file a separate file so the app doesn't take up a huge amount of pages. However, the ti83plus.inc file will definitely not be the complete file. I will try to include as much of the basic things as I can, but I doubt it will include things like the two-byte key codes (of which there are A LOT). Honestly I'm not sure how many pages this app will end up being, but it shouldn't be more than two...Hopefully I can get it all into one page. So, that's what I'm planning. We'll see how much I can actually get to, seeing as I'm basically learning ASM as I go with this thing. I already feel like this has been such a great learning experience! Right now I'm working on the text input, so nothing stated above is absolutely positively for certain going to happen, but that also means that it can change and be added to! Any suggestions are welcome (in fact, I'd LOVE suggestions to make it even better). ALSO, I will be asking a lot of questions, and probably have a lot of routines that I'll screw up little things in (or maybe big things) that might need some debugging, so any and all assistance is also welcomed with open arms. I may have a screenshot pretty soon, but that's all for now!
288
« on: July 03, 2011, 02:11:38 am »
WabbitCode makes .8xk files for apps. I'm using it on my OSX for my IDE I'm developing.
289
« on: July 03, 2011, 01:52:51 am »
I noticed a while ago that the routine supplied in 28 days doesn't account for partial matches. There are also a few other errors in some routines...
290
« on: July 02, 2011, 11:39:02 pm »
I wish lego made stepper motors so they would be at least more accurate. Well, at least they have a tachometer in them. Thank you!
You can craftily use light sensors as rotation sensors.
291
« on: July 02, 2011, 11:32:30 pm »
i like FPS games and i can program in TI BASIC language. I want to learn Axe or ASM programming
If TI-BASIC is the language you're most comfortable with, then I'd suggest learning Axe first and then ASM. Axe is pretty much the perfect combination of TI-BASIC and ASM for people who want to ease into assembly programming.
292
« on: July 02, 2011, 11:18:02 pm »
Unfortunately it seems there are a few errors somewhere in my routine...I could have sworn it was working just fine before. If I can get them figured out I'll post that fixed version. THEN maybe it would be worthwhile to see the size/speed of this routine.
EDIT: Fixed, all thanks to Calc84. Now you can check for speed and size if you want...I don't know how to go about doing that, otherwise I would do it myself (I'm curious to know, too!)
293
« on: July 02, 2011, 09:46:26 pm »
Personally, I really like the name Eliza (or Elisa, however you want to spell it). Also the name Kit (as a nickname for Katharine).
294
« on: July 02, 2011, 09:36:42 pm »
What are the most attractive boys'/girls' names you can think of?
295
« on: July 02, 2011, 07:22:31 pm »
NOOO!! This was looking so good!!
296
« on: July 02, 2011, 09:49:05 am »
This looks awesome!! This could definitely be a huge help for a lot of things in the future!
How about allowing for varying speed on the animation playback?
297
« on: July 02, 2011, 09:40:49 am »
You can use this page, too. On the left you can see the bytes, and cycles are there under the heading "T". However it doesn't seem to have the number of cycles for most of the undocumented commands.
298
« on: July 02, 2011, 08:57:46 am »
Thanks! Again, I'm not going to say that this is the most efficient method by any means. It's just what I happened to come up with. There's probably some genius out there who could write one much better than this *cough*Runer/ThePenguin/Brandon/calc84*cough*
299
« on: July 02, 2011, 12:51:48 am »
I have a program that uses two buffers and it toggles which buffer it's writing to using a flag. Because it uses that flag I figured it would be a good idea to utilize that for drawing routines so they can draw to whichever buffer it's currently set to instead of having to have separate routines for each buffer. While writing those routines, I came up with this set of rectangle drawing routines that I think are pretty good, though they probably could be optimized quite a bit. Anyway, I thought I'd share them: ;;--------------------- ;; Rect Off/On/Inv ;;--------------------- RectOff: ;;Clears a rectangle on the buffer ;;IN: ;; D contains x ;; E contains width ;; H contains y ;; L contains height ;;DESTROYS: All, OP1, 1st byte of OP2 call GetRectLine ld a, 12 sub c ld e, a ld d, 0 _rOffLoop1: push de ld de, OP1 push bc ld b, c _rOffLoop2: ld a, (de) cpl and (hl) ld (hl), a inc hl inc de djnz _rOffLoop2 pop bc pop de add hl, de djnz _rOffLoop1 ret RectOn: ;;Draws a rectangle on the buffer ;;IN: ;; D contains x ;; E contains width ;; H contains y ;; L contains height ;;DESTROYS: All, OP1, 1st byte of OP2 call GetRectLine ld a, 12 sub c ld e, a ld d, 0 _rOnLoop1: push de ld de, OP1 push bc ld b, c _rOnLoop2: ld a, (de) or (hl) ld (hl), a inc hl inc de djnz _rOnLoop2 pop bc pop de add hl, de djnz _rOnLoop1 ret RectInv: ;;Inverts a rectangle on the buffer ;;IN: ;; D contains x ;; E contains width ;; H contains y ;; L contains height ;;DESTROYS: All, OP1, 1st byte of OP2 call GetRectLine ld a, 12 sub c ld e, a ld d, 0 _rInvLoop1: push de ld de, OP1 push bc ld b, c _rInvLoop2: ld a, (de) xor (hl) ld (hl), a inc hl inc de djnz _rInvLoop2 pop bc pop de add hl, de djnz _rInvLoop1 ret
GetRectLine: ;;IN: ;; D contains x ;; E contains width ;; H contains y ;; L contains height ;;OUT: ;; HL points to first byte of rectangle in buffer ;; B contains rows ;; C contains columns ;; OP1 [and possibly first byte of OP2] contains mask data for the line xor a or l ret z ;return if height is zero ld a, d add a, e cp d ret z ;return if the width is zero cp 96 jr c, _grl_widthOK ;if width is > 90 ld a, 96 _grl_widthOK: dec a ld e, a call RectLineToOP1 ;c contains width in bytes ;b contains first column ld a, h add a, l add a, -64 jr nc, _grl_heightOK neg add a, l ld l, a _grl_heightOK: ld a, l ;store height in a ld l, h ld h, 0 ld d, h ld e, l add hl, hl add hl, de add hl, hl add hl, hl ld e, b add hl, de ; This next line gets the current buffer address into DE. ; Obviously zBufMode is the buffer flag in zModeFlags, and backBuffer holds the address of my backBuffer. ; Note that it uses $+# format because I use it normally in a #define. I've just written it out here for you to see. bit zBufMode, (iy+zModeFlags) \ jr z, $+7 \ ld de, plotSScreen \ jr $+5 \ ld de, backBuffer add hl, de ;hl points to first byte of rect in buffer ld b, a ;b contains height, c contains width ret
RectLineToOP1: ;;IN: ;; D contains starting x ;; E contains ending x ;;OUT: ;; C contains length of line ;; B contains starting x byte ;; OP1 [and possibly 1st byte of OP2] contains mask data for the line ;;DESTROYS: All except HL ld a, e cp d ld b, 0 ret z srl a srl a srl a ld c, d srl c srl c srl c ld b, c sub c ;a contains num bytes spanned minus 1 ld c, a push bc push hl ld hl, OP1 ;get mask ld a, d and 7 ld b, a ld a, $FF jr z, _skipmask _maskloop: sla a djnz _maskloop _skipmask: ld b, c ld c, a xor a or b jr z, _lastbyte ld a, c _hloop: ld (hl), a inc hl ld a, $FF djnz _hloop ld c, a _lastbyte: ld a, e cpl and 7 ld b, a ld a, $FF jr z, _skipmask2 _maskloop2: add a, a djnz _maskloop2 _skipmask2: and c ld (hl), a pop hl pop bc inc c ret Honestly I'm not sure that these routines are even the best way to do it, but I feel they're pretty good. If anyone has better routines that I could swap these for, then I'd love to see them! EDIT: Thanks to Calc84maniac, the bugs have been fixed and it now works properly!
300
« on: July 01, 2011, 06:16:22 am »
Apparently he didn't play the Yellow version, because you CAN use Fly on Charizard in that one!
I thought of that, too. I always taught Fly to my Charizard in Yellow.
Pages: 1 ... 18 19 [20] 21 22 ... 51
|