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

Pages: 1 ... 133 134 [135] 136 137 ... 153
2011
L1 points to the start of 712 bytes of RAM you can use for whatever you please. The variables take up space in memory just before L1, so just make sure that all the data you store is at position L1 or greater.

Edit: ninja'd

2012
What trouble are you having in keeping track of variables? They won't try to run away, I promise ;)

2013
The Axe Parser Project / Re: Axe Parser
« on: September 08, 2010, 12:49:27 am »
Oh, I forgot to mention: I hadn't been using L1 in my program, and replacing all references to L4 with L1 seemed to fix the problem. It seems like it's not my doing that's causing the problem, which unfortunately means I can't fix it. I really don't think I'm missing anything, but if nobody can think of anything I may just have to do more extreme debugging. :-\


EDIT: I was just browsing around randomly, and found this regarding tempSwapArea:
Quote
If you are using this area for data storage, avoid archiving any variables or using routines such as Regraph.

Maybe something besides archive and unarchive is messing with my data after all? It says "routines such as Regraph," suggesting that there are multiple routines that could corrupt data in tempSwapArea. Any ideas, anyone?


EDIT 2: I don't want to use L1 because I plan to use it later, I might use interrupts so I don't want to use L2, and L3, L5, and L6 are needed for their usual functions. Perhaps I could just use a different area of RAM? Could either appData (8000h) or ramCode (8100h) be a safe alternative?


EDIT 3: After a bit of talking with Iambian, it seems that appData should be safe to use, and the 256 bytes present there should be enough for my purposes. So I guess this issue has been avoided, but it would still be nice to solve it and determine what was corrupting tempSwapArea.

2014
The Axe Parser Project / Re: Axe Parser
« on: September 08, 2010, 12:24:24 am »
I have a question: Can tempSwapArea be corrupted in ways other than directly calling Archive or UnArchive? Because I'm having problems with data corruption in L4, but nowhere in my program do I archive or unarchive anything. It might just be something wrong with my code, but I've debugged the hell out of it and it seems to be happening, although not randomly, at a certain point in execution that is executed multiple times before that successfully.

2015
The Axe Parser Project / Re: Features Wishlist
« on: September 07, 2010, 10:10:23 pm »
Any chance of grayscale routines that play nicely with interrupts? I don't really mind if they're slower. Slower but more regular is better as far as I'm concerned.

Edit: Perhaps this could be implemented with a toggle in the Axe options menu? There must be grayscale routines out there that don't kill interrupts, right? Maybe just grab one that looks decent, tweak it a little bit for Axe, and (hopefully) not have to work too much on it.

2016
Axe / Re: Project Snake X - help
« on: September 07, 2010, 09:17:18 pm »
I don't know what you mean exactly. Why don't you just rework the menu system so there's just one menu displaying routine and one menu input handling routine, it would save a lot of space and make control easier to handle.

2017
OTcalc / Re: [OTZ80] Poll results! (Hardware)
« on: September 07, 2010, 12:39:27 am »
Lol


2018
The Axe Parser Project / Re: Axe Parser
« on: September 06, 2010, 01:47:37 am »
{L1-54} accesses only one byte. A accesses two bytes, so these aren't the same. {L1-54}r, however, would be equivalent to A I believe. Also, storing the second value to B in the second example would definitely be different. :P

2019
The Axe Parser Project / Re: Axe Parser
« on: September 06, 2010, 01:36:49 am »
L1-55 is a constant that is evaluated at compile time, and accessing a byte at a constant address only takes 3 bytes. Getting the value of A alone takes 3 bytes as well, let alone operating on it. They are essentially the same, except in one case you specify the constant address and in another Axe specifies the constant address. Accessing one byte and two bytes at a constant address both take 3 bytes. And without the math that needs to be applied, you'll save bytes and speed by just accessing the individual bytes of a variable.

2020
The Axe Parser Project / Re: Axe Parser
« on: September 06, 2010, 01:23:58 am »
Is it a bigger size? I believe that is not only faster but a good deal smaller.

2021
The Axe Parser Project / Re: Axe Parser
« on: September 06, 2010, 12:05:08 am »
I was just asking Iambian how he gets grayscale to work in his project Escheron: Shadow over Ragnoth because I was wondering why it seems that every ASM game does grayscale in interrupts. Why exactly do the grayscale routines for Axe have problems with interrupts?

2022
Escheron: Shadow over Ragnoth / Re: Escheron: Shadow over Ragnoth
« on: September 04, 2010, 07:59:00 pm »
This is sort of off-topic, but I've always wondered this. The grayscale routines supplied in Axe don't play nicely with interrupts, so how do yours work? I know many other grayscale games have interrupt settings, just like yours. How exactly do the interrupts play in, and when is the screen updating taking place?

2023
Axe / Re: Axe Boolean Logic
« on: September 02, 2010, 11:53:02 pm »
You're right, meishe. I forgot what he wanted the statement to do.

2024
Axe / Re: Axe Boolean Logic
« on: September 02, 2010, 11:30:32 pm »
The " and" token performs an 8-bit bitwise boolean AND. It ANDs every bit in X with the corresponding bits in Y. If none of the bit pairs are both 1s in X and Y, the resultant bits will all be 0 and the statement will be false. Seeing as only the 22 bit is set in 4, only numbers that have this bit set also will return true.

EDIT: Ninja'd, but I like my explanation better ;D

to do what you want:
If X != 0 and (Y != 0)

A more efficient operation:
!If X or Y


EDIT 2: JK, that's completely incorrect. I forgot what he was trying to achieve.

2025
Axe / Re: A Few Questions
« on: September 02, 2010, 11:26:05 pm »
If he wants to be able to just do Disp D, the zero ending byte needs to be in the appvar. That's why I suggested the modification to the storing method.

Pages: 1 ... 133 134 [135] 136 137 ... 153