wolfenstein demo for sega genesis

Announce (tech) demos or games releases

Moderator: Mask of Destiny

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

Post by gasega68k » Mon Jun 09, 2014 4:39 am

I do not know how does the Mega Everdrive to save, but I suspect it has to do with the v-int, because in this version (b9) do not use it (is disabled), and now all that ran during the v -int (frame counter, tfm player, psg player, etc) is now done in the h-int, maybe this is the cause you can not save the game now. :?

But anyway, I'm adding the option to save the game, so the next version will have this option, also going to add some graphics of the menus and some other things, and I've also done the last optimizations (for now) that remained to be done.:)

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Tue Jun 10, 2014 3:03 am

If your rom is over 2MB, you have to disable ints while you bank select in the sram, do the read/write, disable the sram area, then enable ints. If your rom is less than or equal 2MB, you don't need to do anything for sram other than turn it on in the hardware init like this "move.b #1,0xA130F1".

Setting that register to 0 disables the sram, and the sram generally starts as disabled. For example, Sonic 3 does the move in its init code to enable the sram inside.

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

Post by gasega68k » Tue Jun 10, 2014 9:36 pm

But, you must do the "move.b #x,0xA130F1" even when no pin B31 (!TIME) is used?
I say this because I found this:
viewtopic.php?t=715&highlight=sram+save

there says it has to do with the pin B31.

I have the game of NBA Hang Time, which has a 8kb SRAM to save the game and has 24Mbit (3MB) and does not use the pin B31, I opened a few days ago to see how they did, and that's how it is:

Code: Select all

    
                  A20   ---------
                   |   |         |
             -------------       |
         --o|E    A0  A1  |      |
         |  |            0|------|--
         |  |            1|------|--|--------ce RAM
         |  |      2     2|      |  |
         |  |            3|      |  |    ___
         |  |             |      |   ---|   \
         |   -------------       |      |    |----ce ROM
         |                       |   ---|___/
         |              ----     |  |
         |        A21  |  __|__  |  |    74hc08
         |         |   |   ---   |  |
         |   -------------  -    |  |
  !C_CE----o|E    A0  A1  |      |  |
            |            0|------|--
            |            1|------
            |      1     2|         
            |            3|         
            |             |         
             -------------  
               74hc139

    A20, A21 = Address
thus the first 3MB, select the rom, and the remaining 1MB, select the ram, and that's how the Wolf3D can be done because I think it will not exceed 3MB, although it could be reached only 2MB, and so would not need the 74HC08.

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Wed Jun 11, 2014 3:50 am

That's "non-standard" and unsupported by flash carts like the Myth or Everdrive. You could make your own cart for that, but then you'll need to handle all technical issues yourself since it's your own cart design.

Many carts that follow the standard don't use the address, only the /TIME line. In that case, the address is anything in the 0xA130xx range, however, you should still use 0xA130F1 as the address or you won't be compatible with some carts (if someone is using an actual cart) or most flash carts.

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

Post by gasega68k » Thu Jun 12, 2014 9:46 pm

I only have two games with feature to save, sonic 3 and NBA Hang Time (of about 50 games), and coincidentally the Nba Hang Time, which was the one I opened to see how they did, does not follow the "standard".

Well, to avoid compatibility problems, then I'll do the "normal" way, anyway I think the game will not be more than 2MB, then I only have to do the "move.b #1,$a130f1" only once at the beginning, but even if it would be more than 2MB, I think there would be no problem either.

Thanks for the info about this, Chilly Willy, I have to admit that this was something I did not know enough. :)

I've been looking a lot these days about diagrams cartridges for Sega Genesis, because I want to make one with flash memories "M29WXXX" and Sram to test directly in the console, but I have not found something I can use, anyone know where to get diagrams cartridges with sram?

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Fri Jun 13, 2014 12:11 am

Here's a Sonic 3 cart diagram:

http://imageshack.us/photo/my-images/856/88246963.gif/

Edit: Carts with more than 2MB and SRAM that use the standard mapping don't need the ints disabled as long as you can guarantee that all code and data used by the int routines are in the first 2MB of rom. Also that the code that reads/writes the sram is in the first 2MB, obviously.

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

Post by gasega68k » Fri Jun 13, 2014 9:12 pm

Carts with more than 2MB and SRAM that use the standard mapping don't need the ints disabled as long as you can guarantee that all code and data used by the int routines are in the first 2MB of rom. Also that the code that reads/writes the sram is in the first 2MB, obviously.
Of course, that makes sense. :)

I drew this diagram, but do not use the / VRES, using the 74HC139 and 74HC74 to operate up to 4MB (I think it should work):

http://www.mediafire.com/view/u17fs5zqw ... 2dbcr64lke

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Fri Jun 13, 2014 11:24 pm

That looks good. If you were wanting to reset the sram enable with reset, you could tie /VRES to /CLR on the flip-flop. The risk of not reseting the ff on reset is if the reset/init code calls/reads anything above 2MB and reset occurred while the sram was enabled without disabling the sram first. As long as you reset the sram in the crt0 code (for example) which is always right behind the header, it shouldn't be a problem.

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

Post by gasega68k » Tue Jul 08, 2014 5:39 am

Hi everyone, here is another update of Wolf3D. :)
In this version I've added the option to save the game and has 10 slots, I've also added graphics on the menus (instead of characters for options, sound, graphics ... etc), I've also added the High Scores screen, Getpsyched screen (you can pass it by pressing a button), and the initial blue screen PG13 (or PC13?).

Now the Chaingun (or Gatling gun) shoots faster.

I have also corrected a small mistake I had made, and apparently no one had noticed, is that the score bonus you get when you finish a level, (bonus for time, or when you get 100% of something and you get 10000 bonus) is lost when you lost a life, ie example if you finished a level, with a score of 20000 and get a bonus of 10000, get a total score of 30000, but then when you lost a life, the score remained with 20000 instead of 30000, is now corrected.

Also I made an optimization (especially in routine for Sprites), you'll notice the difference when you pass near ceiling lights or dead enemies, especially when several of them accumulate in one place.

Here is the version b10 to download: :)
http://www.mediafire.com/download/5885l ... 3d_b10.rar

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

Post by Stef » Tue Jul 08, 2014 7:54 am

It seems this version contains many minors differences but making the game overall better ! For instance you added the dead body at starting, also the palette fade now also happen on the weapon sprite which i believe was not the case before. It seems you also made minors change to the music (not sure about this one) but it sounded better to me in the last version ^^
Well done gasega68k ! It's nice to see how you take importance of having every details right =) By the way, it would be nice to have a (fast) progress bar for the "get psyched" screen, just to be more authentic (even if you don't need to load anything at this point).

Rob55Levo
Newbie
Posts: 9
Joined: Sun Apr 06, 2014 10:06 pm

Post by Rob55Levo » Wed Jul 09, 2014 4:26 pm

The changes are great! The new save and load option works really well, great work gasega68k

inu
Very interested
Posts: 50
Joined: Thu May 09, 2013 10:12 am

Post by inu » Mon Jul 21, 2014 3:25 am

Another great update.
Looking back to when the project started, it's funny thinking some users didn't believe the project would be able to keep the ~14fps it was achieving when more stuff was added. And now it's running at 16~18 fps most of the time with everything in place. The engine really improved a lot, and it has been really enjoyable to test and follow all the progress so far.
It was just sad the "Demo mode" didn't make Beta 10. I'm a sucker for those! :P

The new save game feature is actually pretty nice. Still didn't get to test if the High Scores are also working, but regarding end-level saves, it worked really well the few times I've gave it a shot.

But that "Get Psyched!" screen; oh man it looks and feels so out of place. I've played a lot of Wolfenstein 3D back in the day, but it still totally feels like it just doesn't belong in a console game of the time, no matter how many times I go through it, and even tho it only lasts 1 second.
I guess if the bar actually randomly filled up, would likely make it feel a bit less weird though.
(It's just my view of it in the end tho.)

And speaking of things that belong and don't belong in consoles of the time, the game still totally needs a "Sound Test" menu! A classic, available in most games. :D
How else can we check out those awesome tunes and sfx on demand?!

I don't know if this is just me, but the controls feels slightly more "loose" in B10.
It's not hard to tell, because it's harder to aim. Think this happened in a previous version as well, can't quite recall which one.

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

Post by gasega68k » Tue Jul 22, 2014 12:44 am

inu wrote:But that "Get Psyched!" screen; oh man it looks and feels so out of place. I've played a lot of Wolfenstein 3D back in the day, but it still totally feels like it just doesn't belong in a console game of the time, no matter how many times I go through it, and even tho it only lasts 1 second.
I guess if the bar actually randomly filled up, would likely make it feel a bit less weird though.
(It's just my view of it in the end tho.)
On the "Get Psyched" screen, Stef had suggested me to make a fast progress bar, and that's what I'll do, because you're right, it looks a bit weird like that.

inu wrote:And speaking of things that belong and don't belong in consoles of the time, the game still totally needs a "Sound Test" menu! A classic, available in most games. :D
How else can we check out those awesome tunes and sfx on demand?!
That also I had planned to do, could put the "sound test" within the menu option "Sound" (where you can enable/disable sounds).

inu wrote:I don't know if this is just me, but the controls feels slightly more "loose" in B10.
It's not hard to tell, because it's harder to aim. Think this happened in a previous version as well, can't quite recall which one.
I do not think there is a difference, what happens is that now (since version b9) the game runs faster (more frames per second), and it gives the feeling that control feel more "loose" because there are more "frames" where you can see the reaction of the control, in fact, I tried the emulator Regen, with the option "slow mode" with 3%, to see how many seconds it takes to respond since pressed to one side until it moves, with the version "b8" seems rather that in some cases takes longer to respond than the version "b10". The time it takes to respond varies because the game reads control from time to time, for example when the game runs at 15fps, the control reads every 4 frames, and can therefore take up to 4 frames to respond, or may respond immediately, if when you press the button, it was by reading the control at that time (in that frame).


And about the "demo mode" (demo playback), well, that is something that is still in the "to do" list. :)

inu
Very interested
Posts: 50
Joined: Thu May 09, 2013 10:12 am

Post by inu » Sun Jul 27, 2014 4:12 pm

gasega68k wrote:And about the "demo mode" (demo playback), well, that is something that is still in the "to do" list. :)
I remember you mentioning in the Sega-16 forums, that you just MIGHT include that too in the next release, so I had to comment on it. :P

While I know the menus are still a work very far from being complete, had a few minutes today and decided to build a mockup for the "control" menu. Since it's the only one that doesn't follow the (A)ccept (B)ack rule.
Perhaps it gives ideas on how to get it working even better, as the current double label one is not great yet. :D
Image

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

Post by gasega68k » Sat Aug 02, 2014 5:46 am

inu wrote:While I know the menus are still a work very far from being complete, had a few minutes today and decided to build a mockup for the "control" menu. Since it's the only one that doesn't follow the (A)ccept (B)ack rule.
Perhaps it gives ideas on how to get it working even better, as the current double label one is not great yet. :D
You're right, since I add the graphics for the menus, I do not like how it turned out the "control" menu, so I'll do it more similar to PC. On the PC, the menu "customize" is separated from "control", and so I'll do it too, in the menu "control" will be the options "3 button", "6 button" and "customize" and then, in the menu "customize" will be the configuration of buttons, depending on the type of the chosen control.

Now the method to configure it (to maintain the "A=accept, B=back"), I think I could do also similar to PC: First, choose the action, then press "A, C", a small box appears (where the button corresponding to the action shown), indicating that is waiting for a button, then press the desired button and the box disappears.

And about the "Strafe_L" and "Strafe_R" I think it's a good idea, but would only be possible with the "mode" of 6-buttons, and also believe that it should be with X and Z, because I do not think there is another combination of buttons that work better. I think I could add an option to choose the "strafe" mode between "normal" and "LR" in the customize menu when selected the 6-button controller mode. 8)

I've added the "Sound Test", I have also done the "Demo playback", and also add sound when BJ (player) dies, at first wanted to do with PSG, but it was very difficult, so I did it with sample (PCM). :wink:

I want to make the next update, the last of the "Shareware version" (the first episode), so I want to add all that remained, also would like to know if anyone has more suggestions of anything I could add.

I have been drawn (converting) the graphics on the walls and other enemies, for the other 5 episodes, just need some code (or a fair amount of code) for other enemies, and also the music for the other levels. I hope to finish it before the end of the year. :)

Post Reply