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

Pages: 1 ... 98 99 [100] 101 102 ... 108
1486
ASM / Re: Create Groups
« on: July 12, 2010, 06:31:03 pm »
They don't map to anything useful. They are the first byte of two bytes variable tokens. For instance 61h 05h is graphDataBase 4.

1487
ASM / Re: Create Groups
« on: July 12, 2010, 02:15:22 pm »
You can kind of do it, but you have to trick the OS.

Here is the alphabet of lower case.
d = radian
e = degree
f = normal
g = sci
h = eng
i = float
j = =
k = <
l = >
m = <=
n = >=
o = !=
p = +
q = -
r = ans
s = fix
t = horiz
u = full
v = func
w = param
x = polar
y = seq
z = indpntAuto

Use these instead of the letter.

Edit:
    Wow, it actually works.

1488
ASM / Re: Create Groups
« on: July 12, 2010, 12:23:55 pm »
I hate it when I make stupid mistakes.

Code: [Select]
dec bc
ld a, b
or a      ;too bad I actually care about c
jr nz, copyloop

1489
ASM / Re: Sprites in an APP: No SMC, yet no working script :( Why?
« on: July 12, 2010, 11:55:01 am »
I didn't read very far before I found an error. You need to switch xpos and ypos around. Where you have ld de, (yPos). e = y pos, but d = clip mask. Simple little fix.

1490
ASM / Re: Exiting an APP: bjump _JforceCmdNoChaR isn't working!?
« on: July 12, 2010, 10:14:56 am »
bcall(_Mon) works. I didn't even realize it was supposed to be a bjump.

1491
Other Calculators / Re: 16-Level Grayscale
« on: July 12, 2010, 09:57:16 am »
I suppose. Maybe there should be some standard appVar name that contains the grayscale info. The little test addition only added about 250 bytes to the program. So I'll probably include it with all my grayscalers because typically they're large anyways. I also usually have a screen to adjust contrast.

1492
Other Calculators / Re: 16-Level Grayscale
« on: July 11, 2010, 06:37:58 pm »
Right now.

The only problem is that since I do not know how to deploy programs in c++ yet, you have to have Microsoft Visual C++ 2008 installed on your computer. (2010 might work too).

Here are the instructions from the Level16 readme, with all 16's replaced with 8's.

1. Download gimp. (Photoshop will work too, but you will have to figure it out yourself)
2. Open your picture
3. Get the picture down to 96 pixels wide by 64 tall
4. Desaturate the picture
5. Image > mode > indexed. Select 8 colors
6. Back to RGB mode
7. Save the picture as a .bmp and make sure it saves in 24 bit mode.
8. Put the picture in the same folder as level8.exe
9. Open command prompt and type in      cd c:\(folder where you put it)     for me it is    cd c:\asm\level8
10. Now use level8.exe to convert it.     level8 picture.bmp picture.8xp    replace picture with your file name

If it's not in the same folder, use double slashes (c++ bug that idk how to fix). c:\\asm\\level8\\daboss.bmp

1493
ASM / Re: ASM base adress [start adress] in hex
« on: July 11, 2010, 06:21:42 pm »
To use absolute addressing, call and jp, you will have to keep track of sp through your program, this gets really annoying when you start adding stuff and you have to go change all your calls and jps.
you mean pc, not sp, right? You should never have to keep track of sp :P

Idk why, but in my mind, I use sp and pc interchangeably. Yes, pc.

1494
Other Calculators / Re: 16-Level Grayscale
« on: July 11, 2010, 06:17:30 pm »
Realize that cpu speed (and the hardware timers) depends on battery power, while the crystal timers don't (I'm unsure about the lcd)
Also, for those who want to use the LEVEL8 program posted earlier with the benefit of correctly set crystal timers, I hacked together an Axe utility to modify the program to work better.
Supposing you didn't change the original program name from LEVEL8 (change the source code if you did), the program will display the REFRESH value the program is currently using. Change it to the REFRESH number you got from GRAY4 using the arrow keys (up/down change it by 1, left/right by 10) and press enter. The program will say "FIXED" and return.
(The program w/the 'S' on the end is the source, btw)

^^That is dedication. Oops, I guess I never actually included the source, (the grayCopy uses call and ret in reverse, it calls with ret and returns with call). You could have just told me to update it, but I suppose it's more fun to figure out how to use Axe to hack stuff. :)

Here is the official update. It gives you a little screen where you fix the refresh rate yourself. Then press 2nd and it's saved until you delete the appVar.

1495
ASM / Re: ASM base adress [start adress] in hex
« on: July 11, 2010, 02:37:17 pm »
I'm not sure what you mean by the second compilation. But you just type the address in after the call function. So the first example would be, FF CD 95 9D C9. You had your address backwards. You have to remember that it is little endian, meaning that the least significant part of the address comes first. 9D95 is stored as 95 9D, 123456 is stored as 56 34 12.

It might be easier to try to stick with relative addressing, jr, because you just count how many spaces you want to go from the next byte. So if you want to loop endlessly you would write jr -2, or 18 FE.

To use absolute addressing, call and jp, you will have to keep track of sp through your program, this gets really annoying when you start adding stuff and you have to go change all your calls and jps.

You also don't need to define your starting location, .org. You only have to do this in TASM because TASM doesn't know where you are starting. Maybe you're writing an app and starting at 4000, or an OS starting at 0000. You mentally write the .org in your hex program because you have to do all the adding yourself.

The only way to push pc is to do a call.

1496
Other Calculators / Re: 16-Level Grayscale
« on: July 11, 2010, 02:09:48 pm »
Code: [Select]
84+:
port 29h delay | port 32h delay
------------------------------
      12       |       162
      32       |       168
      44       |       178

83+SE:
      16       |       124*
      20       |       133


* multiplied by 2

Well a pattern is definitely emerging. The slower the driver, the slower the refresh rate. Also, the 83+SE's refresh a lot faster. Wow, new hardware documentation 10 or so years later.

DJ, don't run it on your 83+, they all use crystal timers except REFRESH.

1497
Other Calculators / Re: 16-Level Grayscale
« on: July 10, 2010, 10:20:59 pm »
Your calc is giving really mixed results. Having a driver delay of 32, refresh delay of 168, and REFRESH result of 142 all suggest a moderately slow screen. But have a FPS of 97 is the worst I have ever seen. Same with 14.0 MHz.

But, that's helpful. I'm just waiting until I get a repeat Driver delay so that I can see if these numbers hold true, if they don't, then the frequency will have to be user adjusted and saved in an appvar.

Here is the current data:
Code: [Select]
port 29h delay | port 32h delay
------------------------------
      12       |       162
      32       |       168
      44       |       178

1498
Other Calculators / Re: 16-Level Grayscale
« on: July 10, 2010, 09:16:34 pm »
ok, but give me the bigger number, the one in the 60s-70s is unusable for games. But if your delay is 32, that's different.

1499
ASM / Re: Create Groups
« on: July 10, 2010, 08:32:18 pm »
No, the new one is safe. I guess the only bad thing you could do now is if you put stupid stuff in the name. Like lowercase letters, pi, etc.

1500
ASM / Re: Create Groups
« on: July 10, 2010, 06:54:22 pm »
Ahh, yes, the way your memory fell into place that could create a group with a very weird name.

Do you want me to fix up the program so that it doesn't require spaces for the title or programs? Or are you done with this?

Btw, I think somehow you already found a link.  ;)

Edit:
   Too late.

Now it will make whatever name you put in str3. So "A", "ABC", "ABCDEFGH" are all valid. And for str4, "+A+B-IMPOSBLE-GROUP2", will work too. Just do everything the same, but leave out the spaces.

Pages: 1 ... 98 99 [100] 101 102 ... 108