Howto - boot into a different core (eg Minimig) at powerup

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser Please create an account and log in to see all content by default. This is a limitation of the forum software.
Don't Panic. Please wash hands.
  • This question came up elsewhere, and i found it quite useful - so here it is :)


    Sometimes you may want to boot directly into a different core - eg Minimig - which can be achived with the following "trick":


    first, create a little BASIC program, which contains the following:

    Code
    1. 10 slot = 3
    2. 20 poke 53502,42
    3. 30 poke 53502,16+slot

    you can create this on your PC by pasting the above into a textfile, then convert it into an actual BASIC program using "petcat", which comes with the VICE emulator (there are other tools for this as well, but this is what i use and know works):

    Code
    1. petcat -w2 -o boot.prg boot.txt

    now copy the resulting boot.prg to (for example) the SD card that contains your minimig setup.

    enable "boot from SD card" in the chameleon settings, save settings

    insert that SD card, and powercycle the chameleon.


    voila - straight boot into the core you selected in the BASIC program. This way you can make yourself seperate SD cards for each system, and boot into the right core automatically.


    Have fun! :)

  • My MinimigAGACore is on slot 2. So I changed the program like this:

    Code
    1. 10 slot = 2
    2. 20 poke 53502.42
    3. 30 poke 53502.16 + slot


    After copying the program boot.prg into the main directory of the SD card, the boot process still hangs in the yellow window of the TC64V1 start mode. What am I doing wrong?


    P.S: If I use your source code with slot = 3, the core from slot 3 starts properly.

  • I can only guess... perhaps the Minimig core does not like the SD card being initialized already? Try flashing it to slot 3 and see what happens :) Or pull the sd card when it hangs perhaps.

  • Hmmm. Did you really put a full stop dot where the komma belong?

    My MinimigAGACore is on slot 2. So I changed the program like this:

    Code
    1. 10 slot = 2
    2. 20 poke 53502.42
    3. 30 poke 53502.16 + slot


    After copying the program boot.prg into the main directory of the SD card, the boot process still hangs in the yellow window of the TC64V1 start mode. What am I doing wrong?


    P.S: If I use your source code with slot = 3, the core from slot 3 starts properly.

  • Hmmm. Did you really put a full stop dot where the komma belong?

    I doubt it, as the BASIC interpreter would complain: The number would be interpreted as a REAL, which is the first error, and since the second argument is missing, there's another error. I guess we can safely assume that there is a comma in the actual source.

  • There is... when starting a core from the menu i am sending a CMD12 ("SD STOP TRANSMISSION") to the card first, then restart the respective slot. The reason was exactly this problem - sometimes a core would hang at reinitializing the SD card.

  • There is... when starting a core from the menu i am sending a CMD12 ("SD STOP TRANSMISSION") to the card first, then restart the respective slot. The reason was exactly this problem - sometimes a core would hang at reinitializing the SD card.

    Can't you add the CMD12 command to the above program code?

  • I doubt it, as the BASIC interpreter would complain: The number would be interpreted as a REAL, which is the first error, and since the second argument is missing, there's another error. I guess we can safely assume that there is a comma in the actual source.

    To be on the safe side, I repeated it again with the comma. The mistake remains. However, with another SD card the minimig core booted correctly ... problems then arise in the further loading process. I have now ordered two new SD cards and will try again with them.

  • Quote

    Can't you add the CMD12 command to the above program code?

    I'll have a look. not sure if that wouldnt blow up the program too much, and if its realistic to do in BASIC at all

  • Is there maybe a piece of ROM code that the BASIC program can SYS into that sends the command? Granted, ROM would have to be mapped in first, but that may make the BASIC program a lot shorter/simpler.

  • try if this helps... i cant reproduce the problem here, so it's kinda hard to fix :)


  • Yes, with this a clean boot process of the minimig core works on SLOT2 of the TC64V1 on my previous SD card. Nice work, thank you very much!