English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   project.Amiga Game Factory (https://eab.abime.net/forumdisplay.php?f=69)
-   -   Fast Red Zone and other fastmem-relocated projects (https://eab.abime.net/showthread.php?t=110556)

Retro1234 04 May 2022 09:42

Quote:

Originally Posted by Aardvark (Post 1544271)
Runs quite poorly on my 060, especially compared to the Mac version on the same machine. https://youtu.be/Uod6YFU83nA

Hunter is another game which has really fast 3D on WinUAE when disabling Cycle-exact, but doesn't benefit from faster CPU's on real machines.

Are you using some kind of video driver that relies on MMU on Shapeshifter?

Aardvark 04 May 2022 15:22

Quote:

Originally Posted by Retro1234 (Post 1544287)
Are you using some kind of video driver that relies on MMU on Shapeshifter?

Yes, MuEVD

redblade 08 May 2022 05:20

Quote:

Originally Posted by Aardvark (Post 1544271)
Runs quite poorly on my 060, especially compared to the Mac version on the same machine. https://youtu.be/Uod6YFU83nA

Hunter is another game which has really fast 3D on WinUAE when disabling Cycle-exact, but doesn't benefit from faster CPU's on real machines.

Wow that's a fast frame rate of the mac emulator. Those early 90s DOS games would have run great on the Amiga, Comanche, TFX, if there was a CPU only option.

Galahad/FLT 08 May 2022 15:30

That Red Baron should be easy enough to sort, probably got a frame limiter like Stunt Car Racer had.

jotd 08 May 2022 18:41

about to zone a beta of Red Zone with fastmem enabled, redone from scratch (I think I had corrupt the other exe I was working on), no more glitches.

Practice is working, still a small crash to investigate should be nothing.

I have used a special check technique to avoid corrupting data when reworking the program.
I compile to an executable, but first I compile the program to the original address location as a binary, and I compare to the original. If there's a mismatch, an error is raised.

This allows to introduce enhancements (with IFD directives) and fix relocs but preserve the original code.

nikosidis 08 May 2022 18:58

Is there any point to test this version of 030/50?

jotd 08 May 2022 21:13

certainly. On Winuae there is no point, as the original runs very smooth.

But any real amiga with fast memory is a good test and that was my aim since 2005: give this game the speed it needs.

jotd 08 May 2022 23:06

Very early version in the zone.

issues:

- small glitches on road (also in original when max level of detail is set!!)
- dashboard show corrupt at start (also in original!!)
- doesn't start with CACHE set
- should use only 512k chip remove expansion detection

Test it on real amiga with real fast memory, tick / untick "enable rebuilt fast exe" and set the level of detail you want.

Aardvark 08 May 2022 23:34

Getting this error after the intro movie when fast exe is enabled:
Function 'resload_ProtectRead' called with unacceptable arguments TC = $0 PC = $FFF612 (Slave $322).

3.2.1 ROM with TF1260. Works on WinUAE emulating B1260 though.

Angus 08 May 2022 23:45

Jean François! :-)

I feel I should just sit back and smile, but as you asked......

A couple of games that come to mind:

Overlord - (not nearly as smooth as Reach For the Skies for some reason)

Tornado?

and I don't know if they would be worth playing, but....

NASCAR

Days of Thunder

The Freescape Games like Driller....maybe the 3D Construction utility?

I'll shut up now, and check Red Zone in the morning! :-)

Aardvark 09 May 2022 01:10

Quote:

Originally Posted by Aardvark (Post 1544841)
Function 'resload_ProtectRead' called with unacceptable arguments TC = $0 PC = $FFF612 (Slave $322).

Error was caused by NoMMU, I had it set globally because it causes issues with lot of slaves.

CPU speed is not a bottleneck, as there is no noticeable speed difference between 50MHz and 100MHz accelerator CPU settings. https://youtu.be/NaqA70JslVM

jotd 09 May 2022 06:15

Quote:

Error was caused by NoMMU, I had it set globally because it causes issues with lot of slaves.
you should only set it locally, really, and report those access faults in mantis.

In that case, a debug option was left set, which causes this. But will be removed in the final release!

Also note that cache can't be set atm because of all that crap self-modifying code I thought I tracked down but apparently failed to process completely :) self-modifying code in a 68020+ aware game (game detects 68020 at startup) that's the craziest thing in that game

Quote:

CPU speed is not a bottleneck, as there is no noticeable speed difference between 50MHz and 100MHz accelerator CPU settings.
after a while, the real bottleneck is the chip memory access to update all the screen in real time. 2D games never do that.
Also blitter is not used to fill the surfaces (maybe it's a good thing after all on fast machines)

Using a backbuffer in fastmem (for all OR/AND/XOR operations, then copy the result in chip) could speed things more but I'm not sure. And it's also a lot of work.



Quote:

Overlord - (not nearly as smooth as Reach For the Skies for some reason)

Tornado?

NASCAR

Days of Thunder

The Freescape Games like Driller....maybe the 3D Construction utility?
I'm not pretending to be able to speed up all games. On Red Zone the trick was to make code run in fastmem. I already checked Tornado which already runs in fastmem, and uses assembly so probably just too ambitious for AGA...

The others I can check. Hunter looked like a good candidate.

Angus 09 May 2022 12:47

Hi Jean François,
I updated to the latest WHDLoad and tried it on my 1260. Without ticking the rebuilt fast exe option there was a lot of graphics corruption, more distracting than on your 2020 Beta. It was bad enough that it was even difficult to judge the framerate.

When I did enable the fast exe I got to the option screen and simply selected Start, but it just shows the ticking clock icon and doesn't progress to the track selection screen.

I tried the same with a 2019 WHDLoad exe but it was the same. As I say, your 2020 beta still runs okay. :-/

Does it need a lot of chip mem in order to start the game, maybe?


Some more possibiles:

Midwinter
Shuttle!!!
Robocop 3D
Infestation
CyberCon III
Arctic Fox? :-)

jotd 09 May 2022 14:19

good suggestions.

For Red Zone, you have to enable "NOCACHE" else it may not start at all.

Angus 09 May 2022 15:35

That did it!!!

Nice one, Jean François, you have unlocked the game's potential that has been imprisoned for some 30 years.

You get less than that for murder!

Seriously though, us Amiga users are very lucky to have people like you in the community. I enjoyed reading your explanation but as a non-programmer I can only really guess at the difficulties you had to tackle to pull this off.

It really is appreciated. Thank you.

jotd 09 May 2022 15:58

> You get less than that for murder!

:)

great that it works for you! I'm planning to handle the caches for even better experience, but the programmers didn't make it easy with all that self-modifying code.

Angus 09 May 2022 16:27

Yeah, it's weird isn't it, because Dan Gallagher seems like a very capable and respected programmer that wrote the first home computer version of Star Wars, and his portfolio mentions Red Zone as being a bit slower on basic machines but fine on accelerated machines which is clearly not the case - or wasn't the case till now. I'm wondering if Psygnosis stepped in rushed the release and messed up what might have been a great game back then.

alexh 09 May 2022 16:43

I imagine if anything the use of SMC was introduced because so few Amiga users had an accelerator and the game ran like a dog?

jotd 09 May 2022 20:37

Yes, SMC makes things faster on a non-cache CPU. That's why a lot of 3D games use it (C.A.P.S, Hunter, ...)

But such an ambitious 3D game targetting the A500 is a lost cause. If only they had created a standard amiga executable (like C.A.P.S) it would have naturally used fastmem and it would run fast since the start.

Don_Adan 09 May 2022 21:44

Quote:

Originally Posted by jotd (Post 1544959)
Yes, SMC makes things faster on a non-cache CPU. That's why a lot of 3D games use it (C.A.P.S, Hunter, ...)

But such an ambitious 3D game targetting the A500 is a lost cause. If only they had created a standard amiga executable (like C.A.P.S) it would have naturally used fastmem and it would run fast since the start.

In theory, SMC can makes things faster. But from my knowledge, SMC was used when coder was out of free registers. But for now I never see Amiga routine when 17 (up to 25, if word size is enough) 68k registers is not enough. And using registers is always much fastest than using SMC.


All times are GMT +2. The time now is 05:17.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.05489 seconds with 11 queries