25 November 2015, 21:53 | #21 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,644
|
I don't know if KS2 has a 2GB limit, but even if it does, I would suggest you disabling one of the two partitions. You're booting to an empty shell anyway.
On ESM, disable all devices on Boot Options except the partition with your WHDLoad games in it then "Boot with no startup-sequence". Compare memory usage with avail, it should be less. I recently maximized my memory on my 2MB A600 system by disabling automounting of the Work partition as suggested by Jope. If I need the partition, I can mount it manually using some Aminet tool. But usually I don't use Work (in those computers) so I don't need it and I gained like 300KB! |
25 November 2015, 22:11 | #22 |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
My games are spread on both partitions.
I remember yesterday I tried to leave just the partition where Lionheart enabled and disabled everything, yet I got the not enough memory message. I really need I think fastram, or at least fake it for Lionheart. More ram is always good, some games do an awful lot of flashes while loading, and a few do it even midgame, which make them unplayable (Ninja Warriors come to mind). |
26 November 2015, 03:47 | #23 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,644
|
It's time to consolidate then. Seriously, use one partition. Or boot one or another depending on what you wanna play. 300KB is a lot of memory to save.
But yeah you NEED fast RAM for WHDLoad. There's not much avoiding it. WHDLoad SUCKS without enough RAM to preload. OS flashes are awful. This an other reasons make me never play games on my Amigas, I only use my CD32 with native ports. |
26 November 2015, 04:15 | #24 |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
I sometimes wonder if its better to invest in a Gotek and play ADFs instead, since not all games are on WHDload, some have bugs, etc.
But the stuff WHDLoad adds to games are just to nice to miss. I'll end up having both things at some point, hehe. |
26 November 2015, 05:30 | #25 |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,644
|
A Gotek is an OK solution for those without much RAM, if you can stomach the loading times and the clunky virtual "disk swapping".
But all those games that didn't run on A600s becaue of KS2+ won't run with Gotek. Rmember the other function of WHDLoad besides hard drive installaiton, is fixing of games so that they would run in newer KS configs and machines with more RAM or faster CPUs. |
26 November 2015, 15:39 | #26 | |
Code Kitten
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
|
I love how everyone completely ignored my comment about Gibb's Tiny Launcher.
Now I know what the invisible man felt like. Quote:
Is it WHDLoad re-enabling the OS to load new content and thus switching out and back in again the game in the process? What exactly makes them so disruptive for the game? Does it revert to the original intuition screen during the "flashes"? |
|
26 November 2015, 16:03 | #27 |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
No, the screen just goes black and everything freezes.
From what I understand, WHDLoad is "swapping" content between the HD and Ram while the screen is black. From what I get, WHDLoad just loads tye disk images from the game to the computer's memory. When there's not enough memory, it just loads a portion of it. When the game needs to access files that are not on the ram, the screen goes black and the OS "swaps" stuff between the HD and Ram. It still feels like its loading, but as I imagine the slaves are not optimized to do the swap intelligently, if you don't have enough Ram, the flashes go really bad. Most of the time it only happens when the game is loading, so it's not that bad (but if you have music playing during loading, for example, the music keeps getting cut when the screen goes black and it's really annoying). I also feel some games actually takes longer to load like this than loading from floppies, because the OS flashes happen a lot. On other games, it happens mid-game, and then it renders the game unplayable. Also, when the game has just a silent black screen while loading, you can't see the screen flashing (obviously) and there's no blinking from the disk led while it happens (I am note sure how this works, but the HD led stays off all the time), you are never sure if the game is still loading or just crashed. When I tried to load Z-Out, I was already moving to the keyboard to reset the machine when the title screen finally showed up - the screen was probably flashing a lot while being completely black, so I had no idea the game was still loading. Last edited by Shatterhand; 26 November 2015 at 16:09. |
26 November 2015, 16:08 | #28 |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
Also many games just don't work at all without having more ram. I am not sure why, but some games *need* more memory to run.
I find really weird that I can manage to load a 5 disk game like Fightin SPirit (with a lot of OS flashes, ok, but it does load) or a 4 disk game like Shadow Fighter (This one had really few flahes, I managed to finish it without any big trouble,still loaded a lot faster than when I used to play it from floppies), but I can't load SWOS because this one requires 2 mb chip and 2mb Fast ram. I have no idea of how this works . |
26 November 2015, 17:07 | #29 |
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,303
|
Normaly an Amiga user should know that an Amiga without fastram/other memory is very limited. This was already true on Amiga 500 times. With only chipram you have to live with the limits.
WHDLoad uses the OS for loading/saving data to disk. So OS swaps are necessary. In the WHDLoad docs you can read that this isn`t 100% save. Avoiding OS swaps seem to be a good idea. Some games/demos need fastram or other memory. In that case the WHDLoad version also need it if not the slave author fixed/workaround it. In most cases the games/demos work better when they can use fastram. Remember, WHDLoad targets on expanded systems. Beside WHDLoad, programs profit from fastram/other memory. Especially graphic (DPaint?!) and music tools (e.g. any tracker). Overall you know what is needed. |
26 November 2015, 23:58 | #30 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,160
|
Hi,
I recently revived JST. I remember succeeding to run Magic Pockets on a CD32 back in the days. The trick is that JST preloads 1-disk games but does not save the memory for quitting back to OS if not possible. That would allow to run 1-disked games on your 2MB A600. I tried to reproduce that on winuae without luck. Booting with no startup sequence on a HD still eats 250Kb of memory (on kickstart 1.3) Any idea on how to reduce this? addbuffers would work (only on 2.0 since 1.3 version does not like negative values). add21K is 1.3 only IIRC and only saves 21K!!! On the CD32 I could maximize the memory: A 900Kb diskfile + JST + 1MB used by Magic Pockets and it ran (barely I suppose but it is possible) |
27 November 2015, 01:38 | #31 |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
I just wanted to say that I had an A600 with just 1mb Chip Ram back at the time, and I managed to run *everything* I wanted to run back at time. The lack of fast ram was never a trouble to me. Problem now is that I don't even have a floppy drive, let alone have floppy disks to run software, so I depend of WHDLoad to run my games
Disabling other partitions did wonders, it freed something around 400kb of ram.. I tested Swiv and it didn't have one single OS flash ! |
27 November 2015, 04:46 | #32 | ||||||
Code Kitten
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
|
Quote:
The issue is quite complex and has to do with how hard it is have the OS harddrive loading routines coexist with a hardware banging game. WHDLoad and the slaves have to switch between full-OS mode to allow the OS harddrive device and filesystem routines to load the data, and no-OS mode to let the game routines run. OS HD loading routines simply cannot run easily asynchronously with the game code since both are competing for full access to the hardware. When the data is being loaded, the game must be entirely frozen otherwise it will most certainly crash the OS, and conversely the OS must be entirely frozen when the game operates so it can run at full frame rate. This is why you get no music during loading: because the interruption handling they depend on must be under the responsibility of the OS while loading. It's either that or crash hard. Making hard drive loading code run in parallel with game code WHDLoad would require either putting the interrupt, device and filesystem OS stack under full control of WHDLoad or heavily modify every slave so that they fully delegate all their interrupt handling code to the OS. Neither is exactly easy and although the latter is easier than the former it is probably equally hard (if not more) as modifying the game to work under WHDLoad in the first place. Moreover this would almost guarantee that the game runs at lower speed since the OS would constantly steal CPU time from it. Quote:
But granted, they are likely more annoying than floppy loading, especially the unpredictable ones (Ninja Warriors, SWIV, Final Fight, and all streaming games). Quote:
- It must allow the OS to run 100% unencumbered otherwise the harddrive device and filesystems will likely crash hard. That means it must stop everything the game is doing. - It must also guarantee that the OS modifies the hardware as little as possible, since WHDLoad has no way of knowing (on <= 68020 Amigas) what the state of the hardware registers is. I am just guessing here but the best way to do that is to display a special screen with a very minimalist copperlist which touches as little registers as possible. Obviously, full black, zero bitmaps, zero sprites is the less intrusive choice so that means no on-screen feedback. It must also avoid blitter operations if possible since it can be also used by the game so touching any blitter registers might cause the game to crash on return if it assumes they have a particular value. These two goals are self contradictory and it is really hard to make sure they are both respected. I must say that I did not give it a big though before but it's actually quite a miracle that so many games have been modified to work successfully in this environment at all. Sure these loading interruptions seem unpredictable and are unpleasant but avoiding them requires to put the full game interrupt stack under control of the OS, putting all blitter routines under control of the OS, setting up the copperlist in a way that is compatible with the OS copperlist merging routines, etc. All of this is doable (everything is, it just takes effort) but probably very hard. Also, it is very likely that doing so will cause the game to skip frames because the OS does a lot of background work which is absolutely a time waster for a resource heavy game. So that would basically mean slower frame rates and/or garbled screens when CPU/copper/blitter syncing is crucial. Also, many hard drive interfaces do not use DMA so this means that they cannot do asynchronous loading very well and have to steal CPU time from the game. Floppy loading is 100% DMA based and has almost no effect on available resources (decoding aside) but most hard drive loading will be CPU based and a pain to run asynchronously without the help of the OS. Quote:
Some games will be well designed and a breeze to adapt but frankly such games are very likely to be exceptions and the norm is probably the contrary: hard to understand and modify games with badly designed systems. Just read the UAE changelog and count the number of games which work by pure chance... now imagine modifying these games without the source code, to operate under OS control. I am over generalizing but you get the point. Quote:
Quote:
With AROS this would be simpler since it can probably be modified to allow hard drive drivers and file systems to run under game control, but for the original OS this is really tough. That is possibly true but in my opinion that is silly/a-shame because by definition most users will not have these expanded systems and thus will not be able to enjoy many of the slaves because of it. The advantages brought by MMUs are really nice but slaves should be designed for the stock hardware + HD, the advantages of higher end machines should always be optional in my not-so-humble opinion. Well, the goal of automation is to remove the necessity for humans to do tedious and menial tasks such as precisely tuning RAM to allow programs to run. If a system can be designed with reasonable effort to do this even on limited stock hardware then everyone is all the better. But as I said above, this is hard. |
||||||
27 November 2015, 05:42 | #33 | |
Registered User
Join Date: May 2001
Location: ?
Posts: 19,644
|
Quote:
The second reason is not to be discussed here Shatterhand: the reason some games will just not run is because the game itself needs for ts own operation a certain amount of Chip RAM. When you have no Fast RAM you load all disk data in Chip RAM and therefore the game has no space to put its own stuff in it. A complex game might need a LOT of Chip RAM free for its real time operation and relies on disk storage for other game data that it will pull up as needed. When you put it all in RAM, the game can just not work. As you deducted, some games JUST NEED a lot more free CHIP RAM. This is why at first Galahad said Putty Squad wouldn't run on a CD32, at least not through WHDLoad. Because Putty Squad was using pretty much ALL the 2MB of Chip RAM leaving no space for anything else. Making that one work on CD32 took a lot more work from Psygore. |
|
27 November 2015, 05:55 | #34 |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
Funnily enough, Swiv worked like a charm when I managed to free up some memory. No OS flashes, not even at the initial loading. I was surprised
|
27 November 2015, 06:33 | #35 | |
Code Kitten
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
|
Quote:
I guess this means WHDLoad had enough memory to pre-load all game data before launching the game so it never had to invoke the OS mid-game. |
|
27 November 2015, 06:46 | #36 |
This cat is no more
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,160
|
SWIV on 1MB Amiga on whdload without OS flashes: I doubt that!
- 512K needed by whdload to save the 512K needed by the game (0->$80000) - 800K needed by whdload to preload the floppy image ($80000 -> errrr....) ... BTW any tricks to get as much as memory as possible (booting without startup)? |
27 November 2015, 06:52 | #37 | |
Code Kitten
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
|
Quote:
Huh, I think I understand what you mean and it makes me sad. I have seen in other thread that Gibbs has a tumultuous personality and it seems obvious he was banned from the EAB because he lost control of his words but isn't this board made of adults capable to both forgive and make amends? If that's why people do not talk about Gibbs's Tiny Launcher, then words fail me. As Warren Buffet says, "every saint has a past, every sinner has a future" and moreover, science has shown that people who forgive leave happier and longer lives than those who hold onto their grudges. |
|
27 November 2015, 15:18 | #38 | ||
Registered User
Join Date: Oct 2009
Location: Germany
Posts: 3,303
|
@ReadOnlyCat:
Yes, fastram comes common with A1200 and accelrators somewhere in the mid 1990. So already 20 years ago. Most games before that time were satisfied with 512kb chip + 512kb slowram. About WHDLoad target. 05.09.1996 first public version of WHDLoad. At that time active users owned at least an 030 accelrator. However, WHDLoad runs on low-end systems. Check out WHDLoad documentation ( http://www.whdload.de/docs/WHDLoad.html ): Quote:
About global ram usage. Maybe you didn`t used an Amiga for a very long time or forgot about it? @Shatterhand: An A600 with 1MB chipram is like an A500 a low-end (or beginner) system. I guess you loaded only old OCS/ECS games. Then you cannot know that newer (and AGA titles) games need at least 2MB chipram and/or other mem. Starting OS3.1 from HD with only 2MB makes no sense. Run on or two programs and you get out of memory message. Further, chipram is slow (max. 7MB/sec.) but it holds music sample and graphic data but fastram is fast (e.g. on 040/40 max. 45MB/sec.). So a goal was to use as less chipram as possible. Normaly memory usage info can be found in the salve README or do a "WHDInfo <slave>". Swiv slave V1.6 for example: Quote:
Go to early-boot screen and disable as much devices as possible. Start without S-S. Run a "make-some-mem-free-tool". |
||
27 November 2015, 15:50 | #39 | |
Thalion Webshrine
Join Date: Jan 2004
Location: Oxford
Posts: 14,330
|
Quote:
Your cheapest quickest option to get going is to buy a Gotec floppy disk emulator at ~£18 programmed. |
|
27 November 2015, 16:32 | #40 |
Warhasneverbeensomuchfun
Join Date: Jun 2001
Location: Rio de Janeiro / Brazil
Age: 41
Posts: 3,450
|
I know AGA machines have 2Mb Ram as default. Of course I only tried to run games and apps that were ECS/OCS, that's what my machine was I played basically every commercial game I wanted, released for ECS machines, up until 1998, when my Amiga stopped working, and I moved to PCs.
Also, my A600 had a 1.3 kickstart. I remember talking about this with Akira back at the day, like 15 years ago or so. My A600 had a 1.3 kickstart, not a 2.0. I never knew exactly what's the reason behind that, and I was to young back at the time and knew nothing about Kickstarts, I just turned on the computer at that xmas and it was like my dad's A500 but smaller, so I was happy Years later I knew it was supposed to have another "Insert Workbench screen", but I guess I was lucky it was actually a 1.3 kickstart, since all I did with it was playing games from floppy. Today I believe my dad bought it to me, but made an arragement with the sellers to sell the HD that would come with it and change the Kickstart to get a better price on the computer (It was an A600HD, but it had no HD), as he knew I would basically use it for gaming. I doubt he will remember about this nowadays And I played some Swiv yesterday, booting the machine by disabling everthing (including startup-sequence) ,and leaving just DH0: enabled. But I don't have 1mb, I have 2mb Chip ram. Swiv worked like a charm, it didn't notice it flash even on the initial loading. When I tried it before doing that, the game seemed to crash after the initial loading (got just a black screen). Not it's working flawlessly |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Do I need 2MB ChipRAM for a600, on top of Vampire | postexitus | support.Hardware | 4 | 22 May 2015 16:58 |
Most memory efficient way to run WHDLoad on a 2MB A600? | e5frog | project.WHDLoad | 2 | 25 July 2010 19:41 |
2MB+ ChipRAM | AlfaRomeo | support.Hardware | 26 | 24 August 2008 19:53 |
Upgrading A500+ MB to 2MB ChipRam | TheCorfiot | support.Hardware | 11 | 07 April 2008 17:34 |
Super Agnus 8375 2MB ChipRam in A2000 | Stormrider | support.Hardware | 6 | 19 January 2006 05:27 |
|
|