English Amiga Board Amiga Lore


Go Back   English Amiga Board > Main > Retrogaming General Discussion

 
 
Thread Tools
Old 08 July 2009, 22:30   #201
st-th
Bad Taste Development
st-th's Avatar
 
Join Date: Jul 2008
Location: Bonn / Germany
Age: 46
Posts: 48
Quote:
Originally Posted by alexh View Post
Legally Ambermoon is still under copyright and so cannot be republished without permission.

You'd have to release it as a patch system for the original files (not included) or have a word with me and I'll see what I can do.
A binary patch against the original files would be trivial. I would probably use SAS/C's scompare/spatch combo for this.

However, I'd rather release full versions, i.e. a standard disk version using .adf files and a pre-installed HD-version. If these could be hosted on the Thalion Webshrine, that would be great.
st-th is offline  
AdSense AdSense  
Old 09 July 2009, 11:16   #202
meynaf
68k wisdom
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon (France)
Age: 44
Posts: 2,381
Quote:
Originally Posted by st-th View Post
If you want to spend your time on this, well, just go ahead and do it.
If I can have your code, I may have a look, else it's worthless.

Quote:
Originally Posted by st-th View Post
A release addressing all important issues will make them even happier.
But how long will they have to wait before ?

Quote:
Originally Posted by st-th View Post
As you said yourself, everyone has his/her own style of playing .
Sure

Quote:
Originally Posted by st-th View Post
If you read the manual, you know that cursed items exist, sure. But then you would also expect the "remove cursed item" part to work. But it doesn't. And that is the problem, not equipping a cursed item. If you go to a healer, the Snake Helmet will be destroyed reliably, but the character's stats won't be corrected which makes this useless. And the scroll/spell fucks everything up. All in all, BAD.
It's not worse than crashing the whole thing when you do a "SP-stealer" on a morag dragon...

Quote:
Originally Posted by st-th View Post
There is no German v1.07, remember. And v1.05 only after updating. If someone gets an original copy from eBay etc., they have v1.01 which is effected by the save/restore bug. And updates for games were quite rare back then, so I guess not many people look for one if they install the game today.
Quote:
Originally Posted by st-th View Post
Yeah, I had this one myself recently while testing something.
Did you fix it ?

Quote:
Originally Posted by st-th View Post
Which doesn't happen if people actually have the manual and look up the spell tables in the back to check out how many SLP one needs to learn spell X.

Strangely enough, while these tables are probably the most important info in the manual, all the electronic copies I've found so far either lack the spell tables completely or only have the healing spells in them...
When I attempt to learn the spell, Nelvin certainly has enough SLP, so this has nothing to see with the manual.

Anyway this is how the game works and it isn't very important to me.
meynaf is offline  
Old 11 July 2009, 00:00   #203
st-th
Bad Taste Development
st-th's Avatar
 
Join Date: Jul 2008
Location: Bonn / Germany
Age: 46
Posts: 48
Quote:
Originally Posted by meynaf View Post
If I can have your code, I may have a look, else it's worthless.
I'm not willing to share my code yet.

Quote:
Originally Posted by meynaf View Post
But how long will they have to wait before ?
Two more weeks.

Seriously, I've been working on this for only a few months now. Not every day nor every week. I didn't do anything in the whole of May IIRC. It's a hobby project and I not only need to be in the right mood to tackle it, but I also need the time esp. for the more complex things.

As I said before, there are a few things I definitely want to be done before I will consider release. And I'm simply not there yet.

Quote:
Originally Posted by meynaf View Post
It's not worse than crashing the whole thing when you do a "SP-stealer" on a morag dragon...
There are a few instances of illegal instructions in the code. These should be responsible for a couple of crash situations.

Quote:
Originally Posted by meynaf View Post
Did you fix it ?
Not yet. I have a hunch on why it happens, though. I will look into it.
st-th is offline  
Old 12 July 2009, 12:55   #204
meynaf
68k wisdom
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon (France)
Age: 44
Posts: 2,381
Quote:
Originally Posted by st-th View Post
I'm not willing to share my code yet.
It may well be because there is no code at all

Quote:
Originally Posted by st-th View Post
Two more weeks.

Seriously, I've been working on this for only a few months now. Not every day nor every week. I didn't do anything in the whole of May IIRC. It's a hobby project and I not only need to be in the right mood to tackle it, but I also need the time esp. for the more complex things.

As I said before, there are a few things I definitely want to be done before I will consider release. And I'm simply not there yet.
And one day you'll just drop the project because you got fed up with it, leaving all people here with nothing.
Please reconsider a partial release, even just a few data files.

Quote:
Originally Posted by st-th View Post
There are a few instances of illegal instructions in the code. These should be responsible for a couple of crash situations.
As most of the code is compiled, I seriously doubt this...

Quote:
Originally Posted by st-th View Post
Not yet. I have a hunch on why it happens, though. I will look into it.
Something not correctly erased, probably.
meynaf is offline  
Old 12 July 2009, 16:28   #205
st-th
Bad Taste Development
st-th's Avatar
 
Join Date: Jul 2008
Location: Bonn / Germany
Age: 46
Posts: 48
Quote:
Originally Posted by meynaf View Post
It may well be because there is no code at all
Are you calling me a liar?

Quote:
Originally Posted by meynaf View Post
And one day you'll just drop the project because you got fed up with it, leaving all people here with nothing. Please reconsider a partial release, even just a few data files.
No release until specific things are done. PERIOD. What's so hard to understand about this?

And you don't have to worry that I will drop this project. I've invested too much time into it by now and want to see it completed. And I sure want to get all the fame for doing it. (LOL!)

Quote:
Originally Posted by meynaf View Post
As most of the code is compiled, I seriously doubt this...
Here are the relevant lines from Am2_CPU:

Code:
                ...
lbC006C0E:      MOVE.W  (lbW05EF24).L,D0
006C14          CMP.W   #$0000,D0
006C18          BEQ.W   lbC006C82
006C1C          CMP.W   #$0007,D0
006C20          BEQ.W   lbC006C82
006C24          BTST    D0,#????$0E     ; illegal instruction $013C060E
006C28          BEQ.W   lbC006C5E
                ...
01DACE          MOVE.B  ($001A,A0),D0
01DAD2          CMP.B   #$06,D0 
01DAD6          BPL.W   lbC01DB1A 
01DADA          MOVE.B  (A0),D2 
01DADC          BTST    D0,#????$2A     ; illegal instruction $013C002A
01DAE0          BEQ.B   lbC01DAE6 
                ...
01DCB6          MOVE.B  ($001A,A0),D0 
01DCBA          CMP.B   #$06,D0 
01DCBE          BPL.B   lbC01DD10 
01DCC0          MOVEA.L A0,A1 
01DCC2          MOVE.B  (A1),D2 
01DCC4          BTST    D0,#????$2A     ; illegal instruction $013C002A
01DCC8          BEQ.B   lbC01DCCE
                ...
Still seriously doubting, meynaf?

Last edited by st-th; 12 July 2009 at 16:33.
st-th is offline  
Old 13 July 2009, 10:38   #206
meynaf
68k wisdom
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon (France)
Age: 44
Posts: 2,381
Quote:
Originally Posted by st-th View Post
Are you calling me a liar?
You don't want to give out anything, and you must have a very good reason for this. So, yes, I suspect (which means I'm far from being sure) you have nothing at all and are just talking. You wouldn't be the first one to do that !

Quote:
Originally Posted by st-th View Post
No release until specific things are done. PERIOD. What's so hard to understand about this?
Nothing's hard to understand here. You really behave like someone who's got nothing to show. Period.

Quote:
Originally Posted by st-th View Post
And you don't have to worry that I will drop this project. I've invested too much time into it by now and want to see it completed. And I sure want to get all the fame for doing it. (LOL!)
If you're not quick enough, someone else (like myself) will get bored and do the patches before you release them, so beware

Quote:
Originally Posted by st-th View Post
Here are the relevant lines from Am2_CPU:

Code:
                ...
lbC006C0E:      MOVE.W  (lbW05EF24).L,D0
006C14          CMP.W   #$0000,D0
006C18          BEQ.W   lbC006C82
006C1C          CMP.W   #$0007,D0
006C20          BEQ.W   lbC006C82
006C24          BTST    D0,#????$0E     ; illegal instruction $013C060E
006C28          BEQ.W   lbC006C5E
                ...
01DACE          MOVE.B  ($001A,A0),D0
01DAD2          CMP.B   #$06,D0 
01DAD6          BPL.W   lbC01DB1A 
01DADA          MOVE.B  (A0),D2 
01DADC          BTST    D0,#????$2A     ; illegal instruction $013C002A
01DAE0          BEQ.B   lbC01DAE6 
                ...
01DCB6          MOVE.B  ($001A,A0),D0 
01DCBA          CMP.B   #$06,D0 
01DCBE          BPL.B   lbC01DD10 
01DCC0          MOVEA.L A0,A1 
01DCC2          MOVE.B  (A1),D2 
01DCC4          BTST    D0,#????$2A     ; illegal instruction $013C002A
01DCC8          BEQ.B   lbC01DCCE
                ...
Still seriously doubting, meynaf?
Certainly no longer doubting : your "illegal" instructions have absolutely nothing illegal !
Code:
 BTST D0,#$60E    ; 013C 060E
 BTST D0,#$2A     ; 013C 002A
Perhaps you need to switch to another disassembler...

But there is a bug here, as BTST operates on bytes. $60E is instead treated as $0E.
meynaf is offline  
Old 13 July 2009, 14:23   #207
st-th
Bad Taste Development
st-th's Avatar
 
Join Date: Jul 2008
Location: Bonn / Germany
Age: 46
Posts: 48
Quote:
Originally Posted by meynaf View Post
You don't want to give out anything, and you must have a very good reason for this. [...]
You seem to have a severe comprehension problem, so I say it yet again: Some things I consider vital aren't finished yet.

Quote:
Originally Posted by meynaf View Post
If you're not quick enough, someone else (like myself) will get bored and do the patches before you release them, so beware
I'm so not shivering... If you think you can do it better/faster/whatever, well, why don't you just do it?

Quote:
Originally Posted by meynaf View Post
Certainly no longer doubting : your "illegal" instructions have absolutely nothing illegal !
Code:
 BTST D0,#$60E    ; 013C 060E
 BTST D0,#$2A     ; 013C 002A
Perhaps you need to switch to another disassembler...
meynaf, just look at the addressing mode. What effective address is this supposed to be? Immidiate as destination? Illegal. Absolute addressing? What's the "#" doing there, then? And it wouldn't make sense in the context of the code anyway. These are illegal instructions, meynaf.

Quote:
Originally Posted by meynaf View Post
But there is a bug here, as BTST operates on bytes. $60E is instead treated as $0E.
The latter two of the three excerpts I gave should obviously be "btst d0,d2", as any decent 680x0 programmer should realize immediately. That's why I gave the leading lines as context.
st-th is offline  
Old 13 July 2009, 15:17   #208
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 49
Posts: 915
You are wrong bittest instructions like: btst D0,#6 are legal instructions, I'm using this style instructions (idea by Gaelan Griffin) in my audio device players (for example MaxTrax). And it works OK.
Don_Adan is offline  
Old 13 July 2009, 15:40   #209
StingRay
move.l #$c0ff33,throat

StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 5,532
Quote:
Originally Posted by Don_Adan View Post
btst D0,#6
Why do you need to use btst for absolute memory locations in your players? It should be $6 anyway. Your instruction is illegal.
StingRay is offline  
Old 13 July 2009, 15:54   #210
st-th
Bad Taste Development
st-th's Avatar
 
Join Date: Jul 2008
Location: Bonn / Germany
Age: 46
Posts: 48
Quote:
Originally Posted by Don_Adan View Post
You are wrong bittest instructions like: btst D0,#6 are legal instructions
They are not. Immidiate is only supported for source, not for destination.

Quote:
Originally Posted by Don_Adan View Post
I'm using this style instructions (idea by Gaelan Griffin) in my audio device players (for example MaxTrax). And it works OK.
Why don't you use "btst #6,d0"?
st-th is offline  
Old 14 July 2009, 13:27   #211
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 49
Posts: 915
Quote:
Originally Posted by StingRay View Post
Why do you need to use btst for absolute memory locations in your players? It should be $6 anyway. Your instruction is illegal.
This is not btst for absolute memory locations, this is btst for choose left (bit 0 or 3) or right (bit 1 or 2) channel, easy to check with EP or DT. This was strange instruction for me, when I seen this code first time in Gaelan Griffin Music-X Driver source code. But it works OK, AsmOne can assemble this instruction too.
Don_Adan is offline  
Old 14 July 2009, 13:32   #212
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 49
Posts: 915
Quote:
Originally Posted by st-th View Post
They are not. Immidiate is only supported for source, not for destination.
For destination too.


Why don't you use "btst #6,d0"?
Because I checked (in one command) if D0 bits are 1/2 (for right channel) or D0 is 0/3 (for left channel). I don't want to check 6 bit in D0.
Don_Adan is offline  
Old 14 July 2009, 13:53   #213
StingRay
move.l #$c0ff33,throat

StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 5,532
Quote:
Originally Posted by Don_Adan View Post
This is not btst for absolute memory locations, this is btst for choose left (bit 0 or 3) or right (bit 1 or 2) channel, easy to check with EP or DT. This was strange instruction for me, when I seen this code first time in Gaelan Griffin Music-X Driver source code. But it works OK, AsmOne can assemble this instruction too.
AsmOne doesn't assemble it as it is illegal. btst format is dn,<ea> or #data,<ea>. Which assembler are you using that allows instructions like that? I suppose you are using it as btst #6,d0?

Edit2: Checked with different ASM1 version which indeed assembles it. The instruction still doesn't make any sense to me.

Edit: saw your reply to st-th. So if you don't want to check bit #6 in d0, what is your instruction actually supposed to do? Can it be that you're confusing btst with bftst? That's the only idea I have.

As btst your instruction is illegal!

Last edited by StingRay; 14 July 2009 at 14:01.
StingRay is offline  
Old 14 July 2009, 14:16   #214
st-th
Bad Taste Development
st-th's Avatar
 
Join Date: Jul 2008
Location: Bonn / Germany
Age: 46
Posts: 48
Quote:
Originally Posted by Don_Adan View Post
For destination too.
No. Immidiate is only valid for source, check any official 680x0 reference.

Quote:
Originally Posted by Don_Adan View Post
Because I checked (in one command) if D0 bits are 1/2 (for right channel) or D0 is 0/3 (for left channel). I don't want to check 6 bit in D0.
Okay, so why not use something like:
Code:
                ; bits 0-3 of d0 contain
                ; the audio channel bits
                andi.b #2+4,d0
                bne.b right_channel
left_channel:   ...
st-th is offline  
Old 14 July 2009, 14:21   #215
StingRay
move.l #$c0ff33,throat

StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 5,532
should be 2+7 or (1<<3)|(1<<0) rather if he wants to check bits 0/3 only but other than that that's how I would do it too.
StingRay is offline  
Old 14 July 2009, 14:32   #216
st-th
Bad Taste Development
st-th's Avatar
 
Join Date: Jul 2008
Location: Bonn / Germany
Age: 46
Posts: 48
Quote:
Originally Posted by StingRay View Post
Which assembler are you using that allows instructions like that?
Quite a few actually accept that illegal form, perhaps due to the way they parse instructions. PhxAss and SAS/C's asm (which I both use myself) do, for example.

Many disassemblers only look at bit patterns when trying to decode something. SAS/C's OMD and CPR produce the illegal instructions maynef posted, as well. Resource recognizes them as illegal as does the old "dis" I still use.

Quote:
Originally Posted by StingRay View Post
Edit2: Checked with different ASM1 version which indeed assembles it. The instruction still doesn't make any sense to me.
It's illegal, plain and simple. Even if an assembler accepts it and the disassembler you use gives you the same instruction as output doesn't mean the CPU will do what you think the instruction does. Might work on one model, fail on the other. Might work on one chip revision, fail on the other.
st-th is offline  
Old 14 July 2009, 15:14   #217
st-th
Bad Taste Development
st-th's Avatar
 
Join Date: Jul 2008
Location: Bonn / Germany
Age: 46
Posts: 48
To support my point:

Code:
        SECTION text,CODE
        moveq   #1,d0   ; set bit #0
        btst    d0,#0   ; "test" bit #0
        seq     d0      ; unset=$ff, set=$00
        rts             ; surprise!
        END
This exists with $ff on my 68060 regardless of whether d0 contains the value #1 or #0.The btst might test something, but sure as hell not bit #0.
st-th is offline  
Old 14 July 2009, 15:19   #218
StingRay
move.l #$c0ff33,throat

StingRay's Avatar
 
Join Date: Dec 2005
Location: Berlin/Joymoney
Posts: 5,532
Quote:
Originally Posted by st-th View Post
It's illegal, plain and simple.
Did I ever say anything else?
StingRay is offline  
Old 14 July 2009, 15:29   #219
st-th
Bad Taste Development
st-th's Avatar
 
Join Date: Jul 2008
Location: Bonn / Germany
Age: 46
Posts: 48
Quote:
Originally Posted by StingRay View Post
Did I ever say anything else?
No.
st-th is offline  
Old 14 July 2009, 21:07   #220
Don_Adan
Registered User
 
Join Date: Jan 2008
Location: Warsaw/Poland
Age: 49
Posts: 915
Quote:
Originally Posted by StingRay View Post
AsmOne doesn't assemble it as it is illegal. btst format is dn,<ea> or #data,<ea>. Which assembler are you using that allows instructions like that? I suppose you are using it as btst #6,d0?

Edit2: Checked with different ASM1 version which indeed assembles it. The instruction still doesn't make any sense to me.

Edit: saw your reply to st-th. So if you don't want to check bit #6 in d0, what is your instruction actually supposed to do? Can it be that you're confusing btst with bftst? That's the only idea I have.

As btst your instruction is illegal!
If this instruction is illegal, then why this instruction works OK on my A2000, why works (I can hear left/right channels volume effects with EP or DT) on my friend's 68060 CPU? Why I can assemble this instruction with AsmOne 1.20?

btst D0,#6
is equal for example as
moveq #6,D1
btst D0,D1

I don't know if this one instruction is fastest than two other examples, but can be if stack is used for D1.

This one has sense (one data register is free). No sense for me has for example:
movem.l ,-(SP)
or
movem.l (SP)+,
and both instructions are valid.
Don_Adan is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Ambermoon rmcin329 support.Games 17 27 December 2010 22:59
Need help in Ambermoon tralli support.Games 3 05 December 2010 21:01
Ambermoon Soundtrack CD T.R.Schmidt Amiga scene 12 24 April 2009 00:44
Ambermoon PiCiJi HOL data problems 34 22 May 2008 14:42

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 14:02.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.26814 seconds with 15 queries