News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Stef

Pages: 1 2 [3]
I don't really remember why I failed to find the information. There might have been a slight error in the documentation but I am also not very experienced with hex. If I remember correctly the stage information is the one that points to the 3d models (animated or not), color palettes and everything. It is not horrible but it needs to be done by someone who knows hex more than I do.
SFXEdit can certainly point to the 3D model headers but the amount of information needed to be parsed was huge and doing it by hand would have been very time consuming.

The other problem I think I had was that even if you have the stage information it will point to an object header, that object header has an address in hex and that is where I couldn't move forward. You can find the object header many times in a stage (I would expect) but I was never able to directly read a 3D model with the object header (I ended up somewhere else in the rom). If you do this correctly I think you have all the 3D models you need.
I think that was where I thought there was an error in the documentation but I am not experienced with hex.

I stopped when I couldn't get further assistance from anyone with more knowledge. I posted it in many places (reddit, SF forums) and even left a message for VL-Tone. He also commented that someone (me) had sent him a couple of emails in the last year about it but I never got a response.

I would have no problem with revisiting the project only if I had something to work with. I have no other reason to learn hex so it is just in pause for the moment.

That about sums it up. I'll be back in two weeks so I won't answer anything until then. :)

Ok, i understand your point. Indeed if you are not comfortable with hex address you will experience many troubles in re (reverse engineer) the binary data.
I'm used the hex stuff and honestly it already though me a bit of time to just figure the palette format data (which should be easy compared to level data for instance).
I will try to dig a bit further with SFXEdit, try to do some basic data parsers...
I will keep in touch on this post if i got anything interesting to share :)

Thanks for grouping these links, i already dig in them but as dyson said, it is great to have them grouped :)

Awesome! I had left the project on permanent pause due to lack of information. I did find VL-Tone in a forum that he seems to moderate frequently but at some point in the past he posted that he had a horrible hard drive crash in which he lost most of the work and wouldn't get back to it, I can understand that. Here is the forum I just mentioned:
If there was anything I really wanted to read was the source code for the Macromedia Shockwave file for SFXEdit but it seems to have been destroyed.
I'm sorry to say Stef that I have had little to no progress with this project. What you see in this thread is what I know. At most I can tell you that VL-Tone was able to read Super Mario 64 models because (it seems) the 3D model system appears to be based to that of Star Fox for the SNES (something worth checking). Other companies wanted to copy the system because it was very efficient. Also, the ROM file has no encryption, it is just an awesome and very efficient use of the limitations of the SNES.

I was also never able to rip any 3D model using SFXEdit. The Airwing model is the same as in the info posted by VL-Tone. What I was able to do was verify that it existed where it was supposed to and I parsed it with MS Excel (really!) so it is really easy to program once the info is read correctly.

I've got some important personal stuff these next two weeks, after that I can look into this again but I don't think I can go further than I had already without help.

Good luck! :P

Thanks for replying that quickly !
Ok, you got the arwing model the same way i got it : just grabbed data on the VL-Tone format description example :p
Indeed you are right, i can directly rip the data model from the rom, just need to know where they are located (and SFXEdit could help for that). If you were able to parse the model data with Excel, what was missing you ?
If you plan to get back in the project i would be pleased to help you in figuring a bit more of the format :)

Hi Dyson,

Exciting project ! It looks really good so far, i wonder if you are still working on it ?
I plan to do a sort of Starfox port but not for PC ;) I collected some informations and so far i have successfully got the palette data and figured almost the most important about the format (lighting, animations...). I also ripped some backgrounds but i still miss the most important which is the models. I found only the arwing model but i would like to rip others 3D models too. I tried to use SFXEdit but the export to OBJ function don't export anything :-/ I wonder if you still have your models as you seems to have successfully exported them.
I can help you in figuring the light stuff :)

Programming / SGDK - Sega Genesis Development Kit
« on: December 17, 2012, 05:26:27 pm »
SGDK is a small development kit for the Sega Megadrive / Genesis system.
It exists since a bit of time now and becomes advanced enough to deserve a bit of promotion ^^

It's divided in 2 parts :
- GCC compiler & tools binaries (only for Windows platform currently, sorry for osx and linux users).
- Development library sources which provide facilities to develop on the Sega Megadrive/Genesis System.

I tried to keep only the strict minimum GCC binaries so the whole archive maintains a reasonable size (< 10 MB).

Download it here :

You can find some tutorials about how use it in the Wiki section of project's page.
Free feel to post issues or requests, also if you want to contribute in some way you can contact me on the project page :)

Don't hesitate to post bugs or feature request in the issues tracker :

Version 0.93b changes log:

* Fixed a stupid bug in deprecated memory functions.
* Added Bitmap structure for easier bitmap manipulation (created from .bmp resources).
* Modified Plan A & Plan B location in VRAM.
* Added methods to modify Plan A, Plan B, Window, Sprites list and H Scroll table in VRAM.
Note that doing that you may have troubles with SGDK methods which use hardwired locations.
* VDP_setSpritesDirect(..) method so you can now send a SpriteDef array buffer directly to the VDP.
* Handle a new resource type : WAVPCM (.wavpcm)
The file is transformed to adpcm data and can be played directly through the 2 channels ADPCM driver.
Note that WAV sample rate should be at least equals to 22050 Hz.
* Fixed a bug in bintos tool.
* New wavtoraw tool, source is provided.
* Added tools sources.

Version 0.93 changes log:

* Simplified memory set/copy methods :
- 'Fastxxx' methods are now deprecated as basic generic methods are now optimized.
- 'memcpy' is now the only memory copy method.
* Added Z80 VGM driver (thanks to Sigflup which originally wrote it and to kubilus1 which improved it).
* Added SRAM support (thanks to Chilly Willy)
* Added preliminary support for ROM > 4MB (you can at least compile them now).
* Improved support for waitTick(..) and waitSubTick(..) calls during VBlank (still inaccurate).
* Added methods to get/set scrolling mode :
- VDP_getHorizontalScrollingMode()
- VDP_getVerticalScrollingMode()
- VDP_setScrollingMode(u16 hscroll, u16 vscroll)
- VDP_setHorizontalScroll(u16 plan, u16 value)
- VDP_setHorizontalScrollTile(u16 plan, u16 tile, u16* values, u16 len)
- VDP_setHorizontalScrollLine(u16 plan, u16 line, u16* values, u16 len)
- VDP_setVerticalScroll(u16 plan, u16 value)
- VDP_setVerticalScrollTile(u16 plan, u16 tile, u16* values, u16 len)
* Added methods to set/fill tile by index :
- VDP_clearTileMapRectByIndex(u16 plan, u16 ind, u16 num, u8 use_dma)
- VDP_fillTileMapRectIncByIndex(u16 plan, u16 basetile, u16 ind, u16 num)
- VDP_fillTileMapRectByIndex(u16 plan, u16 tile, u16 ind, u16 num)
- VDP_setTileMapByIndex(u16 plan, u16 tile, u16 ind)
- VDP_setTileMapRectByIndex(u16 plan, const u16 *data, u16 ind, u16 num, u8 use_dma)
- VDP_setTileMapRectExByIndex(u16 plan, const u16 *data, u16 baseindex, u16 baseflags, u16 ind, u16 num)
* Improved boot code so it should now init correctly on real hardware.
* Fixed Z80 driver uploading which may fails on real hardware in some condition.
* Modified 'sound' sample to add VGM play example.
* Minors fixes, improvements and cleanup.
* Some refactoring.

Pages: 1 2 [3]