Ultimate Amiga

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 ... 10
 1 
 on: December 24, 2024, 05:26:37 AM 
Started by MadAngus - Last post by DarkN3mo
hello

any news ?

MadAngus has not been online for atleast 7 years. I can only assume the worst.
I have no way of contacting him, I have tried emailing numerous times.


 :'(

 2 
 on: December 24, 2024, 05:25:57 AM 
Started by MadAngus - Last post by DarkN3mo
great!

what's the status of this project?

 3 
 on: December 24, 2024, 05:24:42 AM 
Started by bruceuncle - Last post by DarkN3mo
yes, it's a shame, a website is much more practical than facebook.

 4 
 on: August 22, 2024, 01:20:38 PM 
Started by DarkN3mo - Last post by adrazar
The aim is to have several bob data in fast, and copy on bank 1 of bob 1.

The procedure to accomplish this is a bit complicated :-\

However, what needs to be known about the data structures is readily found on this page in the manual
https://www.ultimateamiga.co.uk/HostedProjects/AMOSFactory/AMOSProManual/14/1430.html
and on the top of the next page (next-button is located in bottom right corner).

So to create a custom sprite bank, the manual says you can do this:
Code: [Select]
IMAGES=1
Reserve As Work 1,2+8*IMAGES
Doke Start(1)-12,5

Then you need to reserve some chip memory for the image data, and loke the address of this memory block into
Code: [Select]
Start(1)+2+8*(IMAGE-1)
This chip memory block can be larger than required for a given bob image, which means you may theoretically use the same memory block for images of different sizes. All that remains to be done is then to copy the image data from fast ram into this memory block (you should use the Copy instruction for this).

Things to keep in mind:
  • It will get hard to avoid memory leak problems if you let amos compute masks for your images. Either set the mask address to -1 OR keep a precomputed mask in fast ram for each bob image (which you copy to chip ram the same way as with the ordinary image data).
  • You must always do Doke Start(1)-12,0 before erasing bank 1.
  • It is probably a good idea to make sure the value of Deek(Start(1)) is always the same as the highest-numbered image in the bank.

 5 
 on: August 22, 2024, 11:36:56 AM 
Started by adrazar - Last post by adrazar
Hello DarkN3mo!

Yes, I was able to access the internal data structure of the bobs. Which means data like x,y-position, image number, the values used in Set Bob, a pointer to the stored background image, etc.

So first and foremost the bobs forms a linked list: the first four bytes in the bob is a pointer to the next bob (zero if there are no more bobs). The order in which the bobs appear in the list is the same as the order they are drawn on the screen - usually this means in ascending order with respect to bob number, unless Priority On has been used. The bob data itself it could vary a bit depending on the version of amos being used, so to find a particular piece of data one should consult the appropriate version of the amos source code, or one could try to figure it out experimentally in amos.

I've found only one use for this though. However, it's a pretty powerful one: It's based on the fact that the address Areg(5)-6172 contains a zero if and only if all bobs are off. This means that if we have some bobs defined then Areg(5)-6172 will contain a non-zero value. Suppose we store this value in a variable BBGROUPA and loke zero into Areg(5)-6172. Now amos will think that there are no bobs, so nothing will happen if we do for instance Bob Clear. Moreover, if we use Bob N,X,Y,IMG with one of the previously defined bob numbers, instead of moving the existing bob, a new one will be created. Future bob drawing commands will affect only these new bobs, never the old ones. We can switch back to the old bobs by first saving the new contents of Areg(5)-6172 into a second variable BBGROUPB and then loke the value of BBGROUPA into Areg(5)-6172. Now only the bobs from the first group will be rendered, and none from the second. Thus this method makes it possible to create units of bobs which can be rendered separately, which can be a very useful resource for speeding up the rendering in programs that rely on bobs. :)

 6 
 on: August 16, 2024, 02:54:31 PM 
Started by adrazar - Last post by DarkN3mo
Does anyone know where I can find a pointer to the data structure of a given Bob?


Good morning.

have you found the solution?

because i'm also looking...

 7 
 on: August 09, 2024, 10:29:42 AM 
Started by DarkN3mo - Last post by DarkN3mo
Has anyone ever tried copying from a BOB to a fast bank and vice versa?
The aim is to have several bob data in fast, and copy on bank 1 of bob 1.

the bob data must be in CHIP at the TIME you use it.
But it's perfectly possible to manually copy blocks of data between chip and fast, which is commonly done in commercial games.
The problem with Amos is finding where the bob data is stored and then making a copy using peek and poke.


 8 
 on: July 22, 2024, 07:44:28 AM 
Started by bruceuncle - Last post by FOL
yes, this site seems to be dead... it's a shame.

Blame Facebook. I believe they all use that instead. I hate Facebook.

 9 
 on: July 22, 2024, 07:43:08 AM 
Started by MadAngus - Last post by FOL
hello

any news ?

MadAngus has not been online for atleast 7 years. I can only assume the worst.
I have no way of contacting him, I have tried emailing numerous times.

 10 
 on: July 02, 2024, 03:00:58 AM 
Started by Brick Nash - Last post by DarkN3mo
hello, intersting, but drive not work :

Download - https://drive.google.com/uc?export=download&id=0B4zq7rE1m0e4Z0t0WW9ObDVuQk0

I

Pages: [1] 2 3 ... 10

TinyPortal 2.2.2 © 2005-2022