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: