Page 1 of 1

Genesis/SEGA CD multi tool homebrew

Posted: Thu Jun 25, 2015 6:59 pm
by matteus
ComradeOj over at Sega-16 posts a lot of dev projects including this one. Not entirely sure why he doesn't post here as I imagine more users would be interested!

Anyhow here is the link:

http://www.sega-16.com/forum/showthread ... l-homebrew

Re: Genesis/SEGA CD multi tool homebrew

Posted: Fri Jun 26, 2015 4:51 pm
by MrTamk1s
matteus wrote:ComradeOj over at Sega-16 posts a lot of dev projects including this one. Not entirely sure why he doesn't post here as I imagine more users would be interested!
Invite him/her over :)!
Neat little tech utility.

Re: Genesis/SEGA CD multi tool homebrew

Posted: Sat Jul 11, 2015 5:00 pm
by ComradeOj
matteus wrote:Not entirely sure why he doesn't post here as I imagine more users would be interested!
Mostly because I was waiting for my account be approved :P
I signed up a while ago, but I had to wait before I could use the forum.

I'll start posting here too, now that my account is up and running.

Posted: Sun Jul 12, 2015 9:55 am
by nolddor
Welcome ComradeOj =)

Posted: Sat Jul 18, 2015 3:23 pm
by Eke
This is a nice tool, thank you.

There is a bug with TMSS detection on real hardware though (running on a VA4 MD1 without TMSS ). It seems like you do not clear the flag in RAM that holds the TMSS status (presumably only set when the version in I/O register is != 00) on startup. On real hardware, RAM is not initialized to 0x00 on power-on so the flag always appears being set :wink:

Also, it seems page 4 is always skipped and can not be accessed for some reason. I managed to access it somehow but I'm not sure how (by holding some button I think). This happens on real hardware and Genesis Plus GX emulator but not in Fusion.

Posted: Sat Jul 18, 2015 3:38 pm
by ComradeOj
Eke wrote:This is a nice tool, thank you.

There is a bug with TMSS detection on real hardware though (running on a VA4 MD1 without TMSS ). It seems like you do not clear the flag in RAM that holds the TMSS status (presumably only set when the version in I/O register is != 00) on startup. On real hardware, RAM is not initialized to 0x00 on power-on so the flag always appears being set :wink:

Also, it seems page 4 is always skipped and can not be accessed for some reason. I managed to access it somehow but I'm not sure how (by holding some button I think). This happens on real hardware and Genesis Plus GX emulator but not in Fusion.
Thanks for the heads up! Unfortunately, for a while I programmed for the Genesis with the assumption that all RAM starts cleared. Turns out, it doesn't. I didn't realize this until I got an everdrive. That includes this program. I never programmed in a RAM clearing routine, because it ran fine for me on all of my Genesis consoles.

I don't have any non-tmss genesis systems, so I never picked up on that bug. I'm not sure why it's skipping the fourth page though. I just tested it right now on my VA6, and it worked fine.

Here is a fixed version of the program, which includes a routine to clear out the portion of RAM that it uses.

https://drive.google.com/file/d/0B-uZnR ... sp=sharing

If you test it, and it works correctly let me know. If it works fine then I'll update my post on SEGA-16 with the fixed version.

Posted: Sat Jul 18, 2015 3:51 pm
by Eke
I confirm it is fixed in this version. Somehow the page 4 issue also got fixed in 1.2.