2019-11-22 08:41 CET

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0003498Beast[WHDLoad Installs Games] slavepublic2019-10-28 20:48
ReporterHexaae 
Assigned ToCFOUProject InfoShadow of the Beast (Psygnosis)
http://www.whdload.de/games/Beast.html
 
PrioritylowSeveritytweakReproducibilityalways
StatusclosedResolutionreopened 
Summary0003498: Trashed tree in parallax scrolling
DescriptionI've noticed (many years ago) the parallax tree sprite looks trashed in the original version of this game... (attached sshot).
Would be possible to fix it once and for all or is it too complicated?
TagsNo tags attached.
MachineUAE
CPU68040
CPUSpeed50
ChipSetAGA
GFXCardPicasso II
ChipMem2 MB
FastMem0 MB
WorkbenchOS 3.9
KickROM40 - Kick 3.1
KickSoftOther
WHDLoad18.2
imported
Attached Files

-Relationships
+Relationships

-Notes

note ~0005151

Hexaae (reporter)

Last edited: 2016-08-04 21:08

View 3 revisions

Looks like a chipset related issue.
Here Toni stated the problem disappears setting OCS chipset emulation on WinUAE:
http://eab.abime.net/showthread.php?p=727664&styleid=4&styleid=1

EDIT: tested myself and confirmed.

note ~0005164

Denis (reporter)

i have this very same problem on real hardware. Maybe JOTD can have a look at this?

note ~0005550

JOTD (developer)

errr, that's really too minor to bother about that

note ~0005571

Hexaae (reporter)

Just wanted to say Codetapper probably found also the exact reason behind the bug...
http://codetapper.com/amiga/sprite-tricks/shadow-of-the-beast/

Maybe you can collaborate to fix once and for all this Amiga classic.
Still hoping for a fix, maybe one day... ;)

note ~0005997

Hexaae (reporter)

...in the meanwhile with WinUAE I've found is possible to fix also that glitch using these tooltypes for the WHDLoad slave:

ExecuteStartup=
ExecutePostDisk=UAE-configuration cachesize 0 cycle_exact true cpu_multiplier 4 chipset ecs_denise

chipset ecs_denise did the trick!

note ~0006748

Hexaae (reporter)

Is it possible to force "chipset ECS" mode in the slave? This will automagically solve also the tree sprite issue in the main menu.

note ~0006749

Hexaae (reporter)

ECS Denise mode to be exact (with WinUAE this removes the sprite bug)

note ~0007198

CFOU (developer)

Last edited: 2019-10-25 01:57

View 3 revisions

try something fun:

1) launch Beast 1 in WinAUE
2) wait to get main scrollings screen (with Trashed tree in parallax scrolling)
3) enter in Winuae debugger
(in general Shilf+F12 =>but Warning, WINUAE must be in windows mode to see debugger external screen)
4) type in debugger prompt:
W 283AC 00960020.L
W 28444 F80FFFFE.L 00968020.L FFFFFFFE.L
g

5) Tree sprite is fixed!!!!!

PS: it's just a joke, because i erase good datas in copperlist (it's cause gfx bugs in loading screen. But it's first step to fix it;)

PS2: in fact, i disable DMA sprite after tree and enable DMA sprite at the end of the screen ;)

note ~0007199

CFOU (developer)

I think that I found a solution to integrate the tree sprite fix properly.

I'm going to ask JOTD, if he agrees that I integrate it to his whdload's slave via a CUSTOM option ;)

note ~0007200

Hexaae (reporter)

Would be great, after all these years for a great classic like Beast! :)

note ~0007201

CFOU (developer)

Try proper solution using copperlist2 (loading screen not corrupted)

1) launch Beast 1 in WinAUE
2) wait to get main scrollings screen (with Trashed tree in parallax scrolling)
3) enter in Winuae debugger
(in general Shilf+F12 =>but Warning, WINUAE must be in windows mode to see debugger external screen)
4) type in debugger prompt:
W 283AC 00960020.L
W 28438 00860400.L
W 400 F80FFFFE.L 00968020.L FFFFFFFE.L
W 28444 008A0000.L
g

5) Tree sprite is fixed!!!!!

note ~0007203

Hexaae (reporter)

Nice, it works! :D

Switching temporarily to ECS in WinUAE is still better though since it fixes also left border 1 pixel vertical lines glitches... (visible only in AGA mode)

note ~0007204

CFOU (developer)

Can you send me picture of following gfx glitches?

=>left border 1 pixel vertical lines glitches

note ~0007205

CFOU (developer)

Last edited: 2019-10-25 10:35

View 3 revisions

In fact, i have simply disable DMA sprite after end of tree during raster display and enable DMA sprite in the bottom black part of the screen.

Other solution would had consisted to fix DMA sprite End(Stop) via SPRxCTL in sprite structure.

I had done that for Ballistix to fix bubble sprites(see http://www.whdload.de/games/Ballistix.html).

But it was more longer to done because tree use several sprites.

note ~0007206

Hexaae (reporter)

Attached left border glitch screenshot.

note ~0007207

CFOU (developer)

I had never noticed that.

It may be only under UAE.

Is it the same thing on a real amiga?

do you know which hardware is affected?

note ~0007208

Hexaae (reporter)

Yes was confirmed on EAB on real HW, happens only in AGA mode.
If you switch to OCS/ECS before you run the game you won't notice it.

(Would be great if someone could add also a delay pause at screen "Alestes metamorphoses into a owl..." when you press fire, for the WHDLoad version ;-) )

note ~0007210

CFOU (developer)

Can you test Beta slave?

For moment, only method using temporary DMA sprites disable supported.

Indeed more simple implementation, because no code modification needed.
Just to install it before launch main game code.

here slave patch code:

lea $400,a0 ; initialise new copperlist2
move.l #$F80FFFFE,(a0)+ ; wait bottom of screen
move.l #$00968020,(a0)+ ; restore sprite
move.l #$018000f0,(a0)+ ; green flash for test position
move.l #$ffffFFFE,(a0)+ ; CopperList end

move.l #$00960020,$283ac ; disable DMA Sprite after to have display tree sprites=>replace 00F40007 it"s not needed because BPL6PTL already to 0007 and not change....
; move.l #$00860400,$28438 , define copperlist2 adress to $400
move.l #$008a0000,$28444 , jump to CopperList2 at the end of copperlist1=>replace $FFFFFFFE end of copperlist1

move.l #$400,$DFF084 ; force copperlist2

JMP $1E986
For second method (SPRxCTL fix), it's need code modifications, it seems Sprites structure are not present at $46xxx memory area, at this step.

prehaps sprites are not again initialised....

I investigate.

note ~0007211

Hexaae (reporter)

Just tested. Doesn't fix the tree bug unfortunately

note ~0007212

CFOU (developer)

Last edited: 2019-10-25 16:23

View 2 revisions

working here:

but you must:
- use custom2=1 tooltype
  or on whdload's splash windows select:
 "Tree sprite fix without ECS Denise: Disable DMA Sprites (CFou!)"

Working for moment only with one verison of game (not tested with other).

If patch installed correctly main sceolling screen must be green at TOP & bottom

see for snapshots:
http://eab.abime.net/showpost.php?p=1354118&postcount=68

note ~0007215

CFOU (developer)

Hi,

Can you test new beta slave?
To fix tree sprite bug
CUSTOM1=0 ; nothing changed (for ECS Denise)
CUSTOM1=1 ; Disable DMA Sprites temporary via not used copperlist2
CUSTOM2=2 ; SPRxCTL fix (Toni's solution)

Ross's enhancement included in both cases to see:
http://eab.abime.net/showpost.php?p=...2&postcount=57

note ~0007216

CFOU (developer)

beta 0B

note ~0007217

Hexaae (reporter)

Works fine! Thank you!
I prefer mode 2: once I got a vertical line in the first loading scree with mode 1 I've not been able to reproduce though...

Only remaining bugs are the borders now! ;)

note ~0007221

CFOU (developer)

if you can reproduct vertical line (sprite?) can you send to me screenshot

note ~0007222

Hexaae (reporter)

https://i.ibb.co/qY2HknZ/image.png
and I see for a millisecond something flashing in the upper left-right corners of the loading pic when it appears.

note ~0007223

CFOU (developer)

Hi can you test last version and both method?.

normaly sprite bug on loading screen fixed

note ~0007224

CFOU (developer)

fix with 2.3

note ~0007234

CFOU (developer)

Final i think it's finished =>borders seems fixed too

All game (with AGA +sub-pixel option) has been tested up to the static end screen!

it Seems ok.

Can you test ?
Have you possibility to test it on real amiga?
+Notes

-Issue History
Date Modified Username Field Change
2016-08-01 16:23 Hexaae New Issue
2016-08-01 16:23 Hexaae File Added: Beast_trashed_gfx.jpg
2016-08-04 20:23 Hexaae Note Added: 0005151
2016-08-04 20:23 Hexaae Note Edited: 0005151 View Revisions
2016-08-04 21:08 Hexaae Note Edited: 0005151 View Revisions
2016-08-06 19:58 Denis Note Added: 0005164
2017-04-10 23:06 JOTD Assigned To => JOTD
2017-04-10 23:06 JOTD Status new => closed
2017-04-10 23:06 JOTD Resolution open => won't fix
2017-04-10 23:06 JOTD Note Added: 0005550
2017-04-23 10:42 Hexaae Status closed => feedback
2017-04-23 10:42 Hexaae Resolution won't fix => reopened
2017-04-23 10:42 Hexaae Note Added: 0005571
2018-01-22 11:12 Hexaae Note Added: 0005997
2018-01-22 11:12 Hexaae Status feedback => assigned
2019-03-12 17:49 Hexaae Note Added: 0006748
2019-03-12 17:49 Hexaae Note Added: 0006749
2019-08-08 22:17 JOTD Assigned To JOTD =>
2019-10-25 01:35 CFOU Note Added: 0007198
2019-10-25 01:45 CFOU Assigned To => CFOU
2019-10-25 01:51 CFOU Note Edited: 0007198 View Revisions
2019-10-25 01:57 CFOU Note Edited: 0007198 View Revisions
2019-10-25 02:34 CFOU Note Added: 0007199
2019-10-25 02:55 Hexaae Note Added: 0007200
2019-10-25 03:45 CFOU Note Added: 0007201
2019-10-25 04:10 Hexaae Note Added: 0007203
2019-10-25 09:20 CFOU Note Added: 0007204
2019-10-25 09:50 CFOU Note Added: 0007205
2019-10-25 09:51 CFOU Note Edited: 0007205 View Revisions
2019-10-25 10:35 CFOU Note Edited: 0007205 View Revisions
2019-10-25 10:45 Hexaae File Added: Winuae Screenshot 2019.10.25 - 10.42.59.69.jpg
2019-10-25 10:45 Hexaae Note Added: 0007206
2019-10-25 10:52 CFOU Note Added: 0007207
2019-10-25 12:15 Hexaae Note Added: 0007208
2019-10-25 14:36 CFOU File Added: Beast.slave
2019-10-25 14:36 CFOU Note Added: 0007210
2019-10-25 15:10 Hexaae Note Added: 0007211
2019-10-25 16:03 CFOU Note Added: 0007212
2019-10-25 16:23 CFOU Note Edited: 0007212 View Revisions
2019-10-25 22:30 CFOU File Added: Beast-2.slave
2019-10-25 22:30 CFOU Note Added: 0007215
2019-10-25 22:31 CFOU File Deleted: Beast.slave
2019-10-25 22:31 CFOU File Deleted: Beast-2.slave
2019-10-25 22:31 CFOU File Added: Beast.slave
2019-10-25 22:31 CFOU Note Added: 0007216
2019-10-25 23:03 Hexaae Note Added: 0007217
2019-10-26 00:15 CFOU Note Added: 0007221
2019-10-26 00:54 Hexaae Note Added: 0007222
2019-10-26 02:46 CFOU File Deleted: Beast.slave
2019-10-26 02:47 CFOU File Added: Beast.slave
2019-10-26 02:47 CFOU Note Added: 0007223
2019-10-26 20:30 CFOU Status assigned => closed
2019-10-26 20:30 CFOU Note Added: 0007224
2019-10-28 20:48 CFOU File Added: ShadowOfTheBeast.slave
2019-10-28 20:48 CFOU Note Added: 0007234
2019-10-28 20:48 CFOU File Deleted: Beast.slave
+Issue History