English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 10 April 2024, 12:24   #921
str0m
Registered User
 
Join Date: Oct 2016
Location: Newcastle, UK
Posts: 268
Just work on porting Metal Slug 2, that had terrible slowdown/low fps on OG hardware, no idea how it even got released in that state
str0m is offline  
Old 10 April 2024, 12:31   #922
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,213
Quote:
Originally Posted by Tigerskunk View Post
That's an interesting one.

On triple buffers, you get a nice performance boost with them. And they are actually not difficult to implement.
The downside is, that you have a mask plane in for every normal plane. Means you actually double your BOB size requirements in RAM instead of adding one additional plane of mask data.

As with all things on the Amiga, it's a give and take.
You could possibly create your 4 plane mask on the fly from a 1 plane version, in 2 seperate D = A blits (EDIT. 3 blits, so a trade off of speed vs. memory)

Interleaved masks are also good for (say your last colour in the palette is white or very bright), you can just OR it to the screen to make a bob "flash" (when taking a hit etc..)
DanScott is offline  
Old 10 April 2024, 12:34   #923
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,213
Blitter Interrupts is certainly much easier and less complicated than Copper Blitting. There's the overhead of the interrupts, but then the blitter is running in parallel with the CPU and you're not wasting any other CPU cycles waiting for the blitter
DanScott is offline  
Old 10 April 2024, 12:40   #924
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Quote:
Originally Posted by jotd View Post
damn I knew most of those tricks, except triple buffer (looks complex).

I also never tried interleaved, because most of the time I'm already cheating with bitplanes (if I know the layer has less than nb_colors/2, I manage to put all colors in low positions so I only have to blit a part of the bitplanes, not all).

But with games like Metal Slug, you can't use this, you have to full blit, so it would apply.

I heard of at least another trick: copper-driven blits, where the blits are controlled by copper (in COPDANG mode). But it means that you have fixed blits, you can't check when blit is over you have to know when it's over!! Never tried it, but doing that avoids to wait for blitter in CPU. Just put the blit values in copper list and enjoy... in theory

Another trick I saw in Shaun Southern code is to pre-compute all blits in a list, then fire a blitter-interrupt chain. Each part of the chain sets the new blit. Also pretty constraining, but less constraining. Same benefit: CPU never waits for blitter except after the final blit. Given the speed of the games the guy can code, I'd say it's good. But not very flexible.
blitter by copper is useful if you have interleaved, otherwise you'' have a lot of overhead. On a regular OCS/ECS, I won't use blitter interrupts because it is very slow to get into and out of it!

Since this game is also very taxking on CPU I would spent a lot of time to use as less instruction as possible since you have to access to a very busy Chip Mem
sandruzzo is offline  
Old 10 April 2024, 12:42   #925
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
@DanScott

Very well programmed BLITTER via Copper, is the way to go. With some precalculated Copperlist, you can speed up things a lot- What you need to do it is only changing copperjump address!
sandruzzo is offline  
Old 10 April 2024, 12:43   #926
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
We can also use less wider actual screen are like 288x240 or 256x240 or like that. You will gain a lot of DMA cicles...
sandruzzo is offline  
Old 10 April 2024, 12:44   #927
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Triple buffer requires 1MB of Chipmem...
sandruzzo is offline  
Old 10 April 2024, 12:55   #928
x-vision
Registered User
 
Join Date: Oct 2019
Location: Spain
Posts: 42
I can't believe there is already a great for port of Metal Slug for a simple Atari STE, and people here saying it needs AGA and 030

[ Show youtube player ]
x-vision is offline  
Old 10 April 2024, 12:57   #929
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Quote:
Originally Posted by x-vision View Post
I can't believe there is already a great for port of Metal Slug for a simple Atari STE, and people here saying it needs AGA and 030

[ Show youtube player ]

Wonderfull. Maybe a little bit of Fast will help a lot!
sandruzzo is offline  
Old 10 April 2024, 12:58   #930
Old_Bob
BiO-sanitation Battalion
 
Old_Bob's Avatar
 
Join Date: Jun 2017
Location: Scotland
Posts: 152
Quote:
Originally Posted by jotd View Post
I heard of at least another trick: copper-driven blits, where the blits are controlled by copper (in COPDANG mode). But it means that you have fixed blits, you can't check when blit is over you have to know when it's over!! Never tried it, but doing that avoids to wait for blitter in CPU. Just put the blit values in copper list and enjoy... in theory.
This can work pretty well. I've used this technique in a couple of test programs and the overhead for writing the copper list is tiny. If i was to write Tapper all over again, I'd probably do that way

If I was doing the engine for AGA Metal Slug, i think I'd do (almost) everything in a chunky pixel buffer in Fast RAM. It would also be possible to execute a copper list with further blitting in to the frame buffer bitplanes once the C2P step was complete for another useful contribution while the CPU is working in Fast RAM on the next frame.

A fast CPU would be needed, of course. The faster the better, I guess. Possibly a 50mhz 68030 might just be able to hack it?

Maybe another little test program is needed...

B
Old_Bob is offline  
Old 10 April 2024, 13:37   #931
dreadnought
Registered User
 
Join Date: Dec 2019
Location: Ur, Atlantis
Posts: 2,011
Quote:
Originally Posted by x-vision View Post
I can't believe there is already a great for port of Metal Slug for a simple Atari STE, and people here saying it needs AGA and 030

[ Show youtube player ]
It's a great achievement by @masteries, but it's not really a port...kinda remix more like.
dreadnought is offline  
Old 10 April 2024, 14:54   #932
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,340
Quote:
Originally Posted by x-vision View Post
I can't believe there is already a great for port of Metal Slug for a simple Atari STE, and people here saying it needs AGA and 030

[ Show youtube player ]

It's so easy that at least 5 people already ported that version to amiga.
jotd is offline  
Old 10 April 2024, 17:19   #933
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Do we need Metal slug on Amiga?
sandruzzo is offline  
Old 10 April 2024, 18:04   #934
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,340
Do we need Amiga?
jotd is offline  
Old 10 April 2024, 18:11   #935
TCD
HOL/FTP busy bee
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,866
Quote:
Originally Posted by jotd View Post
It's so easy that at least 5 people already ported that version to amiga.
I think your dry humor is a bit lost here, but I surely appreciate it
TCD is offline  
Old 10 April 2024, 18:58   #936
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
Quote:
Originally Posted by jotd View Post
Do we need Amiga?
Good Point! Mind you...
sandruzzo is offline  
Old 10 April 2024, 22:16   #937
Samurai_Crow
Total Chaos forever!
 
Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,190
Quote:
Originally Posted by jotd View Post
Do we need Amiga?
If I hadn't held my tongue I'd have beaten you to it.

:-D
Samurai_Crow is offline  
Old 11 April 2024, 01:01   #938
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,430
Quote:
Originally Posted by dreadnought View Post
It's a great achievement by @masteries, but it's not really a port...kinda remix more like.
Not to mention it actually uses an actual advantage the ST(e) has over the Amiga (yeah, I know - the shock for some people, right ): the ability to access much more GFX RAM with the ST Blitter.

The requirements have gone down somewhat, but I believe you still need 4MB of ST-RAM for the latest version of this port, which would translate into needing 4MB of Chip RAM.

It's a great example of using a system well for sure. The 'interlacing' the whole game to get more colours trick is done very well too.
roondar is offline  
Old 11 April 2024, 04:18   #939
sandruzzo
Registered User
 
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
With 1mb of chipmem and some fastram, maybe we can help the blitter with cpu aid! I think with Amiga it is possible to move a lots of bobs efficently and fast. There is no reason why it can't be done, expect the code itself that require a lot of time and more than one coder
sandruzzo is offline  
Old 11 April 2024, 06:29   #940
saimon69
J.M.D - Bedroom Musician
 
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,583
Quote:
Originally Posted by sandruzzo View Post
With 5 planes you can use some "special" interleaved bitmap:

- one of 3 planes
- one of 2 planes

So you can speed up blitting for little bobs: explosions, regular enemies, bullets, and so forth. So you can still have regulat 32 colors on screen.

Thats' 4
More or less that is what was happening in Powder
saimon69 is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Amiga 500 Rev.6A VS Amiga 500 Plus with 2MB chip and ACA 500 turrican9 support.Hardware 0 24 December 2016 02:16
Amiga 500 + slow to chip conversion green screen Nekoniaow support.Hardware 8 06 February 2015 06:04
NOT AMIGA (but 68k!) Art of Fighting Source Code for Neogeo [044] jimmy2x2x Coders. Asm / Hardware 1 24 January 2014 15:34
EAB Multi Platform League - Round 10 - Metal Slug (NeoGeo) TCD EAB's competition 33 26 July 2009 20:57
Steg the slug HOL error dlfrsilver HOL data problems 8 12 February 2008 06:41

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 19:21.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.11861 seconds with 14 queries