wolfenstein demo for sega genesis

Announce (tech) demos or games releases

Moderator: Mask of Destiny

Post Reply
Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Tue Oct 08, 2013 7:04 pm

Yeah, i can confirm the audio is still bad in the later version.

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Tue Oct 08, 2013 7:42 pm

I tried both and I am quite sure the problem is writing things too quick to the YM. Every reset results in different tones, and on tune loops things change too.
Also FM freq register write order is not optional, it has to be done the right way.

EDIT: I let the ROM sit for a while, I think one problem is the Key On/Off register, I hear stuck notes every once in a while. Bad sounds can happen when not all the operator bits get set the right way.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Tue Oct 08, 2013 8:04 pm

What is weird is that it does work perfectly on my MD1, it seems to affects only systems with YM3438.. i remember there is something different about the timers with YM3438, but it may be related to the status register itself.

gasega68k
Very interested
Posts: 141
Joined: Thu Aug 22, 2013 3:47 am
Location: Venezuela - Caracas
Contact:

Post by gasega68k » Tue Oct 08, 2013 8:28 pm

Yeah, i can confirm the audio is still bad in the later version.
Thanks, good to know, now I can try it in both genesis that I have (when I finish building the test cartridge). I will post some pictures of the test cartridge when it is finished. :wink:

When I finished programming the game I will release the source code, also the tools I use to make textures and sprites, so anyone could use it to make your own version of the game or maybe do a completely different game with this. :D

Mask of Destiny
Very interested
Posts: 615
Joined: Thu Nov 30, 2006 6:30 am

Post by Mask of Destiny » Tue Oct 08, 2013 8:30 pm

It wouldn't be that surprising if the minimum wait time between register writes was different between the YM2612 and YM3438. I've been meaning to test that actually.

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Tue Oct 08, 2013 8:39 pm

The wait times are different, but I did not measure how much different.
Also vanilla YM3438 differs from one in MD2. Hellfire has 2x slower music on MD2 and no music at all with 3438.

The ROMs are not working on my MD1 though.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Tue Oct 08, 2013 8:40 pm

It wouldn't be that surprising if the minimum wait time between register writes was different between the YM2612 and YM3438. I've been meaning to test that actually.
Probably but from his code he is actually testing for the busy bit before each write so that should not cause any troubles.
When I finished programming the game I will release the source code, also the tools I use to make textures and sprites, so anyone could use it to make your own version of the game or maybe do a completely different game with this.
Awesome ! i would be love to look into the sources :D

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Tue Oct 08, 2013 8:44 pm

TmEE co.(TM) wrote:The wait times are different, but I did not measure how much different.
Also vanilla YM3438 differs from one in MD2. Hellfire has 2x slower music on MD2 and no music at all with 3438.

The ROMs are not working on my MD1 though.
You mean the wolf3D game does not sound correctly on your MD1 ?
which version you actually own ? I should test on my other MD1 as well.

gasega68k
Very interested
Posts: 141
Joined: Thu Aug 22, 2013 3:47 am
Location: Venezuela - Caracas
Contact:

Post by gasega68k » Tue Oct 08, 2013 10:15 pm

If the problem is to write quick to Ym regs, instead of reading to $4000 for wait status and then write, I could do just counting cycles and then write to the Ym regs. What do you think?

TmEE co.(TM)
Very interested
Posts: 2440
Joined: Tue Dec 05, 2006 1:37 pm
Location: Estonia, Rapla City
Contact:

Post by TmEE co.(TM) » Tue Oct 08, 2013 10:35 pm

I my MD sound engine I do strategically placed NOPs and arrange code so that there's some action happen between writes so I waste least time possible.

My MD1 is a VA6. I have not tested on VA1/2/3/4.
Mida sa loed ? Nagunii aru ei saa ;)
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen

Mixail
Very interested
Posts: 133
Joined: Thu Nov 18, 2010 4:47 pm

Post by Mixail » Mon Oct 14, 2013 6:33 pm

gasega68k, how's it going?

gasega68k
Very interested
Posts: 141
Joined: Thu Aug 22, 2013 3:47 am
Location: Venezuela - Caracas
Contact:

Post by gasega68k » Mon Oct 14, 2013 9:16 pm

I'm still building the test cartridge (I think it will be finished tomorrow) to try both versions of sega sega genesis that I have, because I want to find out why the music does not play well in some models, but in the meantime I made a version, which had not really thought of uploading yet, because I wanted to test it first. This version I changed the way to write to the YM regs in a similar way as they do in sonic1, although admittedly I have not much hope that now works well but ...
Here is the link to download it:
http://www.mediafire.com/download/3t6dh ... _b2_sn.rar

Sdw
Newbie
Posts: 8
Joined: Mon Oct 10, 2011 7:20 pm
Contact:

Post by Sdw » Mon Oct 14, 2013 9:40 pm

I think you are onto something - this version played correctly as far as I could tell!

Stef
Very interested
Posts: 3131
Joined: Thu Nov 30, 2006 9:46 pm
Location: France - Sevres
Contact:

Post by Stef » Mon Oct 14, 2013 9:45 pm

Curious to know about the difference in register writes :)

gasega68k
Very interested
Posts: 141
Joined: Thu Aug 22, 2013 3:47 am
Location: Venezuela - Caracas
Contact:

Post by gasega68k » Tue Oct 15, 2013 2:16 am

Sdw wrote:I think you are onto something - this version played correctly as far as I could tell!
Wow! :o Can others confirm this?
Stef wrote:Curious to know about the difference in register writes :)
I changed several things, now the Z80 is disabled during the loop of tfc replayer (in previous versions the Z80 was disabled before writing to the YM regs and then enabled again after writing), but I think this is not the cause the problem because before had already made ​​a version with the Z80 disabled but that did not work. Also now after writing to $4000($4002) and before the wait status, I add 3 NOPs, and also the wait status was changed, instead of reading through the reg "a0" ("tst.b (a0)") as it was before, I do: "tst.b ($ a04000)". This is the code to write to the YM regs:

Code: Select all

;..............................................
         ;d0 = reg,  d1 = val,  d2 = bank
ym2612wr:
   ;lea  $a04000,a0
wait1:
   tst.b  ($a04000)        ;waitstatus
   bmi.s wait1
   move.b d0,0(a0,d2)
   nop
   nop
   nop
wait2:
   tst.b  ($a04000)        ;waitstatus
   bmi.s wait2
   move.b d1,1(a0,d2)
   rts
If finally confirmed that this version works well, I think the cause could be the 3 NOPs I added.

Post Reply