sy2002 / MiSTer2MEGA65

Framework to simplify porting MiSTer (and other) cores to the MEGA65
GNU General Public License v3.0
35 stars 8 forks source link

After merging from newest C64 enhancements: Only one vdrive is working #6

Closed sy2002 closed 1 year ago

sy2002 commented 1 year ago

After merging from newest C64 enhancements: Only one vdrive is working

sy2002 commented 1 year ago

@MJoergen your original bug report on Skype was:

In the OSM the menu default shows:
Drive x:<Mount Drive>
Drive y:%s
Drive z:%s

Only drive x enters the file selection handler, but when I select a file, and return to the main menu, the file name still doesn't show.

I cannot reproduce this bug in the M2M framework, which is good news.

In Skype you wrote:

This works correctly in the MiSTer2MEGA repo, so it's a bug introduced by my manual merge.
Do you have any ideas what could have gone wrong ?

If you mean by "manual merge" that you merged the M2M framework manually to the Galaga core (because you mentioned this in a Skype chat related to the Galaga core), the main reasons I would see why the VDrive system is not working in the Galaga core are these:

Did you copy all the files from the M2M/rom folder (including subfoldes) from the M2M framework to Galaga?

Assuming that the answer is yes, here is what I found:

   ---------------------------------------------------------------------------------------------
   -- Core specific device handling (QNICE clock domain)
   ---------------------------------------------------------------------------------------------

   core_specific_devices : process(all)
   begin
      -- make sure that this is x"EEEE" by default and avoid a register here by having this default value
      qnice_dev_data_o     <= x"EEEE";
      qnice_dev_wait_o     <= '0';

      case qnice_dev_id_i is

         -- @TODO YOUR RAMs or ROMs (e.g. for cartridges) or other devices here
         -- Device numbers need to be >= 0x0100

         when others => null;
      end case;
   end process core_specific_devices;

And consequently (as Galaga doesn't need virtual drives), there is no instantiation of MiSTer2MEGA65's vdrive system, neither in mega65.vhd nor in main.vhd: M2M/vhdl/vdrives.vhd.

The menu system actually needs a correctly instantiated vdrives.vhd and a working vdrives device to function properly.

So this is the reason for the behavior you experienced.

With this I conclude:

It "works as intended". But this reminds me that I should soon take the time to document how the vdrive system works in the M2M wiki :-)

I am closing this issue as invalid.