Sega DevKit

Talk about development tools here

Moderator: BigEvilCorporation

Are you interested and will you contribute ?

Yes, Sure I'll love too :)
7
54%
No, I prefer to use my own lib/devkit
6
46%
 
Total votes: 13

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

Post by Chilly Willy » Fri Jan 01, 2010 7:55 am

Shiru wrote:
Chilly Willy wrote:We don't need noobs making yet another pong for the MD.
...
I just wondering, do you really have the right to speak for all the community?
Not all the community, just the smart part of it. :lol:

To be serious, what I said is the practical reality of the matter. I've been programming professionally for over 25 years, and no noob needing their hand held to the level suggested has EVER turned out ANYTHING worthwhile on any platform. If they need that level of support, they need to go spend several years working on already existing noob-level packages for Windows until they reach a level that they don't need it. To jump right into consoles thinking you'll do anything worthwhile is silly and unrealistic. It's like those noobs that post on dev sites "I just got Visual Studio and 'C++ for Dummies' and now I want to make my own PS3 emulator!! What do I do??"

Sorry, just telling it like it is. Reality is like being slapped in the face with a herring. 8)

Shiru
Very interested
Posts: 786
Joined: Sat Apr 07, 2007 3:11 am
Location: Russia, Moscow
Contact:

Post by Shiru » Fri Jan 01, 2010 8:33 am

For now, the practical reality is that you continue to argue with my personal opinion for three posts now, and already turned to 'my is longer' argument. I've got your point of view ('elite', 'true coder') from your first answer, no need to continue.

My knowledge of practical reality of the matter is different than your, thus I have different opinion.

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

Post by Chilly Willy » Fri Jan 01, 2010 8:14 pm

True. My apologies to anyone I've insulted. I'll stick to just talking about the devkit.

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

Post by Stef » Sun Jan 03, 2010 10:05 pm

I do not really agree with that point... it's true that by having a "not user friendly" GSDK (Genesis Soft Dev Kit) we have a sort of selection about people who will use it but i'm sure that some of the "discouraged" people are very good coders that don't to waste their time in searching and setting manually their compiler... Myself sometime i wanted to test some code on a specific system but it was too "complicated" to get the compiler correctly configured so i given up quickly.
Having a good and easy tool for genesis development can just bring a lot of new genesis devers... and whatever they do, they're welcome here, the more we are, the more we have.

ElBarto
Very interested
Posts: 160
Joined: Wed Dec 13, 2006 10:29 am
Contact:

Post by ElBarto » Wed Jan 06, 2010 6:13 pm

@shiru : Basically you say that some people want some friendly user installer like the one devkitpro has ?

@Stef: We can merge our two devkits. But the thing is your's it two "high-level" for me it's more like an game engine as you got some sprites routines, fading routines etc ...
But, I'm not against import it to the cvs and make it a lib that people can use.
I'm pretty sure that having your devkit available + mine for lowlevel routines will motivate some people to do homebrew on MD.

THe CVS is now online, you can view source here and the docs here.
You can checkout the source using cvs :
UNIX/Linux :

cvs -d anoncvs@cvs.megadrive.org:/cvs checkout module (where module is libsmd, toolchain or examples)

Windows:
Using tortoise cvs.

The libsmd now works on hardware (should work on every hardware).
I'll tag it to version 0.1 when I've tested in on a TMSS enabled hardware.
I'll tag the toolchain module to version 0.1 when I'm sure it'll work on windows/msys

I'm on IRC if you got any problem to setting up the devkit :)

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

Post by Stef » Wed Jan 06, 2010 7:24 pm

ElBarto wrote:@shiru : Basically you say that some people want some friendly user installer like the one devkitpro has ?

@Stef: We can merge our two devkits. But the thing is your's it two "high-level" for me it's more like an game engine as you got some sprites routines, fading routines etc ...
But, I'm not against import it to the cvs and make it a lib that people can use.
I'm pretty sure that having your devkit available + mine for lowlevel routines will motivate some people to do homebrew on MD.

THe CVS is now online, you can view source here and the docs here.
You can checkout the source using cvs :
UNIX/Linux :

cvs -d anoncvs@cvs.megadrive.org:/cvs checkout module (where module is libsmd, toolchain or examples)

Windows:
Using tortoise cvs.

The libsmd now works on hardware (should work on every hardware).
I'll tag it to version 0.1 when I've tested in on a TMSS enabled hardware.
I'll tag the toolchain module to version 0.1 when I'm sure it'll work on windows/msys

I'm on IRC if you got any problem to setting up the devkit :)
You're right, your devkit is low level oriented compared to mine... I think we can't really merge them together afaik. Your devkit will be more attractive for people who want to have almost full control where mine does more work but with less control ;)

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

Post by Chilly Willy » Wed Jan 06, 2010 8:03 pm

Y'all might want to add 6 button sticks and mice to your joystick handling. Team Player would be nice as well. :D

ElBarto
Very interested
Posts: 160
Joined: Wed Dec 13, 2006 10:29 am
Contact:

Post by ElBarto » Wed Jan 06, 2010 10:55 pm

I don't have sega mouse to test but I do have 6 buttons and team player.
I'll add support for this soon.

ElBarto
Very interested
Posts: 160
Joined: Wed Dec 13, 2006 10:29 am
Contact:

Post by ElBarto » Thu Jan 07, 2010 6:23 am

I've just add support for the ea4way, as I only have a sega teamplayer, can someone who have a real ea4way can test this rom for me ?

As soon as I find my 6 buttons joypad I'll add support for this :)

ElBarto
Very interested
Posts: 160
Joined: Wed Dec 13, 2006 10:29 am
Contact:

Post by ElBarto » Thu Jan 07, 2010 10:20 am

I've just add support of 6 buttons joysticks.

Regarding the ea4way, is it supposed to work with a 6 buttons joystick plugged in ?

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

Post by Chilly Willy » Thu Jan 07, 2010 8:19 pm

ElBarto wrote:I've just add support of 6 buttons joysticks.

Regarding the ea4way, is it supposed to work with a 6 buttons joystick plugged in ?
No idea. I've only ever seen info on the Team Player, which does work with 6 button pads.

You test bin works, but there are some problems with the display. It says my Team Player is an EA4WAY, and the display looks a bit odd.

Image

ElBarto
Very interested
Posts: 160
Joined: Wed Dec 13, 2006 10:29 am
Contact:

Post by ElBarto » Fri Jan 08, 2010 1:15 am

I don't see problem with the display on my TV.
And it's say that your team player is a EA4WAY because it's on the "EXTRA" mode.
I'm looking at the "MULTI" mode of the team player.

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

Post by Chilly Willy » Fri Jan 08, 2010 2:50 am

ElBarto wrote:I don't see problem with the display on my TV.
And it's say that your team player is a EA4WAY because it's on the "EXTRA" mode.
I'm looking at the "MULTI" mode of the team player.
It only showed one controller on MULTI mode, so I wasn't sure what the deal was (it has three controllers and a mouse hooked to it). EXTRA mode was the only one that showed more than one controller.

ElBarto
Very interested
Posts: 160
Joined: Wed Dec 13, 2006 10:29 am
Contact:

Post by ElBarto » Fri Jan 08, 2010 5:45 pm

Yeah cause the MULTI mode (aka the original Team Player mode) isn't supported. Only the "EXTRA" mode is (aka EA4WAY compatibility)
For the display I look like it's in double interlace mode but it shouldn't be ... weird.

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

Post by Chilly Willy » Fri Jan 08, 2010 7:05 pm

ElBarto wrote:Yeah cause the MULTI mode (aka the original Team Player mode) isn't supported. Only the "EXTRA" mode is (aka EA4WAY compatibility)
For the display I look like it's in double interlace mode but it shouldn't be ... weird.
The picture isn't very good. It looks fine on the TV - it was the fact that you showed two pads and two other "things" that I found weird, not the image. :?

Another odd thing was I only found info on Team Player, not the EA4Play. Here's some code I did (might need some debugging):

Code: Select all

| get current team player pad values
| entry:
| exit:  d0 = pad values portA(R L D U S A C B) portB(R L D U S A C B) portC(R L D U S A C B) portD(R L D U S A C B)
get_team:
        move.l  d3,-(sp)
        move.b  #0x60,0xA10009
        move.b  #0x60,0xA10003  /* TH = 1, TR = 1 */
        nop
        nop
        nop
        nop
        move.b  #0x20,0xA10003  /* TH = 0, TR = 1  start transfer */
        nop
        nop
        nop
        nop
        bsr.b   get_byte
        cmpi.b  #0xFF,d0
        bne     no_mtap
        bsr.b   get_byte        /* IDA IDB */
        lsl.w   #8,d0
        bsr.b   get_byte
        move.w  d0,d3           /* IDA IDB IDC IDD */
| port A
        bsr.b   get_byte
        lsl.w   #8,d0
        btst    #12,d3
        bne.b   1f              /* 3 button pad */
        bsr.b   get_nibble      /* 6 button pad - read extra nibble */
1:
| port B
        bsr.b   get_byte
        lsl.l   #8,d0
        btst    #8,d3
        bne.b   2f              /* 3 button pad */
        bsr.b   get_nibble      /* 6 button pad - read extra nibble */
2:
| port C
        bsr.b   get_byte
        lsl.l   #8,d0
        btst    #4,d3
        bne.b   3f              /* 3 button pad */
        bsr.b   get_nibble      /* 6 button pad - read extra nibble */
3:
| port D
        bsr.b   get_byte
        lsl.l   #8,d0
        btst    #0,d3
        bne.b   4f              /* 3 button pad */
        bsr.b   get_nibble      /* 6 button pad - read extra nibble */
4:
        move.l  (sp)+,d3
        move.b  #0x60,0xA10009
        move.b  #0x60,0xA10003  /* TH = 1, TR = 1 */
        rts

| get two nibbles from Team Player multi-tap

get_byte:
        bsr.b   get_nibble
        lsl.b   #4,d0

| fall into get_nibble for second nibble

get_nibble:
        move.w  #99,d2          /* retries - 1 */
        btst    #5,0xA10003     /* check current state of TR */
        bne.b   2f
| TR currently 0
        move.b  #0x20,0xA10003  /* set TR = 1 */
1:
        move.b  0xA10003,d1
        btst    #4,d1           /* check current state of TL */
        dbne    d2,1b           /* wait for TL = 1 or timeout */
        andi.b  #0x0F,d1        /* mask off nibble */
        or.b    d1,d0
        rts
2:
| TR currently 1
        move.b  #0x00,0xA10003  /* set TR = 0 */
3:
        move.b  0xA10003,d1
        btst    #4,d1           /* check current state of TL */
        dbeq    d2,3b           /* wait for TL = 0 or timeout */
        andi.b  #0x0F,d1        /* mask off nibble */
        or.b    d1,d0
        rts

no_mtap:
        move.l  (sp)+,d3
        moveq   #-1,d0
        move.b  #0x40,0xA10009
        move.b  #0x40,0xA10003
        rts
You'll notice I toss the extra nibble for 6 button mode. I didn't need it for the app, and I wanted to fit all four ports in a long. It can easily be modified to return 6 button results.

Post Reply