snapshots		/home/kio/DEVELOP/zxsnaps/


---- startup defaults section ----

# these defaults only apply if zxsp is launched 
# without a snapshot file to load

# model: 
#	16, 48i2, 48i3, 128, plus2, plus3
type			48i2			

# attached items:
#	ay128		ay soundchip of zx spectrum 128
#	fuller		fuller box
#	kempston	kempston joystick
#	sinclair1	sinclair1 joystick interface
#	sinclair2	sinclair2 joystick interface
#	if1			interface 1
#	xrom name	external rom loaded from file "name"
#	xram		external ram loaded from first internal rom
item1			ay128 soundchip
item2			kempston joystick
item3
item4
item5
item6
item7
item8
item9

# speed:
#	exact		exact speed, recommended.
#	fast		fastest, defaults to 'more scans' mode
#				both fast modi can't cope well with sound output!
#	more scans	fastest, done by adding scanlines to every frame
#				the system timer still runs at 50 Hz
#				programs will note that s.th. behaves unusual
#	more frames	fastest, done by adding frames
#				the system timer speeds up accordingly, e.g. autorepeat
#				programs will not note that they run faster
speed			exact			

# scale:
# 1 ... 4
scale			2

# sound:
# requires the 'open sound system' OSS
# on, off
sound			on


---- joystick section ----

# single uppercase character or keycode 
# ((see game keyboard table))

# 1st joystick
joystick_up			4114
joystick_down		4113
joystick_left		4117
joystick_right		4119
joystick_fire		4102

# 2nd joystick
joystick2_up 		0xffff
joystick2_down		0xffff
joystick2_left		0xffff
joystick2_right 	0xffff
joystick2_fire		0xffff


---- keyboard section ----

# keyboard window
# should klicking on symbol shift and caps shift 
# in the keyboard window toggle their depressed state (sticky on)
# or only press them until the mouse button is released (sticky off) ?
# note: you can't press more than one key at a time with the 
# mouse pointer so this kind of disabled's mode is for real
# keyboardless klickyklicky guys only ... :-)
sticky_shifts		on

# there are two translation modi: game and basic
# if launched without file argument this method is choosen:
keyboard			basic

# headerfile <qcharcodes.h> is broken
# overrides for compiled in modifier key masks:
qt_buggy_shiftmask	0x0008
qt_buggy_ctrlmask	0x0010
qt_buggy_altmask	0x0020

# now the 'basic' and 'game' mode keyboard translation tables follow
# if a key cannot be resoved in the currently selected mode, 
# the other mode is always tried too. if both tables supply no
# translation, the key is ignored.

# these are German keyboard translations
# 'basic' translation may be nearly universal
# the 'game' translation may be a problem; 
# e.g. "Z" and "Y" are swapped on most non-German keyboards
# ( "FOG OVER THE CHANNEL - EUROPE ISOLATED!" :-)
# whoever localizes these tables:
# please send your modified table to kio@odn.de

# each ascii or key code is translated into a 
# specci keymatrix descriptor 
# which consists of the following tokens:
#	1 ... 0 and A ... Z	press this key
#	CSH					caps shift key 
#	SSH					symbol shift
#	ENT					enter key
#	SPC					space key
#	+c					add caps shift key
#	+s					add symbol shift key
#	+x					add both shift keys ((sorry, does not work: => more than 2 keys!))
#	x					dead key (not assigned at all)
# note:
#	to define a key which emulates pressing caps shift 
#	and symbol shift use CSH+s or SSH+c

# 'basic' keyboard translation
# ascii code -> specci keymatrix descriptor
# this table has 256 entries coded in 32 lines named a0 ... av
# each line may be missing and will then be entirely set to unmapped
# $00 .. $1F should not be set to enforce usage of the physical translation 
# $80 .. $FF are probably mostly untranslateable except of sterling

a4		SPC	1+s	P+s	3+s	4+s	5+s	6+s	7+s		// space ! " # $ % & '
a5		8+s	9+s	B+s	K+s	N+s	J+s	M+s	V+s		// ()*+,-./
a6		0	1	2	3	4	5	6	7		// 01234567
a7		8	9	Z+s	O+s	R+s	L+s	T+s	C+s		// 89:;<=>?
a8		2+s	A+c	B+c	C+c	D+c	E+c	F+c	G+c		// @ABCDEFG
a9		H+c	I+c	J+c	K+c	L+c	M+c	N+c	O+c		// HIJKLMNO
aa		P+c	Q+c	R+c	S+c	T+c	U+c	V+c	W+c		// PQRSTUVW
ab		X+c	Y+c	Z+c	Y+x	D+x	U+x	H+s	0+s		// XYZ[\]^_
ac		x	A	B	C	D	E	F	G		// `abcdefg
ad		H	I	J	K	L	M	N	O		// hijklmno
ae		P	Q	R	S	T	U	V	W		// pqrstuvw
af		X	Y	Z	F+x	S+x	G+x	A+x	0+c		// xyz{|}~<del>
ak		x	x	x	X+s	x	x	x	x		// sterling

# 'game' keyboard translation
# QT keycode -> specci keymatrix descriptor
# the QT library keycodes can be fond in <qkeycode.h>
# normal keys 0...9 and A...Z are translated via table b
# special characters start from $1000 and are translated via table c

# only the 40 keys corresponding to the 40 specci keys get a
# physical translation, all other keys are still decoded to their meaning
# e.g. '"' gets translated to '2' + caps shift (the 2 keys physically pressed)
# and not 'P' + symbol shift, which generates a '"' on the specci keyboard

# qt provides "physical" keynumbers which are 
# mostly identical with their unshifted ascii key codes
# unfortunately this does not reflect 
# 	a) national keyboard layouts
# 	b) numberpad keys, which are identical to 
# 	   numbers or cursor keys _depending_ _on_ _numlock_ _state_ !
# 	c) left or right modifier key ((control, shift))
#	   right control key key is not reported as control key

b4		SPC	1+c	2+c	3+s	4+c	5+c	6+c	7+s		// space ! " # $ % & '
b5		8+c	9+c	B+s	K+s	SSH	J+s	SPC	7+c		// ()*+,-./
b6		0	1	2	3	4	5	6	7		// 01234567
b7		8 9 SPC+c SSH+c CSH 0+c CSH C+s		// 89:;<=>?
b8		x	A	B	C	D	E	F	G		// @ABCDEFG
b9		H	I	J	K	L	M	N	O		// HIJKLMNO
ba		P	Q	R	S	T	U	V	W		// PQRSTUVW
bb		X	Z	Y	Y+x	D+x	U+x	H+s	0+s		// XYZ[\]^_
bc		x	A	B	C	D	E	F	G		// `abcdefg
bd		H	I	J	K	L	M	N	O		// hijklmno
be		P	Q	R	S	T	U	V	W		// pqrstuvw
bf		X	Z	Y	F+x	S+x	G+x	A+x	0+s		// xyz{|}~<del>
bk		x	x	x	X+s	x	x	x	x		// sterling

c0		x	x	x	0+c	ENT	ENT	1+c	0+c		// esc,tab,bktab,bs,ret,ent,ins,del
c1		SPC+c x	x	x	x	x	x	x		// pause,print,sysreq,x,x,x,x,x
c2		x	x	5+c	7+c	8+c	6+c	x	x		// home,end,left,up,right,dn,pgup,pgdn
c3		x	x	x	x	x	x	x	x		// x,x,x,x,x,x,x,x
c4		CSH	SSH	CSH	CSH	2+c	x	x	x		// shift,control,meta,alt,
											// capslock,numlock,scrolllock,x
c5		x	x	x	x	x	x	x	x		// x,x,x,x,x,x,x,x
c6		x	x	x	x	x	x	x	x		// f1-f8
c7		x	x	x	x	x	x	x	x		// f9-f16
c8		x	x	x	x	x	x	x	x		// f17-f24
c9		x	x	x	x	x	x	x	x		// f25-f32
ca		x	x	x	x	x	x	x	x		// f33,f34,f35,superL,superR,menu,x,x

AFTER A SINGLE EMPTY LINE THIS LINE SHOULD BE THE LAST LINE
