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 - ben_g
Pages: 1 ... 68 69 [70] 71
1036
« on: May 18, 2011, 03:15:46 pm »
I have the Windows7Ultimate 64bit installed on my computer, and it's...... Horrible. It crashes very often (got the 'blue screen of death more than 20 times in a year) and is incompatible with many applications (I had to google for hours to find a z80 assembler thatr worked on it). So I voted for windowsXP: my previous OS that has never crashed on my pc
1037
« on: May 18, 2011, 03:08:37 pm »
Hi everybody,
I just noticed the download links to different OSes of the ti-84 plus I am using Os 2.22, but I found 2.43 and 2.55. So i want to know: has enybody ever tried these OSes, and what are the new features? And how's the compatibility for asm programs?
1038
« on: May 17, 2011, 03:45:04 pm »
This is the door that you found in the middle of the field, right? In the demo, that area is not yet coded, so walking around in there would cause bugs as you discovered.
Yes, It was that area. Sometimes, when walking around in that area sends you back to the door you came from, but when you try to walk back to the palace, you'll end up at the same door again. also, there are monsters of level 255 someware. It enters fight mode as normally, and when you try to run, it says 'failed' and you will die, but if you attack the monster, you'll end up in an area with horizontal lines where you can't move. But as this is still a demo, and as the area isn't coded, bugs can occur indeed. I can't wait until the first full release, or the next domo
1039
« on: May 16, 2011, 03:53:37 pm »
I don't think I will join as I only get very simple stuff to work with axe.
btw: I think the poll isn't working, clicking the answers doesn't do anything...
1040
« on: May 16, 2011, 03:49:41 pm »
All of the calls made in the 3DTo2D part are also used in the InitView part. The number of pushes and pops are the same, and the vars are defined in the program memory, so I still don't know why it clears the ram. Maybe my own math routines aren't really doing what they should do, so does enybody here have some code on their hard drive for 16bit 8.8 fixed point signed addition, substraction, multiplication and division? EDIT: I double-checked all my routines, then tripple-checked them, then tested every routine on it's own, and I have found out that the code below clears the ram, but I still don't know why 3DTo2D: ld a, 0 ld (valid), a ld bc, (xpoint) ld de, (xfrom) call SubFP ld (xpoint), de ld bc, (ypoint) ld de, (yfrom) call SubFP ld (ypoint), de ld bc, (zpoint) ld de, (zfrom) call SubFP ld (zpoint), de ld hl, (xpoint) ld bc, (xto) call MulFP push de ;1 ld hl, (ypoint) ld bc, (yto) call MulFP pop hl ;0 add hl, de push hl ;1 ld hl, (zpoint) ld bc, (zto) call MulFP pop hl ;0 add hl, de push hl ;1 ld a, l ld c, a ld a, (min_range) ld b, a ld a, c cp b ret c ld c, a ld a, (max_range) ld b, a ld a, c cp b ret nc ld a, 1 ld (valid), a ld hl, (xpoint) ld bc, (xcross) call MulFP push de ;2 ld hl, (ypoint) ld bc, (ycross) call MulFP pop hl ;1 add hl, de push hl ;2 ld hl, (zpoint) ld bc, (zcross) call MulFP pop hl ;1 add hl, de pop de ;0 push de ;1 call DivFP ld (screenx), hl ld hl, (xpoint) ld bc, (xup) call MulFP push de ;2 LD HL, (ypoint) ld bc, (yup) call MulFP pop hl ;1 add hl, de push hl ;2 ld hl, (zpoint) ld bc, (zup) call MulFP pop hl ;1 add hl, bc pop de ;0 call DivFP ld (screeny), hl ld hl, $0100 ld de, (screenx) add hl, de ld bc, $5F00 call MulFP ld (screenx), de ld hl, $0100 ld de, (screeny) add hl, de ld bc, $4100 call MulFP ld (screeny), de ret
I've tested every subroutine, and they all worked normally. The stack is also used correctelly (I think), So why is it clearing my ram?
1041
« on: May 16, 2011, 02:10:27 pm »
This is definitely the best game on my calc , Good job ! however, I found 3 bugs: - When you enter the dark cave in the pass, Sometimes when you enter a fight, the calc freeses. I had to pull a battery to recover. - The screen didn't show the game anymore, but just random gray, white and black pixels. I don't know when this has happened, as my friend was playing it on my calc when this happened. Pressing [clear] solved this. - When I was walking around in the town you start in, The game crashed, and random crap apeared on the homescreen, and the cursor kept moving down (I had the same bug once in one of my axe games, so maybe it's a bug in axe itself). Pressing [clear] solved it too. The game is still great, I just wanted to let you know there are some bugs. btw: I usually got a lot more bugs while programming, so this is still very wel done.
1042
« on: May 14, 2011, 04:55:04 pm »
I think you forgot to sign your app. Also, when you use Axe 0.5.1, make sure to always display in normal mode.
Yea, I think that too: After transferring the app to my calc, TIconnect showed a warning that the app wasn't signed, and the app was deleted from my calc.
1043
« on: May 14, 2011, 04:48:43 pm »
Maybe it's the easyest to detect the platform, and make a function for every platform
1044
« on: May 14, 2011, 03:34:07 pm »
Thanks. It's great to know that i might have saved OmnomIRC from a spam attack
1045
« on: May 14, 2011, 03:22:45 pm »
I don't know if this really fits in the feature requests section, but I think the size of the OS itself should be kept to the absolute minimum, and let every feature be an application. This way, you won't waste memory on the features you never use.
BTW: Look at windows. The windows OS can do nothing. If you want to calculate, you use the 'calculator' application, If you want to edit text, you use notepad.
1046
« on: May 14, 2011, 02:59:16 pm »
I already thought there was something wrong with it, and I thought writing it there was the fastest way to tell it. It wasn't meant as a spam or something, I was only doing it to help.
btw: It's quite scary to see an entire thread abouth yourself a short time after you did something...
1047
« on: May 14, 2011, 02:33:29 pm »
Look closely at this code:for (wh = 0;wh>=r.nextInt(300);wh++) { It calculates a random number in every cycle of the for loop. This can be very irreliable.
further:int wh = r.nextInt(300); ... int wh = r.nextInt(300); These two lines are a waste of size and CPU. I know that it's only a few bites and under a microsecound, but in a large applet, this kind of optimisation can tell the diference between fitting on a CD, and not fitting on a CD.
back to your question: You draw an oval with increasing the size, but always at a random location withouth deleting the previous one. I think your problem is that the screen is filled with hundreds of ovals so that you can't see a single oval. Instaed the screen will be just a solid color.
The first lines weren't an answer to your question, but I just wanted to help you to optimise your code.
1048
« on: May 12, 2011, 03:18:47 pm »
just add 'call 3DTo2D' somewere on a part that is executed. You will get a ram clear
if you add 'call InitView' somewere, it doesn't couse a ram clear, but i don't know if it's working corectely as it should work together with 3DTo2D.
have written a simple 3D engine in GML and i try to rewrite it in asm. Maybe the GML code can help:// d3dto2d_init(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup,angle,aspect,znear,zfar) var d;
global.d3dto2d_xfrom = argument0; global.d3dto2d_yfrom = argument1; global.d3dto2d_zfrom = argument2;
global.d3dto2d_xto = argument3-global.d3dto2d_xfrom; global.d3dto2d_yto = argument4-global.d3dto2d_yfrom; global.d3dto2d_zto = argument5-global.d3dto2d_zfrom; d = sqrt(global.d3dto2d_xto*global.d3dto2d_xto+global.d3dto2d_yto*global.d3dto2d_yto+global.d3dto2d_zto*global.d3dto2d_zto); global.d3dto2d_xto /= d; global.d3dto2d_yto /= d; global.d3dto2d_zto /= d;
global.d3dto2d_xup = argument6; global.d3dto2d_yup = argument7; global.d3dto2d_zup = argument8; d = global.d3dto2d_xup*global.d3dto2d_xto+global.d3dto2d_yup*global.d3dto2d_yto+global.d3dto2d_zup*global.d3dto2d_zto; global.d3dto2d_xup -= d*global.d3dto2d_xto; global.d3dto2d_yup -= d*global.d3dto2d_yto; global.d3dto2d_zup -= d*global.d3dto2d_zto; d = tan(degtorad(argument9)/2)*sqrt(global.d3dto2d_xup*global.d3dto2d_xup+global.d3dto2d_yup*global.d3dto2d_yup+global.d3dto2d_zup*global.d3dto2d_zup); global.d3dto2d_xup /= d; global.d3dto2d_yup /= d; global.d3dto2d_zup /= d;
global.d3dto2d_xcross = (global.d3dto2d_yup*global.d3dto2d_zto-global.d3dto2d_zup*global.d3dto2d_yto)/argument10; global.d3dto2d_ycross = (global.d3dto2d_zup*global.d3dto2d_xto-global.d3dto2d_xup*global.d3dto2d_zto)/argument10; global.d3dto2d_zcross = (global.d3dto2d_xup*global.d3dto2d_yto-global.d3dto2d_yup*global.d3dto2d_xto)/argument10;
global.d3dto2d_znear = argument11; global.d3dto2d_zfar = argument12; The 'aspect' variable won't be ust in the asm version.
// d3dto2d_point(x,y,z) var xx,yy,zz,d; xx = argument0-global.d3dto2d_xfrom; yy = argument1-global.d3dto2d_yfrom; zz = argument2-global.d3dto2d_zfrom; d= xx*global.d3dto2d_xto+yy*global.d3dto2d_yto+zz*global.d3dto2d_zto; if (d<global.d3dto2d_znear or d>global.d3dto2d_zfar){ Return = 0}else{Return = 1} global.xx = (xx*global.d3dto2d_xcross+yy*global.d3dto2d_ycross+zz*global.d3dto2d_zcross)/d; global.yy = (xx*global.d3dto2d_xup+yy*global.d3dto2d_yup+zz*global.d3dto2d_zup)/d;
return Return;
1049
« on: May 11, 2011, 04:25:16 pm »
Here's the full source code
1050
« on: May 11, 2011, 03:56:58 pm »
Hi,
I've got an other problem: my routine clears the ram, and I don't know why... from 'learn ti83plus asm in 28 Days', i know that ram clears usually appear when you used the stack incorrect, but I've counted all the pushes and pops of the routine, and there were as much pushes as pops. Further is the mem for all the vars stored in the program itself, so it can't be becouse i'm editing mem that shouldn't be edited.
It's just calculating with registers and vars, but i don't know how that can clear the ram.
anyway, here's my code3DTo2D: ld a, 0 ld (valid), a ld bc, (xpoint) ld de, (xfrom) call SubFP ld (xpoint), de ld bc, (ypoint) ld de, (yfrom) call SubFP ld (ypoint), de ld bc, (zpoint) ld de, (zfrom) call SubFP ld (zpoint), de ld hl, (xpoint) ld bc, (xto) call MulFP push de ;1 ld hl, (ypoint) ld bc, (yto) call MulFP pop hl ;0 add hl, de push hl ;1 ld hl, (zpoint) ld bc, (zto) call MulFP pop hl ;0 add hl, de push hl ;1 ld a, l ld c, a ld a, (min_range) ld b, a ld a, c cp b jp c, Invalid ld c, a ld a, (max_range) ld b, a ld a, c cp b jp nc, Invalid ld a, 1 ld (valid), a ld hl, (xpoint) ld bc, (xcross) call MulFP push de ;2 ld hl, (ypoint) ld bc, (ycross) call MulFP pop hl ;1 add hl, de push hl ;2 ld hl, (zpoint) ld bc, (zcross) call MulFP pop hl ;1 add hl, de pop de ;0 push de ;1 call DivFP ld (screenx), hl ld hl, (xpoint) ld bc, (xup) call MulFP push de ;2 LD HL, (ypoint) ld bc, (yup) call MulFP pop hl ;1 add hl, de push hl ;2 ld hl, (zpoint) ld bc, (zup) call MulFP pop hl ;1 add hl, bc pop de ;0 call DivFP ld (screeny), hl ld hl, $0100 ld de, (screenx) add hl, de ld bc, $5F00 call MulFP ld (screenx), de ld hl, $0100 ld de, (screeny) add hl, de ld bc, $4100 call MulFP ld (screeny), de Invalid: ret
btw: the commented numbers show the amount of items put on the stack by this routine.
Pages: 1 ... 68 69 [70] 71
|