Re: A83: A problem with matrices
[Prev][Next][Index][Thread]
Re: A83: A problem with matrices
On Wed, 28 Jul 1999 21:05:54 PDT, the homonerdicus wrote:
>
>I think you're still better off to do them in a .db format....
>The simple code of the calls to _puttomat and the inc take more space.
>I tried using the matrices for a different prog a while ago and let me tell
>you that it is really not worth it if you are working with integers ( N|
>)..
>
>what you are trying to do would look like this...
>
>
>level_one:
>.db 0,0,2,0,0
>.db 0,0,2,0,0
>.db 0,2,2,2,0
>.db 0,0,2,0,0
>.db 0,0,1,0,0 ; all of this is 25 bytes !
>
>
>You can then acces the matrice in the following manner...
>
>#DEFINE row2 5 ;those don't go in to the 83p file
>#DEFINE row3 10 ;they are just aids....
>#DEFINE row4 15
>#DEFINE row5 20
>
>#DEFINE el2 1
>#DEFINE el3 2
>#DEFINE el4 3
>#DEFINE el5 4
>
>
>to acces level_one[2,3]
>
>you have to do (if it is a number beween 0 and 255)
> (it it is larger you have to use .dw)
>
>ld a,5
>ld (level_one+row2+el3),a
> and
>ld a,(level_one+row2+el3)
>
>if later on you don't know which level you are in ...it will happen.. you
>can use the ix register and do the offsets with it)
>
>
>glad I could help...
>
>An advice from me.... stay away fro ROM calls as much as possible.
>
>homonerdicus
>
>>From: Pizza of Hut <pizzaofhut@geocities.com>
>>Reply-To: assembly-83@lists.ticalc.org
>>To: assembly-83@lists.ticalc.org
>>Subject: Re: A83: A problem with matrices
>>Date: Wed, 28 Jul 1999 21:55:34 -0500
>>
>>
>>
>>
>>James Vernon wrote:
>>
>> > On Wed, 28 Jul 1999 20:55:17 -0500, Pizza of Hut wrote:
>> > >
>> > >Hello everyone. I am attempting to program a 3-D shooter using
>>matrices
>> > >to generate the maps. The data used to create the matrix used for a
>> > >certain level is stored in an external file and is called by the main
>> > >program as follows:
>> > >
>> > >load_level_1:
>> > > call _clrscrnFull
>> > > ld a,4
>> > > ld (currow),a
>> > > ld a,3
>> > > ld (curcol),a
>> > > ld hl,get_psyched
>> > > call _puts
>> > > call _zerooop1
>> > > ld hl,lev_1
>> > > ld de,op1
>> > > ld bc,8
>> > > ldir
>> > > call _chkfindsym
>> > > jr c,error_dat
>> > > call _exec_assembly
>> > > ret
>> > >
>> > >lev_1:
>> > > .db PROGOBJ,"ISMDAT1",0
>> > >
>> > >In the the file "ISMDAT1" which holds the data for the first level, I
>>am
>> > >attempting to create a 5x5 matrix and store numbers to them using the
>> > >following code:
>> > >
>> > > call _zerooop1
>> > > ld hl,op1
>> > > ld (hl),matobj ;Value of token = 02h
>> > > inc hl
>> > > ld (hl),tvarmat
>> > > inc hl
>> > > ld (hl),tmata
>> > > call _chkfindsym
>> > > ld hl,$0505
>> > > call _creatermat ;Calls ROM addr. 446Ah
>> > > push de
>> > > ld hl,0 ;Value to store to matrix element
>> > > call _setxxxxop2
>> > > call _op1exop2
>> > > pop de ;Address of Matrix A
>> > > ld bc,$0101 ; Address of element (1,1)
>> > > call _puttomat ;Stores 0 to (1,1)
>> > > inc bc ;Move on to next element
>> > > call _puttomat
>
>; ...
>
>> > > ld hl,1
>> > > call _setxxxxop2
>> > > call _op1exop2
>> > > pop de
>> > > ld bc,$0503
>> > > call _puttomat
>> > > push de
>
>
>> > > ld hl,2
>> > > call _setxxxxop2
>> > > call _op1exop2
>> > > pop de
>> > > ld bc,$0302
>> > > call _puttomat
>
>> > > inc bc
>> > > call _puttomat
>
>> > > inc bc
>> > > call _puttomat
>
>> > > ld bc,$0103
>> > > call _puttomat
>> > > ld bc,$0203
>> > > call _puttomat
>> > > ld bc,$0403
>> > > call _puttomat
>> > > ret
>> > >.end
>> > >END
>> > >
>> > >If anyone could help me with this problem of mine, I would be most
>> > >appreciative.
>> > >
>> > >--
>> > >Pizza of Hut
>> > >http://www.antishrine.sacone.com/
>> >
>> > Couldn't you extract the data to a temp program of something in a
>>series
>> > of .db statements??
>> >
>> > James Vernon
>> > jimbob_v@hotmail.com
>> >
>> > ______________________________________________________
>> > Get Your Private, Free Email at http://www.hotmail.com
>>
>>I would, however, the data files would be huge, and with the TI-83's tiny
>>memory, I could only have a couple of levels. I'm hoping to find a way to
>>fix
>>the program I'm currently using. BTW, if it helps, when the program is
>>called,
>>I get an ERR: DATA TYPE msg, then the calc crashes.
>>
>>--
>>Pizza of Hut
>>http://www.antishrine.sacone.com/
I agree.. stay away from the ROM calls as much as possible, unless you're
not too concerned about speed.. I find Matrices time consuming, and besides,
every cell in a Matrix takes 9 bytes.. I don't think they're worth it!
James Vernon
jimbob_v@hotmail.com
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
Follow-Ups: