WHDLoad MantisBT - Ambermoon
View Issue Details
0005716Ambermoon[All Projects] Generalpublic2022-06-29 21:322022-11-11 02:25
Assigned ToWepl 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
ChipMem256 KB
FastMem0 MB
WorkbenchOS 3.2
KickROM47 - Kick 3.2
Summary0005716: Hi there. I am Pyrdacor and I released several updates for Ambermoon since
DescriptionGameVersion: All
SlaveVersion: 2.0, 2019

Hi there. I am Pyrdacor and I released several updates for Ambermoon since 2020. In German 1.13 and English 1.14 I unified AM2_CPU and AM2_BLIT into a single exe and had to adjust the main exe "Ambermoon" to pass a variable which states if to use the blitter it CPU. Your slave is thus no longer compatible with recent versions of Ambermoon. I am not good with WHDLoad so I wanted to ask if you can adjust the slave to work with recent versions.
Have a look here for new versions and docs: https://GitHub.com/Pyrdacor/Ambermoon.
TagsNo tags attached.
Attached Files? Ambermoon.Slave (6,756) 2022-08-08 00:10

2022-06-29 21:44   
Hello, kudos for your work!
I can probably adapt the install for the latest main binary. But how often will this change, because for every new version another update is going to be required.
Another issue I see is that all the changes to other files cannot be reflected in a good way. So it may only be useful for people who can build their own installation.
2022-06-29 23:28   
At best the executables need no more changes. Of course there might be some code bugs but in general I rewrote the files so that most data is now external. There is still one bug I want to fix.

Maybe you can tell me what you have changed, so I can fix it by myself?

Someone said that you also fixed some issues that occur in the original on some systems.

Thanks for your work!
2022-08-04 23:27   
Can you tell me which part of the github repo can be used to update an installed (whdload) ambermoon installation?
2022-08-05 06:48   
The folders "Disks/German" and "Disks/English" contain all the releases. There are ADF disk image releases and pre-installed (extracted) versions. The latter should be good for whdload. The most recent version is 1.16 so use the following archives: https://github.com/Pyrdacor/Ambermoon/blob/master/Disks/English/ambermoon_english_1.16_extracted.lha, https://github.com/Pyrdacor/Ambermoon/blob/master/Disks/German/ambermoon_getman_1.16_extracted.lha
Pascal De Maeseneire   
2022-08-05 22:46   
links (up) doesn't works :


English version (extracted files) : https://github.com/Pyrdacor/Ambermoon/raw/master/Disks/English/ambermoon_english_1.16_extracted.lha

German version (extracted files) :
2022-08-07 14:15   
Bookmarked discussion ;)
2022-08-07 15:07   
Thanks Pascal. Hi Hexaae. ;)

Version 1.16 (linked above by Pascal) should be very stable regarding changes to the executables.
2022-08-07 17:35   
I'm currently using Ambermoon WHDLoad with latest 1.16 fixes, after manually hex-editing the AM2_CPU file as described here: https://github.com/Pyrdacor/Ambermoon/issues/22

Why still using WHDLoad version? Because of weird mem allocations of this game that can give some strange errors (crashes or "Out of memory" warnings) on real or WinUAE. I remember I experienced these random problems even on my real A1200+Blizzard1260 and 128MB FAST...
Try for example with WinUAE using 060 and 8MB CHIPRAM, 256MB FAST, and you'll see the game will use chipmem only for the game (?). Yes it's not exactly "real world" situation with real HW, but it's annoying and having "Out of memory" errors is a nonsense on such a system.
That's why I prefer the WHDLoad version, where the whole system env is "emulated" as it should and never had memory issues.

So, a new WHDLoad installer finally also compatible with new AM2_CPU would be great IMHO.
2022-08-08 00:11   
Hi, I have added the fix from https://github.com/Pyrdacor/Ambermoon/issues/22 to the old releases 1.05/1.07 and added support for 1.16.
Can you test if it works for you?
2022-08-08 01:26   
Tested with my manually hex-edited (actually 1.14 manually upgraded to 1.16) files; base 1.07 Eng; current 1.16 with the new AM2_CPU exe, and the game always launched correctly. Didn't play enough but everything seems to work as expected with all versions!
2022-08-08 08:34   
I am a bit confused. Why is it necessary to add the fix manually when 1.16 already contain it? Moreover this isn't the only code fix between 1.07 and 1.16. There are several of them.
Pascal De Maeseneire   
2022-08-09 08:00   
Your latest Slave works perfectly on my A500 ACA500PLUS.
It was tested with English version 1.16 (extracted Files).
Best regards,
2022-08-09 22:23   
Install released.
2022-08-10 00:04   
Something is broken in public release version: game crashes calling eagle and/or black screen at launch using current 1.16 files from GitHub.
I usa an Italian Workbench (I've seen you fixed the keyboard layout...).

Latest beta was working fine.
2022-08-10 00:13   
Never mind: solved. It was a mismatching "Saves" file. Ignore last message.
2022-08-10 02:16   
Great job! Thanks! Couldn't test this yet. Can you also update the project page please?
2022-08-10 11:58   
Which project page do you mean?
2022-08-10 12:24   
The WHDLoad Ambermoon page. For me it only shows the changelog up to install version 2.0 from 2018. And also states that the most recent version is from 2018.
2022-08-11 12:21   
Please reload. It is updated.
2022-08-11 12:38   
Awesome! Thanks
2022-08-11 14:27   
Got this message playing a bit from a savegame: https://i.ibb.co/mBN8wtP/image.png
when I try to open the map in Godsbane castle :(
What I did:
- tested 25-30 mount/dismount from Giant Eagle
- then flyed to Castle Godbsane in the swamp
- entered and went through teleporter to the room with the bed/altar (can't remeber what it was)
- every time I try to open the local Map I get the error above or similar because of low memory.
2022-08-11 14:29   
...or this one if I retry (the game won't quit, so you can try again...):
2022-08-11 15:09   
It is reproducible for me.

Run the game and Continue (will load position: "11-AUG-22.1 TEST GODSBANE").
After loading try open the map.
2022-08-11 15:28   
Running the game without WHDLoad won't cause low-mem warning on first launch.
But if you quit the game and RELAUNCH IT AGAIN (try more than once please), for some reasons the game will complain it has not enough free mem (chip has 150Kb left for a moment, after the game returns to WB) to load savegames...
2022-08-11 15:54   
That's why I always preferred the WHDLoad version, as we discussed before...
I had the same mem problem on my real A1200 + B1260 66MHz + 128 RAM as far as I can remember.

YouTube video: https://www.youtube.com/watch?v=hJLu5WPdapM
(The WB requester on quit says "RamDisk is full")
2022-08-11 22:56   
You used 1.16?
I have not deeply investigated the memory management of the game but it looks suboptimal to me. When running under WHDLoad any file caching of it should be disabled.
To reduce any switches on saving the used kickemu uses a large IOCACHE. Combined with memory fragmentation it could cause this I think.
But are 25-30 mount/dismount from Giant Eagle are valid use case?
2022-08-12 03:59   
Yep 1.16.
No ignore the Giant Eagle thing (it's been fixed): you can just download and use my savegame (above OneDrive link) inside Castle Godsbane for a quick check. When you try to open the map in the castle you should see a memory warning.
2022-08-13 23:47   
FYI, I just hacked the SLAVE with an hex-editor increasing chip-mem, and got no more complaints in the game.
2022-08-16 10:40   
To which value do you have increased it?
2022-08-16 12:14   
If you want to add a beta with $100000 chipmem I'll test it now.
2022-08-16 16:16   
Or maybe just 250Kb more will be enough... If you compile different versions I'll test and see if the low-mem warning appear again.
2022-08-16 23:08   
This seems to be enough:
WHDInfo v1.31 (03.08.2008) by Codetapper, Wepl

Ambermoon (c) 1993 Thalion
adapted by Harry/Wepl
Version 2.1 (09.08.2022)

         Slave name: Ambermoon_hack.slave
         Slave size: 6716 bytes
    WHDLoad Version: 18
              Flags: $2406 (9222)
                     All errors quit WHDLoad
                     Traps are emulated like autovectors
                     Forward "privilege violation" exceptions to handler
                     Uses resload_Examine/ExNext
        Base memory: $a0000 (640 KB)
Fake Exec installed: None
        Game Loader: $34 ($54 bytes from start of file)
   Subdir for files: 'data'
            Caching: All files
          Debug key: None
           Exit key: F10
   Expansion memory: $130000 (1216 KB)
     Kickstart name: '34005.a500'
     Kickstart size: $40000 (256 KB)
      Kickstart crc: $f9e3
        Information: Slave requires kickstart 1.3 image!
2022-08-16 23:41   
The problem is, that then the game will not work with 512k chip only anymore.
Better would probably to fix the memory manangement and give more expmem.
2022-08-17 10:16   
Would be great, but sounds complicated (a lot of work and time required)...

In the meanwhile could please you quickly recompile a version of the slave with 640KB of CHIP ram, so I can test if it's just a matter of chipmem?
About the fact it won't work on 512KB of chip... I think it was a problem in the original game too if you had just 512KB CHIP: the game won't crash and just warns you it has to disable music to continue.
2022-08-17 19:38   
Playing a bit I noticed some problems.
I can reproduce corrupt gfx entering/exiting Pelains Palace/Illien multiple times with slave 2.1 (even the not hacked version with more chipmem):

Here is the savegame https://1drv.ms/u/s!ApMUGr0cuN39gpk9ECH-X5XOpUzZ-Q?e=zdO3dW
Enter Illien and enter/exit multiple times Pelanis Palace to reproduce the bug.
2022-08-30 00:25   
REQUEST: make the SLAVE work even with uncompressed "Ambermoon" exe, in case.
2022-11-11 02:25   
current Slave 2.2 has not enough CHIPMEM. To avoid "chipmem not enough" error in castle Godsbane when you open local map the game requires 640KB (at least, this value works fine in my hacked slave).

Issue History
2022-06-29 21:32administratorNew Issue
2022-06-29 21:32administratorStatusnew => assigned
2022-06-29 21:32administratorAssigned To => Wepl
2022-06-29 21:44WeplNote Added: 0011507
2022-06-29 23:28PyrdacorNote Added: 0011510
2022-08-04 23:27WeplNote Added: 0011655
2022-08-05 06:48PyrdacorNote Added: 0011656
2022-08-05 22:46Pascal De MaeseneireNote Added: 0011660
2022-08-07 14:15HexaaeNote Added: 0011662
2022-08-07 15:07PyrdacorNote Added: 0011663
2022-08-07 17:35HexaaeNote Added: 0011664
2022-08-08 00:10WeplFile Added: Ambermoon.Slave
2022-08-08 00:11WeplNote Added: 0011668
2022-08-08 01:26HexaaeNote Added: 0011669
2022-08-08 08:34PyrdacorNote Added: 0011671
2022-08-09 08:00Pascal De MaeseneireNote Added: 0011672
2022-08-09 22:23WeplNote Added: 0011673
2022-08-09 22:23WeplStatusassigned => resolved
2022-08-09 22:23WeplResolutionopen => fixed
2022-08-10 00:04HexaaeNote Added: 0011678
2022-08-10 00:13HexaaeNote Added: 0011679
2022-08-10 02:16PyrdacorNote Added: 0011680
2022-08-10 11:58WeplNote Added: 0011682
2022-08-10 12:24PyrdacorNote Added: 0011683
2022-08-11 12:21WeplNote Added: 0011689
2022-08-11 12:38PyrdacorNote Added: 0011690
2022-08-11 14:27HexaaeNote Added: 0011692
2022-08-11 14:29HexaaeNote Added: 0011693
2022-08-11 15:09HexaaeNote Added: 0011694
2022-08-11 15:28HexaaeNote Added: 0011697
2022-08-11 15:54HexaaeNote Added: 0011700
2022-08-11 22:56WeplNote Added: 0011703
2022-08-12 03:59HexaaeNote Added: 0011704
2022-08-13 23:47HexaaeNote Added: 0011708
2022-08-16 10:40WeplNote Added: 0011712
2022-08-16 12:14HexaaeNote Added: 0011713
2022-08-16 16:16HexaaeNote Added: 0011717
2022-08-16 23:08HexaaeNote Added: 0011719
2022-08-16 23:41WeplNote Added: 0011720
2022-08-17 10:16HexaaeNote Added: 0011721
2022-08-17 19:38HexaaeNote Added: 0011722
2022-08-30 00:25HexaaeNote Added: 0011730
2022-11-11 02:25HexaaeNote Added: 0011954