[*]
 
; unreal speccy configuration file
 
 
 
UNREAL=0.39.0   ; make sure you don't have old INI version
 
 
 
 
 
[MISC]
 
; give idle timeslices to other applications
 
ShareCPU=1      ; 1 - only for fast CPUs (incompatible with SoundDrv=none)
 
;
 
HighPriority=1  ; boost process priority, disabled on ShareCPU=0
 
;
 
SyncMode=SOUND ; video synchronization method: sound, tsc, video
 
;
 
HighResolutionTimer=0 ; 1 - set system timer resolution to 1ms, 0 - default timer resolution (~15ms)
 
;
 
; high memory: PENTAGON, SCORPION, PROFSCORP, PROFI, ATM450, ATM710, ATM3, KAY, PLUS3, QUORUM
 
HIMEM=QUORUM
 
; memory size, KB. pentagon,atm2: 128/256/512/1024, scorp,kay: 256/1024,
 
; ATM450: 512/1024, profi: 1024 only, quorum: 128/1024
 
RAMSize=1024
 
; Lock memory above 128k when loading sna128 (pentagon only)
 
Sna128Lock=1
 
; intercept rom tape loader for faster loading
 
TapeTraps=1
 
; start tape on ROM load routine
 
TapeAutoStart=1
 
; cmos on DFF7/BFF7: none, DALLAS (pc chip), or 512Bu1 (russian chip)
 
CMOS=512Bu1
 
; cache size: 16,32 or 0 - disabled. no effect for ATM-4.50 model
 
Cache=0
 
; bits, that can't be updated by Z80 and cleared by RESET (decimal value)
 
; ex: mask=3 - disable HWMC and 512x192, mask=255 - disable all additional hardware
 
EFF7mask=0      ; EFF7mask=0 - all pentagon features on
 
;
 
SMUC=0          ; enable/disable NVRAM + CMOS RTC
 
;
 
RESET=MENU       ; may be: BASIC,DOS,MENU,SYS
 
;
 
ZC=0             ; enable/disable Z-Controller
 
;
 
HideConsole=0   ; for gui freaks, who annoyed by main console window, set to 1
 
;
 
ConfirmExit=0   ; 1 for exit confirmation message
 
;
 
; help filename
 
Help=help_eng.html
 
 
 
; directory with zx-files
 
DIR=.
 
 
 
; Kondrat'yev ISA modem emulated through windows modem on COM-port
 
; if you own internal PCI modem, use "settings/input" dialog to find out port
 
Modem=NONE      ; NONE or COM1-COM255
 
 
 
 
 
[AUTOLOAD]
 
; disk images and snapshot, loaded at startup
 
; file may be compressed, but only one file in archive is allowed
 
;c:\zx\us032atm\atmmm4.trd
 
;c:\zx\sys.trd
 
diskA=
 
diskB=
 
diskC=
 
diskD=
 
;snapshot=demo1.sna
 
DefaultDrive=Auto ; Auto, A, B, C, D
 
 
 
 
 
[INPUT]
 
; default/bk08/quorum
 
ZXKeyMap=quorum
 
; you can define own layout, naming section in this INI file [ZX.KEYS.myname]
 
; create layouts for xas/storm/zxasm/alasm/zxword/sts/etc yourself, i'm bored
 
KeybLayout=quorum
 
KeybPCMode=0    ; when enabled, using pc defaults, ex: SHIFT+7 => &
 
Mouse=KEMPSTON  ; mouse type: NONE/KEMPSTON/AY
 
Wheel=KEMPSTON  ; mouse wheel: NONE/KEMPSTON/KEYBOARD
 
JoyMouse=0      ; emulate kempston joystick on mouse
 
MouseScale=0    ; logarithmic scale: ZX_mouse=PC_mouse*2^(Scale), valid: [-3;3]
 
SwapMouse=0     ; swap left and right mouse buttons
 
KJoystick=1     ; emulate kempston joystick on keyboard and/or gameport
 
FJoystick=0     ; emulate fuller joystick on keyboard and/or gameport
 
Matrix=0        ; emulate keymatrix effect
 
Fire=KFIRE      ; autofire key -> kempston
 
FireRate=1      ; autofire button up/down delay (INTs)
 
AltLock=1       ; does not update ZX-SPECTRUM keyboard while ALT pressed
 
ATMKBD=0        ; ATM PC/XT keyboard controller
 
Joy=0           ; Joystick id (0, 1, ...)
 
 
 
; clipboad paste delays
 
HoldDelay=2
 
ReleaseDelay=5
 
NewlineDelay=20
 
 
 
 
 
[ULA]
 
Frame=71680      ; t-states in frame
 
Paper=17989      ; t-states before paper
 
Line=224         ; t-states in line
 
int=50           ; int freq
 
intlen=32        ; int length in t-states
 
EvenM1=0         ; align M1 cycle to even T-state (for scorpion)
 
4TBorder=0       ; update border every 4T states (for scorpion)
 
FloatBus=0       ; unstable data bus
 
FloatDOS=0       ; unstable data bus in TR-DOS mode
 
PortFF=0         ; enable/disable port FF
 
mcx_small=320    ; visible multicolor area width (small border)
 
mcy_small=240    ; visible multicolor area height (small border)
 
b_top_small=24   ; top border height (small border)
 
b_left_small=32  ; left border width (small border)
 
mcx_full=384     ; visible multicolor area width (full border)  
 
mcy_full=288     ; visible multicolor area height (full border) 
 
b_top_full=48    ; top border height (full border)              
 
b_left_full=64   ; left border width (full border)              
 
 
 
Preset=PENTAGON     ; don't use above settings and load preset
 
 
 
; PRESET.NAME=FRAME,PAPER,LINE,INT,INTLEN,EvenM1,4TBorder,floatBus,floatDOS,PortFF,
 
; mcx_small,mcy_small,b_top_small,b_left_small,mcx_full,mcy_full,b_top_full,b_left_full
 
PRESET.PENTAGON=71680,17989,224,50,32,0,0,0,0,0,320,240,24,32,384,288,48,64
 
PRESET.SCORPION=69888,14344,224,50,32,1,1,0,0,1,320,240,24,32,384,288,48,64 ; thanks to Faster
 
PRESET.SCORPION_TURBO+=70784,14344,224,50,32,0,1,0,0,1,320,240,24,32,384,288,48,64 ; thanks to Faster
 
PRESET.ATM1_2_3.5MHz=69888,14395,224,50,32,0,0,0,0,1,320,240,24,32,384,288,48,64 ; thanks to DDp
 
PRESET.ATM1_2_7.0MHz=99880,17989,224,50,32,0,0,0,0,1,320,240,24,32,384,288,48,64
 
PRESET.PROFI=69888,12580,224,50,28,0,0,0,0,0,320,240,24,32,384,288,48,64 ; thanks to DDp
 
PRESET.KAY1024=69887,16132,224,50,32,0,1,0,0,0,320,240,24,32,384,296,56,64 ; (яюфуюэ яюф kay_demo)
 
 
 
; ATM 7.10 hi-res video modes swap RAM/CPU address bus A5-A7<=>A8-A10
 
AtmMemSwap=0
 
; reprogram color DACs with ATM palette. with this option
 
; noflic filter works only in fullscreen 16/32-bit,
 
; colors of system leds are also affected
 
UsePalette=1
 
ProfiMonochrome=0
 
;
 
ULAPlus=0     ; enable/disable ULA+
 
 
 
[VIDEO]
 
 
 
VSync=0       ; enable for slower, but less jerky screen repaint.
 
              ; uses backbuffer - requires twice more video memory
 
              ; WARNING: eats a lot of cpu time!
 
 
 
FullScr=0     ; start at full-screen. windowed mode can be used only for
 
              ; GDI, Blitter or Overlay video filter / driver
 
 
 
Refresh=0     ; monitor refresh rate in fullscreen mode (0-default).
 
              ; for video=resampler, the more - the better
 
 
 
Border=small  ; border size:            none / small / wide
 
NoFlic=0      ; apply noflic filter
 
AltNoFlic=0   ; use interlaced algorithm for video=double
 
FlashColor=0  ;
 
 
 
MinRes=480    ; minimal screen y-resolution in fullscreen mode
 
              ; use 480 or higher to avoid switching mode when entering monitor
 
              ; use 1024 to force 1280x1024 on LCD instead of 1280x960
 
 
 
 
 
ChunkSize=auto  ; 2,4, or auto-detect (only for ch* videofilters)
 
PixelScroll=0   ; detect per-pixel scrolling for video=text
 
 
 
 
 
; frame resampler options:
 
rsm.frames=4  ; frames to mix (2-8)
 
 
 
; fir interpolation mode:
 
; 2C - 12hz cut-off (gigascreen), 3C - 8hz cut-off (3-color)
 
; FULL - full details (scrollers), SIMPLE - average of last 2 frames
 
rsm.mode=2C
 
 
 
 
 
; scale factor for 'video=advmame'. accepted values: 2,3,4
 
; 4x scale requires 1280x960 pixels. use border=none, if your monitor displays only 1024x768
 
scale=2
 
 
 
; window scale factor (for hardware stretching)
 
winscale=1
 
 
 
; video filter/renderer
 
 
 
video=double
 
 
 
; values for video filter:
 
;  normal - fastest, but supports only standart spectrum screen, noflic, flash-color and HWMC
 
;  double - slower, but offers better quality and works in: pentagon 512x192, profi 512x240, ...
 
;  triple - 3x picture scale
 
;  quad - 4x picture scale, designed to use in LCD with 1280x1024 to avoid hardware stretching
 
;         use with minres=1024 to avoid 1280x960 mode
 
;  text - converts 4x8 fonts to 8x8 or 8x16 (for reading e-zines)
 
;  resampler - converts spectrum 50hz-int into 60/75/80/... hz display refresh
 
;  bilinear - color interpolation (MMX)
 
;  scale - fake 'vector' scaling
 
;  advmame - 2x,3x,4x scaling algorithm from AdvanceMAME project
 
;  tv - color TV emulation, windowed mode
 
;  ch_ov - chunky (fast), windowed mode (overlay, 16bit)
 
;  ch_hw - chunky (fast), windowed mode (hardware accel, 32bit)
 
;  ch_bl - chunky (filtered,320x240x16)
 
;  ch_b  - chunky (filtered,640x480x16)
 
;  ch4true - 32bit 4x4 chunky, full color precision (slow, but no special hardware reqd)
 
 
 
; driver for video=normal/double/triple/quad/text
 
 
 
driver=blt
 
 
 
; video driver:
 
;   ddraw - direct access to video memory, fullscreen only, fastest
 
;   ddrawh, ddrawt - fullscreen 16- and 32-bit modes
 
;   gdi   - standart windows driver (slowest, but most compatible)
 
;   blt   - hardware blitter. recommended for accelerated cards (geforce4/etc)
 
;   ovr   - video overlay. recommended in windowed mode for slow video cards
 
;   d3d   - hardware scaling via direct 3d surface (dx9 required)
 
;   d3de  - hardware scaling via direct 3d surface (dx9 required) fullscreen only
 
 
 
fastlines=0 ; for video=double - draw twice faster in expense of visual quality
 
            ; for video=anti64 - 4x8->8x8, else 4x8->8x16
 
 
 
; use overlay is faster, but you'll get wrong colors if videocard can't
 
; use RGB555/RGB565 pixels formats for overlay (such as all nVidia cards)
 
; some video cards do interpolation in overlay mode,
 
; even if we don't requested it
 
 
 
ScanIntens=100;45  ; (%) bright for scan lines when video=double,fastlines=0
 
               ; only for true-color and high-color modes
 
               ; 8-bit modes use palette values ZN,ZB
 
 
 
; ignore these filters
 
Hide= ;ch_bl,ch_ov,ch4true
 
 
 
; update border for CPU expensive filters
 
Update=1
 
; how much frames to skip before displaying frame (for PCI video set to 2)
 
SkipFrame=0
 
; don't wastetime on drawing when running on max speed
 
SkipFrameMaxSpeed=64
 
; screenshot format: SCR, BMP, PNG
 
ScrShot=PNG
 
; directory for screenshots (without '\' at end)
 
ScrShotDir=.
 
; when enabled, displays videocard vendor id, device id, card name
 
; (warning: sometimes uses driver database at http://crl.microsoft.com !!!)
 
; when disabled, faster startup but no additional information
 
DetectModel=0
 
 
 
; apply filter for 1x2 Atari chunks. situable for games, converted from XL,
 
; like SpyVsSpy, Flying Shark. presets for games defined in [COLORS] section
 
; (for now, filter works in 8-bit and 16-bit-normal /not-double/ modes)
 
;AtariPreset=fl_shark_red_palette
 
AtariPreset=none
 
 
 
 
 
; ffmpeg settings
 
; exec:       path and name of ffmpeg executable (without quotes)
 
; newconsole: 1 - open new console for ffmpeg output,
 
;             0 - print ffmpeg output into emul's console (useful for debug)
 
; parm:       encoding settings (see ffmpeg doc)
 
; vout:       output video file name (use '#' sign for sequence number substitution)
 
ffmpeg.exec=ffmpeg.exe
 
ffmpeg.newconsole=1
 
 
 
; ffmpeg encoding options
 
; -ss 00:00:00.500   - skip first 500 ms (skip 25 frames with status line)
 
; -af volume=3.0     - gain sound volume by 3
 
; -vf "..."          - apply video filter
 
; -r 25              - set 25 fps
 
; -c:a ...           - set audio codec ("copy" for uncompressed wav)
 
; -c:v ...           - set video codec ("copy" for uncompressed rgb24)
 
; -b:a 320k          - set bitrate for audio
 
; -b:v 2800k         - set bitrate for video
 
 
 
;# mp3:320kbps, x264:baseline,10
 
ffmpeg.parm=-c:a libmp3lame -b:a 320k -af volume=3.000000 -c:v libx264 -pix_fmt yuvj420p -preset:v veryfast -profile:v baseline -crf 10 -ss 00:00:00.500
 
ffmpeg.vout=video#.avi
 
 
 
;# mp3:320kbps, x264:lossless
 
;ffmpeg.parm=-c:a libmp3lame -b:a 320k -af volume=3.000000 -c:v libx264 -pix_fmt yuvj420p -preset:v veryfast -crf 0 -ss 00:00:00.500
 
;ffmpeg.vout=video#.avi
 
 
 
;# wav, x264:lossless
 
;ffmpeg.parm=-c:a copy -c:v libx264 -pix_fmt yuvj420p -preset:v veryfast -crf 0 -ss 00:00:00.500
 
;ffmpeg.vout=video#.avi
 
 
 
;# uncompressed
 
;ffmpeg.parm=-c:a copy -c:v copy -ss 00:00:00.500
 
;ffmpeg.vout=video#.avi
 
 
 
;# Image sequence: PNG
 
;ffmpeg.parm=
 
;ffmpeg.vout=video#_%06d.png
 
 
 
;# PAL DVD video
 
;  MUST use picture size greater than 720x576 (for example, DOUBLE SIZE and COMPLETE border)!
 
;ffmpeg.parm=-af volume=3.000000 -bf 2 -vf "crop=720:576,tinterlace=mode=interlacex2" -aspect 4:3 -target pal-dvd -r 25 -b:v 2800k -ss 00:00:00.500
 
;ffmpeg.vout=video#.mpg
 
 
 
;# PAL DVD video
 
;  MUST use picture size lower than 720x576 (and DOUBLE SIZE for correct interlace)!
 
;ffmpeg.parm=-af volume=3.000000 -bf 2 -vf "pad=720:576:(ow-iw)/2:(oh-ih)/2,tinterlace=mode=interlacex2" -aspect 4:3 -target pal-dvd -r 25 -b:v 2800k -ss 00:00:00.500
 
;ffmpeg.vout=video#.mpg
 
 
 
;# RTMP streaming: justin.tv
 
;ffmpeg.parm=-af volume=3.000000 -r 10 -ss 00:00:00.500 -f flv 
 
;ffmpeg.vout=rtmp://live.justin.tv/app/live_74829844_mfrdpoeg034tn03gn03ring3f0rngc
 
 
 
;# RTMP streaming: own3d.tv
 
;ffmpeg.parm=-af volume=3.000000 -r 10 -ss 00:00:00.500 -c:v libx264 -pix_fmt yuvj420p -preset:v veryfast -profile:v baseline -crf 10 -f flv 
 
;ffmpeg.vout=rtmp://live.eu.own3d.tv/live/b8493921_949585_kjhb5632l3l1
 
 
 
;# RTMP streaming: twitch.tv
 
;ffmpeg.parm=-af volume=3.000000 -r 10 -ss 00:00:00.500 -c:v libx264 -pix_fmt yuvj420p -preset:v veryfast -profile:v baseline -crf 10 -bufsize 1835k -f flv
 
;ffmpeg.vout=rtmp://live.justin.tv/app/live_sub_5b8ed4fae83fe83e920227337beab7e73b7a3ba3
 
 
 
 
 
 
 
[BETA128]
 
Beta128=1
 
Noise=0 ; seek noise
 
Traps=0 ; intercept sector save/load routines in TR-DOS ROM for faster loading
 
Fast=0  ; disable all FDD/FDC delays. some programs will not work
 
IL=1    ; sector interleave (1=1:1, 2=2:1, 3=3:1) applied when loading TRD/SCL
 
        ; if you prefer fast=0, set to 2 for 3d13 loaders, to 1 for turbo-loaders
 
BOOT=boot6.$b
 
 
 
[SOUND]
 
SoundFilter=0   ; lowpass filter (good for beeper)
 
SoundDrv=ds     ; wave, ds or none
 
RejectDC=1      ; reject DC component of output sound
 
 
 
; sound buffer size for SoundDrv=wave
 
; the more buffer, the more delay before sound playing...
 
; if sound is jerky, try SoundBuffer=16
 
; for really fast computers with windows 2000, try SoundBuffer=4
 
SoundBuffer=auto;10  ; only for SoundDrv=wave
 
 
 
DSPrimary=0;1     ; use primary buffer for DSound. no sound in background.
 
                ; useful only for troubleshooting
 
 
 
 
 
; when [SOUND] Enabled=0, emulator runs on maximum speed
 
Enabled=1
 
 
 
Fq=44100        ; check maximum sampling rate in your soundcard manual
 
                ; setting freq not supported by hardware
 
                ; will cause resampling and degrade quality and performance
 
 
 
GSType=none     ; BASS, Z80 or NONE
 
GSReset=0       ; reinit GS on reset
 
 
 
SD=0            ; enable/disable soundrive
 
CovoxFB=0       ; enable/disable pentagon covox
 
CovoxDD=0       ; enable/disable scorpion covox
 
MoonSound=1     ; enable/disable moonsound
 
 
 
Saa1099=0       ; enable/disable saa1099
 
 
 
; max sound volume is 8192. set to 0 to completely disable sound device
 
BeeperVol=8192     ; most popular sound device
 
MicOutVol=1000     ; tape saving
 
MicInVol=1000      ; tape loading
 
AYVol=8192         ; volume of each channel
 
CovoxFBVol=8192    ; pentagon covox
 
CovoxDDVol=6000    ; scorpion covox
 
SDVol=4000         ; soundrive
 
GSVol=8000         ; general sound (for both high- and low- level emulation modes)
 
BASSVol=8000       ; MOD-player of BASS.DLL
 
MoonSoundVol=8000  ; ZXM-MoonSound
 
 
 
[NGS]           ; neo gs settings
 
RamSize=2048    ; ngs ram size 2048, 4096
 
; sdcard image
 
SDCARD=
 
 
 
[SAA1099]
 
FQ=8000000
 
 
 
[AY]
 
Chip=YM                         ; bus reaction (none/AY/YM/YM2203)
 
FQ=1774400                      ; chip clock fq
 
Stereo=ABC                      ; AY stereo mode - any of STEREO.*
 
VolTab=default.YM               ; volume table - any of VOLTAB.*
 
UseSamples=0                    ; 0 - square tones, 1 - digital samples (low quality)
 
; double-AY scheme:
 
;   none    - no soundchip
 
;   default - single AY/YM
 
;   FULLER  - fuller box (single AY/YM) (0x3F, 0x5F)
 
;   PSEUDO  - pseudo-turbo (one port for two devices + some phase shift)
 
;   QUADRO  - pentagon 2nd AY on #AFFD,#EFFD
 
;   POS     - power of sound turbo-AY (bit 0 of port #1F)
 
;   CHRV    - NedoPC turbo-sound (switch chip on selection reg #FE/FF)
 
Scheme=default;CHRV;default
 
 
 
 
 
; STEREO.PRESET_NAME=A_left,A_right,B_left,B_right,C_left,C_right
 
; (you can define your custom presets, all numbers are from [0; 100])
 
STEREO.ABC=100,10,66,66,10,100
 
STEREO.ACB=100,10,10,100,66,66
 
STEREO.BAC=66,66,100,10,10,100
 
STEREO.mono=66,66,66,66,66,66
 
STEREO.unreal=90,20,66,66,20,90
 
 
 
; volume tables
 
VOLTAB.default.AY=0000,0340,04C0,06F2,0A44,0F13,1510,227E,289F,414E,5B21,7258,905E,B550,D7A0,FFFF
 
VOLTAB.default.YM=0000,0000,00EF,01D0,0290,032A,03EE,04D2,0611,0782,0912,0A36,0C31,0EB6,1130,13A0,1751,1BF5,20E2,2594,2CA1,357F,3E45,475E,5502,6620,7730,8844,A1D2,C102,E0A2,FFFF
 
VOLTAB.BULBA_OPEN.AY=0000,1111,2222,3333,4444,5555,6666,7777,8888,9999,AAAA,BBBB,CCCC,DDDD,EEEE,FFFF
 
VOLTAB.BULBA_OPEN.YM=0000,0000,041A,08D4,11A8,1A7B,234F,2C23,34F7,3DCB,469F,4F72,5846,611A,69EE,72C2,7B96,8469,8D3D,9611,9EE5,A7B9,B08D,B960,C234,CB08,D3DB,DCB0,E584,EE57,F72B,FFFF
 
VOLTAB.DELPHISPEC=0136,0170,01B5,0208,026A,02DF,0369,040E,04D2,05BB,06CF,0818,099F,0B6F,0D97,1026,1332,16D0,1B1D,203A,264D,2D85,361A,404D,4C6C,5AD4,6BF3,804D,987C,B53B,D764,FFFF
 
VOLTAB.X128=0000,0200,0500,0700,0A00,0C00,1200,1600,1D00,2200,2600,2C00,3F00,3F00,3F00,FF00
 
VOLTAB.YASE=0000,0200,0500,0700,0A00,0C00,1200,1600,1D00,2200,2600,2C00,3F00,3F00,3F00,FF00
 
VOLTAB.ZXMAK=0000,0000,00F8,01C2,029E,033A,03F2,04D7,0610,077F,090A,0A42,0C3B,0EC2,1137,13A7,1750,1BF9,20DF,2596,2C9D,3579,3E55,4768,54FF,6624,773B,883F,A1DA,C0FC,E094,FFFF
 
;original Lion17.YM=0000,0156,0228,033A,0502,086F,0CD4,17B9,1AF0,2E8D,4047,4F47,6528,7B19,92E1,AAAA
 
;original Lion17.AY=0000,0014,007F,00BF,00FA,0139,0175,01BB,0241,02F1,03F2,04B2,05DE,076B,08BA,0A0F
 
VOLTAB.Lion17.YM=0000,0201,033C,04D7,0783,0CA6,133E,2395,2868,45D3,606A,76EA,97BC,B8A5,DC51,FFFF
 
VOLTAB.Lion17.AY=0000,01FD,0CA0,12FD,18DA,1F1E,2515,2C0A,395C,4ADC,6468,777F,9552,BCCA,DE18,FFFF
 
;original Vaggelis Kapartzianis=00,03,04,05,06,07,08,0A,0C,0E,11,15,19,1D,23,2A
 
VOLTAB.Vaggelis Kapartzianis=0000,1249,1861,1E79,2492,2AAA,30C2,3CF3,4924,5555,679E,7FFF,9860,B0C2,D554,FFFF
 
VOLTAB.RAMSOFT.AY=0000,0364,0500,0700,0A80,1000,1600,2300,2A00,4300,5C00,7300,9180,B400,D800,FFFF
 
VOLTAB.RAMSOFT.YM=0000,0000,00F8,01C2,029E,033A,03F2,04D7,0610,077F,090A,0A42,0C3B,0EC2,1137,13A7,1750,1BF9,20DF,2596,2C9D,3579,3E55,4768,54FF,6624,773B,883F,A1DA,C0FC,E094,FFFF
 
VOLTAB.R80=0000,0201,033C,04D7,0783,0CA6,133E,2396,2868,45D4,606A,76EA,97BC,B8A6,DC52,FFFF
 
 
 
[COLORS]
 
color=alone     ; default
 
 
 
; palette format:
 
; name=ZZ,ZN,NN,NB,BB,ZB:R11,R12,R13;R21;R22;R23;R31;R32;R33
 
; where ZZ,NN,BB - bright levels for black,normal,and bright colors
 
; ZN,NB,ZB - bright levels for zero+normal, normal+bright, zero+bright
 
;            for GIGASCREEN and FLASH-COLORS
 
; Rnn - matrix for post-processing:
 
;  real_Red    = (Red*R11 + Green*R12 + Blue*R13) / 0x100
 
;  real_Green  = (Red*R21 + Green*R22 + Blue*R23) / 0x100
 
;  real_Blue   = (Red*R31 + Green*R32 + Blue*R33) / 0x100
 
;
 
; note: emulator uses 8-bit precision for color components,
 
; 8-bit filters: use 6 bit precision (VGA palette limitation)
 
; overlay & hi-color: truncates results to 5 bit
 
; true color: no quality loss
 
;
 
; R, G, B - 0..0xFF
 
; R11..R33 - 0..0x100
 
; palette settings does not affect chunky modes
 
;
 
; default=00,80,C0,E0,FF,C8:100,00,00;00,100,00;00,00,100
 
 
 
Mars=00,80,C0,E0,FF,C8:100,00,00;40,C0,00;00,40,C0
 
Ocean=20,80,A0,C0,E0,A8:D0,00,30;00,D0,30;00,00,100
 
Grey=00,80,C0,E0,FF,C8:49,92,24;49,92,24;49,92,24
 
alone=00,60,AA,E0,FF,AA:100,00,00;00,100,00;00,00,100
 
pulsar=00,76,CD,E9,FF,9F:100,00,00;00,100,00;00,00,100
 
ATM=00,55,AA,E0,FF,AA:100,00,00;00,100,00;00,00,100
 
 
 
; presets for atari-like mode
 
; format: <PAPER><INK>:<COL1><COL2><COL3><COL4> [ , <PAPER><INK>:<COL1><COL2><COL3><COL4> ]*
 
; color is a mix of 2 pure spectrum colors, e.g. 11=red+red=red, 47=green+white=light-green, etc...
 
atari.fl_shark_red_palette=06:EE666600
 
atari.test=70:00132177,0F:001199FF,34:33119944
 
 
 
 
 
[HDD]
 
Scheme=NONE     ; interface type: NONE/ATM/NEMO/NEMO-A8/NEMO-DIVIDE/SMUC/PROFI/DIVIDE
 
SkipReal=1;1  ; disable work with physical drives. faster startup when
 
            ; you have no connected spectrum drive(s)
 
 
 
CDROM=SPTI ;ASPI;SPTI  ; SPTI (native WinNT) or ASPI (use 3rd-party library wnaspi32.dll)
 
 
 
; for image file, specify filename with full path, else it'll not work
 
 
 
; master device. specify image filename or <MODEL,SERIAL> to use real drive
 
Image0=
 
;D:\CPM.HDD
 
CHS0=20/16/63  ; max size, accessible through CHS. not used for real drive
 
LBA0=20160;412110     ; max size, accessible through LBA. not used for real drive
 
HD0RO=1         ; read only flag
 
CD0=0           ; 1 if image is cdrom
 
; slave device. empty filename used for disconnected device
 
Image1=
 
;<SAMSUNG CD-ROM SC-140F,>
 
;<_NEC CD-RW NR-7800B>
 
;<SONY DVD RW DRU-710A,May26,2005>
 
CHS1=0/0/0
 
LBA1=0
 
HD1RO=0
 
CD1=0            ; 1 if image is cdrom
 
 
 
[ZC]            ; Z-Controller settings
 
; sdcard image
 
SDCARD=
 
 
 
[ROM]
 
; general sound firmware
 
GS=bootgs.rom
 
 
 
; 64/128/512/1024K ROM images (single file)
 
 
 
ATM1=atm103rs.rom
 
 
 
;ATM2=Xbios103.rom
 
ATM2=bios_1_07_13.rom
 
;ATM2=glukatm.rom
 
 
 
ATM3=zxevo.rom
 
 
 
; standard PROFI 64K rom
 
PROFI=profi.rom
 
 
 
; standard scorpion 64K rom
 
SCORP=scorp295.rom
 
 
 
; for SMUC 512k ROM, use file.rom:0 and file.rom:1 to select active bank
 
PROFROM=scorp_prof401.rom:0
 
 
 
; standard +3 64K rom
 
PLUS3=plus341.rom
 
 
 
; standard quorum 64K rom
 
QUORUM=qu7v42.rom
 
 
 
; moonsound wavetable
 
MOONSOUND=yrw801.rom
 
 
 
 
 
; you can create own 64K-ROMSET, naming ini section [ROM.my_own_set]
 
; for empty ROMSET, single-file large ROM used (accordingly to memory model)
 
ROMSET=
 
 
 
[ROM.default]
 
title=Separate ROMs set
 
; service rom [optional]
 
sys=glukpen.rom
 
; basic48 - high 16K of sinclair rom [required!]
 
sos=2006.rom
 
; tr-dos [optional]
 
dos=dos6_10e.rom
 
; basic128 - low 16K of sinclair rom [optional]
 
128=qc_3_05.rom
 
 
 
[ROM.pentagon]
 
title=Pentagon-128 (32K) + TR-DOS
 
128=pentagon.rom:0
 
sos=pentagon.rom:1
 
dos=trd504tm.rom
 
sys=trd504tm.rom
 
 
 
[ROM.GLUK]
 
title=Mr Gluk Reset Service
 
128=qc_3_05.rom
 
sos=2006.rom
 
dos=dos6_10e.rom
 
sys=glukpen.rom
 
 
 
[ROM.scorpion]
 
title=Scorpion (64K,v2.95)
 
128=scorp295.rom:0
 
sos=scorp295.rom:1
 
sys=scorp295.rom:2
 
dos=scorp295.rom:3
 
 
 
[ROM.profi]
 
title=PROFI (64k)
 
sys=profi.rom:0
 
dos=profi.rom:1
 
128=profi.rom:2
 
sos=profi.rom:3
 
 
 
[ROM.KAY1]
 
title=KAY (64K,JV Kramis 0.3)
 
128=kay1024.rom:0
 
sos=kay1024.rom:1
 
dos=kay1024.rom:2
 
sys=kay1024.rom:3
 
 
 
[ROM.KAY2]
 
title=KAY (64K,JV Kramis 0.2)
 
sys=kay1024b.rom:0
 
dos=kay1024b.rom:1
 
128=kay1024b.rom:2
 
sos=kay1024b.rom:3
 
 
 
[ROM.48K]
 
title=ZX-Spectrum 48K
 
sos=48.rom
 
 
 
[ROM.48KTRDOS]
 
title=ZX-Spectrum 48K + TR-DOS
 
sos=48.rom
 
dos=trd504tm.rom
 
 
 
[ROM.128K]
 
title=ZX-Spectrum 128K
 
128=128.rom:0
 
sos=128.rom:1
 
 
 
[ROM.ATM2]
 
Title=BIOS1.07.13 for ATM2
 
sos=bios_1_07_13.rom:0
 
dos=bios_1_07_13.rom:1
 
128=bios_1_07_13.rom:2
 
sys=bios_1_07_13.rom:3
 
 
 
[ROM.PLUS3]
 
title=ZX-Spectrum +3
 
128=plus341.rom:0
 
sys=plus341.rom:1
 
dos=plus341.rom:2
 
sos=plus341.rom:3
 
 
 
 
 
[LEDS]
 
; enable leds
 
leds=1
 
; ay amplitude peaks on keyboard leds
 
KBD_AY=0
 
 
 
; led coordinates in pixels. comment out, if you don't want some led
 
; negative coordinates are offset from bottom and right
 
; WARNING! if you choose coordinates outside visible screen area
 
; emulator will crash
 
 
 
; AY volumes. color indicates noise, envelope or digital sound use
 
AY=1:1,1
 
; show Z80 t-states between HALTs and PC framerate
 
Perf=1:1,-11
 
PerfShowT=0             ; display used CPU t-states
 
 
 
; GS/TRDOS/TAPE read/write
 
LOAD=1:-24,1
 
; active input devices: keyboard, mouse, kempston
 
Input=1:20,1
 
; local time
 
Time=1:-32,-10
 
; on-screen watches (debugger)
 
OSW=0:-50,26
 
; zx-spectrum memory in dynamic: read/write/execute
 
MemBand=0:60,3
 
; bytes per pixel in memory band (allowed 64,128,256,512)
 
BandBpp=256
 
 
 
[ARC]
 
; these files are ignored
 
SkipFiles=*.nfo;*.txt;*.diz;*.inf;files.bbs;descript.ion
 
 
 
; you may add your own archivers!
 
 
 
; command line to extract all files without pathnames and without
 
; queries on overwrite, use %s to indicate archive filename;
 
; use archivers, that understand long filenames!
 
CAB=extrac32 /E /Y "%s"
 
ZIP=7z e -y "%s"
 
RAR=7z e -y "%s"
 
7Z=7z e -y  "%s"
 
 
 
[SYSTEM.KEYS]
 
 
 
; pc keyboard:
 
;
 
;  ESC  F1  F2  F3  F4     F5  F6  F7  F8    F9  F10 F11 F12          PRSCR SCLOCK PAUSE
 
;  TIL   1   2   3   4   5   6   7   8   9   0 MINUS PLUS  BACK         INS HOME PGUP     NUMLOCK GRDIV GRMUL GRSUB
 
;  TAB   Q   W   E   R   T   Y   U   I   O   P   LB    RB               DEL END  PGDN        N7    N8    N9   GRADD
 
;  CAPS  A   S   D   F   G   H   J   K   L   COL QUOTE ENTER                                 N4    N5    N6
 
;  LSHIFT Z  X   C   V   B   N   M COMMA POINT SLASH RSHIFT BACKSL           UP              N1    N2    N3   GRENTER
 
;  LCONTROL LALT              SPACE                  RALT RCONTROL     LEFT DOWN RIGHT       N0          NP
 
 
 
; LMB,RMB,MMB - mouse buttons
 
; MWU,MWD - mouse wheel up/down
 
; JLEFT,JRIGHT,JUP,JDOWN,JFIRE - joystick/gamepad
 
; JB0..JB31 - joystick/gamepad buttons
 
 
 
; mouse & joystick "keys" can't be bound to commands, only to spectrum keys
 
 
 
; p.s.
 
;      CONTROL = LCONTROL or RCONTROL
 
;      ALT     = LALT or RALT
 
;      SHIFT   = LSHIFT or RSHIFT
 
; numlock must be on for N0-N9 and NP
 
 
 
; system commands:
 
; command=key1 [key2 [key3 [key4]]]
 
 
 
; keys active in emulation mode
 
 
 
main.exit=ALT F4           ; why do this?
 
main.lockmouse=MMB         ; read kempston mouse in windowed mode
 
main.monitor=SHIFT ESC           ; for hackers only
 
main.selectfilter=ALT 4       ; select video filter
 
main.selectdriver=SHIFT F4 ; select video driver for some filters
 
main.fullscreen=ALT ENTER  ; toggle full-screen on/off
 
main.pause=PAUSE           ; pause
 
main.selectfix=ALT GRMUL       ; select video parameter
 
main.selectsnd=SHIFT GRMUL   ; select soundchip parameter or palette
 
main.incfix=SHIFT GRADD    ; fine tuneup
 
main.decfix=SHIFT GRSUB    ; fine tuneup
 
main.incfix10=ALT GRADD        ; tuneup
 
main.decfix10=ALT GRSUB        ; tuneup
 
main.leds=ALT GRDIV            ; leds on/off
 
main.maxspeed=NUMLOCK      ; max speed on/off
 
main.pokedialog=ALT 6         ; enter poke(s)
 
main.starttape=F7          ; start/stop tape
 
main.tapebrowser=SHIFT F7  ; tape browser
 
main.screenshot=ALT F8     ; screenshot
 
main.savevideo=CONTROL F8  ; save video
 
main.reset=F12             ; reset to [MISC]Reset=DOS/BASIC/MENU/SYS
 
main.reset128=CONTROL SHIFT F12 ; reset to basic 128
 
main.resetsys=ALT F12      ; reset to service ROM
 
main.reset48=ALT SHIFT F12 ; reset to basic 48 with locked 128k memory
 
main.resetbasic=SHIFT F12  ; reset to basic 48 with unlocked 128k memory
 
main.resetdos=CONTROL F12  ; reset to TR-DOS
 
main.resetcache=ALT CONTROL F12    ; reset to cache
 
main.nmi=F11               ; NMI without ROM switching
 
main.nmidos=CONTROL F11    ; TR-DOS magic
 
main.nmicache=ALT F11      ; NMI in cache
 
main.help=ALT 1               ; show keys
 
main.settings=Alt F1       ; emulation settings (GUI)
 
main.save=ALT 2               ; save disk/snapshot
 
main.load=ALT 3               ; load disk/tape/snapshot
 
main.savesound=ALT 5          ; save WAV/VTX
 
main.qsave1=ALT F2         ; quick save to qsave1.sna
 
main.qsave2=CONTROL F2     ; quick save to qsave2.sna
 
main.qsave3=SHIFT F2       ; quick save to qsave3.sna
 
main.qload1=ALT F3         ; quick load from qsave1.sna
 
main.qload2=CONTROL F3     ; quick load from qsave2.sna
 
main.qload3=SHIFT F3       ; quick load from qsave3.sna
 
main.keystick=SCLOCK       ; toggle keystick mode
 
main.autofire=ALT NUMLOCK  ; toggle autofire mode
 
main.saveall=F9            ; quick save cmos and disks
 
main.xtkbd=ALT CONTROL Z   ; enable/disable ATM XT keyboard (emulation controls blocked!)
 
main.pastetext=ALT SHIFT INS ; copy text from clipboard to keyboard buffer
 
main.size1=                ; set normal window size (in windowed mode)
 
main.size2=                ; set double window size (in windowed mode)
 
main.sizem=                ; maximize window (in windowed mode)
 
main.memsearch=ALT F6      ; search in memory for changed values (cheats, etc)
 
main.border_none=          ; set empty border
 
main.border_small=         ; set small border
 
main.border_full=          ; set full border
 
 
 
; keys in all monitor windows
 
 
 
mon.exit=ALT F4           ;
 
mon.emul=ESC              ; back to emulation
 
mon.bpdialog=ALT C        ; conditional breakpoints dialog
 
mon.gs=ALT G              ; gs status dialog
 
mon.pokedialog=ALT P      ; enter poke(s) F6 is already used
 
mon.tapebrowser=SHIFT F7  ; tape browser
 
mon.reset=F12             ; reset to [MISC]Reset=DOS/BASIC/MENU/SYS
 
mon.reset128=CONTROL SHIFT F12 ; reset to basic 128
 
mon.resetsys=ALT F12      ; reset to service ROM
 
mon.reset48=ALT SHIFT F12 ; reset to basic 48 with locked 128k memory
 
mon.resetbasic=SHIFT F12  ; reset to basic 48 with unlocked 128k memory
 
mon.resetdos=CONTROL F12  ; reset to TR-DOS
 
mon.resetcache=ALT CONTROL F12    ; reset to cache
 
mon.nmi=ALT SHIFT F11     ; NMI without ROM switching
 
mon.nmidos=CONTROL F11    ; TR-DOS magic
 
mon.nmicache=ALT F11      ; NMI in cache
 
mon.help=F1               ; show keys
 
mon.settings=ALT F1       ; emulation settings (GUI)
 
mon.save=F2               ; save disk/snapshot
 
mon.load=F3               ; load disk/tape/snapshot
 
mon.savesound=F5          ; save WAV/VTX
 
mon.qsave1=ALT F2         ; quick save to qsave1.sna
 
mon.qsave2=CONTROL F2     ; quick save to qsave2.sna
 
mon.qsave3=SHIFT F2       ; quick save to qsave3.sna
 
mon.qload1=ALT F3         ; quick load from qsave1.sna
 
mon.qload2=CONTROL F3     ; quick load from qsave2.sna
 
mon.qload3=SHIFT F3       ; quick load from qsave3.sna
 
mon.setrange=F6           ; set range of breakpoints
 
mon.resetrange=SHIFT F6   ; reset range of breakpoints
 
mon.screen=F9             ; show screen, as it present in video memory
 
mon.altscreen=SHIFT F9    ; show inactive screen
 
mon.rayscreen=ALT F9      ; show painted screen area until crt-ray (with MC, border & 2-scr effects)
 
mon.step=F7               ; single step
 
mon.stepover=F8           ; step over loops and calls
 
mon.exitsub=F11           ; trace until (sp)
 
mon.loadblock=ALT R       ; load memory block
 
mon.saveblock=ALT W       ; save memory block
 
mon.fillblock=ALT F       ; fill memory block with pattern
 
mon.setbank=ALT B         ; write to #7FFD
 
mon.sethimem=ALT M        ; write to model-specific extended memory port
 
mon.next=TAB              ; next window
 
mon.prev=SHIFT TAB        ; prev window
 
mon.dump=ALT D            ; toggle dump
 
mon.rip=ALT T             ; ripper's tool
 
mon.osw=ALT O             ; setup on-screen watches
 
mon.scrshot=ALT S         ; toggle screenshot/scrdump/watches
 
mon.setwatch=CONTROL U    ; set user-defined watch address
 
mon.switchay=ALT Y        ; switch active AY (turbo-sound)
 
mon.labels=CONTROL J      ; goto label
 
mon.memsearch=ALT F6      ; search in memory for changed values (cheats, etc)
 
mon.cpu=CONTROL TIL       ; switch to next cpu
 
mon.switchdump=CONTROL D  ; switch dump mode (mem/disk/cmos/nvram/comppal)
 
; keys in registers window
 
 
 
reg.left=LEFT           ; select register
 
reg.right=RIGHT         ; select register
 
reg.up=UP               ; select register
 
reg.down=DOWN           ; select register
 
reg.edit=ENTER          ; edit current register
 
reg.a=CONTROL A         ; edit A
 
reg.f=CONTROL F         ; edit flags
 
reg.bc=CONTROL B        ; edit BC
 
reg.de=CONTROL D        ; edit DE
 
reg.hl=H                ; edit HL
 
reg.pc=P                ; edit PC
 
reg.sp=S                ; edit SP
 
reg.ix=X                ; edit IX
 
reg.iy=Y                ; edit IY
 
reg.i=I                 ; edit i
 
reg.r=R                 ; edit R
 
reg.im=M                ; edit im
 
reg.iff1=CONTROL 1      ; edit iff1
 
reg.iff2=CONTROL 2      ; edit iff2
 
reg.SF=ALT S            ; toggle SF
 
reg.ZF=ALT Z            ; toggle ZF
 
reg.F5=ALT 5            ; toggle F5
 
reg.HF=ALT H            ; toggle HF
 
reg.F3=ALT 3            ; toggle F3
 
reg.PF=ALT P            ; toggle PF/PV
 
reg.NF=ALT N            ; toggle NF
 
reg.CF=ALT C            ; toggle CF
 
reg.codejump=QUOTE      ; goto address in code window under cursor
 
reg.datajump=COL        ; goto address in data window under cursor
 
 
 
; keys in cpu window
 
 
 
cpu.findpc=HOME         ; set cursor at PC
 
cpu.here=F4             ; trace to cursor
 
cpu.findtext=ALT F7     ; find string
 
cpu.findcode=CONTROL F7 ; find code with mask
 
cpu.goto=G              ; goto address
 
cpu.bpx=SPACE           ; breakpoint under cursor
 
cpu.asm=ENTER           ; edit instruction
 
cpu.setpc=Z             ; set PC to cursor
 
cpu.up=UP               ; move cursor up
 
;cpu.up=MWU             ; move cursor up
 
cpu.down=DOWN           ; move cursor down
 
;cpu.down=MWD           ; move cursor down
 
cpu.left=LEFT           ; move cursor left
 
cpu.right=RIGHT         ; move cursor right
 
cpu.pgdn=PGDN           ; next page
 
cpu.pgup=PGUP           ; prev page
 
cpu.save1=CONTROL 1     ; save cursor position to slot 1
 
cpu.save2=CONTROL 2
 
cpu.save3=CONTROL 3
 
cpu.save4=CONTROL 4
 
cpu.save5=CONTROL 5
 
cpu.save6=CONTROL 6
 
cpu.save7=CONTROL 7
 
cpu.save8=CONTROL 8
 
cpu.rest1=1             ; save cursor position to jumpstack, load from slot 1
 
cpu.rest2=2
 
cpu.rest3=3
 
cpu.rest4=4
 
cpu.rest5=5
 
cpu.rest6=6
 
cpu.rest7=7
 
cpu.rest8=8
 
cpu.back=BACK           ; pop cursor position from jumpstack
 
cpu.context=QUOTE       ; push cursor position and goto instruction operand
 
cpu.datajump=COL        ; jump to instruction operand in data window
 
cpu.labels=CONTROL L    ; show labels on/off
 
cpu.importl=CONTROL A   ; menu for importing labels from XAS/ALASM
 
 
 
; keys in memory dump window
 
 
 
mem.left=LEFT           ; cursor left
 
mem.right=RIGHT         ; cursor right
 
mem.up=UP               ; cursor up
 
mem.down=DOWN           ; cursor down
 
mem.pgup=PGUP           ; page up
 
mem.pgdn=PGDN           ; page down
 
mem.switch=CONTROL TAB  ; move to hex/ascii
 
mem.stline=HOME         ; start of line
 
mem.endline=END         ; end of line
 
mem.findtext=ALT F7     ; find text in memory / disk track
 
mem.findcode=CONTROL F7 ; find code with mask in memory / disk track
 
mem.goto=CONTROL G      ; goto address
 
mem.mem=CONTROL M       ; select memory editor
 
mem.diskphys=CONTROL V  ; select disk editor (physical track)
 
mem.disklog=CONTROL O   ; select disk editor (logical sectors)
 
mem.diskgo=CONTROL T    ; select drive/track/sector in diskeditor
 
mem.pc=CONTROL P        ; goto PC
 
mem.sp=CONTROL S        ; goto SP
 
mem.bc=CONTROL B        ; goto BC
 
mem.de=CONTROL D        ; goto DE
 
mem.hl=CONTROL H        ; goto HL
 
mem.ix=CONTROL X        ; goto IX
 
mem.iy=CONTROL Y        ; goto IY
 
 
 
 
 
 
 
[ZX.KEYS.default]
 
 
 
Name=unreal default
 
 
 
;               ZX keyboard layout:
 
;
 
;  1    2    3    4    5    6    7    8    9    0
 
;  Q    W    E    R    T    Y    U    I    O    P
 
;  A    S    D    F    G    H    J    K    L   ENT
 
; CAP   Z    X    C    V    B    N    M   SYM  SPC
 
 
 
; KLEFT,KRIGHT,KUP,KDOWN,KFIRE,KFIRE1,KFIRE2,KFIRE3 - kempston joystick
 
; FLEFT,FRIGHT,FUP,FDOWN,FFIRE,FFIRE1,FFIRE2,FFIRE3 - fuller joystick
 
 
 
; format:
 
; PC_KEY=[ZX_KEY_SHIFT] ZX_KEY
 
 
 
1=1
 
2=2
 
3=3
 
4=4
 
5=5
 
6=6
 
7=7
 
8=8
 
9=9
 
0=0
 
Q=Q
 
W=W
 
E=E
 
R=R
 
T=T
 
Y=Y
 
U=U
 
I=I
 
O=O
 
P=P
 
A=A
 
S=S
 
D=D
 
F=F
 
G=G
 
H=H
 
J=J
 
K=K
 
L=L
 
Z=Z
 
X=X
 
C=C
 
V=V
 
B=B
 
N=N
 
M=M
 
TIL=CAP 1
 
CAPS=CAP 2
 
PGUP=CAP 3
 
PGDN=CAP 4
 
LEFT=CAP 5
 
DOWN=CAP 6
 
UP=CAP 7
 
RIGHT=CAP 8
 
DEL=CAP 9
 
BACK=CAP 0
 
MINUS=SYM J
 
PLUS=SYM K
 
COMMA=SYM N
 
POINT=SYM M
 
ENTER=ENT
 
SPACE=SPC
 
LB=SYM 8
 
RB=SYM 9
 
COL=SYM Z
 
TAB=CAP SPC             ; break
 
INS=SYM W
 
HOME=SYM Q
 
END=SYM E
 
QUOTE=SYM P
 
SLASH=SYM C
 
BACKSL=SYM CAP
 
 
 
LSHIFT=CAP
 
RSHIFT=SYM
 
 
 
N4=KLEFT
 
N6=KRIGHT
 
N8=KUP
 
N2=KDOWN
 
N5=KFIRE
 
N1=KLEFT KDOWN
 
N3=KRIGHT KDOWN
 
N7=KUP KLEFT
 
N9=KUP KRIGHT
 
 
 
MWU=CAP 7
 
MWD=CAP 6
 
 
 
JLEFT=KLEFT
 
JRIGHT=KRIGHT
 
JUP=KUP
 
JDOWN=KDOWN
 
JFIRE=KFIRE
 
 
 
JB1=1
 
JB2=2
 
JB3=3
 
JB4=4
 
JB5=5
 
JB6=6
 
JB7=7
 
JB8=8
 
 
 
[ZX.KEYS.XAS]
 
 
 
Name=XAS 7.xx (incomplete)
 
 
 
1=1
 
2=2
 
3=3
 
4=4
 
5=5
 
6=6
 
7=7
 
8=8
 
9=9
 
0=0
 
Q=Q
 
W=W
 
E=E
 
R=R
 
T=T
 
Y=Y
 
U=U
 
I=I
 
O=O
 
P=P
 
A=A
 
S=S
 
D=D
 
F=F
 
G=G
 
H=H
 
J=J
 
K=K
 
L=L
 
Z=Z
 
X=X
 
C=C
 
V=V
 
B=B
 
N=N
 
M=M
 
SHIFT=CAP
 
CONTROL=SYM
 
 
 
[ZX.KEYS.ACEDIT]
 
 
 
; layout created by Alone Coder
 
 
 
Name=ACEdit
 
 
 
1=1
 
2=2
 
3=3
 
4=4
 
5=5
 
6=6
 
7=7
 
8=8
 
9=9
 
0=0
 
Q=Q
 
W=W
 
E=E
 
R=R
 
T=T
 
Y=Y
 
U=U
 
I=I
 
O=O
 
P=P
 
A=A
 
S=S
 
D=D
 
F=F
 
G=G
 
H=H
 
J=J
 
K=K
 
L=L
 
Z=Z
 
X=X
 
C=C
 
V=V
 
B=B
 
N=N
 
M=M
 
TIL=CAP 1
 
CAPS=CAP 2
 
PGUP=CAP 3
 
PGDN=CAP 4
 
LEFT=CAP 5
 
DOWN=CAP 6
 
UP=CAP 7
 
RIGHT=CAP 8
 
DEL=CAP 9
 
BACK=CAP 0
 
MINUS=SYM J
 
PLUS=SYM L
 
COMMA=SYM N
 
POINT=SYM M
 
ENTER=ENT
 
SPACE=SPC
 
LB=SYM 8
 
RB=SYM 9
 
COL=SYM O
 
TAB=SYM CAP
 
;ESC=CAP SPC
 
INS=SYM W
 
HOME=SYM Q
 
END=SYM E
 
QUOTE=SYM P
 
SLASH=SYM C
 
BACKSL=SYM Z
 
 
 
SHIFT=CAP
 
CONTROL=SYM
 
 
 
N4=KLEFT
 
N6=KRIGHT
 
N8=KUP
 
N2=KDOWN
 
N5=KFIRE
 
N1=KLEFT KDOWN
 
N3=KRIGHT KDOWN
 
N7=KUP KLEFT
 
N9=KUP KRIGHT
 
GRSUB=SYM J
 
GRADD=SYM K
 
GRMUL=SYM B
 
GRDIV=SYM V
 
 
 
[ZX.KEYS.Z80Stealth]
 
 
 
Name=Z80Stealth default
 
 
 
;               ZX keyboard layout:
 
;
 
;  1    2    3    4    5    6    7    8    9    0
 
;  Q    W    E    R    T    Y    U    I    O    P
 
;  A    S    D    F    G    H    J    K    L   ENT
 
; CAP   Z    X    C    V    B    N    M   SYM  SPC
 
 
 
; KLEFT,KRIGHT,KUP,KDOWN,KFIRE,KFIRE1,KFIRE2,KFIRE3 - kempston joystick
 
; FLEFT,FRIGHT,FUP,FDOWN,FFIRE,FFIRE1,FFIRE2,FFIRE3 - fuller joystick
 
 
 
; format:
 
; PC_KEY=[ZX_KEY_SHIFT] ZX_KEY
 
 
 
1=1
 
2=2
 
3=3
 
4=4
 
5=5
 
6=6
 
7=7
 
8=8
 
9=9
 
0=0
 
Q=Q
 
W=W
 
E=E
 
R=R
 
T=T
 
Y=Y
 
U=U
 
I=I
 
O=O
 
P=P
 
A=A
 
S=S
 
D=D
 
F=F
 
G=G
 
H=H
 
J=J
 
K=K
 
L=L
 
Z=Z
 
X=X
 
C=C
 
V=V
 
B=B
 
N=N
 
M=M
 
TIL=CAP 1
 
CAPS=CAP 2
 
PGUP=CAP 3
 
PGDN=CAP 4
 
LEFT=CAP 5
 
DOWN=CAP 6
 
UP=CAP 7
 
RIGHT=CAP 8
 
DEL=CAP 9
 
BACK=CAP 0
 
MINUS=SYM J
 
PLUS=SYM K
 
COMMA=SYM N
 
POINT=SYM M
 
ENTER=ENT
 
SPACE=SPC
 
LB=SYM 8
 
RB=SYM 9
 
COL=SYM Z
 
TAB=CAP SPC             ; break
 
INS=SYM W
 
HOME=SYM Q
 
END=SYM E
 
QUOTE=SYM P
 
SLASH=SYM C
 
BACKSL=SYM CAP
 
 
 
RALT=SYM
 
LSHIFT=CAP
 
RSHIFT=CAP
 
RCONTROL=CAP SYM
 
 
 
N4=KLEFT
 
N6=KRIGHT
 
N8=KUP
 
N2=KDOWN
 
N5=KFIRE
 
N1=KLEFT KDOWN
 
N3=KRIGHT KDOWN
 
N7=KUP KLEFT
 
N9=KUP KRIGHT
 
 
 
MWU=CAP 7
 
MWD=CAP 6
 
 
 
JLEFT=KLEFT
 
JRIGHT=KRIGHT
 
JUP=KUP
 
JDOWN=KDOWN
 
JFIRE=KFIRE
 
 
 
[ZX.KEYS.quorum]
 
Name=Quorum
 
 
 
;               Quorum keyboard layout:
 
;
 
; F1 F2 F3 F4 F5      [G]  NMI  INV   [< RES
 
; [E] 1 2 3 4 5 6 7 8 9 0 - + BS DEL                        NSLASH NSTAR NMINUS
 
; TAB  Q  W  E  R  T  Y  U  I  O  P  [  ]  \                  N7    N8     N9
 
; CAPS  A  S  D  F  G  H  J  K  L  ;  '  ~  ENT               N4    N5     N6
 
; RUS LAT Z X C V B N M , . /  UP                             N1    N2     N3
 
; CAP FIRE   SPC       SYM LT  DN  RT                         N0  NPOINT NPLUS
 
;
 
; FIRE,LT,DN,RT,UP=0,5,6,8,7
 
; NMI,RES=F11,F12(see main.*)
 
; INV,[< - NOT emulated
 
; KLEFT,KRIGHT,KUP,KDOWN,KFIRE,KFIRE1,KFIRE2,KFIRE3 - kempston joystick
 
; FLEFT,FRIGHT,FUP,FDOWN,FFIRE,FFIRE1,FFIRE2,FFIRE3 - fuller joystick
 
; (JLEFT,JRIGHT,JUP,JDOWN,JFIRE  reserved for joystick)
 
; format:
 
; PC_KEY=[ZX_KEY_SHIFT] ZX_KEY
 
1=1
 
2=2
 
3=3
 
4=4
 
5=5
 
6=6
 
7=7
 
8=8
 
9=9
 
0=0
 
Q=Q
 
W=W
 
E=E
 
R=R
 
T=T
 
Y=Y
 
U=U
 
I=I
 
O=O
 
P=P
 
A=A
 
S=S
 
D=D
 
F=F
 
G=G
 
H=H
 
J=J
 
K=K
 
L=L
 
Z=Z
 
X=X
 
C=C
 
V=V
 
B=B
 
N=N
 
M=M
 
ESC=EBOX
 
DEL=BS
 
TIL=TILDA
 
CAPS=CAPS
 
LEFT=5
 
DOWN=6
 
UP=7
 
RIGHT=8
 
BACK=DEL
 
MINUS=-
 
PLUS=+
 
COMMA=,
 
POINT=.
 
ENTER=ENT
 
SPACE=SPC
 
LB=[
 
RB=]
 
COL=COLON
 
TAB=TAB
 
;HOME=N7
 
;END=N1
 
;PGUP=N8
 
;PGDN=N2
 
N1=N1
 
N2=N2
 
N3=N3
 
N4=N4
 
N5=N5
 
N6=N6
 
N7=N7
 
N8=N8
 
N9=N9
 
N0=N0
 
NP=NPOINT
 
QUOTE=QUOTE
 
SLASH=/
 
BACKSL=\
 
F1=F1
 
F2=F2
 
F3=F3
 
F4=F4
 
F5=F5
 
F6=GBOX
 
GRDIV=NSLASH
 
GRMUL=NSTAR
 
GRSUB=NMINUS
 
GRADD=NPLUS
 
PGUP=RUS
 
PGDN=LAT
 
 
 
LSHIFT=CAP
 
RSHIFT=SYM
 
 
 
;N4=KLEFT
 
;N6=KRIGHT
 
;N8=KUP
 
;N2=KDOWN
 
;N5=KFIRE
 
;N1=KLEFT KDOWN
 
;N3=KRIGHT KDOWN
 
;N7=KUP KLEFT
 
;N9=KUP KRIGHT