![]() |
![]() |
#41 | |
Registered User
Join Date: Jul 2006
Location: Lund / Sweden
Age: 45
Posts: 171
|
Quote:
So for example, some command pushes current XP on stack, another pushes for example if a presure plate is pressed, then an $EE command followed by a sub-code pulls the last two arguments from stack and compare them depending on sub-code, for instance a <= operator. Etc. Your asm-code, is it complete? I.e. do you know the complete meaning of the byte code? |
|
![]() |
![]() |
#42 | |
Moderator
Join Date: Sep 2004
Location: France
Age: 51
Posts: 4,277
|
Quote:
yes all relative codes has found !! i have already try to modify all text length of level 1 2 & 3 After to have compile & crunch files, i have test it in EOB1 without problem ![]() My ressourcer works with the 12 levels so i have found all EOB1 commands with number of arguments but not the effect for the moment... (I have already replaced EOB WIKI SOurce) At the end of the file there are a reloc or pointer table |
|
![]() |
![]() |
#43 |
Registered User
Join Date: Jul 2006
Location: Deutschland
Posts: 24
|
It seems that event.c is mainly for EOB2. Some examples:
interpreting main event code: EOB1: Code:
loc_1266_1F1C: les bx, [bp+var_inner_elo_pt] mov al, es:[bx] cbw mov si, ax inc word ptr [bp+var_inner_elo_pt] or si, si jge loc_1266_1F4E cmp si, -27 ; <--- !! 26 cases !! jle loc_1266_1F4E Code:
lok_ev_main_read_code: les bx, [bp+inf_tr_pt] mov al, es:[bx] cbw mov si, ax inc word ptr [bp+inf_tr_pt] or si, si jge lok_ev_main_next cmp si, -31 ; <--- !! 30 cases !! jle lok_ev_main_next EOB1: Code:
mov al, es:[bx] cbw cmp ax, 0FFEAh jnz loc_1266_A8B jmp loc_1266_B4E ; 0xEA loc_1266_A8B: cmp ax, 0FFF7h jz loc_1266_A93 ; 0xF7 jmp loc_1266_B64 ; other Code:
mov al, es:[bx] cbw cmp ax, 0FFE9h jnz loc_152B_C46 jmp loc_152B_D14 ; 0xE9 loc_152B_C46: cmp ax, 0FFEAh jnz loc_152B_C4E jmp loc_152B_D7D ; 0xEA loc_152B_C4E: cmp ax, 0FFF7h jz loc_152B_C56 ; 0xF7 jmp loc_152B_D93 ; other code |
![]() |
![]() |
#44 | |
CaptainM68K-SPS France
|
Once finished, how do i recompile them ? ^^
thanks Quote:
|
|
![]() |
![]() |
#45 | |
Moderator
Join Date: Sep 2004
Location: France
Age: 51
Posts: 4,277
|
Quote:
Can you send to me your work in french ? (TExt.dat.asm/ et INF.asm)? |
|
![]() |
![]() |
#46 |
Registered User
Join Date: Jul 2006
Location: Lund / Sweden
Age: 45
Posts: 171
|
Amiga disassembled binaries.
@CFOU: Not sure if you missed my PM, but do you by any chance have the disassembled Amiga binaries for Eye of the Beholder I? I'd like them for comparison and reference since I'm about to reverse engineer the event byte codes and the byte code interpreter.
|
![]() |
![]() |
#47 | |
Moderator
Join Date: Sep 2004
Location: France
Age: 51
Posts: 4,277
|
Quote:
![]() |
|
![]() |
![]() |
#48 | |
Moderator
Join Date: Sep 2004
Location: France
Age: 51
Posts: 4,277
|
Quote:
|
|
![]() |
![]() |
#49 | |
Registered User
Join Date: Jul 2006
Location: Lund / Sweden
Age: 45
Posts: 171
|
Quote:
So, your breaks in the .inf file ReSourcing regarding the event byte codes, are those assumptional, or based on the disasembly? In other words, did you assume number of arguments for each command or did you actually checked in the sources? Could you please point out were in the code approx the .inf file parser is resided? ![]() Last edited by JackAsser; 16 July 2006 at 23:45. |
|
![]() |
![]() |
#50 | |
Moderator
Join Date: Sep 2004
Location: France
Age: 51
Posts: 4,277
|
Quote:
no for the moment i used more simple method, only function and number of argument are found (is created for translation project so not more inverstigation was needed) but it's an another step to understand .inf in the source looking for "btst #" (decrunch / crunch routine and inf decrypter it seems (but to confirme) i will try to found the start of the code and will give to you the address... |
|
![]() |
![]() |
#51 | |
Registered User
Join Date: Jul 2006
Location: Lund / Sweden
Age: 45
Posts: 171
|
Quote:
For instance, the script that triggers at position 15,14 in the level1 maze starts at offset $725 (the table at the end points to that). First it's an EE command which is a conditional, all conditionals are both started and terminated by EE. So, the first few bytes EE,EF,03,00,FF,EE,34,07,EB,E2,20,03,F7,EF,03 simply means the following: Code:
EE // Begin conditional EF,03 // Get maze flag 3 and push on stack. 00 // Not sure here, but I think it pushed zero on stack. FF // Compare equality EE // Conditional end 34,07 // If conditional is true, then jump to $0734 EB // Give experience E2 // To whole party (i think) 20,03 // 0x320 xp F7 // Manage flags EF // Set maze flag 03 // Set maze flag #3 Code:
push(getMazeFlag(3)); push(0); if (pop()==pop()) push(1); else push(0); if (pop()==0) goto _0734; else { giveExperience(WHOLE_PARTY, 0x320); setMazeFlag(3); } Code:
if (getMazeFlag(3)!=0) { giveExperience(WHOLE_PARTY, 0x320); setMazeFlag(3); } Last edited by JackAsser; 17 July 2006 at 11:31. |
|
![]() |
![]() |
#52 |
Ya' like it Retr0?
Join Date: Jul 2005
Location: United Kingdom
Age: 49
Posts: 9,768
|
heys Jack,
Just a quick note, upon the eob.inf wiki page. The declaration of 0xfb = wall mapping structure however a little further down the page is a snippet with command codes which state 0xfb = monster create. I have put a depiction in the upload area for the wall mapping structure for use. |
![]() |
![]() |
#53 | |
Registered User
Join Date: Jul 2006
Location: Lund / Sweden
Age: 45
Posts: 171
|
Quote:
Command 0xFB in the Event data == Create Monster ![]() |
|
![]() |
![]() |
#54 |
Registered User
Join Date: Jun 2002
Location: .
Age: 48
Posts: 5,562
|
sorry if i get a lil' off topic, but some of you guys will turn this huge load of info into a nice editor?
![]() |
![]() |
![]() |
#55 | |
Registered User
Join Date: Jul 2006
Location: Lund / Sweden
Age: 45
Posts: 171
|
Quote:
Today I did a converted for the wallset data. I still need to squeeze the data some more otherwise I'll never manage to fit it all in those 64kb. ![]() Actually I got surpriced by how good looking the convert actually looks in comparison to other C64 graphics. I'll post some shots tomorrow, including a replacment VCN/VMP for the amiga graphics which effectivly turns the amiga game into a c64-looking game. ![]() |
|
![]() |
![]() |
#56 |
Registered User
Join Date: Aug 2004
Location: Czech republic
Posts: 580
|
wtf they r talking about ?
![]() bx, [bp+var_inner_elo_pt] mov al, es:[bx] darn I have to improve my english ![]() |
![]() |
![]() |
#57 | |
Registered User
Join Date: Jun 2002
Location: .
Age: 48
Posts: 5,562
|
Quote:
![]() however i really hope someone do the editor thing, i look forward to do some graphic for an hack |
|
![]() |
![]() |
#58 | |
Moderator
Join Date: Sep 2004
Location: France
Age: 51
Posts: 4,277
|
Quote:
I am never coded in JAVa (JDK is needed?) |
|
![]() |
![]() |
#59 |
Ya' like it Retr0?
Join Date: Jul 2005
Location: United Kingdom
Age: 49
Posts: 9,768
|
I am going to attempt to make an editor for the PC atfirst
![]() now writing a windows version of uncps (should work for both amiga and pc), eventualy from this you could edit the cps based files. *starting with the inf* ![]() |
![]() |
![]() |
#60 | |
Registered User
Join Date: Jun 2002
Location: .
Age: 48
Posts: 5,562
|
Quote:
i look forward to try it! |
|
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Buglist] EoB 1 AGA - EoB 1 ECS Multilanguage | Marcuz | project.Amiga Game Factory | 56 | 20 October 2019 13:17 |
Little games with script engines builtin | Leandro Jardim | Retrogaming General Discussion | 3 | 07 May 2013 17:36 |
How do pseudo-3D racing game engines work? | absence | Coders. General | 2 | 29 May 2010 00:05 |
|
|