Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Documentation about the Vampire hardware

Vcontrol GUI

Ozzy Boshi

Posts 31
29 Sep 2020 16:38


I made this little gui for the vcontrol program from flype

EXTERNAL LINK 
All it does is calling vcontrol that is installed in path.

Do you think it could be useful for vampire users? I dont use vcontrol often, but maybe someone would like the idea, if this is the case I will add new features.



Allan Versaevel

Posts 111
29 Sep 2020 22:08


I like front-ends (GUIs) for commandline only programs. I am trying your program as I type :)

Allan


Ozzy Boshi

Posts 31
30 Sep 2020 05:52


thx Allan, I am thinking about adding this option

IDESPEED Change the IDE speed

However it's not clear to me if it is the onboard v1200 ide speed or the motherboard ide speeed, in the first case i should fist check if the board is a v1200... things can be a little bit complicated.
However why should i decrease ide speed? I just set it to max.



Stefano Briccolani

Posts 586
30 Sep 2020 08:05


Ide speed is for v500 v1200 and V4 on board IDE, doesn't do nothing on motherboard ide so you don't need to inspect the board. Settings are different because not every CF/SD/hard disk is able to work reliably with maximum speed.


Chastanier Cclecle

Posts 19
30 Sep 2020 10:00


Ozzy boshi wrote:

thx Allan, I am thinking about adding this option
 
  IDESPEED Change the IDE speed
 
  However it's not clear to me if it is the onboard v1200 ide speed or the motherboard ide speeed, in the first case i should fist check if the board is a v1200... things can be a little bit complicated.
  However why should i decrease ide speed? I just set it to max.
 

Correct way of doing would be that VCONTROL (CLI) should present an API to get current hardware capability. Because if it is the GUI who guess that, it will have to be updated at every core upgrades... For instance the V2 600 did have FAST IDE at the beginning and later it was removed.

Anyway, I will trys this very interesting software tonight :)



Philippe Flype
(Apollo Team Member)
Posts 299
01 Oct 2020 07:54


The whole source code of the tool is available and a detailed documentation.

https://github.com/flype44/VControl/blob/master/DOCUMENTATION.md#documentation

The documentation already explains that IDE speed applies to the Vampire IDEs and not the legacy one(s).

https://github.com/flype44/VControl/blob/master/DOCUMENTATION.md#vcontrol-idespeed

Also the tool already checks the compatibility, no need for extra checks in the frontend. Just use the RC return code to know if it really applied.

https://github.com/flype44/VControl/blob/d270ed64ba254e9462d0d82d4a02227ab19aaed3/VControl.c#L1008


Stefano Briccolani

Posts 586
01 Oct 2020 09:52


Very useful tool ozzy.
Is already on my wbstartup!


Ozzy Boshi

Posts 31
01 Oct 2020 14:52


i have  a strange problem, apparently when setting ide speed, all that vcontrol does is writing a value at address 0xdd1020
 
  The strange thing is that vcontrol does not report the current speed, just sets it according to the user input.
 
  Vcontrolgui also attempts to read the WORD at address 0xdd1020 but it changes randomly, for example if in my code i set
  *((volatile UWORD*)VREG_FASTIDE) = 0x0000;
 
  then i read back this value when i press a button it changes to 49152 (0xC000 ????).
 
  Maybe this feature is intended for v4 or  v1200 with beta cores? I use a v1200 with old 2.12 (latest stable).
 


Philippe Flype
(Apollo Team Member)
Posts 299
01 Oct 2020 17:58


This is normal you get a random value when you try to read it back. You dont need to do this. This command uses the Read-Only Vampire VREG_FASTIDE (0xdd1020) chipset register. Like any Amiga chipset Read-Only register we'll get nonsense value when trying to read it. I added this information in the doc. Same behaviour with the SD speed command/register.
 
 
By the way, best way to handle this correctly would be i write a vampire.library which offers a set of get/set functions with a taglist. The library would be in charge to poke (set) the hw and store last poked value so that read back (get) become possible. Also, it s much more clean for a UI frontend to call functions than to DOS Execute.
 
 
 
 
  Proto example :
   
     

      void onIDESPEED_click(ULONG newspeed)
      {
          ULONG result, oldspeed;
         
          VLIB_Control(VGET_IDESPEED, &oldspeed);
         
          result = VLIB_Control(VSET_IDESPEED, newspeed);
         
          if(result == VLIB_SUCCESS)
          {
              VLIB_Control(VGET_IDESPEED, &newspeed);
             
              printf("IDE speed: old=%ld, new=%ld", oldspeed, newspeed);
          }
          else
          {
              printf("Cant set new speed (Error code: %ld)\n", result);
          }
      }
     
      void onMAPROM_click(STRPTR romFilename)
      {
          ULONG result;
         
          result = VLIB_Control(VSET_MAPROM, romFilename);
         
          if(result != VLIB_SUCCESS)
          {
              printf("Invalid rom file (Error code: %ld)\n", result);
          }
      }
     

     
   
  We may work togethers to accomplish that.


Allan Versaevel

Posts 111
03 Oct 2020 07:50


I have a suggestion, when selcting Kickstarts (to use the MapRom function), the path in the file requester should default to the "Devs:Kickstarts" folder. This is the standard location for such things :)

Allan


Ozzy Boshi

Posts 31
03 Oct 2020 09:50



Good catch Allan Versaevel
, try this

EXTERNAL LINK


Stefano Briccolani

Posts 586
04 Oct 2020 17:11


Ozzyboshi's VControl GUI video-test (in my awful English)
EXTERNAL LINK


Allan Versaevel

Posts 111
04 Oct 2020 18:21


I shall indeed. Thanks :)


posts 13