Page 2 of 2

Posted: Sun Nov 08, 2009 12:03 pm
by HardWareMan
bastien wrote:Excuse me for my bad english , and another thanks for help me.
I'm russian, so my english not much better. ;)
bastien wrote:Finally i will remake my shéma so i think this is correct for the 4x1Mo with a switch per 1mo ( four 1Mo game ):
Image
Correct. This schema must be working (4 banks, switching by reset signal).

Posted: Thu Jan 21, 2010 6:21 pm
by bastien
hi, just some news about my project.
this day i have try to make the multigame cartridge with the Schéma.
but when i launch it , it will start the second game directly....
when i press reset the second game restart...

it's a schema error ?

how can i swap another game ?

my rom is a 4 mo rom with 1 game per mo.

Posted: Thu Jan 21, 2010 8:11 pm
by TmEE co.(TM)
Image

The reason 2nd game starts is in the fact that on powerup, the reset is pulsed, and that is what controls the counter.

Posted: Fri Jan 22, 2010 6:15 pm
by bastien
ok i will test your shema thanks for help.
I have a 74LS90 you have a 74c23 i can make your schema ?

Posted: Sun Jan 24, 2010 1:04 am
by TmEE co.(TM)
its 74xC93 not 23... a 4bit binary ripple counter.

Posted: Sun Jan 24, 2010 9:24 am
by bastien
ok just some news.

Now my cartridge works !!

3 game switched by reset ! ( Revenge OF Shinobi , Shadow Dancer & Shinobi III ).

But my schema is différent , i will post it as soon as possible.

Very thanks all for your help :D

now i will make a custom covers !

Edit : here is the schéma :

Image

Posted: Mon Jan 25, 2010 9:10 am
by KanedaFr
Great!

now your next challenge will be to use a game selector ON SCREEN ;)
It's something I personnaly would like to be able to do...
it means reset/switch by software (or electronic stuff) and it's something I don't see how to do ... even if some of you already explained it to me :lol:

Posted: Mon Jan 25, 2010 9:54 am
by HardWareMan
KanedaFr wrote:Great!

now your next challenge will be to use a game selector ON SCREEN ;)
It's something I personnaly would like to be able to do...
it means reset/switch by software (or electronic stuff) and it's something I don't see how to do ... even if some of you already explained it to me :lol:
It's pretty easy. Use resetable register, wich will be cleared by !VRES signal from slot. Inputs connect to data bus, outputs to high addresses of ROM. For write strobe you can use !TIME signal ORed with !LWR signal. So, after reset this register automatically select zero page of ROM and launch the menu program. When user selected desired game, launch code copying to RAM and it's write to this register number of page, and then launch the game:

Code: Select all

move.l $000000,a0
move.l $000004,a7
jmp (a0)
Ofcourse, there can be game in zero page too. But, you will need to modify start vector of this game to menu code, wich must be in this page too (after game for example). Ofcourse, you must remember start vector of this game in order to launch it.

Posted: Mon Jan 25, 2010 5:07 pm
by bastien
yes it will be just amazing.
a boot screen with the Game name !
sure it's my next project :wink: but i must learn some think before.

do you think a multi phantasy star game is possible ?

Fukkokuban , PH2 , PH3 + Ph4 with a game screen selector :twisted:

Posted: Mon Jan 25, 2010 7:12 pm
by Chilly Willy
HardWareMan wrote:
KanedaFr wrote:Great!

now your next challenge will be to use a game selector ON SCREEN ;)
It's something I personnaly would like to be able to do...
it means reset/switch by software (or electronic stuff) and it's something I don't see how to do ... even if some of you already explained it to me :lol:
It's pretty easy. Use resetable register, wich will be cleared by !VRES signal from slot. Inputs connect to data bus, outputs to high addresses of ROM. For write strobe you can use !TIME signal ORed with !LWR signal. So, after reset this register automatically select zero page of ROM and launch the menu program. When user selected desired game, launch code copying to RAM and it's write to this register number of page, and then launch the game:

Code: Select all

move.l $000000,a0
move.l $000004,a7
jmp (a0)
Ofcourse, there can be game in zero page too. But, you will need to modify start vector of this game to menu code, wich must be in this page too (after game for example). Ofcourse, you must remember start vector of this game in order to launch it.
A boot menu needs a little more on the reset and the start code than just

Code: Select all

move.l $000000,a0
move.l $000004,a7
jmp (a0)
That will not work (completely) for some games, leaving the audio in a bad state among other things. Some games simply won't work right after another game without a more comprehensive reset. Also, if one of the games is a 32X game, you need to blank the display and reset the 32X. You can see what I do for the Neo MD Myth menu to handle all that in the crt0.s and neo2.s files.

You can find that source in the Neo Myth Menu thread in the Genesis forum.

The very least you need to do for most MD games is

Code: Select all

		lea		0xA10000,a0
		moveq	#0,d0
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)+
		move.b	d0,(a0)
		move.w	#0x8104,0xC00004		/* display off, vblank disabled */

		move.l $000000,a0
		move.l $000004,a7
		jmp (a0)
Clearing all the IO locations forces the game launched to do the equivalent of a hard reset/cold start. If you don't, the majority of game will do a hot start, which skips most of the hardware setting a game will do the first time it starts.

Posted: Tue Jan 26, 2010 2:54 am
by HardWareMan
Chilly Willy wrote: Clearing all the IO locations forces the game launched to do the equivalent of a hard reset/cold start. If you don't, the majority of game will do a hot start, which skips most of the hardware setting a game will do the first time it starts.
Yeah. I'd almost forgot this.

Posted: Tue Jan 26, 2010 5:25 am
by Chilly Willy
HardWareMan wrote:
Chilly Willy wrote: Clearing all the IO locations forces the game launched to do the equivalent of a hard reset/cold start. If you don't, the majority of game will do a hot start, which skips most of the hardware setting a game will do the first time it starts.
Yeah. I'd almost forgot this.
I only know it because I ran into it with Zero Tolerance while doing my Neo Myth Menu. :D

On a few games, you also need to turn off the FM channels or they leave them running (switching from a game that was playing FM music/sfx to a game that doesn't for some time into the game).

Posted: Tue Feb 09, 2010 9:36 am
by bastien
hi just some news,
my custom covers it's now finished! ( special thanks to a friend 8) )

here is the link for someone interested:

http://sega4ever.power-heberg.com/tutod ... Legend.png

Another thanks all for your help, i will come back another day with a new project of a cartridge with a graphical loader rom, but not yet
8) ( must learn some thinks before)