Rev 656 | 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 |