Gens KMod++

Talk about development tools here

Moderator: BigEvilCorporation

letoulousain
Interested
Posts: 42
Joined: Fri Sep 24, 2010 11:32 pm
Location: toulouse

Re: DWARF unleash

Post by letoulousain » Wed Oct 12, 2011 9:51 pm

Stef wrote:Dans cette partie de code que j'ai isolé, on voit que dans un certains cas tu peux appeler 16 fois la méthode VDP_fillTileMapRectInc(...) avec les paramètres wt et ht qui définissent la taille du tilemap à modifier...
J'ai même aps réussi à bien savoir à combien ils pouvaient être à ce moment là :p
wt=4 et ht=4 car le programme affiche des tiles de 32*32 pixels.
wt = 4 --> 4*8 = 32 pixels
ht = 4 --> 4*8 = 32 pixels

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

Re: DWARF unleash

Post by Stef » Thu Oct 13, 2011 7:48 am

letoulousain wrote:wt=4 et ht=4 car le programme affiche des tiles de 32*32 pixels.
wt = 4 --> 4*8 = 32 pixels
ht = 4 --> 4*8 = 32 pixels
Ok, ce qui signifie que tu fais :

Code: Select all

for(compty=0 ; compty<16; compty++)
{
   ...
   VDP_fillTileMapRectInc(APLAN, TILE_ATTR_FULL(PAL1, 0, 0, 0, planA[compti]), comptx*4, compty*4-zxt, wt, ht);
   ...
}
Bon 16 fois un appel à VDP_fillTileMapRectInc() avec 16 entrées à modifier par frame ça devrait tenir quand même... mais ce n'est pas anodin, surtout avec les différents calculs des indexes et autres traitemetns que tu fais à côté.

MintyTheCat
Very interested
Posts: 484
Joined: Sat Mar 05, 2011 11:11 pm
Location: Berlin, Germany

Post by MintyTheCat » Thu Feb 09, 2012 10:53 pm

This looks very useful indeed. The ability to single step the Megadrive Code without hardware support is going to make things a lot easier to develop :D

Meradrin
Interested
Posts: 11
Joined: Thu Sep 15, 2011 6:03 am
Location: Canada

Post by Meradrin » Tue Jul 17, 2012 6:45 am

Hi guy I send a update after long time… sorry

So I discontinued Gens KMod++ for a couple of reason. The first reason is my time is limited in this world. So I need to be efficient in my development speed. And doing the entire GUI in Win32 Classic was really long for nothing and don’t give any real advantage for the users.

But don’t fear I currently working on thing, that I think that will be better for development on console. Yep a other utopian dream started by a dreamer :P
But I keep this dream in me for so long time.

The name of the emulator is Marmelade (of course it is the french word for Marmalade). I think this name represents well what do the emulator and my girlfriend like it. He takes the fruit of labor of other emulator and transforms that in emulator oriented for dev or rev-eng.

Where start? I will start with the story of this project.

I was bored doing GUI for KMod++ more exactly the variables watch system. I see you go and tell: “But the KMod original was working perfectly”. Yep but I was pushing to an others level. So my first reflection be I rewrite all the GUI in .Net anyway Gens was only Windows platform.

In maybe 2 hours I converted KMod++ in a native DLL and linked with .NET. When I started to have really good GUI and nice feature a friend of mine tell me: “It is so sad that you do all for this consoles that suck so much.” I was not approving the opinion he has about the Genesis. But he has a point my stuff was not so easy portable for an others console.

So I start creates generic API for all features: breakpoint system, CPU debugging, CPU properties, CPU callstack, memory viewer, tile-base viewer, source code viewer, source code debugging and many other stuff ^^
After I tell me ok I will try to link a new emulator like BSNES. (Funny fact: I started before Laevateinn exist to v0.85. The version before Laevateinn) Of course I needed to modify libsnes API for support all the new debug feature I add.

All he designed to be modular, example if you have a console with 3D Render system, they can have good change you will don’t need the tile viewer. So you don’t need declare function for support the module.

I use a lot a lib for win time ^^
- DockingSuitPanel: For have a badass docking windows system, like visual studio.
- Scintilla: For highlighting the source in C/C++ when you debugging.
- ObjectListView: For have really nice TreeListView.
- Lib-Mosasic: A homemade DLL API created with the mosaic project of Byuu for support more generic way. Maybe one day I will need to talk to Byuu. If he wants support the simple API and the new target I added in the makefile.

All the other stuff it is generic lib I created myself.

Two screenshot: (Click for fullscreen)
Image

Image

I will create a topic soon this forum with a beta build for the community on this forum. So of course all features will be focus on beta testing the Genesis, and less on SNES. I fear all the free haters in the SNES community judge me to fast and with my poor English skill. It is hard to explain well when you never listen in the english class to school. "Who need to speak english?" I was moron ^^

Post Reply