
conv		db 0,0,"1234567890-=",126
			db 9,"qwertyuiop[]",13
			db 14,"asdfghjkl;'#"
			db 15,"\zxcvbnm,./",16,18
			db 17," ",19
			db 81,82
			db 83,84
	      db 85,86
			db 87,88
			db 89,90
			db 128 dup(0)

;
;ibm scan code to bbc code conversion table
;

s2bbc		db	0,0,
			db 030h,031h,011h,012h,ÿ 	  		;1,2,3,4   		//top row on bbc
			db 013h,034h,024h,015h,  	 	 	;5,6,7,8
			db 025h,027h,017h,018h   	  		;9,0,-,=

			db 060h,010h,021h,022h,	 	  		;tab,q,w,e  	tab q w e
			db 033h,023h,044h,035h,	 	 		;r,t,y,u       r t y u
			db 026h,036h,037h,047h,0x38,		;i,o,p,[,]		i o p @ [

			db 001h,041h,051h,032h,		  		;ctrl,a,s,d
			db 043h,053h,054h,045h,		 		;f,g,h,j
			db 046h,056h,057h,048h,058h,049h,				;k,l,;,*,!,enter

		 	db 0aah,061h,042h,052h,	  	 		;\,z,x,c
			db 063h,064h,055h,065h,	  	 		;v,b,n,m,
			db 066h,067h,068h,			  		;<>?

			db 000h,062h,000h,			  		;shift,space,shift

			020h,071h, 	 				  		;f0,f1
			072h,073h,  	 			 		;f2,f3
			014h,074h,      			  		;f4,f5
			075h,016h,      			  		;f6,f7
			076h,077h       			  		;f8,f9


;
;	table of [ascii] [bbcrow] [bbc col]
;
;   	.........
;		<BS> <TAB> . . . RET .
;		0 1 2 3 4 5 6 7 8 9
;		  A B C D E F G H I
static int transTable[256][2]={
	0,0,	0,0,	0,0,	0,0,   // 0
	0,0,	0,0,	0,0,	0,0,   // 4
	5,9,	6,0,	0,0,	0,0,   // 8 [BS][TAB]..
	0,0,	4,9,	0,0,	0,0,   // 12 .RET..
	0,0,	0,1,	0,0,	-2,-2, // 16 .CTRL.BREAK
	4,0,	0,0,	0,0,	0,0,   // 20 CAPS...
	0,0,	0,0,	0,0,	7,0,   // 24 ...ESC
	0,0,	0,0,	0,0,	0,0,   // 28

	6,2,	0,0,	0,0,	6,9,   // 32 SPACE..[End]

	0,0,	1,9,	3,9,	7,9,   // 36 .[Left][Up][Right]

	2,9,	0,0,	4,1,	0,0,   // 40 [Down]...    //4,1

	0,0,	0,0,	5,9,	0,0,   // 44 ..[DEL].

	2,7,	3,0,	3,1,	1,1,   // 48 0123
	1,2,	1,3,	3,4,	2,4,   // 52 4567
	1,5,	2,6,	0,0,	0,0,   // 56 89
	0,0,	0,0,	0,0,	0,0,   // 60
	0,0,	4,1,	6,4,	5,2,   // 64.. ABC
	3,2,	2,2,	4,3,	5,3,   // 68  DEFG
	5,4,	2,5,	4,5,	4,6,   // 72  HIJK
	5,6,	6,5,	5,5,	3,6,   // 76  LMNO
	3,7,	1,0,	3,3,	5,1,   // 80  PQRS
	2,3,	3,5,	6,3,	2,1,   // 84  TUVW
	4,2,	4,4,	6,1,	0,0,   // 88  XYZ
	0,0,	0,0,	0,0,	0,0,   // 92
	0,0,	0,0,	0,0,	0,0,   // 96
	0,0,	0,0,	0,0,	0,0,   // 100
	0,0,	0,0,	0,0,	0,0,   // 104
	0,0,	0,0,	0,0,	0,0,   // 108
	7,1,	7,2,	7,3,	1,4,   // 112 F1 F2 F3 F4
	7,4,	7,5,	1,6,	7,6,   // 116 F5 F6 F7 F8
	7,7,	2,0,	2,0,	-2,-2, // 120 F9 F10 F11 F12
	0,0,	0,0,	0,0,	0,0,   // 124
	0,0,	0,0,	0,0,	0,0,   // 128
	0,0,	0,0,	0,0,	0,0,   // 132
	0,0,	0,0,	0,0,	0,0,   // 136
	0,0,	0,0,	0,0,	0,0,   // 140
	0,0,	0,0,	0,0,	0,0,   // 144
	0,0,	0,0,	0,0,	0,0,   // 148
	0,0,	0,0,	0,0,	0,0,   // 152
	0,0,	0,0,	0,0,	0,0,   // 156
	0,0,	0,0,	0,0,	0,0,   // 160
	0,0,	0,0,	0,0,	0,0,   // 164
	0,0,	0,0,	0,0,	0,0,   // 168
	0,0,	0,0,	0,0,	0,0,   // 172
	0,0,	0,0,	0,0,	0,0,   // 176
	0,0,	0,0,	0,0,	0,0,   // 180
	0,0,	0,0,	5,7,	1,8,   // 184  ..;=
	6,6,	1,7,	6,7,	6,8,   // 188  ,-./
	4,8,	0,0,	0,0,	0,0,   // 192  @ ...
	0,0,	0,0,	0,0,	0,0,   // 196
	0,0,	0,0,	0,0,	0,0,   // 200
	0,0,	0,0,	0,0,	0,0,   // 204
	0,0,	0,0,	0,0,	0,0,   // 208
	0,0,	0,0,	0,0,	0,0,   // 212
	0,0,	0,0,	0,0,	3,8,   // 216 ...[
	7,8,	5,8,	2,8,	0,0,   // 220 .][#~].
	0,0,	0,0,	0,0,	0,0,   // 224
	0,0,	0,0,	0,0,	0,0,   // 228
	0,0,	0,0,	0,0,	0,0,   // 232
	0,0,	0,0,	0,0,	0,0,
	0,0,	0,0,	0,0,	0,0,
	0,0,	0,0,	0,0,	0,0,
	0,0,	0,0,	0,0,	0,0,
	0,0,	0,0,	0,0,	0,0
};


;
;	turns a windows key number into a bbc row and columb value
;

int TranslateKey(int vkey, int *row, int *col)
{
	row[0] = transTable[vkey][0];
	col[0] = transTable[vkey][1];

	return(row[0]);
}


