Page 1 of 1

Cannon Fodder (1994) (Krisalis Software)

Posted: Tue Jan 13, 2015 4:39 pm
by JonAbbott
Image Cannon Fodder (1994) (Krisalis Software)

ID: 10065
Version: Unknown
Developer: Sensible Software; Jay Butler
Genre: Strategy; Real time; War
RAM: 2048

CPU compatibility: ARM2 ARM250 ARM3 ARM610 ARM700 ARM710 ARM7500 StrongARM ARMv5+
OS compatibility: 3.11 3.5x 3.6x 3.7x 4.x 5.x

Legal info: Distribution rights held by JASPP


Download full archive: Image (5.6mb)

Download individual floppies: Image Image Image


Game info
To run the game use "Boot floppy" from the ADFFS Filer.


Synopsis

"DON'T WAIT 'TIL YOU SEE THE WHITES OF THEIR EYES...

DON'T KID YOURSELF IT WILL BE OVER BY CHRISTMAS...

DON'T TRY TO SHUT OUT THE SCREAMS...

AND DON'T FORGET TO WASH YOUR HANDS AFTERWARDS..."

WAR HAS NEVER BEEN SO MUCH FUN...

Screenshots
Image Image

Gameplay

Re: Cannon Fodder (1994) (Krisalis Software)

Posted: Tue Mar 03, 2015 11:16 am
by Dal
Thanks for all your work on these. They are all so well packaged - labour of love it seems! :)

Re: Cannon Fodder (1994) (Krisalis Software)

Posted: Sat Jul 22, 2017 4:19 pm
by gareth
Hi,

Apologies if this has been answered aleswhere in the forum but is it possible to create a blank disk that can be used as a save disk for Cannon Fodder? If so, can you post instructions on setting one up please?

Thanks

Gareth

Re: Cannon Fodder (1994) (Krisalis Software)

Posted: Sat Jul 22, 2017 5:39 pm
by JonAbbott
gareth wrote:is it possible to create a blank disk that can be used as a save disk for Cannon Fodder? If so, can you post instructions on setting one up please?
You probably just need a blank floppy, which you format from the ADFFS filer menu. Don't forget to save it and then CTRL-SHIFT-F12 to quit out of the game and use Flush to write the changes to the image you created.

You might be better off installing to HD. Can't recall the specifics for the game, but generally you copy disk 1, then the contents of the other disks into the !App folder, then replace the contents of !App.!Run with the contents of !ADFFS.Obey.F1006501 deleting the first few lines that switch to ADFS and set Obey$Dir

Re: Cannon Fodder (1994) (Krisalis Software)

Posted: Sat Jul 22, 2017 10:41 pm
by gareth
So if I run format from the filer menu with first "insering" a disk, it creates a blank one?

Re: Cannon Fodder (1994) (Krisalis Software)

Posted: Sun Jul 23, 2017 8:25 am
by JonAbbott
gareth wrote:So if I run format from the filer menu with first "insering" a disk, it creates a blank one?
No need to mount a floppy first, ADFFS Filer Format will create a blank ADF in memory. Save will obviously save it to HD and Flush will write back any changes since it was last loaded. I'd suggest reading the help file, right click on !ADFFS and select Help from the menu.

Re: Cannon Fodder (1994) (Krisalis Software)

Posted: Thu Jan 17, 2019 5:18 am
by psymann
In case this is of use to someone else - I had the same issue with the save disk not working. I looked around the internet and (mainly on Amiga forums) people confirmed that Cannon Fodder needs a specially formatted disk to save games, and I don't think we have one of them.

So I took Jon's advice and installed to HD. This took me a while to get right, but what I did was:

copying the files to HD
- Ran !ADFFS
- Opened the first Cannon Fodder disk (revealing four files, !Cannon and three others
- Created a new folder on the hard disk
- Copied those four files into it (I suspect I only needed to copy over !Cannon)
- Shift-double-clicked to open the innards of !Cannon
- Used !ADFFS to open the second Cannon disk
- Copied the whole folder "Disk2" into the innards of !Cannon
- Used !ADFFS to open the third Cannon disk
- Copied the whole folder "Disk3" into the innards of !Cannon

getting Cannon's Run File
- Still in the !Cannon innards:
-- made a copy of !Run, renamed as !RunOLD just in case ;-)
-- shift-double-clicked to open the code of !Run

meanwhile, in !ADFFS
- Shift-double-clicked to open !ADFFS innards
- Shift-double-clicked to open !Obey

putting !Obey code into !Run
- Copied the code from !ADFFS.!Obey
- Pasted it into !Cannon.Run, completely replacing all the previous code in !Cannon.!Run
- deleted the top line about setting Obey$Dir
- deleted the third line about setting Floppy$Dir
- saved it as !Run inside !Cannon

At this point I tried running it and it complained it couldn't find Loader.

So I copied the !Loader file out of !ADFFS and into !Cannon.

And then it worked fine, and allowed me to save and load games :-)

[This was using
- RPCEmu 0.9.1 set to ARM710, 64Mb RAM, no VRAM
- ADFFS 2.70
- RISCOS 3.71
in case that matters]

Re: Cannon Fodder (1994) (Krisalis Software)

Posted: Thu Jan 17, 2019 10:41 am
by JonAbbott
On RiscPC and newer download packaged games via PackMan.

A few corrections:

- Grab !ADFFS.Obey.F1006501 not !ADFFS.!Obey (which is the last game to be booted)
- Do not copy !ADFFS.!Loader (which is part of ADFFS)
- Don't alter any of the boot script except for removing the first few lines that set Obey$Dir and/or change to ADFS

Some boot scripts contain details on how to HD install the game, if it's not a straight copy to HD. Otherwise it's a case of copying all discs to HD and replacing !Run with the boot script, stripping off the first few lines that set Obey$Dir and/or change to ADFS. Where games have disc protection, you also need to add a line to ADFMount disc 1 and obviously put a copy of the image into the game folder.

Single disc games that don't save settings or the highscore table aren't worth HD installing, just copy the floppy image into an app folder and make !Run ADFMount it and then ADFBootFloppy.

However, we've packaged the majority of games as HD installs and would advice using them instead.

Re: Cannon Fodder (1994) (Krisalis Software)

Posted: Thu Jan 17, 2019 11:13 am
by psymann
Thanks for the corrections, Jon :-)

I'm guessing it worked for me copying !Obey instead of !Obey.F1006501 because I'd just previously attempted to load the same game, so they were (temporarily) the same? I've just looked at them and at the moment at least the two files are identical - I assume from what you're saying that that won't always be the case ;-)

As for !Loader, before I copied it, the game wouldn't load, complaining it couldn't find it. The !Cannon.!Run code currently looks like this:

[original line removed from here]
set Can$Dir <Obey$Dir>

[original line removed from here]

IF ADFFS$CPUID>=&A10 THEN ADFRemapVideoMemory 9 80 ELSE ScreenSize 80
IF ADFFS$CPUID<&A10 THEN ECHO <22><9>

WimpSlot -min 1200k -max 1200k
IF ADFFS$CPUID>=&A10 THEN GOARM3JIT 0

| Fix page zero access bug:
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA F4678 E5990008 EA00FE5F
IF ADFFS$CPUID>=&A10 THEN MEMORYA 134000 E3390000 { > null: }
IF ADFFS$CPUID>=&A10 THEN MEMORYA 134004 03E00000 { > null: }
IF ADFFS$CPUID>=&A10 THEN MEMORYA 134008 15990008 { > null: }
IF ADFFS$CPUID>=&A10 THEN MEMORYA 13400C EAFF019A { > null: }

| Fix bug in code: LDRB R0,[R6,#5] should be LDRB R0,[R9,#5]
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA 124040 E5D60005 E5D90005
| Fix bug in code: LDR R0,[R7,#2] should be LDR R0,[R6,#2]
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA F8298 E5970002 E5960002
| Fix bug in code: LDR R14,[R7,#52] should be LDR R0,[R6,#52]
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA F82A4 E597E034 E596E034
| Fix bug in code: LDR R0,[R7,#6] should be LDR R0,[R6,#6]
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA F82B0 E5970006 E5960006
| Fix bug in code: LDR R14,[R7,#56] should be LDR R0,[R6,#56]
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA F82BC E597E038 E596E038

| Speed up decoding
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA 12A008 E38DD812 E38DD813
IF ADFFS$CPUID>=&A10 THEN JITMEMORYA 12A014 E38CC812 E38CC813

Echo Cannon Fodder Loading. Please wait.....
Run <Can$Dir>.Loader

IF ADFFS$CPUID>=&A10 THEN GOARM3JIT
IF ADFFS$CPUID>=&A10 THEN ADFRemapVideoMemory
unset Can$Dir
unset Floppy$Dir


And the bit in bold (I think) is the bit it's having the problem with - it complains it can't find Loader, but it can find it as soon as I copy Loader into !Cannon. I don't know if there's way to set <Can$Dir> differently so that it can find it in !ADFFS or something? - I am finding that the process of getting this to load is very reminiscent of my experience as a teenager using my parents' A3000 and A5000, where there were a number of times when things which were meant to load one way only seemed to load correctly when I hacked the run or boot file and added/deleted bits somewhat randomly with my beginner-level understanding of what I was doing and a chunk of trial and error ;-) This feels a bit like this - I suspect I'm doing the wrong thing, but it's getting the right result. Which I wouldn't accept if I was doing coding at work, but I'm willing to overlook when I'm just trying to get some digital nostalgic carnage ;-)

So I'd advise anyone else to take Jon's advice over mine as it will undoubtedly be better - just in case anyone else is struggling like me then I thought writing down what I did that worked for me might be helpful as a Plan B ;-)

psy

Re: Cannon Fodder (1994) (Krisalis Software)

Posted: Thu Jan 17, 2019 3:31 pm
by JonAbbott
psymann wrote:
Thu Jan 17, 2019 11:13 am
Thanks for the corrections, Jon :-)
No problem, if you're having problems with a game just ask and I'll do my best to assist.
psymann wrote:
Thu Jan 17, 2019 11:13 am
it complains it can't find Loader, but it can find it as soon as I copy Loader into !Cannon.
Probably just coincidence as it's trying to load the game file "Loader". I'm not sure how it reported it couldn't find it in the first place, Can$Dir would need to be incorrect for it to fail.
psymann wrote:
Thu Jan 17, 2019 5:18 am
I had the same issue with the save disk not working. I looked around the internet and (mainly on Amiga forums) people confirmed that Cannon Fodder needs a specially formatted disk to save games
It details how to create a correctly formatted floppy in the manual on p11 (the PDF is in the full ZIP in the OP), that said I've not tried it myself. At a guess it's looking for a floppy with a "!Cannon.Games" folder on it.