File: | CelticHeart_v1.0.lha |
Game Title: | Celtic Heart |
Size: | 664155 bytes |
Updated: | 2024-09-02 12:53:00 |
Version: | 1.0 |
Hardware: | ECS/OCS |
Download |
README
Short : HD Installer for Celtic Heart Author: DJ Mike (djmike@crystalmike.com) Version: 1.0 Type: game/patch Requires: WHDLoad 18, 512k chip mem, 512k any mem This patch applies to "Celtic Heart" © Night Owl Design. Supports two versions of the game: - Version 1.1, released October 2019 - Version 1.2, released August 2024 The latest version can be downloaded from the developer's website: https://server.owl.de/~frank/CelticHeart.adf REQUIREMENTS - Original disk or compatible disk image - Slave requires WHDLoad 18+ - Game requires 512k chip memory, plus 512k any memory (+ approx 680k other memory for preload option) FEATURES - Game loads fully from HD - Uses real files, which can be compressed with Propack, CrunchMania or FImp - Quit game at any time (default key F10), including on 68000 machines - Highscores+settings loaded and saved to disk - OS calls removed - Crash bug fixed in v1.1 if firing your weapon close to left edge of level - Bplcon0 color bits fixed x4 - Snoop errors fixed / bplcon4 access removed - Disk drive accesses removed - Snoop errors fixed - Trainer/other options added - set CUSTOM1 with any of the following: + 1 for infinite lives + 2 for invulnerability + 4 for in-game cheat keys (screen flashes blue for on, red for off): * E to skip level * I to toggle invulnerability * L to toggle infinite lives - Color/New/Rom Icons included - Source code included HISTORY Version 1.0 (2024-09-02) - Initial release WORDS FROM THE AUTHOR I took this on by request from the EAB forums. It's nice getting to work on a patch where I can actually look at a well-documented source for a change! The patch was fairly straightfoward to write. I wanted to install the game as proper files because there is a directory table on the disk. However I also wanted to do away with the double load the game does to peek the first 4 bytes of its packed files (as this doesn't play nice if Preload is off). I tried one approach that got overcomplex so in the end I went with having RawDIC produce a headers table to reference in game, that did the trick. In working on this I discovered a crash bug right at the start of the game! If you move near to the left edge of the level and fire your weapon, an access fault/crash occurs (even when running from disk). The issue is due to the routine that marks which game tiles have been modified - it overflows into adjacent data in memory that just happens to be a pointer used in the VertB interrupt routine. Since the developer (Frank / phx) is still active, he has kindly issued a new v1.2 of the game which fixes this problem. Therefore this patch supports both the older v1.1 from 2019, as well as the latest v1.2. In v1.1 I have added a workaround that fixes the bug, albeit less optimally than the data realignment Frank used to fix the game. I also found an issue in WHDLoad SnoopECS where it thinks the game wrongly sets the ECSENA bit of BPLCON0. This is needed by the game for its border blanking feature, so I have left it alone. You can still snoop but at the time of writing you need to use SnoopAGA instead of SnoopECS. Besides that it was a nice game to work with, and it makes a lovely change not to have to fix empty DBF loops and blitter waits! Enjoy! :-) Greetings and thanks to Pascal and Snoopy for testing, Frank for updating the game based on my testing, and to the WHDLoad team! --- DJ Mike (2nd September 2024) Bug report form, full WHDLoad package and other installs: http://www.whdload.de THIS PACKAGE COMES WITH ABSOLUTELY NO WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE. THE ENTIRE RISK AS TO USE, RESULTS AND PERFORMANCE OF THE PACKAGE IS ASSUMED BY YOU AND IF THE PACKAGE SHOULD PROVE TO BE DEFECTIVE, YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR OTHER REMEDIATION. UNDER NO CIRCUMSTANCES, CAN THE AUTHOR BE HELD RESPONSIBLE FOR ANY DAMAGE CAUSED IN ANY USUAL, SPECIAL, OR ACCIDENTAL WAY, ALSO IF THE OWNER OR A THIRD PARTY HAS BEEN POINTED AT SUCH POSSIBILITIES OF DAMAGE.