retro16 / acsi2stm

Atari ST ACSI to SD card converter with a STM32
GNU General Public License v3.0
155 stars 37 forks source link

ACSI2STM GemDrive not working with Atari Mega STE cache? #75

Open phjanderson opened 1 month ago

phjanderson commented 1 month ago

have an ACSI2STM with 2 SD cards, one in native TOS format with ICD PRO, another in FAT32 with GemDrive. This worked fine on my Atari Mega ST.

It doesn't seem to work correctly when I connect it to my new Atari Mega STE however. It seems that it runs fine on 8mhz and 16mhz without cache, but it hangs accessing the drives with cache enabled. Everything seems to work fine so far if I disable GemDrive completely using the jumper, even with cache enabled. So it seems that the GemDrive driver causes the trouble. I tried both the 4.12 and 5.0a firmware, no difference.

I'm wondering: is the ACSI2STM GemDrive support incompatible with the Mega STE cache or is there perhaps something wrong with my Mega STE?

I have a C398789-001 DMA controller, which supposed to be the "good" version, if I understand it correctly.

fplanque commented 2 weeks ago

@phjanderson I also have issues trying to get ACSI2STM to work with the Mega STE. I have the ACSI2STM in GemDrive mode by default.

I actually just took out my Mega STE after 30 years (thinking it's about time to backup its internal drive) but I think I forgot a lot about how to configure things...

Can you please tell me:

Thank you so much for your help !!

phjanderson commented 2 weeks ago

@fplanque This is an issue report, not a help forum, so I will try to keep it short and more in the context of workaround information for others experiencing this issue.

  • How you disabled cache?
  • How you switched to 8 MHz?

By default the Mega STE boots in 8mhz with cache disabled. The "official" way to control the cache is through XControl. So by changing the speed and cache in XControl (and saving it!) or by completely disabling XControl by renaming it to acx should bring you back to 8mhz after a reboot.

XBoot can also control the cache, so check your boot profile if it has cache enabled.

I wrote my own programs to control the CPU speed and cache instead: https://github.com/phjanderson/MSTE_CC But that won't help you much at this moment as you cannot copy them to your Atari without a working GemDrive.

  • If you have an internal hard drive on the mega STE, were you able to use it concurrently with the Mega STE?

I think I briefly tried it with both enabled, not sure. I believe the Atari HD has SCSI ID 0, so you need to change the jumper settings of the ACSI2STM to start on ID 1. The ACSI2STM documentation has information about the jumpers.

If you have more questions, I recommend you to make a posting on atari-forum.com or another Atari forum. Good luck!

phjanderson commented 2 weeks ago

@retro16 the Atari Sidecartrige GemDrive implementation does work on a Mega STE with cache enabled, here is the code he uses: https://github.com/sidecartridge/atarist-sidecart-gemdrive/blob/main/src/gemdrive.s

Search for MEGASTE_SPEED_CACHE_REG to see how and when he controls the CPU speed / cache. Perhaps this information is of help to you.