corthax / mdtracker

Native music tracker for SEGA MEGA DRIVE / GENESIS / NOMAD
GNU General Public License v3.0
72 stars 2 forks source link

MED X7 #2

Open 2xAA opened 1 year ago

2xAA commented 1 year ago

Is it still possible to build for the X7?

I would love to try mdtracker out on hardware, but I only have an X7.

If not, it would be great to (at least try to) understand what needs to be done to get mdtracker running on the X7.

corthax commented 1 year ago

Basically you need to strip down the sram save size.

The only way I see is to strip pattern commands columns from 6 to 3 or even 2, as the pattern data takes the most space.

It is already done (..? not sure :D), except the pattern gui navigation part. See MDT_Version.h (search for references to MDT_VERSION in code)

I don't have X7, does it have 256kb sram onboard? Or the memory is split between ram and sram? If so then we have only 128kb =\ This will drastically limit the number of available patterns..

2xAA commented 1 year ago

Great, thank you.

Looks like X7 has the full 256kb from Krikzz' comparison chart.

image

(https://krikzz.com/img/cms/mega-pro-cmp.png)

Is any sort of lossless data compression an option maybe, instead of reducing the capabilities?

corthax commented 1 year ago

The reality is MED Pro have 1MB SRAM which is split between save/backup ram and regular ram. I've asked Krikzz about x7 sram and if I remember correctly the answer was it is also split that way.

corthax commented 1 year ago

But we can test it :)

corthax commented 1 year ago

Try current rom.bin. It works in BlastEm and utilize 256KB save file.

Effective 128KB 8bit odd address mode sram. AFAIK MED X7 (Everdrive V2) works that way and doesn't support 16bit sram.

Pattern cursor placement is off but thats a minor issue.

corthax commented 1 year ago

On MED Pro it saves to second half of 512KB file. I guess BlastEm ssf mapper implementation in a bit different from Pro cart, it only allow 256KB save when enabled