Search found 30 matches

by OrangyTang
Fri Jun 19, 2020 12:56 pm
Forum: Megadrive/Genesis
Topic: Gunstar Heros disassembly?
Replies: 37
Views: 11248

Re: Gunstar Heros disassembly?

Anyway, besides that, I love seeing disassembles coming together and look forward to following along. I saw your other posts on here, looks like your understanding is coming along nicely. Thanks for the encoragement! Unfortunately progress has pretty much stalled due to lack of time (a common side ...
by OrangyTang
Mon Jan 06, 2020 11:28 am
Forum: Megadrive/Genesis
Topic: General Gunstar Heroes rambling
Replies: 5
Views: 3798

Re: General Gunstar Heroes rambling

I haven't identified those graphics yet, but so far *all* graphics other than the SEGA logo are compressed in ROM. I suspect the main characters will be loaded/unloaded as the game progresses, since there's an oddball scrolling-shooter level in the middle that uses completely different player sprites.
by OrangyTang
Wed Jan 01, 2020 3:49 pm
Forum: Megadrive/Genesis
Topic: General Gunstar Heroes rambling
Replies: 5
Views: 3798

Re: General Gunstar Heroes rambling

By standard colors, do you mean static colors? They don’t change at all so can be used by any foe, for example. Yes they're static and don't change for the whole game - at least during regular gameplay. Title screen, cutscenes and oddball gameplay (the scrolling shooter section) do their own thing....
by OrangyTang
Tue Dec 31, 2019 9:42 pm
Forum: Megadrive/Genesis
Topic: General Gunstar Heroes rambling
Replies: 5
Views: 3798

General Gunstar Heroes rambling

A while back I started disassembing Gunstar Heroes, got busy and shelved it. Over xmas I had some time to chip away at it, so I thought I'd put out a post with some of the things I discovered. In no particular order: The 'SEGA' animation at the start generates multiple scaled copes of the logo on th...
by OrangyTang
Thu Oct 11, 2018 2:15 pm
Forum: Megadrive/Genesis
Topic: Gunstar Heroes Decompression - Format & C# code
Replies: 5
Views: 4783

Re: Gunstar Heroes Decompression - Format & C# code

I finally got around to tidying up the code so the annotated asm routine from the rom and the c# version have been added to the original post. It's worked on all of the compressed data I've managed to find so far, but without the palletes it's still rather garbled and not clear what things are. So p...
by OrangyTang
Tue Oct 09, 2018 8:49 pm
Forum: Megadrive/Genesis
Topic: Gunstar Heroes Decompression - Format & C# code
Replies: 5
Views: 4783

Re: Gunstar Heroes Decompression - Format & C# code

It's tied in with the vblank code, I had a thread about it a while ago http://gendev.spritesmind.net/forum/viewtopic.php?f=2&t=2864 The loading system seems to have 7 'command' types known, one of which seems to decompress patterns to ram and then DMA to vram. The others I haven't figured out yet bu...
by OrangyTang
Tue Oct 09, 2018 6:33 pm
Forum: Megadrive/Genesis
Topic: simple 68k loop
Replies: 21
Views: 10389

Re: simple 68k loop

That looks like the interupt table at the start of a ROM. You can't get that any smaller, that's just what the MD rom format is, every rom has to have it.
by OrangyTang
Tue Oct 09, 2018 8:36 am
Forum: Megadrive/Genesis
Topic: Gunstar Heroes Decompression - Format & C# code
Replies: 5
Views: 4783

Re: Gunstar Heroes Decompression - Format & C# code

No, no exceptions. As you say, it stops when it has 32 decoded bytes. But since it's bit-based, the 'read cursor' may be pointing to (for example) the 3rd bit in the 7th byte. And it only needs three 16-bit values to store it's state in order to resume later.
by OrangyTang
Mon Oct 08, 2018 11:13 pm
Forum: Megadrive/Genesis
Topic: Gunstar Heroes Decompression - Format & C# code
Replies: 5
Views: 4783

Gunstar Heroes Decompression - Format & C# code

I've been poking at Gunstar Heroes off-and-on for a few months now, mostly just working away at the edges, but I finally managed to figure out the compressed data format. :D Here's the GH font, decompressed from raw rom bytes with some custom C# code: https://i.imgur.com/j6FbB1c.png Compressed data ...
by OrangyTang
Wed Sep 26, 2018 10:47 am
Forum: Exodus
Topic: Feature request - breakpoint highlighting
Replies: 0
Views: 6842

Feature request - breakpoint highlighting

Hello! I'm just getting used to the debugger and find that I'm adding a *lot* of breakpoints. Which is fine, but it quickly gets confusing figuring out which is which. Could there be some way of linking the breakpoints in the breakpoints window with the Disassembly view? Possible ideas: 1. 'Breakkpo...
by OrangyTang
Tue Sep 18, 2018 3:16 pm
Forum: Megadrive/Genesis
Topic: Neat programming trick for optional operations
Replies: 3
Views: 4388

Neat programming trick for optional operations

Since work is now less crunchy, I actually managed to find some time to work on my Gunstar Heroes disassem, and stumbled across a neat trick (apologies if this is already known but I thought it was cool): MOVE.w $FFFF8002.w, D0 ; var indicating which processing to perform ; 0 will never overflow (so...
by OrangyTang
Fri Apr 27, 2018 1:00 pm
Forum: Megadrive/Genesis
Topic: Struct maros/syntax and naming conventions
Replies: 6
Views: 3622

Re: Struct maros/syntax and naming conventions

So I dug out the old manual for snasm68k, and I think the 'rs' and 'rsset' macros are what I need (see page 27) : https://segaretro.org/images/0/04/SNASM68K_68000_Cross_Assembler_System_Manual.pdf However I can't actually figure ou the usage syntax atm. This works to define a struct, but actually us...
by OrangyTang
Thu Apr 26, 2018 9:04 am
Forum: Megadrive/Genesis
Topic: Struct maros/syntax and naming conventions
Replies: 6
Views: 3622

Struct maros/syntax and naming conventions

Another day, another stupid question :) As I poke into the gameplay code of the disassembly, I'm finding more code like this: LEA $FFFFA400.w, A5 ; player 1 state struct BSR.w updatePlayer ... updatePlayer: MOVE.w $C8(A5), D0 ; read current player weapon into D0 Where there's basically an object/str...
by OrangyTang
Fri Apr 13, 2018 11:31 am
Forum: Megadrive/Genesis
Topic: Relative offsets in jump tables
Replies: 7
Views: 2932

Re: Relative offsets in jump tables

I guess that kinda makes sense - it's a 1Mb rom and only 176 bytes of spare padding at the end so things are pretty tight.

Having said that, there's also a massive 664 entry jump table (that I'm guessing is game object logic) that does things the long way. Nothing's perfect I guess. :)
by OrangyTang
Fri Apr 13, 2018 10:10 am
Forum: Megadrive/Genesis
Topic: Relative offsets in jump tables
Replies: 7
Views: 2932

Re: Relative offsets in jump tables

Aha! I did try that, but it didn't compile to identical code. Knowing that was the correct syntax I realised I need extra labels: ; The animated 'Treasure' logo TreasureScreen_00062892: MOVE.b Pad1Buttons.w, D0 OR.b Pad2Buttons.w, D0 BTST.l #Pad_Start, D0 BNE.w SkipToTitleScreen_00062B36 MOVE.w Curr...