English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 30 September 2021, 19:46   #21
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,602
chadderack, it seems you're in the planning stages only, and already hesitant?

It takes a very good programmer to make a full-color arcade action game run full framerate on PAL OCS. On NTSC, you will only have ~5/6ths of the CPU time AND Blitter time available to move all graphics in one frame.

The arcade title definitely seems to use more than 16 colors, so the big decision is: faithful or reduced? (And there's a great danger than you might not be able to deliver the reduced version at full framerate either).

I think that a master plan with all Blitter bandwidth accounted for is vital for a game where you can't make changes to the gameplay to lower peak bandwidth.

Since that's not in place, my advice is to do a faithful port for A1200. This gives the Blitter enough bandwidth to go 32 colors and the faster CPU can do some clearing, tile plotting, and projectile handling. Should it then turn out that you've implemented it so efficiently that it almost runs full framerate on A500 NTSC, you're then in a position to move heaven and earth to squeeze it in.

Last edited by Photon; 30 September 2021 at 19:52.
Photon is offline  
Old 30 September 2021, 20:38   #22
chadderack
Registered User
 
chadderack's Avatar
 
Join Date: Jul 2021
Location: Sandy, UT
Age: 55
Posts: 230
Quote:
Originally Posted by Photon View Post
chadderack, it seems you're in the planning stages only, and already hesitant?

It takes a very good programmer to make a full-color arcade action game run full framerate on PAL OCS. On NTSC, you will only have ~5/6ths of the CPU time AND Blitter time available to move all graphics in one frame.

The arcade title definitely seems to use more than 16 colors, so the big decision is: faithful or reduced? (And there's a great danger than you might not be able to deliver the reduced version at full framerate either).

I think that a master plan with all Blitter bandwidth accounted for is vital for a game where you can't make changes to the gameplay to lower peak bandwidth.

Since that's not in place, my advice is to do a faithful port for A1200. This gives the Blitter enough bandwidth to go 32 colors and the faster CPU can do some clearing, tile plotting, and projectile handling. Should it then turn out that you've implemented it so efficiently that it almost runs full framerate on A500 NTSC, you're then in a position to move heaven and earth to squeeze it in.
Thank you for the insights, Photon. I have some code written (source is here ) but it's pretty early on. I'm using your MiniWrapper code, btw.

I'm probably going to take your advice ultimately, since it seems the largest current audience with real Amigas is in Europe (not NTSC country) anyway.
chadderack is offline  
Old 30 September 2021, 21:14   #23
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,602
And here's little old me adapting my code to NTSC Because you can support both with not many changes. (Until next version in my startup change $138 to $106.)

I don't think you have to drop NTSC because of performance (Edit: if you go AGA), in fact all arcade games are 60Hz so PAL will be slower unless you adapt it to PAL! Quick check puts BT resolution at 336x240, which may mean depending on display some NTSC users can't see all of it vertically. If this were me I'd keep the original resolution and support both.

It may read as discouragement but in fact trying to prevent the same late stage when you've put in so much work. This way you have a release and can even set the code free for lovable madmen to slay & slaughter to fit on OCS.

Arcade games did it not by general-purpose custom chips as in computer but special-case ones, sometimes one version of it per game PCB! You can definitely do mockups with no graphics or game logic at all to see how close to OCS Blitter bandwidth you are. In fact, messing around with just the mockup can give you insights you would never get if you just ported the game, so to speak.

Last edited by Photon; 01 October 2021 at 01:40.
Photon is offline  
Old 30 September 2021, 21:56   #24
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,209
Quote:
Originally Posted by Photon View Post
Quick check puts BT resolution at 336x240.
It's 256x224
DanScott is online now  
Old 30 September 2021, 22:07   #25
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
I would keep it as the native resolution too (256x224) running in PAL mode and I don't see any reason this couldn't be done on an A500.

Some quick calculations based on what I've seen of the game.

120kb for 3 screen buffers
100kb for audio (music/sfx)
40kb for tile sets
10kb for tile map
100kb for code.
100kb for sprites

470kb ish...

with 512kb slow ram you could probably afford to make the scrolling less complex which would likely be your biggest hurdle.

Get the scrolling right, then build a sprite engine and you'd be just about there. I can't see how going AGA will help you that much.

Let me know i fyou want to bounce ideas off me though and good luck with your project for sure!

Graeme
mcgeezer is offline  
Old 30 September 2021, 22:10   #26
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,161
Quote:
I can't see how going AGA will help you that much.
from the longplay it seems that the game is pretty colorful. I didn't count the colors but it looks a lot more than 16!
jotd is online now  
Old 30 September 2021, 22:13   #27
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
Quote:
Originally Posted by jotd View Post
from the longplay it seems that the game is pretty colorful. I didn't count the colors but it looks a lot more than 16!
My calcs are based on 32 colours. More than that then yeah.. you need more chip ram and probably performance. Cant see it needing more than 32 colours though.
mcgeezer is offline  
Old 30 September 2021, 22:19   #28
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,161
where you're right: adding more colors like 6 or 7 bitplanes and AGA will cost some DMA, and 32 colors could do a proper job (even if not arcade perfect)
jotd is online now  
Old 30 September 2021, 23:12   #29
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,209
Quote:
Originally Posted by mcgeezer View Post
I would keep it as the native resolution too (256x224) running in PAL mode and I don't see any reason this couldn't be done on an A500.

Some quick calculations based on what I've seen of the game.

120kb for 3 screen buffers
100kb for audio (music/sfx)
40kb for tile sets
10kb for tile map
100kb for code.
100kb for sprites

470kb ish...

with 512kb slow ram you could probably afford to make the scrolling less complex which would likely be your biggest hurdle.

Get the scrolling right, then build a sprite engine and you'd be just about there. I can't see how going AGA will help you that much.

Let me know i fyou want to bounce ideas off me though and good luck with your project for sure!

Graeme
I've got all the sprite sheets, and for level 1, I'd say probably around 200k for all the sprites (with L/R facing versions where necessary... Orcs and Skeletons etc.. with mask data)

Tileset gfx would be around 60-70k for level 1 in 5 bitplanes, and 17k of Tilemap data
DanScott is online now  
Old 01 October 2021, 10:47   #30
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
Black Tiger throws an average of 90 colors per levels. It can be more since each sprite has its 16 colors palette.
dlfrsilver is offline  
Old 01 October 2021, 11:32   #31
mcgeezer
Registered User
 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,702
Quote:
Originally Posted by dlfrsilver View Post
Black Tiger throws an average of 90 colors per levels. It can be more since each sprite has its 16 colors palette.
Nope, it's more like a range from 130-193 based on what I looked at yesterday.
mcgeezer is offline  
Old 01 October 2021, 12:51   #32
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,412
Send a message via MSN to dlfrsilver
Quote:
Originally Posted by mcgeezer View Post
Nope, it's more like a range from 130-193 based on what I looked at yesterday.
I meant average Graeme, but as you say it's more the numbers you wrote. And this match The game use 256 unique colors or 1024 dynamic colors (4x256).
dlfrsilver is offline  
Old 01 October 2021, 13:21   #33
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,209
The background tile set for level 1 alone, contains 98 unique colours....

Taking a colour count on a screen grab, or trying to estimate the average. is often not giving the full picture

Last edited by DanScott; 01 October 2021 at 13:34.
DanScott is online now  
Old 01 October 2021, 14:14   #34
chadderack
Registered User
 
chadderack's Avatar
 
Join Date: Jul 2021
Location: Sandy, UT
Age: 55
Posts: 230
Quote:
Originally Posted by Photon View Post
And here's little old me adapting my code to NTSC Because you can support both with not many changes. (Until next version in my startup change $138 to $106.)
Thanks. I'll do that

Quote:
It may read as discouragement but in fact trying to prevent the same late stage when you've put in so much work.
Certainly good to get on the right track early.

Quote:
Arcade games did it not by general-purpose custom chips as in computer but special-case ones, sometimes one version of it per game PCB!
Yep. We mentioned as much in the other thread

Quote:
You can definitely do mockups with no graphics or game logic at all to see how close to OCS Blitter bandwidth you are. In fact, messing around with just the mockup can give you insights you would never get if you just ported the game, so to speak.
Thank you. I kinda do those types of tests anyway... just because I'm weird

Quote:
Originally Posted by DanScott View Post
It's 256x224
That's what I had too, Dan. A screenshot from MAME shows that as well.

Quote:
Originally Posted by mcgeezer View Post
I would keep it as the native resolution too (256x224) running in PAL mode and I don't see any reason this couldn't be done on an A500.

Some quick calculations based on what I've seen of the game.

120kb for 3 screen buffers
100kb for audio (music/sfx)
40kb for tile sets
10kb for tile map
100kb for code.
100kb for sprites

470kb ish...

with 512kb slow ram you could probably afford to make the scrolling less complex which would likely be your biggest hurdle.

Get the scrolling right, then build a sprite engine and you'd be just about there. I can't see how going AGA will help you that much.

Let me know i fyou want to bounce ideas off me though and good luck with your project for sure!

Graeme
Thank you for commenting, Graeme! I really appreciate your insight and words. Yes, I'm currently working with the scrolling. Current source (here) has the first block of the first level map scrolling back and forth (as a test).

I'm reading through ScrollingTricks.lha and other sources to make sure I get it right.

Black Tiger scrolls in an interesting way. It's not pure 8-way; Y-scrolling only happens DIRECTLY when the player is climbing up or down. It's mostly indirect Y scrolling, when a player is falling or a player has landed on a platform, and the screen in the Y direction scrolls to "catch up".

X-scrolling does happen via direct player input (left/right) of course.

Simultaneous X/Y scrolling does in fact happen when a player is jumping down and left/right, or when a player has just landed on a platform and starts moving left or right... the Y scroll may continue as the player moves left and right.

Quote:
Originally Posted by jotd View Post
from the longplay it seems that the game is pretty colorful. I didn't count the colors but it looks a lot more than 16!
Each tile can have its own palette, and the player and enemies can, too. There are 16 map tile palettes (with some shared colors) and 8 sprite palettes.... though the arcade code source had space for 16. The HUD uses 7 palettes... but I think HUD is low priority. We can give HUD whatever colors are "left" maybe.

Quote:
Originally Posted by mcgeezer View Post
My calcs are based on 32 colours. More than that then yeah.. you need more chip ram and probably performance. Cant see it needing more than 32 colours though.
Quote:
Originally Posted by jotd View Post
where you're right: adding more colors like 6 or 7 bitplanes and AGA will cost some DMA, and 32 colors could do a proper job (even if not arcade perfect)
Quote:
Originally Posted by DanScott View Post
I've got all the sprite sheets, and for level 1, I'd say probably around 200k for all the sprites (with L/R facing versions where necessary... Orcs and Skeletons etc.. with mask data)

Tileset gfx would be around 60-70k for level 1 in 5 bitplanes, and 17k of Tilemap data
I trust those numbers

Quote:
Originally Posted by dlfrsilver View Post
Black Tiger throws an average of 90 colors per levels. It can be more since each sprite has its 16 colors palette.
Quote:
Originally Posted by mcgeezer View Post
Nope, it's more like a range from 130-193 based on what I looked at yesterday.
Quote:
Originally Posted by dlfrsilver View Post
I meant average Graeme, but as you say it's more the numbers you wrote. And this match The game use 256 unique colors or 1024 dynamic colors (4x256).
Quote:
Originally Posted by DanScott View Post
The background tile set for level 1 alone, contains 98 unique colours....

Taking a colour count on a screen grab, or trying to estimate the average. is often not giving the full picture
In my docs I pulled tile/palette combinations for each level. Here you can see the tile index (11-bit) and whether or not it is "flipped" (denoted by FL). The number after the colon ( : ) is the palette index. I should modify the script to plug in the actual BRG444 color. I have this for each level

(truncated to the first 3 lines... the bbs says the post is too big. Check this in my source here)

Code:
Level 1; Bank 9 (128 cols, 64 rows)
0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x218:F     ;0x219:F     ;0x21A:F     ;0x21B:F     ;0x21C:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x21C:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x21C:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x208:F     ;0x209:F     ;0x20A:F     ;0x20B:F     ;0x220:F     ;0x221:F     ;0x222:F     ;0x223:F     ;0x220:F     ;0x221:F     ;0x222:F     ;0x223:F     ;0x220:F     ;0x221:F     ;0x222:F     ;0x223:F     ;0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x218:F     ;0x219:F     ;0x21A:F     ;0x21B:F     ;0x21C:F     ;0x231:F     ;0x232:F     ;0x233:F     ;0x230:F     ;0x231:F     ;0x232:F     ;0x233:F     ;0x230:F     ;0x231:F     ;0x232:F     ;0x233:F     ;0x208:F     ;0x209:F     ;0x20A:F     ;0x20B:F     ;0x220:F     ;0x20B:F (FL);0x20A:F (FL);0x2E0:F (FL);0x2E0:F (FL);0x239:F     ;0x23A:F     ;0x23B:F     ;0x238:F     ;0x239:F     ;0x23A:F     ;0x23B:F     ;0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x213:F (FL);0x212:F (FL);0x2E8:F (FL);0x257:F (FL);0x2E4:E (FL);0x2E3:E (FL);0x2E3:E     ;0x2E4:E     ;0x22C:E     ;0x2E4:E (FL);0x2E4:E     ;0x218:F     ;0x219:F     ;0x21A:F     ;0x21B:F     ;0x21C:F     ;0x21B:F (FL);0x21A:F (FL);0x2BE:F (FL);0x27A:F (FL);0x2F6:E (FL);0x2F5:E (FL);0x2F5:E     ;0x2F6:E     ;0x22C:E     ;0x2F6:E (FL);0x2F6:E
0x208:F     ;0x209:F     ;0x20A:F     ;0x20B:F     ;0x220:F     ;0x20B:F (FL);0x20A:F (FL);0x2E0:F (FL);0x24F:F (FL);0x2FE:E (FL);0x2FD:E (FL);0x2FD:E     ;0x2F7:E     ;0x22C:E     ;0x2FE:E (FL);0x2FE:E     ;0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x213:F (FL);0x212:F (FL);0x2E8:F (FL);0x257:F (FL);0x2EE:E (FL);0x2ED:E (FL);0x2ED:E     ;0x2EE:E     ;0x22C:E     ;0x2EE:E (FL);0x2EE:E     ;0x218:F     ;0x219:F     ;0x21A:F     ;0x21B:F     ;0x21C:F     ;0x21B:F (FL);0x21A:F (FL);0x2BE:F (FL);0x27A:F (FL);0x2F6:E (FL);0x2F5:E (FL);0x2F5:E     ;0x2F6:E     ;0x22C:E     ;0x2F6:E (FL);0x2F6:E     ;0x208:F     ;0x209:F     ;0x20A:F     ;0x20B:F     ;0x220:F     ;0x20B:F (FL);0x20A:F (FL);0x2E0:F (FL);0x24F:F (FL);0x2FE:E (FL);0x2FD:E (FL);0x2FD:E     ;0x2FE:E     ;0x076:B     ;0x2F7:E (FL);0x2FE:E     ;0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x213:F (FL);0x212:F (FL);0x2E8:F (FL);0x257:F (FL);0x2EE:E (FL);0x2ED:E (FL);0x2ED:E     ;0x2EE:E     ;0x22C:E     ;0x2EE:E (FL);0x2EE:E     ;0x218:F     ;0x219:F     ;0x21A:F     ;0x21B:F     ;0x21C:F     ;0x21B:F (FL);0x21A:F (FL);0x2BE:F (FL);0x27A:F (FL);0x2F6:E (FL);0x2F5:E (FL);0x2F5:E     ;0x2F6:E     ;0x22C:E     ;0x2F6:E (FL);0x2F6:E     ;0x208:F     ;0x209:F     ;0x20A:F     ;0x20B:F     ;0x220:F     ;0x20B:F (FL);0x20A:F (FL);0x2E0:F (FL);0x24F:F (FL);0x2F7:E (FL);0x2FD:E (FL);0x2FD:E     ;0x2FE:E     ;0x22C:E     ;0x2FE:E (FL);0x2F7:E     ;0x210:F     ;0x211:F     ;0x212:F     ;0x213:F     ;0x228:F     ;0x213:F (FL);0x212:F (FL);0x2E8:F (FL);0x257:F (FL);0x2EE:E (FL);0x2ED:E (FL);0x2ED:E     ;0x2EE:E     ;0x22C:E     ;0x2EE:E (FL);0x2EE:E
0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x22B:F (FL);0x22A:F (FL);0x229:F (FL);0x228:F (FL);0x223:F (FL);0x222:F (FL);0x221:F (FL);0x220:F (FL);0x21C:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x21C:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x21F:F (FL);0x21E:F (FL);0x21D:F (FL);0x21C:F (FL);0x22B:F (FL);0x22A:F (FL);0x229:F (FL);0x228:F (FL);0x220:F     ;0x221:F     ;0x222:F     ;0x223:F     ;0x220:F     ;0x221:F     ;0x222:F     ;0x223:F     ;0x223:F (FL);0x222:F (FL);0x221:F (FL);0x220:F (FL);0x233:F (FL);0x232:F (FL);0x231:F (FL);0x230:F (FL);0x228:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x230:F     ;0x229:F     ;0x22A:F     ;0x22B:F     ;0x22B:F (FL);0x22A:F (FL);0x229:F (FL);0x230:F (FL);0x235:F (FL);0x23A:F (FL);0x239:F (FL);0x238:F (FL);0x230:F     ;0x231:F     ;0x232:F     ;0x233:F     ;0x219:F     ;0x21D:F     ;0x21E:F     ;0x21F:F     ;0x21F:F (FL);0x21E:F (FL);0x21D:F (FL);0x211:F (FL);0x210:F (FL);0x2E4:E (FL);0x2E3:E (FL);0x2E3:E     ;0x238:F     ;0x239:F     ;0x23A:F     ;0x23B:F     ;0x209:F     ;0x20A:F     ;0x222:F     ;0x223:F     ;0x223:F (FL);0x222:F (FL);0x20A:F (FL);0x209:F (FL);0x234:F (FL);0x2F6:E (FL);0x2F5:E (FL);0x2F5:E     ;0x22C:E     ;0x2E4:E (FL);0x2E4:E     ;0x22C:E     ;0x210:F     ;0x212:F     ;0x21B:F     ;0x21C:F     ;0x21C:F (FL);0x21B:F (FL);0x212:F (FL);0x210:F (FL);0x23C:F (FL);0x2FE:E (FL);0x2FD:E (FL);0x2FD:E     ;0x22C:E     ;0x2FE:E (FL);0x2FE:E     ;0x22C:E     ;0x208:F     ;0x209:F     ;0x20A:F     ;0x220:F     ;0x220:F (FL);0x20A:F (FL);0x209:F (FL);0x208:F (FL);0x22C:E     ;0x2EE:E (FL);0x2ED:E (FL);0x2ED:E
I figured using that data someone can reasonably narrow down the colors actually used and then (by carefully merging a few colors) you could get the colors under 32 for the level (at least).
chadderack is offline  
Old 01 October 2021, 15:04   #35
DanScott
Lemon. / Core Design
 
DanScott's Avatar
 
Join Date: Mar 2016
Location: Tier 5
Posts: 1,209
Quote:
Originally Posted by chadderack View Post

Black Tiger scrolls in an interesting way. It's not pure 8-way; Y-scrolling only happens DIRECTLY when the player is climbing up or down.

Strictly speaking it is a true 8 way scroller... just that the Y scrolling is locked under certain conditions.... play a later level where you can jump down a screen or more at a time (the level with the big stained glass windows, where the pink ninjas first appear, for example)
DanScott is online now  
Old 01 October 2021, 15:14   #36
Jobbo
Registered User
 
Jobbo's Avatar
 
Join Date: Jun 2020
Location: Druidia
Posts: 386
Yeah, there doesn't seem to be anything about the scrolling that you can take advantage of for optimization or simplification. You'll need a generic 8-way capable set up for this game.
Jobbo is offline  
Old 01 October 2021, 16:35   #37
chadderack
Registered User
 
chadderack's Avatar
 
Join Date: Jul 2021
Location: Sandy, UT
Age: 55
Posts: 230
Quote:
Originally Posted by DanScott View Post
Strictly speaking it is a true 8 way scroller... just that the Y scrolling is locked under certain conditions.... play a later level where you can jump down a screen or more at a time (the level with the big stained glass windows, where the pink ninjas first appear, for example)
This is true... Y scroll is locked in that way... but doesn't seem to be under direct player control like a game where you can switch diagonal directions every frame. Not sure if that helps implementation any.

Quote:
Originally Posted by Jobbo View Post
Yeah, there doesn't seem to be anything about the scrolling that you can take advantage of for optimization or simplification. You'll need a generic 8-way capable set up for this game.
Georg's scrolling tricks mentions that if you can switch directions only after (tile pixel width/height) it becomes simpler. In Black Tiger, Y scroll won't change directions in the middle of a 16-bit move. You're probably right, though.

I just ran a script that read the tiles for each level, their palette index and then each of the pixel indexes to count unique colors per level and per tile per level. Full results will be in a new file in my source/docs directory. Level (only) data was this (the codes are RGB444) (and this is just for the full maps. Haven't talked about sprites(Black Tiger objects including player and enemies) yet):

Code:
Level 1 (map) unique colors used: 121
0x000,0x035,0x040,0x046,0x050,0x060,0x064,0x086,0x090,0x0A7,0x0C9,0x0E0,0x110,0x111,0x146,0x257,0x340,0x345,0x368,0x430,0x431,0x433,0x435,0x440,0x450,0x455,0x456,0x479,0x533,0x540,0x544,0x554,0x556,0x560,0x566,0x567,0x58A,0x600,0x640,0x641,0x644,0x650,0x653,0x665,0x666,0x670,0x678,0x747,0x750,0x753,0x754,0x763,0x776,0x777,0x778,0x780,0x789,0x7EC,0x842,0x853,0x857,0x864,0x868,0x874,0x887,0x889,0x899,0x89C,0x900,0x940,0x974,0x975,0x985,0x986,0x990,0x998,0xA53,0xA64,0xA74,0xA75,0xA8A,0xA96,0xA97,0xAA0,0xAAA,0xABC,0xAFD,0xB5A,0xB75,0xB87,0xBA7,0xC64,0xC75,0xC84,0xC85,0xC86,0xC95,0xCA8,0xCAC,0xCB8,0xCC0,0xCCA,0xD86,0xDA6,0xDB8,0xDE0,0xE70,0xE98,0xEA7,0xEC7,0xED8,0xEEA,0xEEF,0xEF0,0xF85,0xFB9,0xFC4,0xFC8,0xFF9,0xFFA,0xFFF

Level 2 (map) unique colors used: 110
0x000,0x035,0x040,0x046,0x050,0x060,0x064,0x086,0x090,0x0A7,0x0C9,0x0E0,0x110,0x111,0x146,0x257,0x340,0x345,0x368,0x430,0x431,0x433,0x440,0x450,0x455,0x456,0x479,0x533,0x540,0x544,0x554,0x556,0x560,0x566,0x567,0x58A,0x600,0x641,0x644,0x650,0x653,0x665,0x666,0x670,0x678,0x747,0x750,0x753,0x754,0x763,0x776,0x777,0x778,0x780,0x789,0x7EC,0x842,0x864,0x868,0x874,0x887,0x889,0x899,0x89C,0x900,0x940,0x974,0x975,0x985,0x986,0x990,0x998,0xA53,0xA74,0xA75,0xA8A,0xA96,0xA97,0xAA0,0xAAA,0xABC,0xAFD,0xB87,0xBA7,0xC64,0xC84,0xC85,0xC86,0xC95,0xCA8,0xCAC,0xCB8,0xCC0,0xCCA,0xDA6,0xDB8,0xDE0,0xE70,0xEA7,0xEC7,0xED8,0xEEA,0xEEF,0xEF0,0xF85,0xFC4,0xFC8,0xFF9,0xFFA,0xFFF

Level 3 (map) unique colors used: 109
0x000,0x040,0x046,0x050,0x060,0x064,0x086,0x090,0x0A7,0x0C9,0x0E0,0x110,0x111,0x340,0x345,0x430,0x431,0x433,0x435,0x440,0x450,0x455,0x456,0x533,0x540,0x544,0x554,0x556,0x560,0x567,0x600,0x640,0x641,0x644,0x650,0x653,0x666,0x670,0x678,0x700,0x747,0x750,0x753,0x754,0x763,0x777,0x778,0x780,0x789,0x7EC,0x842,0x853,0x857,0x864,0x868,0x874,0x889,0x89C,0x900,0x940,0x974,0x975,0x985,0x986,0x990,0x998,0xA53,0xA64,0xA74,0xA8A,0xA96,0xA97,0xAA0,0xAAA,0xAFD,0xB5A,0xB75,0xB87,0xBA7,0xC64,0xC70,0xC75,0xC84,0xC85,0xC95,0xCA8,0xCAC,0xCB8,0xCC0,0xCCA,0xD86,0xD90,0xDA6,0xDB8,0xDD0,0xDE0,0xE70,0xE98,0xEC7,0xED8,0xEEA,0xEEF,0xEF0,0xF85,0xFB9,0xFC4,0xFF9,0xFFA,0xFFF

Level 4 (map) unique colors used: 100
0x000,0x035,0x040,0x046,0x050,0x064,0x086,0x0A7,0x0C9,0x110,0x111,0x146,0x257,0x340,0x345,0x430,0x431,0x433,0x435,0x440,0x450,0x456,0x520,0x533,0x540,0x560,0x566,0x567,0x640,0x641,0x650,0x665,0x666,0x670,0x678,0x700,0x730,0x750,0x753,0x763,0x776,0x780,0x789,0x7EC,0x842,0x853,0x857,0x864,0x874,0x887,0x899,0x89C,0x900,0x940,0x974,0x985,0x986,0x990,0x998,0xA53,0xA64,0xA74,0xA75,0xA96,0xA97,0xAA0,0xAAA,0xAFD,0xB50,0xB5A,0xB75,0xB87,0xBA7,0xC64,0xC70,0xC75,0xC84,0xC85,0xC86,0xCB8,0xCC0,0xCCA,0xD60,0xD86,0xD90,0xDA6,0xDB8,0xDD0,0xDE0,0xE70,0xE98,0xEA7,0xEC7,0xEEF,0xEF0,0xF80,0xFB9,0xFC8,0xFF9,0xFFA

Level 5 (map) unique colors used: 99
0x000,0x035,0x040,0x046,0x110,0x111,0x340,0x345,0x430,0x433,0x435,0x440,0x450,0x455,0x456,0x520,0x533,0x540,0x544,0x554,0x556,0x560,0x566,0x567,0x600,0x640,0x641,0x644,0x650,0x665,0x666,0x670,0x678,0x730,0x747,0x750,0x753,0x754,0x763,0x776,0x778,0x789,0x842,0x853,0x864,0x868,0x874,0x887,0x889,0x899,0x89C,0x900,0x940,0x974,0x975,0x985,0x986,0x990,0x998,0xA53,0xA64,0xA74,0xA75,0xA8A,0xA96,0xA97,0xAAA,0xB50,0xB75,0xB87,0xBA7,0xC64,0xC75,0xC84,0xC85,0xC86,0xC95,0xCA8,0xCAC,0xCB8,0xCCA,0xD60,0xD86,0xDA6,0xDB8,0xDD0,0xE70,0xE98,0xEA7,0xEC7,0xEEA,0xEEF,0xF80,0xF85,0xFB9,0xFC4,0xFC8,0xFF9,0xFFA

Level 6 (map) unique colors used: 101
0x000,0x035,0x040,0x046,0x050,0x060,0x064,0x086,0x090,0x0A7,0x0C9,0x0E0,0x110,0x111,0x146,0x257,0x340,0x345,0x430,0x433,0x435,0x440,0x456,0x520,0x540,0x554,0x560,0x566,0x567,0x640,0x641,0x644,0x650,0x665,0x666,0x678,0x700,0x730,0x747,0x750,0x753,0x754,0x763,0x776,0x777,0x789,0x7EC,0x842,0x853,0x864,0x868,0x874,0x887,0x89C,0x900,0x940,0x974,0x975,0x985,0x986,0x998,0xA53,0xA64,0xA74,0xA75,0xA8A,0xA96,0xA97,0xAAA,0xABC,0xAFD,0xB50,0xB87,0xBA7,0xC64,0xC70,0xC75,0xC85,0xC86,0xC95,0xCA8,0xCAC,0xCB8,0xCCA,0xD60,0xD86,0xD90,0xDA6,0xDB8,0xDD0,0xE70,0xE98,0xEA7,0xEC7,0xED8,0xF80,0xF85,0xFB9,0xFC8,0xFFA,0xFFF

Level 7 (map) unique colors used: 107
0x000,0x035,0x046,0x060,0x090,0x0E0,0x110,0x111,0x146,0x257,0x340,0x345,0x368,0x430,0x431,0x433,0x435,0x450,0x455,0x456,0x479,0x533,0x540,0x544,0x556,0x560,0x566,0x567,0x58A,0x600,0x640,0x641,0x644,0x650,0x653,0x665,0x666,0x670,0x678,0x700,0x747,0x750,0x753,0x754,0x763,0x776,0x777,0x778,0x780,0x789,0x842,0x857,0x864,0x868,0x874,0x887,0x889,0x899,0x89C,0x900,0x940,0x974,0x975,0x985,0x986,0x990,0x998,0xA53,0xA74,0xA75,0xA8A,0xA96,0xA97,0xAAA,0xABC,0xB5A,0xB75,0xB87,0xBA7,0xC64,0xC70,0xC84,0xC85,0xC86,0xC95,0xCA8,0xCAC,0xCB8,0xCC0,0xCCA,0xDA6,0xDB8,0xDD0,0xDE0,0xE70,0xEA7,0xEC7,0xED8,0xEEA,0xEEF,0xEF0,0xF85,0xFC4,0xFC8,0xFF9,0xFFA,0xFFF

Level 8 (map) unique colors used: 98
0x000,0x035,0x040,0x046,0x050,0x064,0x086,0x0A7,0x0C9,0x110,0x111,0x146,0x257,0x340,0x368,0x431,0x433,0x435,0x450,0x455,0x479,0x520,0x533,0x540,0x554,0x560,0x566,0x567,0x58A,0x600,0x640,0x641,0x650,0x665,0x666,0x670,0x678,0x700,0x730,0x750,0x753,0x754,0x763,0x776,0x780,0x789,0x7EC,0x842,0x853,0x857,0x864,0x874,0x887,0x899,0x89C,0x900,0x940,0x974,0x985,0x986,0x990,0x998,0xA53,0xA64,0xA74,0xA75,0xA96,0xA97,0xAA0,0xAAA,0xABC,0xAFD,0xB50,0xB5A,0xB75,0xB87,0xBA7,0xC64,0xC75,0xC85,0xC86,0xCB8,0xCC0,0xCCA,0xD86,0xDA6,0xDB8,0xDE0,0xE70,0xE98,0xEA7,0xEC7,0xEF0,0xF85,0xFB9,0xFC8,0xFF9,0xFFA
ETA: A sample... just the first row of tiles from Level 1.
Code:
TILES:
Row 1: 
  000    0x0210     ; Colors: 4 - 111,431,533,641
  001    0x0211     ; Colors: 5 - 431,533,641,753,864
  002    0x0212     ; Colors: 5 - 641,753,864,A74,C85
  003    0x0213     ; Colors: 6 - 641,753,864,A74,C85,DA6
  004    0x0228     ; Colors: 6 - 753,864,A74,C85,DA6,EC7
  005    0x0229     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  006    0x022A     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  007    0x022B     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  008    0x0228     ; Colors: 6 - 753,864,A74,C85,DA6,EC7
  009    0x0229     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  010    0x022A     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  011    0x022B     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  012    0x0228     ; Colors: 6 - 753,864,A74,C85,DA6,EC7
  013    0x0229     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  014    0x022A     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  015    0x022B     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  016    0x0218     ; Colors: 4 - 111,431,533,641
  017    0x0219     ; Colors: 5 - 431,533,641,753,864
  018    0x021A     ; Colors: 5 - 641,753,864,A74,C85
  019    0x021B     ; Colors: 7 - 641,753,864,A74,C85,DA6,EC7
  020    0x021C     ; Colors: 5 - 753,864,A74,C85,DA6
  021    0x021D     ; Colors: 5 - 641,753,864,A74,C85
  022    0x021E     ; Colors: 7 - 641,753,864,A74,C85,DA6,EC7
  023    0x021F     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  024    0x021C     ; Colors: 5 - 753,864,A74,C85,DA6
  025    0x021D     ; Colors: 5 - 641,753,864,A74,C85
  026    0x021E     ; Colors: 7 - 641,753,864,A74,C85,DA6,EC7
  027    0x021F     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  028    0x021C     ; Colors: 5 - 753,864,A74,C85,DA6
  029    0x021D     ; Colors: 5 - 641,753,864,A74,C85
  030    0x021E     ; Colors: 7 - 641,753,864,A74,C85,DA6,EC7
  031    0x021F     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  032    0x0208     ; Colors: 4 - 111,431,533,641
  033    0x0209     ; Colors: 5 - 431,533,641,753,864
  034    0x020A     ; Colors: 7 - 533,641,753,864,A74,C85,DA6
  035    0x020B     ; Colors: 6 - 641,753,864,A74,C85,DA6
  036    0x0220     ; Colors: 7 - 641,753,864,A74,C85,DA6,EC7
  037    0x0221     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  038    0x0222     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  039    0x0223     ; Colors: 5 - 753,864,A74,C85,DA6
  040    0x0220     ; Colors: 7 - 641,753,864,A74,C85,DA6,EC7
  041    0x0221     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  042    0x0222     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  043    0x0223     ; Colors: 5 - 753,864,A74,C85,DA6
  044    0x0220     ; Colors: 7 - 641,753,864,A74,C85,DA6,EC7
  045    0x0221     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  046    0x0222     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  047    0x0223     ; Colors: 5 - 753,864,A74,C85,DA6
  048    0x0210     ; Colors: 4 - 111,431,533,641
  049    0x0211     ; Colors: 5 - 431,533,641,753,864
  050    0x0212     ; Colors: 5 - 641,753,864,A74,C85
  051    0x0213     ; Colors: 6 - 641,753,864,A74,C85,DA6
  052    0x0228     ; Colors: 6 - 753,864,A74,C85,DA6,EC7
  053    0x0229     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  054    0x022A     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  055    0x022B     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  056    0x0228     ; Colors: 6 - 753,864,A74,C85,DA6,EC7
  057    0x0229     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  058    0x022A     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  059    0x022B     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  060    0x0228     ; Colors: 6 - 753,864,A74,C85,DA6,EC7
  061    0x0229     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  062    0x022A     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  063    0x022B     ; Colors: 7 - 753,864,A74,C85,DA6,EC7,FF9
  064    0x0218     ; Colors: 4 - 111,431,533,641
  065    0x0219     ; Colors: 5 - 431,533,641,753,864
  066    0x021A     ; Colors: 5 - 641,753,864,A74,C85
  067    0x021B     ; Colors: 7 - 641,753,864,A74,C85,DA6,EC7
  068    0x021C     ; Colors: 5 - 753,864,A74,C85,DA6
  069    0x0231     ; Colors: 6 - 533,641,753,864,A74,C85
  070    0x0232     ; Colors: 7 - 533,641,753,864,A74,C85,DA6
  071    0x0233     ; Colors: 5 - 533,641,753,864,A74
  072    0x0230     ; Colors: 6 - 533,641,753,864,A74,C85
  073    0x0231     ; Colors: 6 - 533,641,753,864,A74,C85
  074    0x0232     ; Colors: 7 - 533,641,753,864,A74,C85,DA6
  075    0x0233     ; Colors: 5 - 533,641,753,864,A74
  076    0x0230     ; Colors: 6 - 533,641,753,864,A74,C85
  077    0x0231     ; Colors: 6 - 533,641,753,864,A74,C85
  078    0x0232     ; Colors: 7 - 533,641,753,864,A74,C85,DA6
  079    0x0233     ; Colors: 5 - 533,641,753,864,A74
  080    0x0208     ; Colors: 4 - 111,431,533,641
  081    0x0209     ; Colors: 5 - 431,533,641,753,864
  082    0x020A     ; Colors: 7 - 533,641,753,864,A74,C85,DA6
  083    0x020B     ; Colors: 6 - 641,753,864,A74,C85,DA6
  084    0x0220     ; Colors: 7 - 641,753,864,A74,C85,DA6,EC7
  085    0x020B (FL); Colors: 6 - 641,753,864,A74,C85,DA6
  086    0x020A (FL); Colors: 7 - 533,641,753,864,A74,C85,DA6
  087    0x02E0 (FL); Colors: 5 - 431,533,641,753,864
  088    0x02E0 (FL); Colors: 5 - 431,533,641,753,864
  089    0x0239     ; Colors: 6 - 111,431,533,641,753,864
  090    0x023A     ; Colors: 5 - 431,533,641,753,864
  091    0x023B     ; Colors: 6 - 111,431,533,641,753,864
  092    0x0238     ; Colors: 5 - 111,431,533,641,753
  093    0x0239     ; Colors: 6 - 111,431,533,641,753,864
  094    0x023A     ; Colors: 5 - 431,533,641,753,864
  095    0x023B     ; Colors: 6 - 111,431,533,641,753,864
  096    0x0210     ; Colors: 4 - 111,431,533,641
  097    0x0211     ; Colors: 5 - 431,533,641,753,864
  098    0x0212     ; Colors: 5 - 641,753,864,A74,C85
  099    0x0213     ; Colors: 6 - 641,753,864,A74,C85,DA6
  100    0x0228     ; Colors: 6 - 753,864,A74,C85,DA6,EC7
  101    0x0213 (FL); Colors: 6 - 641,753,864,A74,C85,DA6
  102    0x0212 (FL); Colors: 5 - 641,753,864,A74,C85
  103    0x02E8 (FL); Colors: 5 - 431,533,641,753,864
  104    0x0257 (FL); Colors: 5 - 110,111,431,533,641
  105    0x02E4 (FL); Colors: 5 - 000,035,146,257,368
  106    0x02E3 (FL); Colors: 8 - 000,035,146,257,368,479,58A,ABC
  107    0x02E3     ; Colors: 8 - 000,035,146,257,368,479,58A,ABC
  108    0x02E4     ; Colors: 5 - 000,035,146,257,368
  109    0x022C     ; Colors: 1 - 000
  110    0x02E4 (FL); Colors: 5 - 000,035,146,257,368
  111    0x02E4     ; Colors: 5 - 000,035,146,257,368
  112    0x0218     ; Colors: 4 - 111,431,533,641
  113    0x0219     ; Colors: 5 - 431,533,641,753,864
  114    0x021A     ; Colors: 5 - 641,753,864,A74,C85
  115    0x021B     ; Colors: 7 - 641,753,864,A74,C85,DA6,EC7
  116    0x021C     ; Colors: 5 - 753,864,A74,C85,DA6
  117    0x021B (FL); Colors: 7 - 641,753,864,A74,C85,DA6,EC7
  118    0x021A (FL); Colors: 5 - 641,753,864,A74,C85
  119    0x02BE (FL); Colors: 5 - 431,533,641,753,864
  120    0x027A (FL); Colors: 4 - 111,431,533,641
  121    0x02F6 (FL); Colors: 4 - 000,035,146,257
  122    0x02F5 (FL); Colors: 8 - 000,035,146,257,368,479,58A,ABC
  123    0x02F5     ; Colors: 8 - 000,035,146,257,368,479,58A,ABC
  124    0x02F6     ; Colors: 4 - 000,035,146,257
  125    0x022C     ; Colors: 1 - 000
  126    0x02F6 (FL); Colors: 4 - 000,035,146,257
  127    0x02F6     ; Colors: 4 - 000,035,146,257

Last edited by chadderack; 01 October 2021 at 16:40.
chadderack is offline  
Old 01 October 2021, 17:53   #38
saimon69
J.M.D - Bedroom Musician
 
Join Date: Apr 2014
Location: los angeles,ca
Posts: 3,516
With 16 colors can be partially overcome with vertical slices of copperlist i think however will affect both background and foreground so has to be done wisely
saimon69 is offline  
Old 01 October 2021, 19:03   #39
chadderack
Registered User
 
chadderack's Avatar
 
Join Date: Jul 2021
Location: Sandy, UT
Age: 55
Posts: 230
Quote:
Originally Posted by saimon69 View Post
With 16 colors can be partially overcome with vertical slices of copperlist i think however will affect both background and foreground so has to be done wisely
Someone's probably tried to implement a new palette per *tile* in a copperlist. I wonder what the performance would be... surely the copperlist would be gigantic and it may not work so great with scrolling.

Maybe still simpler to compute a shared palette per level and handle the odd 17th and 18th colors (or 33rd and 34th colors) when they are about to appear (meaning switch to a temporary palette for just that section).

Dan seems to have a good handle on it
chadderack is offline  
Old 01 October 2021, 19:12   #40
Jobbo
Registered User
 
Jobbo's Avatar
 
Join Date: Jun 2020
Location: Druidia
Posts: 386
You can't do that. The copper is way too slow. It can change one color every 8 pixels at best.

It sounds like you are overestimating the capabilities of the Amiga and especially the A500, do some tests so you know what you're up against.

Plenty of games demonstrate that a good port is possible. But it's not easy extracting that kind of performance.
Jobbo 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
F-18 interceptor alternating between 5 and 4 bitplanes Rotareneg Coders. General 14 23 August 2020 22:45
bitplanes format jarre Coders. General 3 19 January 2019 17:38
ECS EHB Vs AGA 6 bitplanes redblade Coders. Asm / Hardware 1 08 November 2018 00:41
Using the Copper to mangle the bitplanes. Andy_C Coders. General 7 16 March 2011 12:58
How to put the mask bitplane behind the other bitplanes?? method project.Sprites 6 15 February 2006 02:53

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 15:41.

Top

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