English Amiga Board


Go Back   English Amiga Board > Coders > Coders. General

 
 
Thread Tools
Old 17 May 2021, 12:51   #1
phx
Natteravn

phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 1,966
Why WHDLoad for new games?

I hope nobody feels offended by this question, but I'm asking myself why do WHDLoad slaves exist for games, which have just been released? Sometimes the patch is even released together with the game.

Most WHDLoad- and game authors are EAB members. So why are problems not simply reported, or why don't game authors care about these reports? Maybe the game author doesn't want some issues to be fixed?

For example I would not want to "fix" my trackloader and make the game work on hard disk. But I could imagine there are issues worth fixing.
phx is offline  
Old 17 May 2021, 13:11   #2
mcgeezer
Registered User

 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,372
Quote:
Originally Posted by phx View Post
I hope nobody feels offended by this question, but I'm asking myself why do WHDLoad slaves exist for games, which have just been released? Sometimes the patch is even released together with the game.

Most WHDLoad- and game authors are EAB members. So why are problems not simply reported, or why don't game authors care about these reports? Maybe the game author doesn't want some issues to be fixed?

For example I would not want to "fix" my trackloader and make the game work on hard disk. But I could imagine there are issues worth fixing.
Well, I worked with StingRay to produce the WHDload slave and I was glad that I did because he highlighted a couple of bugs. For me it was just about offering all options to the player, even though the game runs fine from Workbench there might have been situations that I missed because during the game I wake the system to DOS load a track... WHDload would save my bacon here.
mcgeezer is offline  
Old 17 May 2021, 13:35   #3
phx
Natteravn

phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 1,966
Quote:
Originally Posted by mcgeezer View Post
Well, I worked with StingRay to produce the WHDload slave and I was glad that I did because he highlighted a couple of bugs.
Nice to hear! So it actually works that way. I just wondered, because I never got a bug report from a WHDLoad author in the past (or I forgot about it).

Quote:
during the game I wake the system to DOS load a track... WHDload would save my bacon here.
Just out of curiosity: what was the reason not to apply this patch directly to your source?

Because that's exactly the situation which I try to avoid in my games. Never resurrect the OS when I have taken over the system. Dangerous things may happen, so the responsibility for a trashed HD file system is on WHDLoad.
phx is offline  
Old 17 May 2021, 13:44   #4
BippyM
Global Moderator

BippyM's Avatar
 
Join Date: Nov 2001
Location: Derby, UK
Age: 45
Posts: 9,250
Quote:
Originally Posted by phx View Post
Because that's exactly the situation which I try to avoid in my games. Never resurrect the OS when I have taken over the system. Dangerous things may happen, so the responsibility for a trashed HD file system is on WHDLoad.



The thing is WHDload creates a virtual machine, is well tested and if the patch is done properly then there wont be any issues. I see the benefits of letting WHD handle hard drive and OS related aspects
BippyM is offline  
Old 17 May 2021, 14:04   #5
mcgeezer
Registered User

 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,372
Quote:
Originally Posted by phx View Post
Nice to hear! So it actually works that way. I just wondered, because I never got a bug report from a WHDLoad author in the past (or I forgot about it).
Quote:
Originally Posted by phx View Post
Just out of curiosity: what was the reason not to apply this patch directly to your source?
StingRay notified me of a couple of things during the development of the slave, one thing it did pick up was a fault in your replay code using a0 instead of a6 (but I think you fixed this already).

All bugs found were fixed in the final game, there was only a couple - related to an incorrect write to floppy disk CIA stuff and to BEAMCON0. UAE dbg didn't pick these up and neither did enforcer.


Quote:
Originally Posted by phx View Post
Because that's exactly the situation which I try to avoid in my games. Never resurrect the OS when I have taken over the system. Dangerous things may happen, so the responsibility for a trashed HD file system is on WHDLoad.
Yup, everyone kept telling me the dangers... hence ... release a WHD which knows the ins and outs of this stuff.... but also people like the quit key stuff the WHDloads provide.
mcgeezer is offline  
Old 17 May 2021, 14:34   #6
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 2,970
I've more or less resigned myself to only creating either fully OS or fully non-OS stuff.

Which means that for me, going the WHDLoad route would be a very useful way to sidestep having to deal with exactly the issues McGeezer is pointing out. Because I'm frankly not too confident about my abilities regarding the whole stop-start OS stuff mid program.
roondar is offline  
Old 17 May 2021, 14:43   #7
phx
Natteravn

phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 1,966
Quote:
Originally Posted by mcgeezer View Post
All bugs found were fixed in the final game, there was only a couple - related to an incorrect write to floppy disk CIA stuff and to BEAMCON0. UAE dbg didn't pick these up and neither did enforcer.


Quote:
Yup, everyone kept telling me the dangers... hence ... release a WHD which knows the ins and outs of this stuff.... but also people like the quit key stuff the WHDloads provide.
Fair enough. Thanks for the details.
phx is offline  
Old 17 May 2021, 14:45   #8
phx
Natteravn

phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 1,966
Quote:
Originally Posted by roondar View Post
I've more or less resigned myself to only creating either fully OS or fully non-OS stuff.

Which means that for me, going the WHDLoad route would be a very useful way to sidestep having to deal with exactly the issues McGeezer is pointing out. Because I'm frankly not too confident about my abilities regarding the whole stop-start OS stuff mid program.
If you followed your statement from the first sentence then there would never be any stop-start OS stuff.
phx is offline  
Old 17 May 2021, 14:51   #9
jotd
This cat is no more
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 49
Posts: 5,571
whdload MMU setup will detect all wrong accesses to unknown memory, it can snoop registers for missing blitwaits, ...

less interesting when you have WinUAE but the "wrong access" part is more flexible in whdload.

Personally I'll be using it also to develop my own games now. And maybe after the game runs properly I'll switch to some less compatible but okay OS loader just to avoid the memory overhead (whdload needs to save chipmem and flashes when files aren't preloaded because of OS swaps)

About "new games" that could be fixed by their authors, yeah, that's true. But sometimes the original authors don't want for instance to add a second button for jump, trainer, ... and whdload provides that.

Also some games need "no startup" to run because of maxed out chipmem. Whdload doesn't need that. And I'm not talking about creating a routine that starts/stop the OS and doesn't leak memory, and handles MMU translation tables, caches... of all processors 68000/010/020/030/040/060...
jotd is offline  
Old 17 May 2021, 14:52   #10
mcgeezer
Registered User

 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,372
If I can flip this one a little bit....

Without WHDload... how then does a developer keep the system off but utilise high-score saving to any medium (hard drive/floppy).

It feels to me like the Amiga OS needs some sort of gaming mode function to safely abstracts storage reads/writes from the rest of the system.

If the answer is... only write OS compatible code then we've had that argument recently already and neither the purist OS devs or gaming dev's won the argument.
mcgeezer is offline  
Old 17 May 2021, 14:57   #11
roondar
Registered User

 
Join Date: Jul 2015
Location: The Netherlands
Posts: 2,970
Quote:
Originally Posted by phx View Post
If you followed your statement from the first sentence then there would never be any stop-start OS stuff.
Indeed, which is why I pointed it out
Quote:
Originally Posted by mcgeezer View Post
It feels to me like the Amiga OS needs some sort of gaming mode function to safely abstracts storage reads/writes from the rest of the system.
One can but hope
roondar is offline  
Old 17 May 2021, 15:07   #12
Predseda
Puttymoon inhabitant
Predseda's Avatar
 
Join Date: Mar 2007
Location: The City of Townsville
Age: 43
Posts: 6,516
Send a message via ICQ to Predseda
Quote:
Originally Posted by phx View Post

For example I would not want to "fix" my trackloader and make the game work on hard disk. But I could imagine there are issues worth fixing.
There are people (like me) that just do not play games if they can not be run from harddisk. And I do not like Gotek and similar ADF solutions. Maybe I am in a minority, but I am glad for WHD installs for new games. And even if there are games, that have their own hd install script, it is worth for people who use WHDLoad launchers such as iGame.
Predseda is online now  
Old 17 May 2021, 15:18   #13
phx
Natteravn

phx's Avatar
 
Join Date: Nov 2009
Location: Herford / Germany
Posts: 1,966
Quote:
Originally Posted by jotd View Post
Personally I'll be using it also to develop my own games now. And maybe after the game runs properly I'll switch to some less compatible but okay OS loader just to avoid the memory overhead (whdload needs to save chipmem and flashes when files aren't preloaded because of OS swaps)
Interesting. I already asked myself why there is no framework for game developers based on WHDLoad? But one disadvantage is higher memory usage? Then how can WHDLoad fix games which use up all Chip RAM? Probably not at all, because WHDLoad usually runs on systems with 2MB Chip and an MMU? So another disadvantage of a WHDLoad-based frame work would be the CPU requirement?
(Sorry, if some questions sound stupid, but I never used WHDLoad myself.)

Quote:
Originally Posted by mcgeezer View Post
Without WHDload... how then does a developer keep the system off but utilise high-score saving to any medium (hard drive/floppy).
Floppy is easy. You write your own trackloader. It's well documented in the HRM. But hard drives and other storage devices, like NVRAM, are impossible to support.

Quote:
It feels to me like the Amiga OS needs some sort of gaming mode function to safely abstracts storage reads/writes from the rest of the system.
Something like an extended lowlevel.library? Maybe this would even be possible for higher end Amigas, but probably not an option for stock A500.

Quote:
If the answer is... only write OS compatible code
No, I agree with you that it is not. You can do that for specific types of games and/or when the hardware requirements are big enough. But not for a 7MHz 68000 action game.
phx is offline  
Old 17 May 2021, 16:14   #14
DamienD
Banned
DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 44
Posts: 20,378
Quote:
Originally Posted by Predseda View Post
And even if there are games, that have their own hd install script, it is worth for people who use WHDLoad launchers such as iGame.
I've said all this before but... I disagree with that.

I always use Native installs over WHDLoad

Unfortunately due to the way in which WHDLoad works; sometimes crazy amounts of RAM are needed, plus the flashing of screens / when saving is quite annoying.
DamienD is offline  
Old 17 May 2021, 17:58   #15
CFOU!
Moderator
CFOU!'s Avatar
 
Join Date: Sep 2004
Location: France
Age: 48
Posts: 3,258
Quote:
Originally Posted by DamienD View Post
I've said all this before but... I disagree with that.

I always use Native installs over WHDLoad

Unfortunately due to the way in which WHDLoad works; sometimes crazy amounts of RAM are needed, plus the flashing of screens / when saving is quite annoying.
Indeed if you are less than 4mo-8mo of fast memory.
Big games can cause OS swap...
If not just use Preload tooltype to remove OSSwap when you have enought of fast mem.

But without whdload's slave you lost all slave features:
Bug fixes, second joystick button support, clean return to OS , compatibility with fast CPU & AGA, trainer...
CFOU! is offline  
Old 17 May 2021, 18:03   #16
DamienD
Banned
DamienD's Avatar
 
Join Date: Aug 2005
Location: London / Sydney
Age: 44
Posts: 20,378
Quote:
Originally Posted by CFOU! View Post
But without whdload's slave you lost all slave features:
Bug fixes, second joystick button support, clean return to OS , compatibility with fast CPU, trainer...
Yeah sure, but native installs also have bug fixes / patches / trainers etc..

...and I have installed a load of games, maybe over 100, that will never see WHDLoad versions due to size / complexity etc.

I know some people only play games that have a WHDLoad version. These people are limiting themselves IMHO and missing out on some very good games indeed.
DamienD is offline  
Old 17 May 2021, 18:07   #17
Retro-Nerd
Missile Command Champion

Retro-Nerd's Avatar
 
Join Date: Aug 2005
Location: Germany
Age: 49
Posts: 12,219
Bug fixes, second Button support, clean return to OS , compatibility with fast CPU...color palette fixes, highscores, full CD32 pad support, trainer etc.

There are a lot of good reasons. But i agree partially, some games are very OS friendly and don't need necessarily a WHDLoad patch expect for the mentioned convenience stuff.
Retro-Nerd is offline  
Old 17 May 2021, 18:39   #18
daxb
Registered User
 
Join Date: Oct 2009
Location: Germany
Posts: 2,877
Quote:
Originally Posted by DamienD View Post
plus the flashing of screens / when saving is quite annoying.
Only if you activate this feature (NoWriteCache). Normally, WHDLoad will save to disk when it exits. Maybe you noticed flashing while saving because the save file doesn't exists already. This happen in the past when slave author forgot to add save files with install. However, after first save to disk there is no flashing if you don't activate NoWriteCache feature.
daxb is offline  
Old 17 May 2021, 18:44   #19
Solo Kazuki
Registered User
Solo Kazuki's Avatar
 
Join Date: Sep 2004
Location: Poland
Posts: 1,052
@DamienD

I'm sure that no one write WHDLoad install for these "maybe over 100 games", because it is without sense. This is rather talk about games which don't have proper "native" (trainers?) installers.

I'm using WHDLoad, but only when it's needed. When game is working properly from HD installed with own installer (or via assigns) I see no sense to use WHDLoad for them*. But there are games which are not working well or not working at all without WHDLoad. And we are talking about real hardware, not emulation when You can have individual configuration for every game.

*Ok, maybe when WHDLoad adds something (more buttons support, saving, fixing bugs...)
Solo Kazuki is offline  
Old 17 May 2021, 19:27   #20
mcgeezer
Registered User

 
Join Date: Oct 2017
Location: Sunderland, England
Posts: 2,372
It would seem to me that including WHDload for that gaming mode abstraction layer would be a good thing to include in the next OS release... i for one would support it with my games.
mcgeezer 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
Games on HD without WHDLoad Sim085 support.Other 12 29 August 2020 00:07
WHDLoad Games ? Washac support.Games 11 24 February 2020 16:43
How do I make HD games not WHDLoad Games spannernick support.Games 3 01 May 2012 21:03
whdload instructions? [where to put WHDLoad games for GameBase Amiga v1.4] luke_70it project.MAGE 8 28 October 2009 06:36
Some WHDLoad games haynor666 request.Old Rare Games 3 07 February 2003 02:27

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 08:54.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.
Page generated in 0.11170 seconds with 15 queries