Ultimate Amiga

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3 ... 11   Go Down

Author Topic: Hacking: Open Contribution Thread  (Read 76469 times)

0 Members and 3 Guests are viewing this topic.

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Hacking: Open Contribution Thread
« on: June 03, 2007, 07:02:31 PM »

just a little place to write any hacking findings.... i guess largly for myself, but maybe someone else will help find some more.



some of the basics are at: http://www.djcresswell.com/bloodwych


but of course, everything here will eventually be part of the main site, under the hacking resource


« Last Edit: January 24, 2011, 10:03:05 PM by Hungry Horace »
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Hacking notepad
« Reply #1 on: June 04, 2007, 11:09:35 PM »

some memory locations.. from my real notepad... just here as a result of doing the avatars;

BW:

player 1 current postion ...  EE99
XX .. YY .. ZZ
(x coord, 00, y coord, 00, direction coord)


player 1 object held: EEA9
player 2 object held: EF0B
xx .. yy
(object number, 00 , quantity)

EB2A - Bloodwyn Stats (2 lines) [$EBD0]

ED2A - Bloodwyn Pocket contents


Monsters; ~ 1700E


note, whilst shape "$65/66" represents a Summon/fat-bastard... to make him an "illusion" set Level=$80 or above.



BEXT:

F586 - Bloodwyn Stats - 4 lines in BEXT, followed by other 15 champions or recruited monster.

~153B6 - monsters unpacked (first created summon if no enemies killed)

 
« Last Edit: June 19, 2009, 06:47:18 AM by Zendik »
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

bippym

  • A600
  • *
  • Karma: 0
  • Offline Offline
  • Posts: 1
Re: Hacking notepad
« Reply #2 on: December 18, 2007, 01:59:55 PM »

Using an action replay 3 the keyboard routine starts at $5D6

The game reads the keyboard and stores the result at memory location $5D1 where it is read in later

I'm still checking so stick with me ;)
Logged

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Hacking notepad
« Reply #3 on: December 18, 2007, 02:02:05 PM »

Keyboard routines

thanks for this info to Bip.....

<BippyM> it loads $bfe001 into reg a0
<BippyM> it then does a move.b ($c00,a0),d0
<BippyM> which basically does move.b $c00+$bfe001,d0
<BippyM> which is move.b $bfec01,d0
<BippyM> which moves the raw keycode into d0 ;)
<BippyM> sneaky eh!

i.e. searching $bf$eo$01 can help
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Hacking notepad
« Reply #4 on: December 18, 2007, 03:48:52 PM »

these more recent tests have been done with the _102 IPF of bloodwych.


the keycodes which are checked

$2ec   in the binary for _102 the ingame controls
$2C6   is the loction on the modified binary i have

these can be found manually by searching:

$5F 46 4E 4F 4D 4C
$12 10 22 20 21 11

which are at $0656 in the _102 ipf when loaded.



for those who understand ASM, this is apparently the keyboard routine at $5E8

<BippyM> lea  $656,a0   ; Copy address into a0
<BippyM> moveq  #b,d1   ; For loop, checking 12 things
<BippyM> cmp.b  (a0)+,d0  ; check to see if the contents of mem location a0 are same as d0 and increment the address at a0 by 1 byte (first time a0 would change to $657)
<BippyM> beq  $063a   ; If they match lets branch
<BippyM> dbf  d1,$630   ; decrease d1 by 1 and loop
<BippyM> rts     ; return from routine
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

skateblind

  • Important 'looking' person
  • Forum Mod
  • A2000
  • *****
  • Karma: 668
  • Offline Offline
  • Gender: Male
  • Posts: 509
Re: Hacking notepad
« Reply #5 on: June 17, 2009, 09:38:15 AM »

Here you go master Zendick  ;D

Serpent Tower pad/trigger details.
Logged
What are you looking at?

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Hacking notepad
« Reply #6 on: June 17, 2009, 10:22:24 PM »

Nice one skate

doesnt lok like the switches investigation is really needed... most of it seems quite obvious (although i want to check a few)

http://bloodwych.condor.serverpro3.com/tp-downloads/list_of_switches.txt


moon tower is needed for the traps however....
http://bloodwych.condor.serverpro3.com/tp-downloads/list_of_triggers.txt
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

skateblind

  • Important 'looking' person
  • Forum Mod
  • A2000
  • *****
  • Karma: 668
  • Offline Offline
  • Gender: Male
  • Posts: 509
Re: Hacking notepad
« Reply #7 on: June 18, 2009, 09:57:47 AM »

Here ya go.
Logged
What are you looking at?

skateblind

  • Important 'looking' person
  • Forum Mod
  • A2000
  • *****
  • Karma: 668
  • Offline Offline
  • Gender: Male
  • Posts: 509
Re: Hacking notepad
« Reply #8 on: June 18, 2009, 05:38:26 PM »

I see you did most of them  :P . Couldn't bare the thought of more questions aye?  ;)
Logged
What are you looking at?

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Hacking notepad
« Reply #9 on: June 18, 2009, 09:59:41 PM »

feel free to do the switches list :)
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Hacking notepad
« Reply #10 on: June 20, 2009, 05:24:36 AM »

skate, try this:

[EDIT] LINK REMOVED


keys here:

In all:
F1-F8 to select floor
F10 to change edit mode

< to move down a tower / dungeon
> to move up a tower / dungeon

space-bar to enter the edit options
cursors up/down to change option
cursors left/right to change option value

S to save the game binary (screen will flash red)


in map editor:

backspace to clear space
c to copy space to clipboard
v to paste clipboard values to map


(edit options only work for items 2,3,4 and 5 - wood walls, misc, stairs and large doors)

In level layout editor only:
[ to switch toggle floor-below preview
] to switch toggle floor-above preview

« Last Edit: August 22, 2009, 05:55:31 AM by Zendik »
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Hacking notepad
« Reply #11 on: January 23, 2011, 10:56:43 PM »

this thread should become redundant as the "confirmed" info is transferred to the main hacking thread:

http://www.ultimateamiga.co.uk/index.php/topic,8908.0.html
Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

murlock

  • Chaos Wizard
  • A600
  • *
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 34
Re: Hacking: Open Contribution Thread
« Reply #12 on: June 05, 2011, 12:02:54 PM »

Hi there,

I'm currently reverse engineering the bloodwych source and found your findings very handy!

I loved this game back when it came out and am currently re-living the days using STEEM and an Atari ST disk image.

So, I've been using Visual Studio and parsing out the "CODE" source file. Although the addresses are different, the data follows the same structure and byte patterns as you describe.

I've managed to create a small app to extract and render the map data, which I'm refining as I play through the game. It's definitely not as advanced as your editor, but I'm having fun digging into how it all works.

Now I've got the map data, my next steps are the character and object data, then trying to rip the images from the source, so I can convert to PNG or something similar.

More than happy to share c# code snippets to explain my parsing if that is handy for you!

e.g. using your ab cd format for map cells...
Metal Door Cell : d==5

OpenState = (b%2 == 0x0) ? EnumOpenState.Open : EnumOpenState.Closed;
Type = (b%4 <= 0x1) ? EnumType.Solid : EnumType.Grating;
Alignment = (b%8 <= 0x3) ? EnumAlignment.EastWest : EnumAlignment.NorthSouth;

Cheers,
Murlock
Logged
Look to the towers my friend

Hungry Horace

  • Amorphous Blue-Blob Man
  • Site Admin
  • A4000T
  • ******
  • Karma: 307
  • Offline Offline
  • Gender: Male
  • Posts: 3,364
  • Don't forget... Ameboid's need love too!
    • AUW
Re: Hacking: Open Contribution Thread
« Reply #13 on: June 05, 2011, 02:58:30 PM »

hi murlock,

really glad to see this is being found useful!!

I have a whole load of info which is in my editor which I havent yet put into the main threads. If there is any in particular you want me to add, just say - I'm far more likely to find the motivation to add the info if I think someone else is using it!!

I had looked at the ST version before, and was even considering making my Amiga editor work with both the ST and PC versions (it's already capable of spitting out .obj and .map files for the PC version) because all of the core data is identical, it's just a matter of finding it!!

I would also like to transfer the maps from the ST demo over to the amiga some time (just for kicks!)

Perhaps when i've finished it, you'd like to transfer my "book of skulls" level-set over to the ST? Or maybe just allow your editor to import/export the same files mine can spit out?

Logged
Quote from: KillerGorilla
because winuae is made of code and your amiga is made of stuff

murlock

  • Chaos Wizard
  • A600
  • *
  • Karma: 2
  • Offline Offline
  • Gender: Male
  • Posts: 34
Re: Hacking: Open Contribution Thread
« Reply #14 on: June 06, 2011, 03:50:38 AM »

Thanks Horace :)

My nostalgia was sparked a couple of months ago to play Bloodwych again, and, given my roots as a developer, thought it would be interesting to see what the "inner workings" were! ;)

I did some misc googling and found some info, but found your thread the most relevant by far!

I really am in the early days (given this is a hobby), but it is kinda fun to see what techniques and tricks had to be used back then to create games. I probably only spend a couple hours a week at most tinkering around.

I am working with the original ST version - i.e. image of the original disk, not a cracked version. I also have an original image for the data disk, which I hope to delve into some day.

I intend on understanding what the source files contain and what they do. With a (very distant) goal of digging into the assembler and understand the game logic, so that I may re-create the game in C#.Net.

For the time being, my app will just be a data extractor and renderer, rather than an editor, per se. But I don't think it would be hard to extend it to pass modifications back into the source and play via STEEM.

I am more than happy to share any of my findings as this is purely for my own interest, and it's good to keep Bloodwych alive :)

I suppose my biggest question at the moment is how/where all the images and sounds are stored. Is there a specific format used?

Cheers
Logged
Look to the towers my friend
Pages: [1] 2 3 ... 11   Go Up
 

TinyPortal 2.2.2 © 2005-2022