Search found 9 matches

by Matt Grum
Tue Jan 28, 2025 3:58 pm
Forum: Megadrive/Genesis
Topic: Anyone doing anything with the Nuked-MD source?
Replies: 1
Views: 3560

Anyone doing anything with the Nuked-MD source?

Nuked-MD is a gate level recreation of the Mega Drive hardware based on photos of decapped chips, all implemented in C. It ought to be a great tool for debugging issues that occur on real hardware but not in emulators, or just learning more about how everything really works.

There are a couple of ...
by Matt Grum
Thu Jan 02, 2025 3:24 pm
Forum: Video Display Processor
Topic: DMA fills with auto-increment result in stray byte at the start
Replies: 2
Views: 8022

Re: DMA fills with auto-increment result in stray byte at the start

After reading all the DMA fill posts I can find here it appears the answer is no, you're always going to have to go back and fix the start after performing a DMA fill with increment greater than 1.
by Matt Grum
Thu Jan 02, 2025 1:44 pm
Forum: Video Display Processor
Topic: DMA fills with auto-increment result in stray byte at the start
Replies: 2
Views: 8022

DMA fills with auto-increment result in stray byte at the start

To perform a DMA fill you need to set up the VDP registers appropriately first, then perform a word write to the VDP data port containing the value you want to fill with. The problem is that this write to the data port is treated as a regular VDP data write of 16-bits (not eight) which messes up the ...
by Matt Grum
Mon Feb 19, 2024 1:37 pm
Forum: Exodus
Topic: Timing analysis using Exodus
Replies: 8
Views: 17380

Re: Timing analysis using Exodus

That's awesome - thanks!

Yeah I built the code before so that shouldn't be a problem. I used VS2017 last time, it looks like the project files have been upgraded to VS2022, is there anything else I'll need to change if I pull down the latest repo?
by Matt Grum
Wed Feb 07, 2024 3:15 pm
Forum: Exodus
Topic: Timing analysis using Exodus
Replies: 8
Views: 17380

Re: Timing analysis using Exodus

Thanks for replying, and great news that Exodus is being developed again!

I ended up hacking the source code to add what I needed, writing to a certain address would trigger the emulator to write the current time to a text file. Bus tracing would be overkill I think as I just want to be able to ...
by Matt Grum
Thu Nov 23, 2023 4:40 pm
Forum: Tools
Topic: choice4genesis - a ChoiceScript clone for the Sega Genesis
Replies: 31
Views: 86407

Re: choice4genesis - a ChoiceScript clone for the Sega Genesis


I guess more helpful where be a tool, that cold do this trick from GameHut sleeve:



Unforuntately you can't get 3375 colours, because you can't indepently set shadow/highlight mode for individual R,G,B channels.

The standard 3-bits per channel gets you 512 colours. Shadow mode gets you an ...
by Matt Grum
Tue Jun 27, 2023 1:47 pm
Forum: Video Display Processor
Topic: Swapping in/out background/sprite tiles
Replies: 9
Views: 79182

Re: Swapping in/out background/sprite tiles

I have a different question if you don't mind. I assume the numbers in that table are for DMA transfers. I've seen a lot of people quoting the official SEGA development manual as saying:

The DMA is quite fast during VBLANK. About double the tightest possible 68K loop speed, but during active scan ...
by Matt Grum
Sun Jan 16, 2022 2:20 pm
Forum: Exodus
Topic: Timing analysis using Exodus
Replies: 8
Views: 17380

Re: Timing analysis using Exodus

Thanks. I'm doing a variation of that currently using the background colour, but there are some limitations, you can't see what's going on during h-blank and v-blank, and it's a very manual process. It feels like it would be easy for an emulator to provide timing data directly...
by Matt Grum
Fri Jan 14, 2022 11:04 am
Forum: Exodus
Topic: Timing analysis using Exodus
Replies: 8
Views: 17380

Timing analysis using Exodus

Hi I'm looking to perform some timing analysis of my ROM to find out which parts of the code are using the most cycles. I can't seem to find any tools for doing this in Exodus 2.1 (there is a trace feature but it only records which instructions are executed, not when).

Ideally I'd like to be able ...