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 - Quigibo
Pages: 1 ... 36 37 [38] 39 40 ... 135
556
« on: January 25, 2011, 04:42:59 pm »
Hey, I'd like to request that the archived file reading method be modified to allow reading from programs in RAM as well. I have an idea as to how this might be accomplished.
Currently, the file byte read routine takes two arguments: an address in HL (any offset is already added in) and a page number in A. If the address is not in the $4000-$7FFF range, it increases the page as much as needed and the pointer is then put into this range.
I'd like to suggest that the routine take three arguments: the start address in HL, the offset in DE, and the page number in A. This takes the load of adding the offset off of the calling code, too. For reads that have no offset, you can make a secondary entry point that loads DE with 0 and runs the routine.
Here's what I suggest for the start of the routine:
bit 7,h add hl,de jr z,__inROM ld a,(hl) inc hl ld h,(hl) ld l,a ret __inROM: ;Archived file reading happens here This is an interesting idea. However, I think this would bring a lot of overhead into each use of Y1. There would have to be an additional 2 bytes to push and pop the extra argument. In addition, Y1 would become more of a special form than before and be difficult to parse. For instance, now there would be a big difference between {Y1+1} and {1+Y1} in terms of how to process this and you wouldn't be able to do things like {Y1*2} either, not that you generally would, but its an additional restriction. Another point would be that it might also require modifications to the copy routine as well to be consistent.
557
« on: January 23, 2011, 03:15:53 am »
How is Malbolge powerful? Its not even Turing complete!
558
« on: January 23, 2011, 03:10:37 am »
Why not just make the menus in axe (and other things that need asm speed) and then just have the BASIC program call the assembly program instead of the other way around.
559
« on: January 22, 2011, 03:34:03 am »
They will be in 1.0.0. Right now, they are still disabled (they can be imported, just not parsed).
560
« on: January 19, 2011, 07:03:23 pm »
So...
I am really busy again with school. More so than before and I haven't had any free time for the past few days. But, at the same time, I am very very close to finishing the Axioms and being done with the majority of 1.0.0 changes. I for sure want to finish it all by Axe's 1-year anniversary from the first alpha version (Feb. 1st) so for sure it will be done by then. After that, there will be no more syntax changes since the Axioms will provide a framework for that. However, there will be a small amount of syntax additions and optimizations given that all future versions must be backwards compatible with 1.0.0 since I will declare it stable.
561
« on: January 19, 2011, 06:54:21 pm »
It looks correct, I don't see any errors. The only thing I can can think of is that maybe the Disp command cannot be used with custom interrupts because it uses an OS routine but I kind of doubt that.
562
« on: January 18, 2011, 07:46:46 pm »
I voted, but I think it would be extremely difficult to win again so the closest thing to my opinion was the last option.
563
« on: January 18, 2011, 07:33:17 pm »
To get the end of the string you don't even need a command. If your string is Str1, lets say it says: "Hello". Then Str1+1 is "ello", Str1+2 is "llo", Str1+3 is "lo" etc.
564
« on: January 18, 2011, 02:01:04 pm »
Yeah, I feel that the current linking routine is a little too sensitive. I've heard other reports that the linking doesn't work well between different calc models either. If anyone else can design a better routine, that would be really nice. I don't have any other calculators to test it on, so I really can't design a fast routine myself without the hardware.
565
« on: January 15, 2011, 04:28:28 pm »
Your For loop is using the variable Y but you have X as the counter inside the loop.
566
« on: January 15, 2011, 03:38:16 am »
Very, very polished! It looks superb!
I just beat the last level, that was tricky, probably took me 10 minutes with 30 tries. My only complaint was that the game seemed too short, but I guess that's why there's the level editor. Nice job.
567
« on: January 14, 2011, 07:32:39 pm »
Also, what Michael_Lee has shown you is accessing bytes in ram using pointers ex: {L1+5}. However, bytes only allow you values between 0-255 (or -128 to 127 if you sign extend them with "sign{"). That's fine if this is just a "Screen X" and "Screen Y" since the numbers will never get that big anyway. But if you need numbers that go higher than that, you have to use words which are 2 byte numbers. This is how the regular Axe variables work. That gives you values between 0-65535 which is much larger. All you have to do to use them is add an r to the end of the closing bracket ex: {L1+5}r That would use both bytes {L1+5} and {L1+6} to hold the 2 byte number.
568
« on: January 13, 2011, 02:29:14 am »
At this point, I'm not sure how many new features I will have time to add before 1.0.0 I'm just trying to get the Axioms working and its so difficult with so many possibilities and combinations for commands, its almost overwhelming me... but I'm at least halfway done with that luckily. And I couldn't figure out how to delete the poll... so I just decided to make a goofy question instead
569
« on: January 12, 2011, 07:13:13 pm »
You shouldn't need any complex line algorithm. Try this, it should animate the sprite "Pic1" moving from (X,Y) to (A,B) in S steps.
:A-X*256//S->C :B-Y*256//S->D :For(L,0,S) :ClrDraw :Pt-On(C*L//256+X,D*L//256+Y,Pic1) :DispGraph :Pause 50 :End
EDIT: Fixed, I forgot the divisions had to be signed.
570
« on: January 12, 2011, 02:29:11 pm »
Oh yeah, thanks for reminding me!
Pages: 1 ... 36 37 [38] 39 40 ... 135
|