Subversion Repositories pentevo

Rev

Rev 658 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1. #include <avr/pgmspace.h>
  2.  
  3. #include "mytypes.h"
  4. #include "main.h"
  5. #include "ps2.h"
  6.  
  7. //base configuration version string pointer [far address of PROGMEM]
  8. const ULONG baseVersionAddr = 0x1DFF0;
  9.  
  10. //bootloader version string pointer [far address of PROGMEM]
  11. const ULONG bootVersionAddr = 0x1FFF0;
  12.  
  13. UBYTE GetVersionByte(UBYTE index)
  14. {
  15.         if ( index < 0x10 )
  16.         {
  17.                 switch( ext_type_gluk )
  18.                 {
  19.                         case EXT_TYPE_BASECONF_VERSION:
  20.                         {
  21.                                 //base configuration version
  22.                                 return (UBYTE)pgm_read_byte_far(baseVersionAddr+(ULONG)index);
  23.                         }
  24.  
  25.                         case EXT_TYPE_BOOTLOADER_VERSION:
  26.                         {
  27.                                 //bootloader version
  28.                                 return (UBYTE)pgm_read_byte_far(bootVersionAddr+(ULONG)index);
  29.                         }
  30.  
  31.                         case EXT_TYPE_PS2KEYBOARDS_LOG:
  32.                         {
  33.                                 //PS2 keyboards log
  34.                                 return ps2keyboard_from_log();
  35.                         }
  36.  
  37.                         case EXT_TYPE_RDCFG:
  38.                         {
  39.                                 // read config byte
  40.                                 return (index==0) ? modes_register : 0xFF;
  41.                         }
  42.                 }
  43.         }
  44.         return (UBYTE)0xFF;
  45. }
  46.  
  47. void SetVersionType(UBYTE type)
  48. {
  49.         ext_type_gluk = type;
  50. }
  51.  
  52.  
  53.