Subversion Repositories pentevo

Rev

Rev 658 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
179 chrv 1
#include <avr/pgmspace.h>
2
 
3
#include "mytypes.h"
4
#include "main.h"
494 chrv 5
#include "ps2.h"
179 chrv 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
        {
494 chrv 17
                switch( ext_type_gluk )
179 chrv 18
                {
494 chrv 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
                        {
495 chrv 33
                                //PS2 keyboards log
494 chrv 34
                                return ps2keyboard_from_log();
35
                        }
658 lvd 36
 
37
                        case EXT_TYPE_RDCFG:
38
                        {
39
                                // read config byte
40
                                return (index==0) ? modes_register : 0xFF;
41
                        }
179 chrv 42
                }
43
        }
44
        return (UBYTE)0xFF;
45
}
46
 
47
void SetVersionType(UBYTE type)
48
{
494 chrv 49
        ext_type_gluk = type;
179 chrv 50
}
656 chrv 51
 
52