file_id.diz
version 0.01b 3 sep 2001
* first version
version 0.02b 6 sep 2001
* i was very surprised with a lot of e-mails, that came in two days after
first release; thank you all for support!
! fixed bug with mouse cursor visible, fixed settings dialog
for leds and memory model [suggested by Maxim A. Vasilyev]
+ disk rotation emulated [thanks to Mac Buster for Beta 128 timings]
version 0.03b 10 sep 2001
! fixed bug when TRDOS reads index even if no disk, that appared in 0.02b
! fixed kempston mouse [credits to Kuba Adamowicz]
+ added SwapButtons and MouseSpeed
! fixed small bug in tape traps
+ fully customizable keyboard
+ kempston joystick on keyboard
+ keymatrix effect
+ 1T screen update for best border effects and multicolors
+ faster screen output mode without border and multicolors for slow PCs
+ load from archives and archives inside archives ;=)
! fixed bug when boot not attached to SCL
* several speed optimizations
+ new video filter - chunky 2x2
+ new video filter - smart scaling. sorry, not optimized yet
version 0.04b 17 sep 2001
! changed load dialog [suggested by Maxim Vasilyev]
* 'smart scaling' filter optimized
! fixed directory for qsave/qload
+ FDI read/write, but can't format and use write_protection flag
! fixed HALT emulation
! fixed fadeout (envelope #01) and envelope #0E on AY chip
+ all syncronization in INI: monitor refresh, int freq, VSync option, etc...
read <notes.rus> how to make smooth screen repaint
! more accurate AY tones, especially high frequencies
+ new video filter - 'nice colors'
version 0.05b 24 sep 2001
! fixed one more bug in load dialog [reported by Maxim Vasilyev]
+ preset for AY Chip = none [suggested by Maxim Vasilyev]
+ added YM chip: sound is same with AY, but FFFD behavior is different
! small changes in beta 128 emulation
+ emulated write protection flag (FDI-from header, TRD,SCL-from R/O attribute)
+ multiple command lines for one archive format [suggested by Maxim Vasilyev]
! fixed (finally!) AY envelope
+ General Sound (MOD player not complete) [credits to Shiru Otaku for GSPAK.ZIP]
+ memory models: pentagon-1024, extension on ports #DFFD,#1FFD,#FDFD
+ display exception position and registers on crash (for bugreports)
version 0.06b 26 sep 2001
! fixed AY envelope [ looks like a tradition ;-) ] - now really, i hope
! logarithmic volume tables for General Sound
! many improvements in MOD-player, but still not complete
+ reads zero-padded .TAP files [suggested by Georgy Lomsadze]
+ monitor shows contents of memory extension port
* changed fps led [suggested by Vitaliy Pigo]
! fixed bug when GS (almost) always plays wrong sample
+ digital filter for general sound
+ kempston joystick on mouse - not really playable, just for fun
version 0.07b 1 oct 2001
* yesterday i've received 100th e-mail concerning emulator :)
no doubt - ZX platform will never die !
! works in windows NT4 [bug reported by Georgy Lomsadze]
! fixed terrible bug in GS sample player [thanks to Vitaliy Pigo]
* INI option: LEDS\PerfShowT, coz some people wants to see t-states, many don't
! mod-player: set tempo ignored (what the difference in speed and tempo?)
now music in 'green beret' works better [bugreported by Moroz]
! killed clicks in GS player [bugreported by Moroz]
+ conditional breakpoints (uses c-like expressions of any complexity); breaks
to range, port in/out, on instruction, on memory change superseded by this
powerful feature and removed as obsolete. RTFM before use
@ fixed blah-blah in documentation about 'disk spinning is not emulated'
it's emulated since version 0.02
! monitor: enabled save and load block (just forgot to bind keys to this funcs)
strange, that nobody noticed that
! monitor: fixed bug in 'set bank'
! better TR-DOS, now Unreal Megademo (by KSA) works, if trdos traps disabled.
(Z80S, R80, RealSpectrum failed to emulate this demo) [bugreported by Drew]
+ runs without soundcard (sound\fq=0 in INI) [suggested by Alexey Kravchenko]
+ INI option for autosave TRD/FDI
+ monitor: general sound status/fxplayer dialog
- removed memory ATM-1024
+ MMX simple video filter - it's first assembly routine in emul.
in future versions i'll replace most filters using MMX and
bilinear CPU expensive filters using 3DNow!
+ unbelievable video filter - chunky filtered (look to REFRESH or LIFEFORMS)
not fully optimized, but will be recoded with 3DNow! in future versions
[thanx to Mr.Dsteuz//Proxium for this excellent idea]
version 0.08b 8 oct 2001
! fixed MOD-saver [reported by Shiru Otaku]
+ INI: MISC\DIR [suggested by too many people to list them all]
! fixed portz selection (for RST7 crazy coding style :) [thanks to Paul Pavlov]
! killed screen flicks when tracing on F8 [reported by Max Vasilyev]
+ monitor: added stack window
* changed font in monitor: it's grievous, that people prefer PC font instead of
native Speccy charsets, but i've added a nice gfx as a compensation :)
[stolen from XL-DESIGN - sorry, guys]
+ able to debug borders/multicolors: screen updates when tracing with F8
+ emulated pentagon with AY on 3.5 MHz [suggested by Shiru Otaku]
+ changed GS dialog
! a bit fixed INT signal, but not perfect - differs by 1T from real pentagon :(
* some video filters removed, some mmx-optimized
+ video: motion blur for jumpin scrolls[thanks to Ms.Dsteuz for fast algorithm]
! able to load uncompressed Z80 2.01 [thanks to Dmitry Sanarin for files]
+ monitor: watches
+ monitor: text dump mode [suggested by Max Vasilyev and Ironfist]
+ border only mode for debugging border effects [suggested by Mad Cat]
+ INI option: MISC\RESET
! monitor: fixed PgUp/PgDn [reported by Ironfist]
! fixed terrible bug in tape loader (with max speed) [thanks to Dmitry Sanarin]
! fixed speech on rasputin & robocop [reported by Dmitry Sanarin], but added
new bug: AY does not play when tone period = 0
! separate tables for AY and YM
! AY: rewritten noise, fixed period, noise rand() from AY_Emul
version 0.09b 10 oct 2001
! fixed rare bug in AY
! changed BMP-saver [suggested by diver]
! changed palettes for all chunky filters, small changes in chunkFX filter
version 0.10b not released to public
! fixed clicks in mod-player [bugreported by Moroz]
! fixed diskette saving led (broken in version 0.07)
* speed optimizations in video (using 486+ opcodes in conjuction with MMX)
* one filter rewritten in MMX
! changed SNA loader - now may load incorrect files [bug found by Ironfist]
+ hotkeys for selectin' AY/YM,ABC/ACB on the fly [suggested by Max Vasilyev]
! fixed bug in BMP screenshot for 'small' and 'scanlines' modes
! emulated GS bug: cmd #3E loads _*unsigned*_ samples [thanks to Moroz]
* tested monitor with 100Hz refresh - great! for setting rate in windows 95
use PowerStrip or similar utility, for NT/2000 edit emul.ini
! undone INT changes, made in 0.08
version 0.11b 18 oct 2001
! monitor: bit 6 in beta 128 port #FF displays right [thanks to Alex Makeev]
! monitor: repaint screen on task switching [bugreported by Alex Makeev]
* documented many bugs - read unreal.txt
! changed palette for noflic2 [suggested by diver]
! black background in 'small' and 'scanlines' filters [suggested by many people]
! fixed loading of too long tapes [bugreported by Andrew Moonlight]
+ video filter: using hardware blitter [idea by Alex Baskakov]
+ monitor: stepover(F8) trace rst/call with stack params at one step (rst#28)
+ sticky keys mode [completely stolen from ZX_Emul, read description there]
version 0.12b 22 oct 2001
* fantastic (>50%) speedup for CPU with 32 byte L1 cache line (K6-2)
probably poison for intel pentium-I, but i don't care
[thanks to AMD's "Processor Code Optimization Application Note"]
+ hi-color chunky filters, designed especially for LIFEFORMS [hi, Placebo!]
filtered 2x2 chunky allows read all texts in demo and does not loose colors
* in next version some 8-bit filters will be removed. mail me, if you need them
* small speed optimizations in Z80 core
! load dialog remembers last dir [suggested by Alexey Kravchenko]
! screenshot saving to emulator directory
version 0.16b 26 oct 2001
* drastically improved overall sound quality [thanks to Hacker KAY]
! 'save VTX' does not ignore chip, stereo layout, and 3.5mhz mode
* changed monitor save/load [suggested by Ironfist]
! always loop MOD in GS player [suggested by Moroz]
+ monitor: ripper's tool [idea by Ironfist]
+ Hobeta loader (read doc) [suggested by Mr.Dsteuz]
+ FLASH-COLOR [thanks to Mad Cat for description]
+ INI option to hide video filters, that do not work on your system
? gameport joystick as kempston (not tested - just copied code from DirectX SDK)
version 0.16b2 31 oct 2001
* slightly increased quality and speed for 2x2 hicolor chunky
! able to load 48K qsaves [bugreported by Kuba Adamowicz]
! fixed some bugs in keyboard layout [bugreported by Alexey Kravchenko]
! load dialog: fixed masks for hobeta and fdi [bugreported by Paul Pavlov]
! may work in 15-bit hicolor (not tested) [thanks to Vitaliy Pigo for techinfo]
version 0.17b 5 nov 2001
! fixed bug in 15-bit hicolor (not tested)
* MCR optimized for any (K5,K6,K7,P-I,P-II,P-III) cpu, not only for K6-2
+ scorpion timings (available from INI) [s.b. Alexey Kravchenko]
! monitor: fixed bug in GS samples preview
+ hardware multicolor [s.b. Nuts and Mr.Dsteuz]
+ support for ZS Scorpion Service ROM 2.94 [s.b. many people]
+ customizable (from INI and GUI) ROM sets [s.b. many people]
+ memory model: ZS Scorpion 1024K
- removed many useless 8-bit filters. i've received only one request for
keeping them, so i think 16-bit modes much better
version 0.18b 26 nov 2001
! monitor: LD (nnnn),HL and LD HL,(nnnn) assembles now to short (not #ED) form
! fixed bug in short #7FFD addressation [thanks to Paul Pavlov]
! fixed port #FF (broken in 0.17?) [thanks to Alexey Kravchenko]
! finally found lost 3T in MCR. now exact pentagon border
! some changes in beta128 timing [thanks to Max Vasilyev], but still incomplete
! monitor: fixed flipping video pages in dialogs using GDI
! monitor: update MCR on every trace step
- monitor: removed logo [alas, found a copyright owner :)]
+ led: current time [s.b. Alone Coder]
+ INI: GSReset [s.b. Ilya Podrezov and Necromancer]
* small changes in INI:SYSTEM.KEYS
+ monitor: save cursor positions [s.b. Alone Coder]
+ monitor: context jumps [s.b. Alone Coder]
! shame on me - fixed bugs in Z80 (not all) [thanks to Alone Coder]
+ GS: LPT covox mode
* small changes in INI:LEDS
+ autofire [s.b. Alexey Kravchenko]
+ DirectSound for w95. delay=2frames, if DS driver uses hardware acceleration
(also select out_ds.dll in winamp;) [damn,i've got >10 requests for this shit]
+ user palettes on hotkeys [s.b. diver]
+ CMOS+RTC [s.b. Pawel Kislyak]
+ hotkey for quick saving disk images and cmos
version 0.18b2 29 nov 2001
! fixed bugs in palette for some filters (appared in 0.18)
* some hi-color speed optimizations (but still 32 bit instructions)
+ "new" video filter for chunky demos
+ INI: ShareCPU [s.b. Dexus]
version 0.19b 19 dec 2001
* completely rewritten video engine: requires video overlay hardware, but works
in windowed mode; plz review hardware requirements
* changed AY Chip=digital (added anti-vibratto, ambience effect, etc...)
- GS: removed MOD player (b'coz it suxx), now able to exploit BASS Sound System
+ 512x192
+ added 5 fast, but low-resolution hicolor chunky modes
! fixed bugs in GS [found by diver]
+ unreal api [s.b. PoP HL^exult]
* +10% speedup in z80 emulation
+ monitor: on-screen watches
+ on-screen watches trace used RAM/ROM banks [s.b. Mad Cat]
? fixed bugs in gamepad/joystick (?)
+ TD0 read/write [thanks to Alex Baskakov for HalfElf's sources]
+ video filter: color tv (not optimized -> slow)
version 0.19b2 21 dec 2001
! TD0 reader updated for TD0 v21
version 0.19b3 24 dec 2001
! video: supported pixel format RGB555
! fixed bug in windowed mode [found by Ilya Hromenkov]
+ video filter ch4true - best quality
version 0.19b4 25 dec 2001
! video: supported MPEG1 YUY2 (for nVidia cards), some video code cleanup
* video filter 'color tv' optimized
! fixed EI:HALT [thanks to Alone Coder]
! 'fixed' bug in beta128 [found by Larchenko Eugene]
version 0.19b5 28 dec 2001
! fixed ds driver for win98. INI:DSoundBuffer is obsolete (auto-detection)
sounddrv=wave will be removed in next version
! fixed windowed mode bugs in win98
+ monitor: disasm to file [s.b. Sergey Bulba]
+ monitor: INS/DEL in line editor
! monitor: fixed bug in read block from file
version 0.20 final 9 jan 2002
* first not-a-beta, though not all bugz fixed
+ open source
- soundchip tables are wrong again (opensource restrictions, see sound.cpp)
+ check against loading same disk image to different drives [s.b. Alone Coder]
! fixed ch2hw,ch4hw for nVidia cards
* more flexible video settings
+ monitor: select active window with mouse [s.b. Sergey Bulba]
! GS/MOD: fixed bug in position jump [found by Ironfist]
! dialogs do not trash main window while dragging over it [s.b. Alex Baskakov]
+ keyboard layouts can be selected without restarting emul [s.b. Flying]
* faq updated
+ INI: DSPrimary may be for win98 (win2k works well in both modes)
version 0.20 fix #1 29 mar 2002
* +5% z80 speedup when monitor not used
! RTC day_of_week [fb Alone Coder]
+ video renderer: standart win32 GDI
* new sound mixer: always max quality
+ clock-precise ay/ym emulation (in prev. versions i've used a simulation)
! fixed covox on port #DD
+ video: wide border [esp. for ZX-Time]
+ #EFF7 bit2 and bit3
+ video: new screen mode [from ZX-Guide#2]
+ video: works in 320x200, 320x240, 400x300, 512x384, 800x600 modes
+ boot auto-appends to disk in any format, not only to SCL
* new engine for WD1793 emulator:
! complete emulation of all WD93 commands and status register
! right CRC in address and sector [thnx to AlCo for track dumps]
! complete timings (insult, powerup works as real with traps=0,fast=0)
+ FDDs LED
+ load/save unreal disk image format
+ built-in converter HOBETA -> TRD <-> TD0 <-> UDI <-> FDI <- SCL
! TD0 writer updates CRC
! able to load TD0 with description [fb AlCo]
* many cosmetic bugfixes/flicfixes/improvements
version 0.20 fix #2 1 apr 2002
! fixed FDD_MOTOR bug [fb SirX]
! fixed ay sound [fb SirX]
! fixed bugs in FDI loader [fb SirX]
! fixed FDD step bug
version 0.20 fix #2.5 10 apr 2002
! fixed ay envelopes #0E and #0A [fb SirX and Alex Makeev]
version 0.20 light edition 19 apr 2002
- shit removed
* some MCR optimizations
+ separate reading left and right shift,control,alt
+ direct access to video hardware, full speed on iP100 (without sound)
use 50/100/150hz modes - set EGATiming in INI for your display
version 0.21b 20 may 2002
* video output +20% faster
- removed filters: sgdi, motion blur, flashcolor. removed leds: FDD (too ugly)
+ resizable-window video mode for accelerated cards (recommended for GeForce1-4)
+ chunky modes through hardware bilinear filter (realtime in gf2/1600x1200x32)
* leds: ïðè óêàçàíèè êîîðäèíàò âîçìîæíû îòñòóïû ñíèçó èëè ñïðàâà îò ãðàíèöû ýêð
* all tape routines completely rewritten (maybe reading WAVs in next versions)
- tape traps removed. pls press NumLock or enjoy loading process
! load TZX with direct recording and loops [thnx to Dmitry Sanarin for files]
! better support for TZX info blocks: messages, hardware info, pokes, etc...
+ CSW loader (hacked from couple examples, if you have specification, mail me)
* monitor: disassembly window acts like STS 3.2
+ General Sound low-level emulation [greets to PSB/Halloween & Adventurer #13]
(GS firmware sux (details in notes.rus). use BASS for 16b/8ch)
* faster emulation of DDCB/FDCB opcodes
! speed-up & bug-fix wd93 emulation [thanx to Alone Coder for tests on real zx]
! block read/write when FDD motor is not spinning
* support for new version of UDI format, read <udi.rus>
+ executable file is not UPX'ed (+2% faster loading)
version 0.21b2 31 may 2002
! updated sound mixer [fb Siril, thanks to SirX for bugreport]
! save/load dialogs don't clear background in 8bit fullscreen mode
! correct CSW loader [thanks to Ramsoft for docs]
! TZX loader updated to format version 1.13
* minor video optimizations
+ loader for .SP snapshots
+ monitor: diskeditor [sb Alone Coder]
version 0.21 light edition 17 jun 2002
* as usual, 'lite' release
version 0.21b3 25 jun 2002
! diskeditor fix [released 10 jun 2002]
* Z80 emulation +8% faster
* video output optimizations
! fixed bug in AY mixer, much faster AY/YM emulation
+ new unreal soundchip: YM-turbo (headphones recommended)
+ custom AY volume/stereo presets (+bonus - over 10 ripped volume tables)
+ ULA presets
* flash-color is back
version 0.21b3LE 25 jun 2002
+ monitor works better, but still incomplete functionality
version 0.21b4
! fixed: 0.21b3 could not load ULA/AY presets on win9x
! fixed: TRD writer saves last accessed track instead of trk 0 [fb AlCo]
+ F1 invokes help on bound keys (requires IE4.0 or later)
! fixed bilinear filter (crashed in 0.21b3)
! fixed small bug in flash-color, now may work with bilinear filter
! fixed 'nopaper' mode
* video sub-system rewritten. overlay in 'double' mode don't pervert colors
+ profi ROM and screen (to run CP/M, find profi.rom and cpm.udi)
profi service ROM can start only when BETA128 delays enabled
+ pentagon service ROMs (details in service.rus)
+ my service ROM included in archive (service.rom)
+ pentagon 256K, pentagon 128SR (service ROM on #7FFD)
+ #EFF7 switches 512x192 and HWMC, #DFFD - 512x240
(without changing screen mode - always 50fps, even if switching each frame)
- unreal API removed, looks like nobody uses it
+ configurable scanlines brightness
* if some ROM not defined in ROMSET, it substitutes with #FF's
+ gui: config page EFF7 - set/reset/lock arbitrary bits of #EFF7
+ filter anti-64 for reading e-zines: converts 4x8 fonts to 8x8/8x16 on the fly
to run on slow pc's, unset 'update border' and set 'low quality'. works only
with known fonts. i've used fonts from heresy, body and others,,, (sorry ppl)
version 0.21b5
! monitor: fixed stupid bug in 'watches' window, added Alt-F, Alt-S, Ctrl-U
! fixed HIMEM=PENTSR - #7FFD bit 4 should not lock #7FFD bit 7
* recompiled with vc7, separate versions for pentium and p-II
in virtue of this amazing compiler unreal runs on pentium-166MMX!
! monitor: Alt-S,Alt-C,Alt-P didn't work in registers window
* all asm fragments removed from Z80 engine, now it's pure portable C++
! TZX loader: fixed overflow on too long description strings [fb Ir0n Man]
+ video: AlCo-384 on #EFF7 bit 6
* anti-64: more fonts
version 0.22b
! fixed: emul played ay-envelope #0B instead of #01 [fb Mad Cat]
! Z80: fixed DD,CB and FD,CB opcodes [thanks to Kamill Karimov]
! fixed many small bugs in TZX loader
! fixed bugs in WD1793 and FDD emulation
+ text64: detect per-pixel scrolling and 6x4 fonts, font searcher
- text64: pre-defined fonts removed [(c) restriction]
version 0.23b 13 sep 2004
- win95/98/ME are no longer supported
- NT4.0 (directX 3.0) is no longer supported
- no special version for P5,K6 CPUs. code optimized for P6/K7
! a bit better AY sound, still not perfect [acn#32]. btw, AlCo, border=wide is able to display 300 lines for 384x304 screen (pls read unreal.txt)
+ faster AY emulation
! AltLock=1 could freeze keyboard, fixed
! fixed crash on playing zero-length GS samples
+ mouse buttons and wheel can be bound to spectrum keyboard
+ ini:[ARC]SkipFiles - ignore archive descriptions
+ anti-text64 font setup: "find next" searches through left/right,linear/planes
* improved font searcher in anti-text64 font setup
version 0.24b 26 oct 2004
* increased filter order in sound engine (better AY sound)
+ ATM 7.10 128/512/1024 (requires BIOS to setup memory) thanx to Timonin Maxim
+ ATM 7.10 video modes (palette does not work)
version 0.24b2 5 nov 2004
! fixed bug in WD1793 engine (ZX-Power#3, ATM CP/M)
! flash attribute in AlCo384 screen mode
! unable to edit ascii memory dump in monitor
! fixed saving ATM screenshot from windowed mode
! fixed screen repaint in pause mode [fb Gambler]
+ ATM palette
+ ATM7.10 128/256/512/1024kb ROM
* minor ATM bugfixes/improvements
+ able to load config from command line (unreal.exe -i cfg.ini)
+ added atm2.ini, slowcomp.ini
version 0.24b3 bugfix release 11 nov 2004
! fixed ATM text-mode attribute [fb Gambler]
! fixed loading from archives - broken since 0.24b2 [fb Paul Pavlov]
version 0.25b 15 jan 2005
+ ATM screen mode #7 [thanks to Timonin Maxim for scrshots]
! fixed bugs in sound engine [fb Alex Fill]
* FDD led shows current track
* BestView, ZX-Power, etc now works with [BETA128] Fast=1
* "disk modified" flag shown in BETA128 settings [sb AlCo]
! fixed small bug in Z80 [fb AlCo]
! fixed bug in service ROM emulation [fb AlCo]
! reset should not clear Z80 registers [fb AlCo]
+ BASIC-48 labels from file "sos.l" shown in monitor (Ctrl-L)
unfortunately, i have no BASIC-128 and TR-DOS labels
! fixed crash on Alt-Tab with dsprimary=1 [fb AlCo]
! fixed screen update when returning from full-screen in gdi/overlay mode
+ ATM/Nemo ATA HDD emulation [alpha]. works with images and real drives
@ ini: changed ROMSET=pentagon (some soft expect tr-dos in service ROM)
! fixed saving/loading snapshots (Snowball, Return to Eden)
+ XAS7 labels shown in monitor (Ctrl-A,Ctrl-L). for XAS 128k config
+ alasm labels shown in monitor (Ctrl-Shift-A,Ctrl-L) [thanx to Alco for docs]
version 0.26b 27 jan 2005
! HDD emulation: fixed reading in CHS mode, when it goes to next track/head
@ changed ini: [SOUND]SoundBuffer=2 (less sound delay for 1GHz+ CPU)
+ jump to address under cursor from registers window [sb AlCo]
+ cache size option: 16/32K
* new gui/ini design for selection of model, romset and memory size
+ ULA option: "unstable data bus" [sb AlCo]
! invoking monitor from full-screen mode has switched screen resolution
+ Scorpion PROF-ROM (useless without SMUC hardware) [greetz to jtn, Neu Animal]
* able to load XAS/ALASM labels from PENTAGON-256/512 high-memory
* added "cancel" button when replacing unsaved disk or exit [sb Vitamin, AlCo]
* selecting normal/double switches window size in GDI mode [sb elf/2]
* centered picture of 384x304 video mode when border=none,small [sb AlCo]
+ ATM XT keyboard [thanx to Kamil Karimov for 8051 disasm]
! saving snapshots/images with dots in filename [fb lvd]
version 0.27b 27 feb 2005
! asm/disasm of DD/FD+ED (out (c),xl, etc) [fb MadCat]
@ ini [SOUND]SoundBuffer=2 changed back to 6 (was unstable)
! fixed bug in GS emulation [fb Moroz]
* trace step removes "cpu halted" mode [sb lvd]
! disk image filename was not changed after "Save As" [sb AlCo]
+ memory R/W breakpoints. new gui for bp manager (Alt-C)
* switching to/from ATM XT mode without resetting controller [sb Gambler]
+ tactmeter [sb Spectre]
! noflic did not work in 8-bit and GDI modes with scanlines
+ GIGASCREEN on #EFF7 bit 4, without multicolors yet (use with noflic)
+ option for alternative (interlaced) noflic algoritm for filter=double
+ paste text from clipboard [sb Alco, elf/2]
* anti-text64: fonts from ACE,PC20 in default fontset
+ anti-text64: search font in external file
+ anti-text64 detects inverted characters [sb AlCo]
! closing on ALT-F4 sometimes didn't ask "save? yes,no,cancel"
* register #0B bit 2 of CMOS RTC controls binary/BCD mode
* new option [VIDEO]DetectModel (description in unreal.ini)
+ Kondrat'yev ISA modem [mapped to windows driver for real modem]
version 0.28b 28 mar 2005
! pc joystick/gamepad did not work since 0.27 [fb Terazini]
+ pc joystick/gamepad can be bound to any keys, not only kempston joystick
please create new keyboard layouts with JLEFT=6,JRIGHT=7,JUP=9,... etc...
+ AY mouse [thanx to [bETA]mEN for scheme]
* mouse coords updated (interpolated) every Z80 cycle, not every frame
+ loading labels from user.l for external assemblers [sb Kurles^HS^CPU]
label format is 'PP:AAAA nnn', PP - page, AAAA - offset, nnn - text
* flash-color options read from ini [sb Agent Cooper]
@ ini: [SOUND] Fq=48000 by default (supported by most AC'97's. for others,
consult soundcard manual or set default 44100)
+ Scorpion SMUC: PROFROM,IDE,CMOS,NVRAM [thanx to Neu Animal for scheme scan]
* press F12 to reset in default mode, as specified in ini: [MISC]Reset
* GS emulation code re-organized in object-oriented way
+ monitor: jump to label [sb Kurles^HS^CPU]
* edit MODS.H to compile size-optimized versions without unnecessary parts
@ fixed errata in documentation [thanx to AlCo]
version 0.29b 29 may 2005
* added ATA-1 compatibility (address registers after read/write) [fb Blade]
! fixed bug in sound engine, that cause crash after long running
+ AY 2nd chip: Turbo-AY (POS), Turbo-sound (NedoPC) and Quadro-AY schemes
monitor: Alt-Y switches active chip
+ frame resampler: converts spectrum 50hz-int into 60/75/80/... hz display
refresh, has built-in low-pass filters to handle 3color and noflic.
set [VIDEO]Refresh to maximum for you monitor in 640x480 (75,85 or 100 hz)
! fixed bug in .Z80 loader [fb Terazini]
! General Sound was accidentally disabled in 0.28b
! fixed INTRQ bug in ATM HDD scheme
! fixed GS volume tables in low level mode [fb psb]
! fixed bugs in GS Z80 [fb psb]
! fixed bug in on-screen watches [fb MadCat]
! fixed reset keys inside monitor
version 0.30b 1 aug 2005
! fixed bug in TV+noflic [fb AlCo]
+ video filters menu on F4 / SHIFT-F4
! fixed general sound BASS mode: sound effects not played (bug since ver 0.28)
! OSD GS led continue show volume after sample stop for looped samples
! fixed bug in frame resampler - crash on full border mode [fb Alex/AT]
! fixed bug in frame resampler that caused additional flicker
* better contrast in frame resampler (less frames to mix => more contrast)
+ frame resampler works with all renders, for slow (less then 600mhz)
machines use 8-bit ddraw driver. it is b/w and does not use MMX
probably there are bugs with ddraw/ddrawh. ddrawt/blt/ovr work fine
@ for LCD monitors, pls use refresh=60 with "frame resampler": LCDs can't
switch pixels so fast and picture worse with higher rates
* added SMUC version ports (#5FBA & #5FBE) [sb deathsoft]
* border (port #FE) not cleared on reset [sb deathsoft]
+ KAY-256/1024: himem,ROMs (note that ROMs in the net have invalid pages order)
- scorpion port #1FFD decoded as in real scheme. pentagon soft may not work
* some changes in overlay render (may not work on old vcards, i don't care)
! removed unnecessary screen mode switches when entering monitor
+ modem: speccy able to control transfer mode and rate [code by Alex/AT]
! modem: fixed bug - could read trash byte from input buffer [fb Alex/AT]
+ IDE/ATAPI cdrom (needs physical drive or windows-level emulated device)
version 0.31b 24 aug 2005
! atapi: sense key not placed into error register on ATAPI error
! atapi: fixed bug in ATAPI commands, that don't return data block
! atapi: fixed bug with DRQ on end of ATAPI data block
! gs: "save mod" was disabled since 0.28b [fb TJ]
! fixed bug in window size after leaving fullscreen [fb Tj]
+ new funny led shows R/W/X dynamic in spectrum memory [sb Raider]
+ keyboard shortcuts in windowed mode: Alt-1, Alt-2, Alt-3
+ 4x scale video filter [sb Shiru Otaku] (set minres=1024 to avoid 1280x960)
+ shows condition hit and jp/ret/call direction in trace window [sb Dexus]
+ monitor: Alt-F9 shows only ray-painted screen area
+ monitor: Alt-S cycles through watches / screen dump / ray-painted
- monitor: mon.render hotkey is deleted (as obsolete)
* monitor: detection internal loop exit when tracing loop on F8 [sb Dexus]
+ monitor: fill memory with pattern [sb Raider]
* FDD & FDC code comletely rewritten, bugs may appear
! when saving disk image, prefer original format as default, not TRD
! CacheVox works fine with [BETA128]Fast=0. no other emul can handle this yet
! better WD1793 sector write emulation (overwrite old gap and data AM)
+ monitor: more fields in beta128 panel (see docs)
@ visual ini-file editor available at http://realsoftmakers.nm.ru/RSM.files/download.htm
version 0.32b 4 sep 2005
+ monitor: jump destination marked with arrow [sb Dexus]
+ ini option "HighPriority"
+ non-bluring scale 2x,3x,4x, developed in AdvanceMAME project (MMX-rewritten)
@ scale3x is not MMX-vectorized and slower then scale4x
@ if your monitor displays only up to 1024x768, use border=none for scale4x
! better FDD emulation: BestView works with [beta128]fast=0 [fb Kubas]
! temporary hacks in scorpion trdos replaced accordingly to scheme
! better FDC emulation: adjusted timeouts in fast=1 mode
@ [beta128]IL is 2 by default in INI: speed-up #3D13 loaders in fast=0 mode
! no crash on 1280x1024 scrshots: dynamic buffer size
version 0.32b2 21 sep 2005
! fixed bug (only drive A: can be used) [fb Strunov]
! fixed bug in FDD delays [fb Kubas]
* some changes in multicolor renderer [sb AlCo]
* Pentagon-1024: #7FFD.5 is a 48k mode lock when #EFF7.2=1 [sb AlCo]
* color console output
* AdvMAME scale 2x,4x optimized for SSE2
version 0.33b 7 dec 2005
* monitor: importing ALASM labels with searching in whole memory
+ monitor: Alt-M to edit model-specific high memory port [sb Spectre]
+ monitor: transfer data between FDD image and spectrum memory [sb AlCo]
+ Alt-F6 - memory (cheat) searcher [sb Kpa3]
+ SAM style video drive (disabled by default, edit mods.h and recompile)
+ Alone Coder's 4bpp video mode (on #EFF7 bit 5)
+ TRD/SCL preview in save/load dialogs [sb 3HAXAPb]
+ added "AUTOLOAD" ini section [sb AlCo]
+ load file with drag'n'drop from explorer window
* mouse capture on left-click to main window (Shift+ESC still works)
! restored fire function in "joystick on mouse" mode
! fixed small bug in HOBETA loader [fb AlCo]
* GLUK 6.1 is used as default system ROM
version 0.34b 22 jan 2006
! correct border color after snapshot loading [fb [bETA]mEN]
! fixed bug in ATM memswap on RG0 [fb AlCo]
! fixed rare crashes on reading port #FF
! fixed bugs (not all) in CD-ROM emulation [fb AlCo]
+ Z80 INT length emulation (Adventurer#13 intro works with right timings)
* ignore some unwanted mouse clicks and keyboard pushes [sb AlCo]
+ complete emulation of ATM-TURBO 4.50 [thanks to Doronetty and Max Timonin]
version 0.35b 22 jul 2006
! Z80: fixed flags after ADD IX/IY,SP instruction
! Z80: fixed undoc flags after LDI(R)/LDD(R)
! Z80: fixed undoc flags after CPI(R)/CPD(R)
- Z80: undoc flags for IN<I|D>[R] / OUT<I|D>[R] not ready yet
! Z80: MEMPTR implemented (as described in boo_boo & Kladov research)
! anti-text64 now works in ATM-TURBO models [fb AlCo]
! monitor: don't waste CPU time in spectrum screen view (F9) [fb AlCo]
* changes in HDD/CDROM code: physical layer moved to separate classes
! GS: fixed unused port#BB bits (some games rely on it) [fb moroz]
+ CD-ROM access via SPTI (native WinNT) or ASPI (3rd-party wnaspi32.dll)
* used my SNDRENDER library for sound & AY emulation (easier & reusable)
* implemented 16/32bpp renders for ATM-1,2 640x200 screen mode
* improved GS quality: high-level emulation mode playing samples using BASS
@ please upgrade BASS to version 2.3 (API changed)
version 0.36b 28 feb 2007 (Alone Coder)
+ ïîääåðæêà YM2203 (TurboSound FM) èíòåãðèðîâàíà Dexus'îì ñ èçìåíåíèÿìè Alone Coder'à. Òåïåðü èñïðàâëåííàÿ ýìóëÿöèÿ (TurboFM Revision C). YM2203 support (TurboSound FM) was integrated by Dexus with Alone Coder's changes. Fixed emulation now (TurboFM Revision C)
* èñõîäíèêè òåïåðü êîìïèëèðóþòñÿ ïîä MSVC6 (áûëî MSVC7). Sources are now compiled by MSVC6 (was MSVC7)
- â ñâÿçè ñ ýòèì âûáðîøåíû ôèëüòðû AdvMAME, FrameResampler. Because of that the filters AdvMAME and FrameResampler are removed
! öâåò íà òî÷êó ïî EFF7 bit0, ìóëüòèêîëîð ïåðåíåñ¸í íà bit5. Colour-per-pixel mode is set by EFF7 bit0, and hardware multicolour mode is moved to bit5
! èñïðàâëåíà çàãðóçêà 48k ñíàïøîòîâ, åñëè äî ýòîãî áûë óñòàíîâëåí ðåæèì Pentagon 1024k: âìåñòî 0-é ñòàâèëàñü 32-ÿ áàíêà ïàìÿòè. Fixed loading of 48k snapshots, if Pentagon 1024k mode was before: 32nd bank was set instead of 0th
! ñáðîñ â 48k íà Pentagon 1024k âêëþ÷àë 32-þ áàíêó. Reset to 48k was setting 32nd bank on Pentagon 1024k
- óáèòà çàùèòà îò âûãðóçêè sna â ðåæèìàõ >128k, òåïåðü ìîæíî îòãðóæàòüñÿ â Walker'å. SNA saving protection in >128k modes is now removed, so Walker may be saved
! ìàêñèìàëüíàÿ äëèíà äîðîæêè óâåëè÷åíà äî 7000 áàéò - òåïåðü ðàáîòàåò èãðà "Øèáåíèöÿ" (gallows.td0). Åñëè êàêàÿ-òî ïðîãðàììà ïåðåñòàëà ðàáîòàòü, ÑÎÎÁÙÀÉÒÅ! Maximum track length is increased to 7000 bytes, and Gallows game works now. PLEASE REPORT if some program ceases to work!
+ ðóññêàÿ âåðñèÿ õåëïà. Russian version of help
+ íàçâàíèå ïîñëåäíåãî çàãðóæåííîãî äèñêà âûâîäèòñÿ â çàãîëîâêå îêíà ýìóëÿòîðà. A name of last loaded disk is shown in a title of emulator window
! âûâàëèâàëîñü ïðè îáðàùåíèè ê IDE-óñòðîéñòâó, åñëè îäíî èç IDE-óñòðîéñòâ íå áûëî íàñòðîåíî. Crashed while addressing IDE device if one of IDE devices was not set
! CD-ROM íå ðàáîòàë ïîä Windows 9x, òåïåðü ðàáîòàåò. Ñäåëàí îáõîä ãëþêà, êîòîðûé âîçíèêàåò âîò çäåñü, ïî íåïîíÿòíîé ìíå ïðè÷èíå: CD-ROM did not work in Windows 9x, it works now. Walkaround of bug, that appears here, was made:
int ATAPI_PASSER::SEND_ASPI_CMD(void *buf, int buf_sz)
{
SRB_ExecSCSICmd SRB = { 0 };
SRB.SRB_Cmd = SC_EXEC_SCSI_CMD;
SRB.SRB_HaId = (unsigned char)dev->adapterid;
SRB.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY | SRB_ENABLE_RESIDUAL_COUNT;
SRB.SRB_Target = (unsigned char)dev->targetid;
SRB.SRB_BufPointer = (unsigned char*)buf;
SRB.SRB_BufLen = buf_sz;
SRB.SRB_SenseLen = sizeof(SRB.SenseArea);
SRB.SRB_CDBLen = ATAPI_CDB_SIZE;
SRB.SRB_PostProc = hASPICompletionEvent;
memcpy(SRB.CDBByte, &cdb, ATAPI_CDB_SIZE);
/* DWORD ASPIStatus = */ _SendASPI32Command(&SRB);
passed_length = SRB.SRB_BufLen;
if (SRB.SRB_Status == SS_PENDING) {
DWORD ASPIEventStatus = WaitForSingleObject(hASPICompletionEvent, 10000); // timeout 10sec
if (ASPIEventStatus == WAIT_OBJECT_0) ResetEvent(hASPICompletionEvent);
}
if (senselen = SRB.SRB_SenseLen) memcpy(sense, SRB.SenseArea, senselen);
if (temp.win9x) senselen = 0; //Alone Coder //makes possible to read one CD sector in win9x
if ((temp.win9x)&&(passed_length >= 0xffff)) passed_length = 2048; //Alone Coder //was >=0xffff in win9x //makes possible to work in win9x (HDDoct, WDC, Time Gal)
version 0.36.1 10 mar 2007 (Alone Coder)
! áóôåð íà 256 çíà÷åíèé YM2203 óáðàí - ìåøàåò öèôðîâîìó çâóêó ÷åðåç YM2203. Buffer for 256 YM2203 samples is removed - it hampered the digital sound via YM2203
+ ââîä èç êëèïáîðäà òåïåðü ïîääåðæèâàåò è ðóññêèå ñèìâîëû (êðîìå äâóõ:
çàãëàâíàÿ ¨ ïîíèìàåòñÿ êàê Å, çàãëàâíûé Ú - êàê àïîñòðîô). Paste from clipboard understands Cyrillic letters
* óáðàíî îêîøêî, èçâåùàþùåå îá èçìåíåíèè ôàéëà user.l (sb Elfh). Messagebox "unreal discovered changes in user labels" is removed
* äîïîëíåí õåëï (îáÿçàòåëüíî ïîñìîòðèòå ðàçäåë "íåñîâìåñòèìîñòü"!). More info in help (please look "bugs and incompatibilities")
* äîïîëíåí êîìïëåêò ôàéëîâ. File set is filled up
version 0.36.2 28 mar 2007 (Alone Coder)
! êëàâèøè â max speed ðåæèìå îïðàøèâàþòñÿ êàæäûé ôðåéì:
temp.inputblock = 0;//temp.vidblock;
à òî íå âñåãäà ðåàãèðîâàëî íà NumLock â max speed ðåæèìå.
Keys in max speed mode are scanned every frame, for better responsibility
of NumLock in max speed mode.
! çâóêîâîé áóôåð íå ÷èñòèëñÿ (sound_stop()) â ìåíþ Save disk
(main_save(), correct_exit()).
Sound buffer was not cleared in Save disk menu
! âûâàëèâàëñÿ ïðè ïîêàçå ìåòîê äëèíîé 10 (sb Elfh).
Emulator crashed when tried to display 10 char long labels
* 0 íå ïîêàçûâàåòñÿ êàê ìåòêà.
0 is no more shown as a label
! ÷òî-òî èñïðàâëåíî â èíòåðôåéñå ñ BASS.DLL (fb molodcov_alex):
if (!BASS_ChannelPlay(hmod, FALSE)) reportError("BASS_ChannelPlay() [music]");
Something fixed in BASS.DLL interface
! ïîðò #7ffd íà Ñêîðïèîíå äåøèôðîâàëñÿ íåïðàâèëüíî (òåïåðü ñ ó÷¸òîì A12, êàê
#1ffd) - íå ðàáîòàëà ëèñòàëêà ACNews.
Port #7ffd in Scorpion mode was deciphered without A12 -
ACNews lister failed to work
version 0.36.3 28 apr 2007 (Alone Coder)
! èñïðàâëåíà ïàëèòðà. Palette is fixed
! Z80: â îïåðàöèÿõ çàïèñè â ïàìÿòü ñàìà çàïèñü (wm()) äåëàåòñÿ ïîñëå óâåëè÷åíèÿ
ñ÷¸ò÷èêà òàêòîâ (cpu->t+=) (åñëè äâà áàéòà, òî 2 ðàçà cpu->t+=). Âàæíî äëÿ ìóëüòèêîëîðîâ.
Z80: memory write procedure (wm()) in memory write operations is called after increasing
the tick counter (cpu->t+=) (in two-byte operations cpu->t+= is made twice).
Important for multicolors
! èñïðàâëåíà ðóññêàÿ áóêâà "ì" â anti-text64 - ïîêàçûâàëàñü êàê "m".
Anti-text64: fixed Russian letter "ì"
! TurboSound FM: FM ÷àñòü çàãëóøåíà â 4 ðàçà â ñîîòâåòñòâèè ñ ðåàëüíûì óñòðîéñòâîì.
TurboSound FM: FM is 4 times more quiet as in real device
! ïîñòàâëåí øóìîïîíèæàþùèé ôèëüòð (íóæíî äëÿ beeper'à). Êòî çíàåò êàê -
ïîìîãèòå óáðàòü ùåë÷êè íà ãðàíèöàõ 20ms êàäðîâ! Åñëè ïðîñòî çàïîëíÿòü ïåðâûå
2-4 îòñ÷¸òà êàäðà ïðåäûäóùèì çíà÷åíèåì, òî ùåë÷êè íà áèïåðå èñ÷åçàþò,
íî ïîÿâëÿþòñÿ ùåë÷êè íà AY... Noise reduction filter
added (for beeper music). Please help to remove that clicks in boundaries of 20ms frames!
If I simply fill the first 2 to 4 samples of a frame with preceding value, then
the beeper clicks are disappearing, but AY clicks appear...
! çâóêîâîé áóôåð íå ÷èñòèëñÿ â ìåíþ Save sound. Sound buffer was not cleared
in Save sound menu
version 0.36.4 14 jun 2007 (Alone Coder)
! øóìîïîíèæàþùèé ôèëüòð ìîæíî âûêëþ÷èòü â ìåíþ è â ini. Lowpass filter may be triggered in menu and in .ini-file
! â eff7 (bit 4) âìåñòî Gigascreen ðàáîòàåò âûêëþ÷åíèå òóðáî-ðåæèìà (ñòàâèòñÿ 71680 òàêòîâ) - â ñîîòâåòñòâèè ñ ðåàëüíîé ìàøèíîé (êíîïêà W â Mr Gluk Reset Service). Çâóê ïðè êàæäîì ïåðåêëþ÷åíèè ïåðåèíèöèàëèçèðóåòñÿ. Gigascreen mode (eff7 bit 4) changed to turbo mode off, as in real Pentagon 1024SL 2.x (key W in Mr Gluk Reset Service). Turbo off sets 71680 ticks per frame. The sound is re-initialized when this bit switched
! â eff7 (bit 3) âìåñòî Read only cache ðàáîòàåò âêëþ÷åíèå 0-ãî áàíêà ÎÇÓ â îáëàñòü 0000-3fff - â ñîîòâåòñòâèè ñ ðåàëüíîé ìàøèíîé. Read only cache (eff7 bit 3) changed to "RAM0 in 0000-3fff" mode, as in real Pentagon 1024SL 2.x
! íåìíîãî èñïðàâëåíà ãðîìêîñòü FM. FM volume slightly fixed
! PSB: ïîëîâèíà ïðàâîãî êàíàëà GS ñëûøíà â ëåâîì è íàîáîðîò. Half of GS right channel is mixed to the left channel and vice versa
! PSB: èñïðàâëåíèå ùåë÷êîâ ãðîìêîñòè â GS. Reduced volume clicks in GS
version 0.36.5 29 jul 2007 (Alone Coder)
! èñïðàâëåí ãëþê ïðîøëîé âåðñèè ñ ââîäîì ÷èñëà òàêòîâ â êàäðå. Fixed framesize bug of previous version
! äèàëîã POKE ðóãàëñÿ íà ÷òî óãîäíî. POKE did not work
! ïðè ñîõðàíåíèè trd ïîä äðóãèì èìåíåì îáíîâëÿåòñÿ èìÿ â òèòóëå. When trd disk is saved under another name, that name is shown in emulator window title
! LVD: â z80asm èñïðàâëåíû îïåðàöèè ALU a,r. Fixed ALU a,r operations in assembler/disassembler
! Deathsoft: â modem íåïðàâèëüíî ñòàâèëîñü ÷èñëî áèò â áàéòå. Fixed wrong number of bits in byte for modem
! PSB: íîâàÿ âåðñèÿ ÏÇÓ General Sound. New version of General Sound ROM
version 0.36.6 17 oct 2007 (Alone Coder)
+ îêíî ýìóëÿòîðà âîçíèêàåò â öåíòðå ðàáî÷åãî ñòîëà (èç ðàñ÷¸òà ðàçìåðà double). Emulator window appears in the middle of the screen (for "double" size of emulator screen)
! óáðàíî âûïàäåíèå ïðè ïîêàçå äëèííûõ ìåòîê â îòëàä÷èêå. Fixed crash while showing long labels in debugger
+ íåïîëíàÿ äåøèôðàöèÿ êýøà (äëÿ MODPLAYi) (scor). Cache access is decoded by 1 address line (for MODPLAYi)
! îïðåäåëÿëñÿ TFM, êîãäà åñòü òîëüêî TS. TFM was detected by Spectrum software when only TS was present
! çâóêîâîé áóôåð íå ÷èñòèëñÿ ïðè âûçîâå õåëïà. Sound buffer was not cleared in help window
+ íàñòðîéêà ñïîñîáà ðàáîòû êîëåñà ìûøè â ini. Mouse wheel mode setup in ini
* â ini èñïðàâëåíû ñåêöèè ROM è ïî óìîë÷àíèþ ïîñòàâëåí DSPrimary=0. ROM sections in ini fixed, and DSPrimary=0 by default
version 0.36.7 18 nov 2007 (Alone Coder)
! Digital Studio íå ðàáîòàëî íà TurboSound, ò.ê. ïî ñáðîñó âêëþ÷àëñÿ 0-é AY (KYV).
Digital Studio did not work with TurboSound enabled because 0th AY was on
- çàøòîïàë åù¸ äâå äûðû â ïîêàçå ìåòîê, òåïåðü âðîäå íå âûâàëèâàåòñÿ (Elfh).
Two more holes fixed in show labels in debugger, so it does not crash any more
- ýìóëÿòîð íå êîìïèëèðîâàëñÿ íà áîëåå íîâûõ êîìïèëÿòîðàõ (èç-çà ëîêàëüíûõ ìåòîê öèêëà
è íåòèïèçèðîâàííûõ const è static) (DeathSoft). Emulator sources were incompatible
with modern compilers (local loop labels and omission of explicit types for const and static labels)
version 0.37.0 8 feb 2008 (Alone Coder)
+ General Sound 2MB (Dmitry Demyanenko)
- ïîä XP íå ðàáîòàëî ÷òåíèå òàáëèöû ïàðòèöèé ñ CD (âûäàâàëî äëèíó 65535), òåïåðü íàñèëüíî ôîðìèðóåòñÿ äëèíà 2048. CD partition table under XP returned wrong length of 65535 (fixed to 2048).
+ NMI â îáëàñòè ÏÇÓ èãíîðèðóþòñÿ (èíà÷å íå ðàáîòàåò òåíåâîé ìîíèòîð). NMI is ignored when ROM area is executed (Scorpion shadow monitor wants this).
+ îò òóðáî-ðåæèìà çàâèñèò ÷èñëî òàêòîâ â êîìàíäå (t=(t+1)>>1), òåïåðü èñêëþ÷åíû âûïàäàíèÿ ïðè ÷àñòîì ïåðåêëþ÷åíèè ðåæèìà. Turbo mode reduces number of t-stated in every command (t=(t+1)>>1), and shutdowns because of switching turbo frequently are now fixed.
+ ïðîãðàììíîå ïåðåêëþ÷åíèå òóðáî-ðåæèìà íà ATM Turbo 7.10. Software turbo mode switching in ATM Turbo 7.10
* ñîîòâåòñòâåííî, ïî óìîë÷àíèþ â êàäðå ñíîâà 71680 òàêòîâ, îäíàêî âêëþ÷åí òóðáî-ðåæèì (âûêëþ÷åíèå - êëàâèøåé W â Mr Gluk Reset Service). By default 71680 t-states are in frame again, with turbo on though (switch it off with W key in Mr Gluk Reset Service).
+ â Mr Gluk Service (6.4) èñïðàâëåíî âûêëþ÷åíèå òóðáî-ðåæèìà ïðè âûõîäå â áåéñèê è äð. Mr Gluk Reset Service (6.4) fixed to correctly set turbo mode when in quits to BASIC etc.
General Sound ROM v1.05a
(ñ) Stinger, 1997,
bugfixed by psb & Evgeny Muchkin, 2007.
 äàííîé âåðñèè ïðîøèâêè èñïðàâëåíû ãëþêè âåðñèè 1.04 Beta.
1. Ãëþê ñ ìîäóëÿìè, â êîòîðûõ >= 63 ïàòòåðíà (klisje.mod, tranceillusion.mod).
2. Ãëþê ñî ñêîðîñòüþ ïðîèãðûâàíèÿ ÏÎÑËÅÄÍÅÉ íîòû ìîäóëÿ, å¸ ñêîðîñòü
âûñòàâëÿëàñü ñòàíäàðòíîé, âî ìíîãèõ ìîäóëÿõ ïðè çàöèêëèâàíèè áûëà çàìåòíà
çàäåðæêà (íàïð., technostyle(z).mod). Áîëåå òîãî, ïðè çàöèêëèâàíèè íå íà 1þ
ïîçèöèþ, ñêîðîñòü âñå ðàâíî âûñòàâëÿëàñü ñòàíäàðòíîé!
3. Ïîôèêñåíà íåïðàâèëüíàÿ ñêîðîñòü ïðîèãðûâàíèÿ ñýìïëîâ. Íà íåêîòîðûõ ìîäóëÿõ
áûëî çàìåòíî, ÷òî ñýìïëû èãðàëè íåìíîãî áûñòðåå ÷åì íàäî (íàïð.,
EightMayDay.mod).
4. Ïðè íà÷àëå ïðîèãðûâàíèÿ ìîäóëÿ GS ñîîáùàë, ÷òî èãðàåò êàêàÿ-òî íîòà, äàæå
åñëè â êàíàëå íè÷åãî íå èãðàëî (êîìàíäà #64 âîçâðàùàëà íå 127).
5. Äîáàâëåíà êîìàíäà äëÿ ïëååðîâ: #6A - Set player mode. Ïîñëå ýòîé êîìàíäû GS
ïåðåñòàíåò îáðàùàòü âíèìàíèå íà êîìàíäó îñòàíîâà â ìîäóëå (êîì. F00). Ïîëåçíî
äëÿ íåêîòîðûõ ìîäóëåé (bst.mod).
Ôîðìàò êîìàíäû:
SD #01 ;#01 - On, #00 - Off
SC #6A
WC
6. Âñòðîåí ðåëóïåð äëÿ ìîäóëåé. Ðàíüøå, åñëè â ìîäóëå èãðàë ñýìïë, äëèíà ëóïà
êîòîðîãî áûëà ñëèøêîì ìàëåíüêîé (äåñÿòêè-ñîòíè áàéò), GS òîðìîçèë èëè çàâèñàë.
Ïîñëå ýòîé êîìàíäû ñýìïëû â çàãðóæàåìîì ìîäóëå ôèêñÿòñÿ è GS íå òîðìîçèò.
Ôîðìàò êîìàíäû:
SD MinLoopLen_Low
SC #6B
WC
SD MinLoopLen_High
Ïàðàìåòð MinLoopLen çàäàåòñÿ â ÑËÎÂÀÕ è ìîæåò áûòü â äèàïàçîíå îò 0 äî 16384
(0 - ðåëóïåð âûêëþ÷åí).
Âîçìîæåí êîðîòêèé ôîðìàò êîìàíäû:
SC #6B
WC
SC ... ;ñëåäóþùàÿ êîìàíäà GS
 ýòîì ñëó÷àå äëèíà ïîóìîë÷àíèþ áóäåò 512 ñëîâ.
ÂÍÈÌÀÍÈÅ! Íàñòðîéêè êîìàíä #6A è #6B ñáðàñûâàþòñÿ òîëüêî àïïàðàòíûì RESET èëè
êîìàíäîé #F4 (êîìàíäîé #F3 íå ñáðàñûâàþòñÿ!).
p.s. Â ïðîøèâêå ïî ñìåùåíèþ #0004 íàõîäèòñÿ íîìåð âåðñèè â BCD ôîðìàòå; ïî
ñìåùåíèþ #0100 íàõîäÿòñÿ îðèãèíàëüíûå êîïèðàéòû (3 ñòðîêè ïî 24 ñèìâîëà); ïî
ñìåùåíèþ #0800 íàõîäèòñÿ èíôîðìàöèÿ î ïàò÷å, ñòðîêà çàêàí÷èâàåòñÿ 0.
p.p.s. Äëÿ ðàáîòû ñòàðûõ ïëååðîâ â íîâûõ ðåæèìàõ (ï.5 è 6), äîñòàòî÷íî ïåðåä èõ
çàïóñêîì äàòü èç áåéñèêà êîìàíäû:
OUT 179,1
OUT 187,106
OUT 187,107
p.p.p.s. Õî÷åòñÿ âûðàçèòü îñîáóþ áëàãîäàðíîñòü ñëåäóþùèì ëþäÿì:
Stinger: çà ïðîøèâêó è äîñòóïíûå èñõîäíèêè,
Aprisobal: áåç SjASMPlus íå áûëî áû íè÷åãî ýòîãî,
Evgeny Muchkin: çà âñÿ÷åñêîå ñîäåéñòâèå ïðè ñîçäàíèè ïàò÷à,
Caro: çà IDA è ìîðàëüíóþ ïîääåðæêó,
SMT & Alone Coder: çà UnrealSpeccy (è çà èñïðàâëåíèå ãëþêîâ â íåì!;),
Half Elf: çà ïëàãèíû ê ôàðó,
n1k-o & Manwe: çà êîíñóëüòàöèè ïî mod'àì.
----------------------------------------------------------------------
UnrealSpeccy 0.36.7 by SMT
----------------------------------------------------------------------
contents
1. features
2. system requirements
3. keys in emulator
4. bugs and incompatibilities
5. greets
6. license
----------------------------------------------------------------------
features
cpu
Z80: all (un)documented commands and flags
memory
Pentagon 128/512/1024 and 48K ROM
Scorpion 256/1024 RAM and 64K ROM
Scorpion PROF-ROM with SMUC support (128/256/512K)
KAY-256/1024 and 64K ROM
Profi 1024 RAM/ROM and memory mapper
ATM TURBO 1 v4.50 512/1024 RAM, 64-1024K ROM
ATM TURBO 2+ v7.10 128/512/1024 RAM, 64-1024K ROM
cache 16/32K
CMOS/RTC: russian chip (512Bu1, 64 bytes, 1st day is monday) or
pc-compatible (DALLAS, 256 bytes, 1st day of week is sunday)
SMUC RTC and NVRAM (24LC16)
sound
beeper, tape saving and loading tones
AY-3-8910/YM2149: excellent sound emulation, including digital
and unusual effects, parallel ports on R14/R15 are not emulated
Turbo-AY (Turbo-Sound): two AY(or YM) chips by PoS and NedoPC schemes
TurboSound FM: two YM2203 chips (6 AY channels + 6 FM channels)
also there is 'unreal' (not available in real Spectrum) mode:
playing AY music using digital player - emul plays three sound samples
with volumes and frequencies taken from corresponding AY registers
and 'pseudo-turbo' - two parallel YM chips with some phase shift
two covoxes - Pentagon (port #FB) & Scorpion (port #DD)
SounDrive
saving sound to WAV or VTX (VTX - good format for AY sound, much
more compact than PSG, but you need lha.exe somewhere in %PATH%)
General Sound - FX & MOD player through BASS sound system.
You can save music and listen it in your favourite mod-player
General Sound low level emulation (including internal Z80 on 12MHz,
512Kb onboard memory, internal ports and DACs)
BASS offers higher quality and more sound channels than low-level
emulation. Low-level emulation is useful for programs altering the
firmware player and using second Z80 for their own needs. In general,
use BASS for games, and low-level emulation for advanced sound/music
editors (RIFF tracker)
video
several video drivers, from simple and fastest to complex bi-linear
filtering, that upsamples Spectrum display to 512x384 * 64 colors;
'noflic' filter is specially for programs fast switching two screens
to get more colors;
several chunky filters for 21st century demos
amazing video filter: Anti-Text64. Designed for reading e-zines.
It converts 4x8 fonts to 8x8 or 8x16 on the fly and saves your eyes
multicolors are fixed for Pentagon & Scorpion, 1T screen update
for all border effects
able to emulate scorpion timings, including scorpion border update
nopaper mode for debugging border effects
flash-color (using 128 ink colors with black paper when FLASH bit on)
hi-res modes: Pentagon 512x192, Profi 512x240, ATM
(works with 'double' video filter)
ATM-TURBO color video modes (works with 'double' video filter):
text mode 80x25, EGA mode 320x200, 640x200.
To use custom text-mode font, place your "SGEN.ROM" to unreal directory.
Don't use border=none with ATM video modes
Pentagon 384x304 mode [see ZX-Guide#2, AlCoNews#32]
Pentagon color-per-pixel mode [see Info Guide#8, #9]
hardware multicolor
attribute port #FF
tune-up video/sound with hotkeys
change video settings, such as number of t-states/frame, t-states/line,
fix with grey+, grey-, grey*
t-states/frame is a computer speed, so it's easy to adjust speed in
fast (or slow) games in very wide range for comfortable playing
alt+grey*, grey-, grey+ selects soundchip (AY/YM) and
stereo mode (ABC/ACB), or palette
beta 128 disk interface
implemented all FDC WD1793 commands, including read/format track
traps for read/write sector - more then 256 times speedup
tape
full TAP and TZX support
CSW support
tape browser
auto-start tape when accessing to ROM load routine
fast loading: UnrealSpeccy is able to recognize loader logic
and speed up loader by removing delay loops and edge detection loops.
(Of course, UnrealSpeccy leaves original t-states timing,
so max speed mode must be enabled for fast loading - press NumLock)
With this technique any 128K game may be loaded in 10-20 secs.
I've developed this feature independent from RAMSOFT, but looks like
they used the same idea in RS 0.90.38...
For really fast loading, also choose 'normal' video driver
IDE
UnrealSpeccy is able to use KAY, SCORPION and ATM-2 IDE interfaces with
two devices on it (hard disks or CD-ROMs)
for hard disks you may use image file or Spectrum drive, connected to
computer. CD-ROM requires physical or windows-level emulated device
schemes supported:
Nemo - controller for ZX-BUS manufactured by Nemo and NedoPC
ATM - ATM TURBO 2+ v7.10
Nemo(A8) - Nemo scheme modification: uses A8 instead of A0 to
select high/low byte of 16bit data (easy to
transfer sector with just two commands INIR:INIR)
SMUC - IDE controller for ZS Scorpion
modem
ISA modem, configured to use COM1 ports 03F8-03FF
translated to Spectrum's ports #F8EF-#FFEF.
Modem interrupt (translated to Spectrum NMI) is not emulated
Host computer should have installed windows driver for real modem.
At least ping/dns by Kamil Karimov tested and works fine
with empty 'modem initialization string'
input devices
fully customizable keyboard
copy text from clipboard via emulation of Spectrum keyboard
AY-mouse (KORVET mouse, connected to AY-3-8910/12 port A)
kempston mouse with adjustable speed and swap-buttons option,
mouse wheel included (D7..D4 in buttons' port or UP/DOWN keys)
kempston joystick on keyboard
kempston joystick on mouse (joystick will follow mouse cursor)
mouse wheel and buttons can be bound to any zx keys or kempston
PC joystick/gamepad can be bound to any zx keys or kempston
sticky keys mode [stolen from ZX_Emul, read description there]
autofire (with adjustable key and period)
files
reading:
SP, SNA and Z80 (all versions, 48k and 128k)
TAP, TZX, CSW
FDI, TRD, SCL, TD0, UDI
if disk image does not contain boot.B, it may be appended.
Disk images for every drive may be loaded automatically
at start of UnrealSpeccy
HOBETA format - appends file to existing disk; if no disk, then empty
TR-DOS disk will be created. Best use with command line:
unreal.exe prog.$B prog.$C <- will be placed on same disk
You can also load it from 'F3' dialog, but only by one file
writing:
SNA 48k and 128k
TRD, FDI, UDI
TD0 (saved unpacked, so expect saved file larger than loaded)
SCR, BMP (screenshots)
WAV, VTX
disk images converter:
emulator can open disk image in any format (TRD/TD0/FDI/SCL/UDI)
and save it to any other format
leds
1. AY volume/status. Just for fun. White color - tone, yellow - noise,
green - envelope; also shows YM2203 and GS volumes
2. perfomance leds. One displays how much Z80 t-states is between two
interrupts. While watching some demo you can see how much time
takes one or another effect. Second led shows PC framerate - at
normal speed it must be 50. If it is less, then your CPU is too
slow, and sound may be jerky - try to select faster video driver,
disable some devices, increase skipframe or decrease t-states
per int. When running on max speed, framerate shows how fast you
computer is. For example, 800 fps is 16 times faster than
Spectrum, so average game will load in 20 secs.
3. input led. Shows which input devices are active - keyboard, mouse,
kempston joystick. For keyboard, displays queried keyrows.
One example: I've noticed, that in KOL0BOK2 intro active keyrows
are <B>-<SPACE> and A-G. <SPACE> is an exit, but why program
scans <A>-<G> ? I've pressed <A>, and I saw that now program
queries <Y>-<P>. After pressing A+P, program queries <CAPS>-<V>.
When pressing A+P+X active keyrow areonly <B>-<SPACE>. So, I've
found cheat without digging in program code! (Another way was to
set breakpoint on reading port #FE and analyze code nearby)
4. loading led. When saving/loading from disk, emulator shows
blue or red diskette. When formatting track, yellow disk is
displayed. When loading from tape, emulator displays
cassette picture and progress for current block (or 'PS' - tape
silence)
5. local time - for those ZX Spectrum fans, who spend all their
time with virtual Spectrum
6. on-screen watches - display used RAM and ROM banks in last frame,
count user-defined expressions
7. using leds on AT keyboard to display AY amplitude peaks
leds look strange when flash-color is enabled. It's not a bug
monitor
software that in PC world is called 'debugger', in Spectrum world
is often called 'monitor'
find text or code.
Using mask: code matches when ((code & mask) == (pattern & mask))
unlimited number of code breakpoints
conditional breakpoints of any complexity, uses C-like expression
syntax (with this feature can be easily done: breakpoint on range,
breakpoint to port in and out, on instruction, etc..)
memory access breakpoints (on reading/writing/executing of given memory
areas)
built-in Z80 assembler/disassembler
save-load memory blocks
disk editor
ripper's tool: for ripping routines with their data.
Marks which bytes were read/written, and saves whole 64kb memory,
replacing unreferenced bytes with user-defined byte (default is #CF)
hotkeys to save/restore cursor position in disasm window
hotkeys for location instruction operand in Z80 or dump window
on-screen watches: show memory areas addressed by register pairs
GUI
all settings, that present in INI file, may be changed in GUI
(but will not be saved, for permanent effect edit INI file)
easy entering POKEs, if you don't want to use monitor or use
HEX addresses. Delimiters for numbers are space, comma, colon,
semicolon - so POKEs can be cut'n'pasted from any cheats collection
loading from archives. Now supported: CAB,ZIP,RAR.
You can add your own archivers to INI file
----------------------------------------------------------------------
system requirements
Windows 95 or higher, or NT (not tested).
Windows 2000/XP/2003 are required for real HDD support.
for running UnrealSpeccy you need:
Pentium-166 CPU MMX for basic functionality
Celeron-266 CPU for Profi/Pentagon/ATM/Anti-Text64 hi-res modes
Celeron-400 CPU for GS low-level emulation
UnrealSpeccy eats only 12Mb of RAM, so
if you've started Windows, then memory is enough
2D accelerared video card with hardware support of
video overlays and color keying for overlay modes
3D accelerared video card for hardware chunky bilinear filter
2 Mb of video memory in fullscreen
4 Mb of video memory for windowed mode
16-bit sound card [optional, but recommended]
if you have such hardware, but emulator runs slow, try the
following:
0. install latest directX and videocard drivers
1. increase sound buffer size (especially for Win95) in INI file
2. select video filter='small', video driver='ddraw'
3. disable vsync
4. set 'ShareCPU=0' in INI file
5. do not use General Sound low-level emulation
6. do not use YM2203
7. set 'skipframe=4' in INI file
8. set 'Frame=30000' in INI file (if nothing else does not work)
9. disable sound (without sound emulator runs much faster)
this should help
----------------------------------------------------------------------
keys in emulator
these are default keys, can be changed in INI file
Ctrl-F1 monitor
Shift-ESC only for windowed mode: give mouse to emulator or to MS Windows
Alt-F1 help on keys
F1 options/GUI
F2 write snapshot/disk image
Alt-F2 quicksave to qsave1.sna
Ctrl-F2 quicksave to qsave2.sna
Shift-F2 quicksave to qsave3.sna
F3 read snapshot/tape/disk image
Alt-F3 quickload from qsave1.sna
Ctrl-F3 quickload from qsave2.sna
Shift-F3 quickload from qsave3.sna
(SHIFT+)F4 select video driver (filter)
Alt-F4 exit emulator
F5 start/stop saving sound (WAV or VTX formats).
May be used from monitor: set breakpoint to
start/stop routines and save;
when saving to vtx, start and end silence are wiped
F6 enter POKE(s)
Alt-F6 search in memory for changed values (cheats, etc)
F7 start/stop tape
Shift-F7 tape browser
Alt-F8 screenshot
F9 quicksave all altered disk images and CMOS
Alt-Shift-F11 NMI
Alt-F11 NMI to cache
Ctrl-F11 NMI to TR-DOS ("magic")
F12 reset to default mode, as specified in INI file
Ctrl-Shift-F12 reset to basic-128
Ctrl-F12 reset TR-DOS (128)
Shift-F12 reset to 48 basic, but port 7FFD unlocked
Alt-Shift-F12 reset to 48 basic, port 7FFD locked
Alt-F12 reset to system ROM
Ctrl-Alt-F12 reset to cache
pause/break pause
grey/ leds on/off
grey* select parameter to change: t-states/int (speed), fix, etc...
Alt+grey* select parameter to change: AY/palette
grey+,grey- change sound/video parameter (press with SHIFT for finetuning)
NumLock max speed on/off (no sound on max speed)
Alt-NumLock toggle autofire on/off
Alt-Ctrl-Z toggle ATM XT(AT)-keyboard controller on/off
Alt-Enter toggle full-screen mode
Alt-Shift-Ins copy text from clipboard to keyboard buffer
Alt-1 set window size to 1x scale in windowed mode
Alt-2 set window size to 2x scale, useful for hardware-stretched
modes like overlay and blitter
Alt-3 maximize window
keys in monitor
(CTRL,SHIFT,ALT+)F1,F2,F3,F5,F11,F12 - see above
Ctrl-F1 exit, run program
F7 step
F8 trace, skip calls and loops
F9 show Spectrum screen
Shift-F9 show alternative 128k screen
Alt-F9 show screen until painted point with border, mc and 2-scr
effects
F11 run program until address (SP)
TAB next window
SHIFT-TAB previous window
Alt-D toggle text/hex dump
Alt-B write to port 7FFD (select bank / screen)
Alt-M write to model-specific extended memory port (like
#1FFD,#FDFD,#DFFD,...)
Alt-P enter POKE(s)
Alt-F6 search in memory for changed values (cheats, etc)
Alt-R load memory block from file
Alt-W save memory block to file
Alt-F fill memory block with hex pattern
(note: to copy block, please use save+load)
Alt-G General Sound status (double-click - play sample)
Alt-T ripper's tool
Alt-O configure on-screen watches
Alt-U disasm to file
Alt-S cycle screenshot (ray-painted) / screendump (screen memory) /
watches
Alt-F render current frame to video buffer without border and MC
effects
Ctrl-U set user-defined watch address
Ctrl-L view labels, visible for Z80 in current memory state
Ctrl-J select and go to label
Alt-C breakpoints manager
Alt-Y switch active sound chip in Turbo-Sound mode
manager can handle 3 types of breakpoints:
1. conditional breakpoints and on-screen watches
are using C expression syntax.
operators (in priority order):
() ! ~ M(x) -> * % / + - >> << > < == = <= >= != & ^ | && ||
operands:
a,b,c,d,e,h,l,bc,de,hl - common registers
a',b',c',d',e',h',l',bc',de',hl' - alternative registers
ix,iy,pc,sp,i,r - control registers
FD - memory port #FD (also known as #7FFD)
OUT - port used in 'OUT' command (or 0FFFFFFFF when no outs)
IN - port used in 'IN' command (or 0FFFFFFFF when no ins)
VAL - read/written value to port (only meaningful when OUT !=
0FFFFFFFF or IN != 0FFFFFFFF)
numbers - hex, must start with digit: DFFD - wrong, 0DFFD - right
characters - must be enclosed in single quotes ('A','B',etc..)
All calculations use 32-bit unsigned interger arithmetic.
If you are not familiar with C, use brackets as much as possible, due to
non-intuitive operator's precedence, e.g.
out & 0FF == 0FE is treated as 'out & (0FF == 0FE)' <- always 0
M(x) is byte from memory address x (same as x->0)
'=' is an alias for '==' (for Pascal programmers)
examples:
(out+1) | (in+1) - in/out to any port
(in & 8001) == 0 - read keyboard row from <B> to <SPACE>
!(out & 1) - any out to port #FE
(out & 0FF)==0BB && (val==0F3 || val==0F4) - reset General Sound
(out & 0FF)==0FD && (val&7)==3 - set 3rd memory page
(FD & 7) == 3 - the same
M(pc)==0CB && pc->1 >= 10 && pc->1 <= 17
- set break on executing instruction "rl <reg>"
I hope, these examples will be enough to get idea
note: double-click on breakpoint to edit it
2. execution breakpoints (also set in CPU window by pressing SPACE).
In manager window it is easy to setup breakpoint on execution
range like 6000-FFFF
3. breakpoints on reading/writing memory. Similar to execution
breakpoints, but have flags "R" and "W" to issue interrupt on
reading/writing memory address (flags may be set together)
monitor: registers window
Cursor select register
ENTER,0-F change register
Ctrl+A,F,B,D,H,S,P,X,Y,I,R,M,1,2 edit A,F,BC,DE,HL,SP,PC,IX,IY,I,R,IM,IFF1,IFF2
Alt+S,Z,5,H,3,P,N,C toggle flag
' go to value under cursor in CPU window
; go to value under cursor in memory window
monitor: CPU window
F4 trace to cursor
Alt-F7 find text
Ctrl-F7 find code with mask
HOME go to PC
Ctrl-G go to address
SPACE set/reset breakpoint under cursor
ENTER edit Z80 instruction, opcode bytes or cursor address
A-X assemble new Z80 instruction
Z set PC to cursor
Ctrl-1,.,Ctrl-8 save current position to slot 1-8
1-8 save current position to stack, go to saved position in slot 1-8
Backspace restore position from jumpstack
' push cursor position and go to instruction operand
; jump to instruction operand in data window
Ctrl-A reading labels from XAS or ALASM, using 3 methods:
1. XAS7: assembler should be in bank 6 (or bank #46 for Pentagon-512)
2. ALASM: version 4.42-5.0x should be in 128k-memory (pages 1-7)
3. ALASM+STS: STS should be in bank#7 (or bank #47 for Pentagon-512)
monitor: memory window
Alt-F7 find text in memory / disk track
Ctrl-F7 find code with mask in memory / disk track
Cursor,Home,End,PgUp,PgDn move
Ctrl-G go to address
Ctrl-M select memory editor
Ctrl-V select disk editor (physical track)
Ctrl-O select disk editor (logical sectors)
Ctrl-T select disk/track/sector in diskeditor
Ctrl-TAB move to hex/ascii
Ctrl+S,P,B,D,H,X,Y go to SP,PC,BC,DE,HL,IX,IY
other keys edit
monitor: Beta 128 window
here is a typical FDC indicator content
CD:1820
STAT:21
SECT:09
T:01/01
S:3C/00
first line is command and data register (cmd18,data20 - seek track 20)
2nd line - status register
3rd line - sector register
4th line - actual FDD head position and track register
5th line - Beta disk system register and DRQ/INTRQ port
----------------------------------------------------------------------
bugs and incompatibilities
some programs, such as Manic Miner and Lode Runner, require
old 48K ROM (1982.rom), while some other programs require
ZX Spectrum 128 ROM (48for128.rom + 128tr!.rom)
some TR-DOS programs (Unreal Megademo by KSA, Street Fighter)
work only if TR-DOS traps are disabled and all delays enabled
Profi service ROM can work only when all TR-DOS delays are enabled
Bumpy does not work in default configuration, it tries to read port
#FFDF for kempston joystick - so disable kempston mouse before
playing [bug found by Paul Pavlov]
sounddrv=wave does not work with CTSB128PCI (Creative Sound Blaster),
there is a bug in drivers for this card. [bug found by Nuts]
some ABS adventures (ALIEN.SCL, LENIN.SCL) do not work with TR-DOS 5.04TM,
use version 5.03 - it is most compatible [bug found by Paul Pavlov]
Vixen 1,2,3 - incompatible with SounDrive [bug found by Paul Pavlov]
Fernandez - incompatible with SounDrive [bug found by Shadow Maker]
port #FF sometimes is not responding when SkipFrame!=0
(the same to SkipFrameMaxSpeed!=0 and max speed mode)
Scorpion 'MAGIC' generates NMI even if PC < #4000, but shadow
monitor is not designed for this situation and may crash
CacheVox by AlCo requires TR-DOS delays enabled and [BETA128] IL=1
If the emulator after returning of focus seems to have a sticky key,
press Scroll Lock, deactivate blinking key, then press Scroll Lock again.
If emulator control keys work wrong after returning of focus, press Enter,
and keys must go normal.
If emulator hangs with General Sound, try DSPrimary=0.
If emulator crashes with General Sound, try GSType=Z80.
If Kempston Joystick doesn't work, go to menu, press NumLock there,
then return.
In case of bad sound, try DSPrimary=1 (may crash emulator eventually!)
or SoundDrv=wave in .ini.
Screenshots are saved to the emulator directory.
Files to read and write via debugger are situated in a current directory
(which is seen by F3).
Download sys.trd (for drive B:) from http://alonecoder.narod.ru/zx/SYS.rar
Download xBIOS for ATM Turbo2+ from http://atmturbo.nedopc.com/
Get WNASPI32.DLL from Ahead Nero or from Ahead website
BASS.DLL v2.3 was taken from http://www.un4seen.com/
----------------------------------------------------------------------
greetings from SMT:
* dj.Z, IMP and MIC - I enjoyed your music a lot !
* Nik-O and Fatal Snipe - for adherence to ay scene
* Hacker KAY - thanks for most accurate information about AY/YM
* Paul Pavlov - maintainer of largest TR-DOS archive
* Raul Gomez Sanchez (author of R80)
* Stalker - thanks for STS
* Placebo, Extreme, Digital Reality, CBS - for quality demos
* V_Soft (Roman Scherbakov) - for Vortex format
* Sergey Bulba - for AY_Emul
* Alone Coder - you keep Spectrum alive
* Ian Luck - thanks for BASS
* SirX - just a hello
* all ZX Spectrum fans - Speccy is da best!
special thanks to people, who were interested in
UnrealSpeccy's development and sent me info about hard/soft:
* Maxim Vasilyev - sent me many bugreports
* Mac Buster - some info about beta 128 disk interface
* Shiru Otaku - sent me GSPAK.ZIP
* Alexey Kravchenko - Scorpion timing info
* Vitaliy Pigo - testing and benchmarking
* Alex Baskakov - helped me with TD0 format
* Alone Coder - thnx for many info about Pentagon hardware
* Dexus - for integrating YM2203 support
* Maksagor - ATM information
* and many others, who emailed me congratulations/suggestions/etc
----------------------------------------------------------------------
license
UnrealSpeccy is completely freeware. You may use this emulator
and its sources without any restrictions. You may use the
sources in your own emul or to release bugfixed/new versions.
in this case you do not have to release updated source code,
(unlike GNU Public License requires, for example). You may port
emulator to any other platform (but there are many
MSVC-specific language constructions, so it's doubtful that
you can compile it with another compiler)
E-mail of current developer: alone_coder!mail.ru, dmitry.alonecoder!gmail.com
Send me bug reports, ideas, and changed source lines.
----------------------------------------------------------------------
UnrealSpeccy 0.36.7 by SMT
----------------------------------------------------------------------
ñîäåðæàíèå
1. âîçìîæíîñòè
2. òðåáîâàíèÿ ê ñèñòåìå
3. óïðàâëÿþùèå êëàâèøè ýìóëÿòîðà
4. íåñîâìåñòèìîñòü
5. ïðèâåòû è áëàãîäàðíîñòè
6. ëèöåíçèÿ
----------------------------------------------------------------------
âîçìîæíîñòè
ïðîöåññîð
Z80: âñå (íå)äîêóìåíòèðîâàííûå êîìàíäû è ôëàãè
ìîäåëè ïàìÿòè
Pentagon 128/512/1024 ñ 64K ÏÇÓ
Scorpion 256/1024 ñ 64K ÏÇÓ
Scorpion ÏðîôÏÇÓ ñ ïîääåðæêîé SMUC (128/256/512K)
KAY-256/1024 ñ 64K ÏÇÓ
Profi 1024 ÎÇÓ/ÏÇÓ ñ memory mapper'îì
ATM TURBO 1 v4.50 512/1024 ÎÇÓ, 64-1024K ÏÇÓ
ATM TURBO 2+ v7.10 128/512/1024 ÎÇÓ, 64-1024K ÏÇÓ
êýø 16/32K
CMOS/÷àñû(RTC):
ñîâåòñêàÿ ìèêðîñõåìà (512ÂÈ1, 64 áàéòà, 1-é äåíü - ïîíåäåëüíèê) èëè
ìèêðîñõåìà èç IBM PC (DALLAS, 256 áàéò, 1-é äåíü - âîñêðåñåíüå)
÷àñû è ýíåðãîíåçàâèñèìîå ÎÇÓ (NVRAM) (24LC16) êîíòðîëëåðà SMUC
çâóê
áèïåð è çâóê ìàãíèòîôîíà
AY-3-8910/YM2149: òî÷íàÿ ýìóëÿöèÿ, âêëþ÷àÿ öèôðîâîé çâóê
è íåñòàíäàðòíûå ýôôåêòû, íî ïàðàëëåëüíûå ïîðòû íà R14/R15 íå ýìóëèðóþòñÿ
Turbo-AY (Turbo-Sound): 2 ìèêðîñõåìû AY(èëè YM) ïî ñõåìå PoS èëè NedoPC
TurboSound FM: 2 ìèêðîñõåìû YM2203 (6 AY êàíàëîâ + 6 FM êàíàëîâ)
ðåæèì 'use digital samples' (îòñóòñòâóþùèé íà ðåàëüíîì Ñïåêòðóìå):
AY-ìóçûêà ÷åðåç öèôðîâîé ïëåéåð - èãðàþòñÿ òðè ñýìïëà
ñ ãðîìêîñòÿìè è ÷àñòîòàìè èç ñîîòâåòñòâóþùèõ ðåãèñòðîâ AY
ðåæèì 'pseudo-turbo': 2 çàïàðàëëåëåííûõ ìèêðîñõåìû YM ñî ñäâèãîì ïî ôàçå
äâà êîâîêñà - Pentagon (ïîðò #FB) è Scorpion (ïîðò #DD)
SounDrive
çàïèñü çâóêà â WAV èëè VTX (VTX - õîðîøèé ôîðìàò äëÿ AY çâóêà, ãîðàçäî
ïëîòíåå, ÷åì PSG, íî äëÿ íåãî òðåáóåòñÿ lha.exe ãäå-ëèáî â %PATH%)
General Sound - ïëåéåð MOD è çâóêîâûõ ýôôåêòîâ ÷åðåç áèáëèîòåêó BASS.
Ìîæíî ñîõðàíèòü ìóçûêó, ÷òîáû çàòåì ñëóøàòü å¸ âî âíåøíåì ïëåéåðå
íèçêîóðîâíåâàÿ ýìóëÿöèÿ General Sound (âíóòðåííèé Z80 íà 12MHz,
512Kb âíóòðåííåãî ÎÇÓ, âíóòðåííèå ïîðòû è ÖÀÏû)
BASS äà¸ò áîëåå âûñîêîå êà÷åñòâî è áîëüøå êàíàëîâ, ÷åì íèçêîóðîâíåâàÿ
ýìóëÿöèÿ. Íèçêîóðîâíåâàÿ ýìóëÿöèÿ íóæíà äëÿ ïðîãðàìì, ïîäìåíÿþùèõ
ôèðìåííûé ïëåéåð è èñïîëüçóþùèõ Z80 äëÿ ñâîèõ öåëåé. Íà ïðàêòèêå
BASS ðåêîìåíäóåòñÿ äëÿ èãð, à íèçêîóðîâíåâàÿ ýìóëÿöèÿ - äëÿ ïðîäâèíóòûõ
ìóçûêàëüíûõ/çâóêîâûõ ðåäàêòîðîâ (RIFF tracker)
ãðàôèêà
ìíîæåñòâî ôèëüòðîâ, îò áûñòðîãî simple äî áèëèíåéíîé
ôèëüòðàöèè, ìàñøòàáèðóþùåé ñïåêòðóìîâñêîå èçîáðàæåíèå äî 512x384
ñ 64 öâåòàìè;
ôèëüòð 'noflic' äëÿ ïðîãðàìì, êîòîðûå áûñòðî ïåðåêëþ÷àþò äâà ýêðàíà,
÷òîáû ïîëó÷èòü áîëüøå öâåòîâ;
íåñêîëüêî ÷àíêîâûõ ôèëüòðîâ äëÿ äåìîê XIX âåêà
çàìå÷àòåëüíûé ôèëüòð 'Anti-Text64'. Ïðåäíàçíà÷åí äëÿ ÷òåíèÿ ïðåññû.
Íà ëåòó çàìåíÿåò øðèôòû 4x8 íà áîëåå ïðèÿòíûå äëÿ ãëàç øðèôòû 8x8 è 8x16
íàñòðîéêè Pentagon è Scorpion äëÿ ìóëüòèêîëîðíûõ ýôôåêòîâ,
ïðè÷¸ì áîðäåð îáíîâëÿåòñÿ ñ òî÷íîñòüþ äî òàêòà
äëÿ ýìóëÿöèè ñêîðïèîíîâñêèõ áîðäåðíûõ ýôôåêòîâ èìååòñÿ ðåæèì
îáíîâëåíèÿ áîðäåðà ðàç â 4 òàêòà
ðåæèì nopaper äëÿ îòëàäêè áîðäåðíûõ ýôôåêòîâ
flash-color (â êàæäîì çíàêîìåñòå ïðè âêëþ÷åííîì áèòå FLASH ìîæíî âûáðàòü
îäèí èç 128 öâåòîâ ink íà ÷¸ðíîì ôîíå)
ðåæèìû âûñîêîãî ðàçðåøåíèÿ: Pentagon 512x192, Profi 512x240, ATM
(ðàáîòàþò òîëüêî ñ ôèëüòðîì 'double')
öâåòíûå âèäåîðåæèìû ATM-TURBO (òîëüêî ñ ôèëüòðîì 'double'):
òåêñòîâûé 80x25, EGA 320x200, ìóëüòèêîëîð 640x200.
Äëÿ ñìåíû øðèôòà òåêñòîâîãî ðåæèìà ïîìåñòèòå SGEN.ROM â ïàïêó unreal.
Íå âêëþ÷àéòå border=none â âèäåîðåæèìàõ ATM
ðåæèì 384x304 êîìïüþòåðà Pentagon [ñì. ZX-Guide#2, AlCoNews#32]
ðåæèì "öâåò íà òî÷êó" êîìïüþòåðà Pentagon [ñì. Info Guide#8, #9]
àïïàðàòíûé ìóëüòèêîëîð
ïîðò àòðèáóòîâ #FF
íàñòðîéêà ãðàôèêè è çâóêà ãîðÿ÷èìè êëàâèøàìè
ïàðàìåòðû ãðàôèêè (÷èñëî òàêòîâ â êàäðå è â ñòðîêå) âûáèðàþòñÿ è
íàñòðàèâàþòñÿ êëàâèøàìè grey+, grey-, grey* íà öèôðîâîé êëàâèàòóðå
t-states/frame (÷èñëî òàêòîâ â êàäðå) ïîçâîëÿåò ïîäîáðàòü ñêîðîñòü
â ñëèøêîì áûñòðûõ (èëè ñëèøêîì ìåäëåííûõ) èãðàõ
êîìáèíàöèè alt+grey*, grey-, grey+ âûáèðàþò çâóêîâîé ñîïðîöåññîð (AY/YM)
è ñòåðåîðåæèì (ABC/ACB), èëè æå ïàëèòðó
äèñêîâûé èíòåðôåéñ Beta 128
âñå êîìàíäû êîíòðîëëåðà ÂÃ93 (WD1793), âêëþ÷àÿ ÷òåíèå/çàïèñü äîðîæêè
ïåðåõâàò ÷òåíèÿ/çàïèñè ñåêòîðîâ - óñêîðåíèå áîëåå ÷åì â 256 ðàç
ìàãíèòîôîí
ïîëíàÿ ïîääåðæêà TAP è TZX
ïîääåðæêà CSW
âûáîð ôàéëà (tape browser)
àâòîçàïóñê ëåíòû ïðè îáðàùåíèè ê ñòàíäàðòíîé ïðîöåäóðå ÷òåíèÿ
áûñòðàÿ çàãðóçêà: UnrealSpeccy ìîæåò ðàñïîçíàòü ëîãèêó çàãðóç÷èêà
è óñêîðèòü åãî ïóò¸ì ïðîïóñêà öèêëîâ çàäåðæåê è îæèäàíèÿ ôðîíòîâ.
Ðàçóìååòñÿ, UnrealSpeccy ïðè ýòîì íå ñáèâàåò òàéìèíãè,
òàê ÷òî äëÿ áûñòðîé çàãðóçêè òðåáóåòñÿ âêëþ÷èòü max speed (NumLock).
Òàêèì îáðàçîì, ëþáóþ 128K èãðó ìîæíî çàãðóçèòü çà 10-20 ñåêóíä.
Ýòà õèòðîñòü ðàçðàáîòàíà íåçàâèñèìî îò RAMSOFT, íî ïîõîæå, ÷òî
RS 0.90.38 ðàáîòàåò àíàëîãè÷íûì îáðàçîì.
Äëÿ äåéñòâèòåëüíî áûñòðîé çàãðóçêè âêëþ÷èòå âèäåîôèëüòð 'normal'
IDE
UnrealSpeccy ýìóëèðóåò IDE-èíòåðôåéñû êîìïüþòåðîâ KAY, SCORPION è ATM-2
ñ äâóìÿ óñòðîéñòâàìè òèïà æ¸ñòêèé äèñê/CD-ROM
âìåñòî ðåàëüíûõ æ¸ñòêèõ äèñêîâ ìîæíî èñïîëüçîâàòü ôàéë-îáðàçû.
CD-ROM ýìóëèðóåòñÿ ÷åðåç ðåàëüíîå óñòðîéñòâî èëè ÷åðåç âèðòóàëüíîå,
ðàáîòàþùåå íà óðîâíå îïåðàöèîííîé ñèñòåìû
ýìóëèðóåìûå ñõåìû:
Nemo - êîíòðîëëåð äëÿ øèíû ZX-BUS, ïðîèçâîäèâøèéñÿ Nemo è NedoPC
ATM - ATM TURBO 2+ v7.10
Nemo(A8) - èçìåíåíèå ñõåìû Nemo: èñïîëüçóåò A8 âìåñòî A0, ÷òîáû
âûáèðàòü ñòàðøèé/ìëàäøèé áàéò 16-ðàçðÿäíîãî ñëîâà (ìîæíî
ñ÷èòàòü ñåêòîð äâóìÿ êîìàíäàìè INIR:INIR)
SMUC - IDE-êîíòðîëëåð äëÿ êîìïüþòåðà ZS Scorpion
ìîäåì
Âíóòðåííèé ISA-ìîäåì, íàñòðîåííûé íà COM1 (ïîðòû 03F8-03FF,
òðàíñëèðóåìûå íà ñïåêòðóìîâñêèå ïîðòû #F8EF-#FFEF).
Ïðåðûâàíèå îò ìîäåìà (NMI íà Ñïåêòðóìå) íå ýìóëèðóåòñÿ.
Òðåáóåòñÿ óñòàíîâèòü äðàéâåð ìîäåìà â Windows.
Ïðîãðàììà ping by Kamil Karimov ïðîâåðåíà è ðàáîòàåò
ïðè ïóñòîé ñòðîêå èíèöèàëèçàöèè ìîäåìà (modem initialization string)
óñòðîéñòâà ââîäà
ïîëíîñòüþ íàñòðàèâàåìàÿ êëàâèàòóðà
âñòàâêà òåêñòà èç áóôåðà îáìåíà ÷åðåç ýìóëÿöèþ ñïåêòðóìîâñêîé êëàâèàòóðû
AY-mouse (ìûøü îò ÊÎÐÂÅÒà, ïîäêëþ÷¸ííàÿ ê ïîðòó A çâóêîâîãî ñîïðîöåññîðà)
kempston mouse ñ íàñòðàèâàåìîé ñêîðîñòüþ è îïöèåé îáìåíà êíîïîê,
ñ ïîääåðæêîé êîëåñà (D7..D4 â ïîðòó êíîïîê ëèáî êàê êëàâèøè UP/DOWN)
kempston joystick íà êëàâèàòóðå
kempston joystick íà ìûøè (äæîéñòèê ñëåäóåò çà êóðñîðîì ìûøè)
êîëåñî è êíîïêè ìûøè ìîæíî ïðèâÿçàòü ê ëþáûì êëàâèøàì
êëàâèàòóðû Ñïåêòðóìà èëè êåìïñòîí-äæîéñòèêà
äæîéñòèê äëÿ PC ìîæíî ïðèâÿçàòü ê ëþáûì êëàâèøàì
êëàâèàòóðû Ñïåêòðóìà èëè êåìïñòîí-äæîéñòèêà
ðåæèì çàëèïøèõ êëàâèø (sticky keys) [âçÿòî èç ZX_Emul, ñì. åãî îïèñàíèå]
autofire (íàñòðàèâàåìàÿ êëàâèøà, íàñòðàèâàåìûé ïåðèîä)
ôàéëû
÷èòàþòñÿ:
SP, SNA è Z80 (âñå âåðñèè, 48k è 128k)
TAP, TZX, CSW
FDI, TRD, SCL, TD0, UDI
åñëè îáðàç äèñêà íå ñîäåðæèò boot.B,
ìîæíî åãî àâòîìàòè÷åñêè äîáàâëÿòü.
Ìîæíî èñïîëüçîâàòü çàãðóçêó îáðàçîâ äèñêîâ äëÿ
êàæäîãî èç äèñêîâîäîâ ïðè çàïóñêå ýìóëÿòîðà
ôîðìàò HOBETA - ôàéë äîáàâëÿåòñÿ íà ñóùåñòâóþùèé äèñê;
åñëè íåò äèñêà, ñîçäà¸òñÿ ïóñòîé TR-DOS äèñê.
Óäîáíî ãðóçèòü èç êîìàíäíîé ñòðîêè:
unreal.exe prog.$B prog.$C <- áóäóò ïîìåùåíû íà îäèí äèñê
Ìîæíî ãðóçèòü õîáåòíûå ôàéëû ÷åðåç ìåíþ 'F3',
íî òîëüêî ïî îäíîìó ôàéëó
çàïèñûâàþòñÿ:
SNA 48k è 128k
TRD, FDI, UDI
TD0 (çàïèñûâàåòñÿ áåç ñæàòèÿ, ïîýòîìó çàïèñàííûé ôàéë, ñêîðåå âñåãî,
áóäåò áîëüøå ñ÷èòàííîãî)
SCR, BMP (ñêðèíøîòû)
WAV, VTX
ïðåîáðàçîâàíèå ôîðìàòîâ:
ýìóëÿòîð ìîæåò îòêðûòü îáðàç äèñêà â îäíîì èç ôîðìàòîâ
(TRD/TD0/FDI/SCL/UDI) è çàïèñàòü åãî â äðóãîì ôîðìàòå
èíäèêàòîðû
1. ãðîìêîñòü/ñîñòîÿíèå AY. Áåëûé öâåò - òîí, æ¸ëòûé - øóì,
çåë¸íûé - îãèáàþùàÿ; òàêæå îòîáðàæàþòñÿ ãðîìêîñòè YM2203 è GS
2. èíäèêàòîðû performance. Îäèí ïîêàçûâàåò, ñêîëüêî òàêòîâ Z80
ïðîøëî ìåæäó äâóìÿ ïðåðûâàíèÿìè. Ïðè ïðîñìîòðå äåìîíñòðàöèé ìîæíî
óâèäåòü, ñêîëüêî âðåìåíè çàíèìàåò òîò èëè èíîé ýôôåêò. Âòîðîå ÷èñëî -
÷àñòîòà êàäðîâ PC - íà íîðìàëüíîé ñêîðîñòè äîëæíî áûòü 50.
Åñëè îíî ìåíüøå, òî âàø êîìïüþòåð ñëèøêîì ìåäëåííûé, è âû ñëûøèòå
èñêàæ¸ííûé çâóê. Âûáåðèòå áîëåå áûñòðûé âèäåîäðàéâåð è ôèëüòð,
îòêëþ÷èòå êàêèå-íèáóäü óñòðîéñòâà, óâåëè÷üòå skipframe èëè óáàâüòå
t-states per int. Ïðè ïðîãîíå íà max speed ÷àñòîòà êàäðîâ ïîêàçûâàåò,
íàñêîëüêî âàø êîìïüþòåð áûñòð. Íàïðèìåð, 800 fps - ýòî â 16 ðàç
áûñòðåå, ÷åì Spectrum, è ñðåäíÿÿ èãðà çàãðóçèòñÿ çà 20 ñåêóíä.
3. èíäèêàòîð input. Ïîêàçûâàåò, êàêèå óñòðîéñòâà ââîäà îïðàøèâàþòñÿ -
êëàâèàòóðà, ìûøü, êåìïñòîí-äæîéñòèê. Äëÿ êëàâèàòóðû ïîêàçûâàþòñÿ
îïðàøèâàåìûå ïîëóðÿäû. Ïðèìåð: ÿ çàìåòèë, ÷òî â èíòðî ê KOL0BOK2
àêòèâíû ïîëóðÿäû <B>-<SPACE> è A-G. <SPACE> - ýòî âûõîä, íî ïî÷åìó
ïðîãðàììà îïðàøèâàåò <A>-<G>? ß íàæàë <A> è óâèäåë, ÷òî òåïåðü
ïðîãðàììà îïðàøèâàåò <Y>-<P>. Ïîñëå íàæàòèÿ A+P ïðîãðàììà îïðàøèâàåò
<CAPS>-<V>. Ïîñëå íàæàòèÿ A+P+X àêòèâíûì îñòà¸òñÿ òîëüêî ïîëóðÿä
<B>-<SPACE>. Ïîëó÷àåòñÿ, ÷òî ÿ íàø¸ë cheat áåç çàëåçàíèÿ â êîä!
(Ìîæíî áûëî ïîñòàâèòü breakpoint íà ÷òåíèå ïîðòà #FE è àíàëèçèðîâàòü
êîä â ýòîì ðàéîíå)
4. èíäèêàòîð loading. Ïðè çàïèñè/÷òåíèè äèñêà ýìóëÿòîð ïîêàçûâàåò
ñèíþþ/êðàñíóþ äèñêåòó. Ïðè ôîðìàòèðîâàíèè äîðîæêè äèñêåòà æ¸ëòàÿ.
Ïðè çàãðóçêå ñ ìàãíèòîôîíà ýìóëÿòîð ïîêàçûâàåò êàññåòó è ïðîãðåññ
ñ÷èòûâàíèÿ òåêóùåãî áëîêà (èëè 'PS' - ïàóçà â çàïèñè)
5. local time - ÷àñû äëÿ òåõ, ÷òî ïðîâîäèò âñ¸ ñâî¸ âðåìÿ ñ
âèðòóàëüíûì Ñïåêòðóìîì
6. on-screen watches - ïîêàçûâàåò áàíêè ÎÇÓ è ÏÇÓ, èñïîëüçîâàííûå
â ïîñëåäíåì êàäðå; âû÷èñëÿåò âûðàæåíèÿ, îïðåäåë¸ííûå ïîëüçîâàòåëåì
7. ìîæíî èñïîëüçîâàòü ëàìïî÷êè íà AT êëàâèàòóðå â êà÷åñòâå èíäèêàòîðîâ
ãðîìêîñòè AY êàíàëîâ
èíäèêàòîðû íåîáû÷íî îêðàøèâàþòñÿ â ðåæèìå flash-color. Ýòî íå ãëþê
ìîíèòîð-îòëàä÷èê
ïðîãðàììà, íàçûâàåìàÿ â ìèðå PC "äåáàããåðîì", â ìèðå Spectrum ÷àñòî
íîñèò íàçâàíèå "ìîíèòîð"
ïîèñê òåêñòà èëè êîäà.
Èñïîëüçóåò ìàñêó: ñîâïàäåíèå, êîãäà ((code & mask) == (pattern & mask))
íåîãðàíè÷åííîå ÷èñëî òî÷åê îñòàíîâà (breakpoints)
îñòàíîâû ïî óñëîâèþ (conditional breakpoints) ëþáîé ñëîæíîñòè,
èñïîëüçóþò Ñè-ïîäîáíûé ñèíòàêñèñ (÷åðåç íèõ ìîæíî ðåàëèçîâàòü îñòàíîâ
ïî ÷òåíèþ èëè çàïèñè â ïîðò îïðåäåë¸ííîãî çíà÷åíèÿ, ïî îïðåäåë¸ííîé
êîìàíäå ïðîöåññîðà è ò.ï.)
îñòàíîâû ïî îáðàùåíèþ ê ïàìÿòè (ïî ÷òåíèþ/çàïèñè/èñïîëíåíèþ óêàçàííûõ
îáëàñòåé ïàìÿòè)
âñòðîåííûé àññåìáëåð/äèçàññåìáëåð Z80
ñîõðàíåíèå-çàãðóçêà îáëàñòåé ïàìÿòè
ðåäàêòîð îáðàçà äèñêà (äèñê-äîêòîð)
ripper's tool: äëÿ èçâëå÷åíèÿ ïðîöåäóð ñ èõ äàííûìè. Ïîêàçûâàåò, êàêèå
áàéòû áûëè ñ÷èòàíû/çàïèñàíû, è ñîõðàíÿåò âñ¸ àäðåñíîå ïðîñòðàíñòâî
ïðîöåññîðà, çàáèâàÿ íåèñïîëüçîâàííûå àäðåñà óêàçàííûì áàéòîì
(ïî óìîë÷àíèþ #CF)
ãîðÿ÷èå êëàâèøè ñîõðàíåíèÿ/âîññòàíîâëåíèÿ ïîëîæåíèÿ êóðñîðà â îêíå
äèçàññåìáëåðà
ãîðÿ÷èå êëàâèøè ïåðåõîäà ïî àäðåñó, óêàçàííîìó â êîìàíäå - â îêíî
äèçàññåìáëåðà èëè â îêíî äàìïà
on-screen watches: ïîêàçûâàþò îáëàñòè ïàìÿòè, àäðåñîâàííûå
ðåãèñòðîâûìè ïàðàìè
ãðàôè÷åñêèé èíòåðôåéñ (GUI)
âñå íàñòðîéêè, èìåþùèåñÿ â INI-ôàéëå, ìîæíî èçìåíÿòü â GUI
(íî îíè íå ñîõðàíÿþòñÿ, äëÿ ïîñòîÿííîãî èçìåíåíèÿ ðåäàêòèðóéòå INI-ôàéë)
ëåãêî ââîäèìûå POKE, åñëè âû íå õîòèòå èñïîëüçîâàòü ìîíèòîð èëè
øåñòíàäöàòåðè÷íóþ ñèñòåìó ñ÷èñëåíèÿ. Ðàçäåëèòåëè ÷èñåë - ïðîáåë,
çàïÿòàÿ, äâîåòî÷èå, òî÷êà ñ çàïÿòîé - òàê ÷òî ìîæíî êîïèðîâàòü POKE
ïðÿìî èç êîëëåêöèé cheat'îâ
÷òåíèå èç àðõèâîâ. Ïîääåðæàíû: CAB,ZIP,RAR.
Ìîæåòå äîáàâèòü ñâîè àðõèâàòîðû â INI ôàéëå
----------------------------------------------------------------------
òðåáîâàíèÿ ê ñèñòåìå
Windows 95 è âûøå, ëèáî NT (íå ïðîâåðÿëîñü).
Äëÿ ðàáîòû ñ ðåàëüíûì HDD òðåáóåòñÿ Windows 2000/XP/2003.
äëÿ ðàáîòû UnrealSpeccy òðåáóåòñÿ:
Pentium-166 CPU MMX äëÿ ìèíèìàëüíîãî ôóíêöèîíèðîâàíèÿ
Celeron-266 CPU äëÿ ðåæèìîâ âûñîêîãî ðàçðåøåíèÿ
Profi/Pentagon/ATM/Anti-Text64
Celeron-400 CPU äëÿ íèçêîóðîâíåâîé ýìóëÿöèè GS
UnrealSpeccy çàíèìàåò âñåãî 12Mb ÎÇÓ, òàê ÷òî
åñëè Windows çàïóñòèëñÿ, òî ïàìÿòè õâàòàåò
âèäåîêàðòà ñ 2D óñêîðèòåëåì, ïîääåðæèâàþùàÿ video overlays è
color keying for overlay modes
âèäåîêàðòà ñ 3D óñêîðèòåëåì äëÿ hardware chunky bilinear filter
2 Mb âèäåîïàìÿòè â ïîëíîýêðàííîì ðåæèìå (fullscreen)
4 Mb âèäåîïàìÿòè â îêîííîì ðåæèìå (windowed)
16-áèòíàÿ çâóêîâàÿ êàðòà [íå îáÿçàòåëüíà, íî ðåêîìåíäóåòñÿ]
Åñëè âû èìååòå ñîîòâåòñòâóþùåå æåëåçî, íî ýìóëÿòîð òîðìîçèò,
òî ïîïðîáóéòå ñëåäóþùåå:
0. óñòàíîâèòå ñâåæèé directX è ñâåæèå äðîâà âèäåîêàðòû
1. óâåëè÷üòå ðàçìåð sound buffer (îñîáåííî äëÿ Win95) â INI-ôàéëå
2. âûáåðèòå video filter='small', video driver='ddraw'
3. îòêëþ÷èòå vsync
4. óñòàíîâèòå 'ShareCPU=0' â INI-ôàéëå
5. îòêëþ÷èòå íèçêîóðîâíåâóþ ýìóëÿöèþ General Sound
6. îòêëþ÷èòå YM2203
7. óñòàíîâèòå 'skipframe=4' â INI-ôàéëå
8. óñòàíîâèòå 'Frame=30000' â INI-ôàéëå
(åñëè áîëüøå íè÷åãî íå ïîìîãàåò)
9. îòêëþ÷èòå çâóê (áåç çâóêà ýìóëÿòîð ðàáîòàåò çíà÷èòåëüíî áûñòðåå)
Ýòî äîëæíî ïîìî÷ü
----------------------------------------------------------------------
óïðàâëÿþùèå êëàâèøè ýìóëÿòîðà
ïåðå÷èñëåíû êëàâèøè ïî óìîë÷àíèþ, èõ ìîæíî ñìåíèòü â INI-ôàéëå
Ctrl-F1 ìîíèòîð-îòëàä÷èê
Shift-ESC äëÿ îêîííîãî ðåæèìà: îòäàòü ìûøü ýìóëÿòîðó èëè ñèñòåìå
Alt-F1 ïîìîùü ïî êëàâèøàì
F1 íàñòðîéêè/GUI
F2 çàïèñàòü ñíàïøîò/îáðàç äèñêà
Alt-F2 çàïèñàòü ñíàïøîò qsave1.sna
Ctrl-F2 çàïèñàòü ñíàïøîò qsave2.sna
Shift-F2 çàïèñàòü ñíàïøîò qsave3.sna
F3 çàãðóçèòü ñíàïøîò/îáðàç ëåíòû/îáðàç äèñêà
Alt-F3 çàãðóçèòü ñíàïøîò qsave1.sna
Ctrl-F3 çàãðóçèòü ñíàïøîò qsave2.sna
Shift-F3 çàãðóçèòü ñíàïøîò qsave3.sna
(SHIFT+)F4 âûáðàòü âèäåîäðàéâåð (ôèëüòð)
Alt-F4 âûõîä èç ýìóëÿòîðà
F5 íà÷àòü/çàêîí÷èòü ñîõðàíåíèå çâóêà (WAV èëè VTX).
Ìîæíî èñïîëüçîâàòü èç ìîíèòîðà: óñòàíîâèòå òî÷êè îñòàíîâà íà
íà÷àëüíûõ/êîíå÷íûõ ïðîöåäóðàõ è çàïèñûâàéòå;
ïðè çàïèñè vtx óáèðàþòñÿ ïàóçû â íà÷àëå è êîíöå
F6 ââåñòè POKE (îäíî èëè ìíîãî)
Alt-F6 ïîèñê èçìåí¸ííûõ çíà÷åíèé â ïàìÿòè (äëÿ cheat'îâ è ò.ï.)
F7 çàïóñòèòü/îñòàíîâèòü ëåíòó
Shift-F7 âûáîð ôàéëà íà ëåíòå (tape browser)
Alt-F8 çàïèñàòü ñêðèíøîò
F9 ñîõðàíèòü âñå èçìåí¸ííûå îáðàçû äèñêà è ñîäåðæèìîå CMOS-÷àñîâ
Alt-Shift-F11 NMI
Alt-F11 NMI â êýø
Ctrl-F11 NMI â TR-DOS ("magic")
F12 ñáðîñ â ðåæèìå ïî óìîë÷àíèþ, óêàçàííîì â INI
Ctrl-Shift-F12 ñáðîñ â 128 áåéñèê
Ctrl-F12 ñáðîñ â TR-DOS (128)
Shift-F12 ñáðîñ â 48 áåéñèê ñ îòêðûòîé âåðõíåé ïàìÿòüþ
Alt-Shift-F12 ñáðîñ â 48 áåéñèê â ðåæèìå 48k
Alt-F12 ñáðîñ â ñèñòåìíóþ ñòðàíèöó ÏÇÓ
Ctrl-Alt-F12 ñáðîñ â êýø
pause/break ïàóçà
grey/ èíäèêàòîðû on/off
grey* âûáîð ïàðàìåòðà äëÿ èçìåíåíèÿ: t-states/int (ñêîðîñòü), fix...
Alt+grey* âûáîð ïàðàìåòðà äëÿ èçìåíåíèÿ: AY/ïàëèòðà
grey+,grey- íàñòðîéêà âûáðàííîãî ïàðàìåòðà (ñ SHIFT'îì áîëåå òîíêàÿ)
NumLock ìàêñèìàëüíàÿ ñêîðîñòü (max speed) on/off (â max speed íåò çâóêà)
Alt-NumLock autofire on/off
Alt-Ctrl-Z on/off êîíòðîëëåð êëàâèàòóðû XT(AT) êîìïüþòåðà ATM
Alt-Enter ïîëíîýêðàííûé ðåæèì on/off
Alt-Shift-Ins âñòàâèòü òåêñò èç áóôåðà îáìåíà ÷åðåç ýìóëÿöèþ êëàâèàòóðû Ñïåêòðóìà
Alt-1 óñòàíîâèòü ðàçìåð îêíà 1x â îêîííîì ðåæèìå
Alt-2 óñòàíîâèòü ðàçìåð îêíà 2x, ïîëåçíî äëÿ ðåæèìîâ, èñïîëüçóþùèõ
ãðàôè÷åñêèé óñêîðèòåëü, òàêèõ êàê overlay è blitter
Alt-3 ìàêñèìèçèðîâàòü îêíî
êëàâèøè â ìîíèòîðå-îòëàä÷èêå
(CTRL,SHIFT,ALT+)F1,F2,F3,F5,F11,F12 - ñì. âûøå
Ctrl-F1 âûõîä èç ìîíèòîðà â ïðîãðàììó
F7 øàã (âûïîëíèòü îäíó êîìàíäó ïðîöåññîðà)
F8 øàã áåç òðàññèðîâêè ïîäïðîãðàìì è öèêëîâ
F9 ïîêàçàòü ýêðàí Ñïåêòðóìà
Shift-F9 ïîêàçàòü íåàêòèâíûé ýêðàí 128k Ñïåêòðóìà
Alt-F9 ïîêàçàòü ýêðàí äî òåêóùåé îòðèñîâàííîé òî÷êè, ñ áîðäåðîì,
ìóëüòèêîëîðàìè è äâóõýêðàííûìè ýôôåêòàìè
F11 çàïóñòèòü ïðîãðàììó ñ îñòàíîâîì â òî÷êå (SP)
TAB ñëåäóþùàÿ ïàíåëü
SHIFT-TAB ïðåäûäóùàÿ ïàíåëü
Alt-D ïåðåêëþ÷åíèå òåêñò/äàìï
Alt-B èçìåíèòü çíà÷åíèå â ïîðòó 7FFD (âûáîð áàíêà / ýêðàíà)
Alt-M èçìåíèòü çíà÷åíèå äîïîëíèòåëüíîãî ïîðòà ïàìÿòè (#1FFD,#FDFD,#DFFD,...)
Alt-P ââåñòè POKE (îäíî èëè ìíîãî)
Alt-F6 ïîèñê èçìåí¸ííûõ çíà÷åíèé â ïàìÿòè (äëÿ cheat'îâ è ò.ï.)
Alt-R çàãðóçèòü îáëàñòü ïàìÿòè èç ôàéëà
Alt-W çàïèñàòü îáëàñòü ïàìÿòè â ôàéë
Alt-F çàïîëíèòü îáëàñòü ïàìÿòè óêàçàííîé ïîñëåäîâàòåëüíîñòüþ
(÷òîáû ñêîïèðîâàòü îáëàñòü ïàìÿòè, çàïèøèòå å¸, ïîòîì çàãðóçèòå)
Alt-G ñîñòîÿíèå General Sound (äâîéíîé ùåë÷îê ìûøüþ - èãðàòü ñýìïë)
Alt-T âûäèðàëêà ïðîöåäóð (ripper's tool)
Alt-O íàñòðîéêà on-screen watches
Alt-U äèçàññåìáëèðîâàíèå â ôàéë
Alt-S ïåðåêëþ÷åíèå ñêðèíøîò (îòðèñîâàííûé ñ ìóëüòèêîëîðàìè è ò.ï.) /
äàìï ýêðàíà (èçîáðàæåíèå ýêðàííîé ïàìÿòè) / watches
Alt-F îòðåíäåðèòü òåêóùèé êàäð â âèäåîáóôåð áåç ìóëüòèêîëîðíûõ
ýôôåêòîâ è ò.ï.
Ctrl-U óñòàíîâèòü ïðîèçâîëüíûé àäðåñ äëÿ watch
Ctrl-L ïîêàç ìåòîê, âèäèìûõ äëÿ Z80 â òåêóùåì ñîñòîÿíèè äèñïåò÷åðà ïàìÿòè
Ctrl-J ïåðåõîä ïî ìåòêàì
Alt-C ìåíåäæåð òî÷åê îñòàíîâà (breakpoints)
Alt-Y ïåðåêëþ÷èòü àêòèâíûé çâóêîâîé ñîïðîöåññîð â ðåæèìå Turbo-Sound
ìåíåäæåð òî÷åê îñòàíîâà îïåðèðóåò òðåìÿ òèïàìè òî÷åê îñòàíîâà:
1. óñëîâíûå îñòàíîâû (conditional breakpoints) è on-screen watches
èñïîëüçóþò Ñè-ïîäîáíûé ñèíòàêñèñ âûðàæåíèé.
îïåðàöèè (ïåðå÷èñëåíû â ïîðÿäêå óáûâàíèÿ ïðèîðèòåòà):
() ! ~ M(x) -> * % / + - >> << > < == = <= >= != & ^ | && ||
îïåðàíäû:
a,b,c,d,e,h,l,bc,de,hl - îñíîâíîé íàáîð ðåãèñòðîâ
a',b',c',d',e',h',l',bc',de',hl' - àëüòåðíàòèâíûé íàáîð ðåãèñòðîâ
ix,iy,pc,sp,i,r - ïðî÷èå ðåãèñòðû
FD - ïîðò ïàìÿòè #FD (òàêæå èçâåñòåí êàê #7FFD)
OUT - ïîðò, èñïîëüçîâàííûé â êîìàíäå OUT (èëè 0FFFFFFFF, åñëè OUT íå áûëî)
IN - ïîðò, èñïîëüçîâàííûé â êîìàíäå IN (èëè 0FFFFFFFF, åñëè IN íå áûëî)
VAL - çíà÷åíèå, ñ÷èòàííîå/çàïèñàííîå â ïîðò (èìååò ñìûñë, òîëüêî
åñëè OUT != 0FFFFFFFF èëè IN != 0FFFFFFFF)
÷èñëà - øåñòíàäöàòåðè÷íûå, äîëæíû íà÷èíàòüñÿ ñ öèôðû: DFFD - íåëüçÿ, 0DFFD - ìîæíî
êîäû ñèìâîëîâ - çàêëþ÷àþòñÿ â àïîñòðîôû ('A','B' è ò.ï.)
Âñå âû÷èñëåíèÿ ïðîèçâîäÿòñÿ â 32-áèòíîé áåççíàêîâîé öåëîé àðèôìåòèêå.
Åñëè âû ïëîõî çíàêîìû ñ Ñè, ñòàâüòå ñêîáêè, ãäå âîçìîæíî,
ò.ê. ïðèîðèòåò îïåðàöèé íåèíòóèòèâåí, íàïðèìåð:
out & 0FF == 0FE ïîíèìàåòñÿ êàê 'out & (0FF == 0FE)' <- âñåãäà 0
M(x) - áàéò, ñ÷èòàííûé èç àäðåñà x (ìîæíî çàïèñàòü êàê x->0)
'=' - òî æå, ÷òî '==' (äëÿ ïàñêàëèñòîâ)
Ïðèìåðû:
(out+1) | (in+1) - IN/OUT â ëþáîé ïîðò
(in & 8001) == 0 - ÷òåíèå êëàâèø îò <B> äî <SPACE>
!(out & 1) - ëþáîé âûâîä â ïîðò #FE
(out & 0FF)==0BB && (val==0F3 || val==0F4) - ñáðîñ General Sound
(out & 0FF)==0FD && (val&7)==3 - óñòàíîâêà 3-é áàíêè ïàìÿòè
(FD & 7) == 3 - òî æå ñàìîå
M(pc)==0CB && pc->1 >= 10 && pc->1 <= 17
- îñòàíàâëèâàåòñÿ âî âðåìÿ âûïîëíåíèÿ êîìàíäû RL <reg>
Íàäåþñü, ýòèõ ïðèìåðîâ äîñòàòî÷íî äëÿ ïîíèìàíèÿ èäåè
×òîáû ðåäàêòèðîâàòü òî÷êó îñòàíîâà, ù¸ëêíèòå íà íåé ìûøüþ äâà ðàçà
2. òî÷êè îñòàíîâà ïî àäðåñàì (òàêæå ñòàâÿòñÿ â îêíå äèçàññåìáëåðà êíîïêîé
"ïðîáåë").  îêíå ìåíåäæåðà òî÷åê îñòàíîâà ëåãêî ðàññòàâèòü òî÷êè
îñòàíîâà íà áîëüøîé äèàïàçîí ïàìÿòè, íàïðèìåð, 6000-FFFF
3. îñòàíîâû ïî ÷òåíèþ/çàïèñè ïàìÿòè. Ïîõîæè íà îñòàíîâû ïî àäðåñàì,
íî èìåþò ôëàãè "R" è "W", îçíà÷àþùèå îñòàíîâ ïî ÷òåíèþ/çàïèñè
óêàçàííûõ àäðåñîâ ïàìÿòè (ìîæíî óñòàíîâèòü îáà ôëàãà)
ìîíèòîð: îêíî ðåãèñòðîâ
ñòðåëêè âûáîð ðåãèñòðà
ENTER,0-F èçìåíåíèå çíà÷åíèÿ ðåãèñòðà
Ctrl+A,F,B,D,H,S,P,X,Y,I,R,M,1,2
èçìåíèòü A,F,BC,DE,HL,SP,PC,IX,IY,I,R,IM,IFF1,IFF2
Alt+S,Z,5,H,3,P,N,C
ïåðåêëþ÷èòü ñîîòâåòñòâóþùèé ôëàã
' ïåðåéòè â ïàíåëü äèçàññåìáëåðà ê àäðåñó ïîä êóðñîðîì
; ïåðåéòè â ïàíåëü äàìïà ê àäðåñó ïîä êóðñîðîì
ìîíèòîð: ïàíåëü äèçàññåìáëåðà (CPU window)
F4 âûïîëíåíèå ïðîãðàììû äî àäðåñà ïîä êóðñîðîì
Alt-F7 ïîèñê òåêñòà
Ctrl-F7 ïîèñê êîäîâ ñ ó÷¸òîì ìàñêè
HOME ïåðåéòè íà àäðåñ PC
Ctrl-G ïåðåéòè íà óêàçàííûé àäðåñ
SPACE óñòàíîâèòü/ñíÿòü òî÷êó îñòàíîâà ïîä êóðñîðîì
ENTER ðåäàêòèðîâàòü êîìàíäó Z80, å¸ êîä èëè òåêóùèé àäðåñ
A-X ââåñòè êîìàíäó Z80
Z óñòàíîâèòü PC íà àäðåñ ïîä êóðñîðîì
Ctrl-1,.,Ctrl-8 çàïîìíèòü àäðåñ êóðñîðà â ñïåöÿ÷åéêó 1..8
1-8 çàïîìíèòü àäðåñ êóðñîðà â ñïåöñòåêå è ïåðåéòè ê àäðåñó,
ðàíåå çàïîìíåííîìó â ñïåöÿ÷åéêå 1..8
Backspace âåðíóòü êóðñîð ïî çàïîìíåííîìó â ñïåöñòåêå àäðåñó
' çàïîìíèòü àäðåñ êóðñîðà â ñïåöñòåêå è ïåðåéòè â ïàíåëè
äèçàññåìáëåðà ê àäðåñó, óêàçàííîìó â êîìàíäå ïîä êóðñîðîì
; ïåðåéòè èç ïàíåëè äèçàññåìáëåðà â ïàíåëü äàìïà
ê àäðåñó, óêàçàííîìó â êîìàíäå ïîä êóðñîðîì
Ctrl-A ÷òåíèå ìåòîê èç XAS èëè ALASM, èñïîëüçóÿ 3 ìåòîäà:
1. XAS7: àññåìáëåð äîëæåí ëåæàòü â áàíêå 6 (èëè #46 äëÿ Pentagon-512)
2. ALASM: âåðñèÿ 4.42-5.0x äîëæíà ëåæàòü â 128k ïàìÿòè (áàíêè 1-7)
3. ALASM+STS: STS äîëæåí ëåæàòü â áàíêå 7 (èëè #47 äëÿ Pentagon-512)
ìîíèòîð: îêíî äàìïà (memory window)
Alt-F7 ïîèñê òåêñòà â ïàìÿòè / äîðîæêå äèñêà
Ctrl-F7 ïîèñê êîäîâ ñ ó÷¸òîì ìàñêè â ïàìÿòè / äîðîæêå äèñêà
ñòðåëêè,Home,End,PgUp,PgDn äâèæåíèå êóðñîðà
Ctrl-G ïåðåéòè íà óêàçàííûé àäðåñ
Ctrl-M âêëþ÷èòü ðåäàêòèðîâàíèå ïàìÿòè
Ctrl-V âêëþ÷èòü ðåäàêòèðîâàíèå äèñêà (ôèçè÷åñêîé äîðîæêè)
Ctrl-O âêëþ÷èòü ðåäàêòèðîâàíèå äèñêà (ëîãè÷åñêèõ ñåêòîðîâ)
Ctrl-T âûáîð äèñêà/äîðîæêè/ñåêòîðà ïðè ðåäàêòèðîâàíèè äèñêà
Ctrl-TAB ïåðåõîä ìåæäó äàìïîì è òåêñòîì
Ctrl+S,P,B,D,H,X,Y ïåðåéòè ïî àäðåñó SP,PC,BC,DE,HL,IX,IY
ïðî÷èå êëàâèøè ðåäàêòèðîâàíèå
ìîíèòîð: ïàíåëü äèñêîâîãî èíòåðôåéñà Beta 128
çäåñü îáû÷íûé íàáîð èíäèêàòîðîâ äèñêîâîãî êîíòðîëëåðà
CD:1820
STAT:21
SECT:09
T:01/01
S:3C/00
ïåðâàÿ ñòðîêà - êîìàíäà è ðåãèñòð äàííûõ (1820 - ïåðåõîä ê äîðîæêå #20)
2-ÿ - ðåãèñòð ñîñòîÿíèÿ (status)
3-ÿ - ðåãèñòð ñåêòîðà
4-ÿ - ðåàëüíîå ïîëîæåíèå ãîëîâêè äèñêîâîäà è ñîäåðæèìîå ðåãèñòðà äîðîæêè
5-ÿ - ñèñòåìíûé ðåãèñòð Beta disk è ïîðò äëÿ ÷òåíèÿ DRQ/INTRQ (ïîðò #ff)
----------------------------------------------------------------------
íåñîâìåñòèìîñòü
íåêîòîðûå ïðîãðàììû, òàêèå êàê Manic Miner è Lode Runner, òðåáóþò
ñòàðîå 48K ÏÇÓ (1982.rom), íåêîòîðûå äðóãèå òðåáóþò ÏÇÓ îò
ZX Spectrum 128 (48for128.rom + 128tr!.rom)
íåêîòîðûå TR-DOS ïðîãðàììû (Unreal Megademo by KSA, Street Fighter)
ðàáîòàþò òîëüêî åñëè ïåðåõâàò ïðîöåäóð TR-DOS (TR-DOS traps) âûêëþ÷åí
è âêëþ÷åíû çàäåðæêè (delays)
ñåðâèñíîå ÏÇÓ Profi ðàáîòàåò òîëüêî ïðè âêëþ÷åííûõ çàäåðæêàõ TR-DOS
Bumpy íå ðàáîòàåò â êîíôèãóðàöèè ïî óìîë÷àíèþ, ò.ê. ïûòàåòñÿ ÷èòàòü
êåìïñòîí-äæîéñòèê ÷åðåç ïîðò #FFDF - âûêëþ÷àéòå kempston mouse ïåðåä
çàïóñêîì ýòîé èãðû [bug found by Paul Pavlov]
sounddrv=wave íå ðàáîòàåò íà CTSB128PCI (Creative Sound Blaster)
èç-çà ãëþêà â äðàéâåðàõ ýòîé çâóêîâîé êàðòû. [bug found by Nuts]
íåêîòîðûå àäâåíòþðû, ñîçäàííûå â ABS (ALIEN.SCL, LENIN.SCL) íå ðàáîòàþò íà
TR-DOS 5.04TM, èñïîëüçóéòå âåðñèþ 5.03 - ñàìóþ ñîâìåñòèìóþ [bug found by Paul Pavlov]
Vixen 1,2,3 - íåñîâìåñòèìû ñ SounDrive [bug found by Paul Pavlov]
Fernandez - íåñîâìåñòèìî ñ SounDrive [bug found by Shadow Maker]
port #FF èíîãäà íå îòâå÷àåò ïðè SkipFrame!=0
(òî æå ñàìîå ïðè SkipFrameMaxSpeed!=0 â ðåæèìå max speed)
Êíîïêà 'MAGIC' íà êîìïüþòåðå Scorpion ãåíåðèðóåò NMI äàæå ïðè PC < #4000,
íî òåíåâîé ìîíèòîð íå ðàññ÷èòàí íà ýòî è ìîæåò ñãëþ÷èòü
CacheVox by AlCo òðåáóåò âêëþ÷åíèÿ TR-DOS çàäåðæåê è [BETA128] IL=1
Åñëè â ýìóëÿòîðå ïîñëå âîçâðàùåíèÿ ôîêóñà çàëèïàåò êëàâèøà, ñëåäóåò íàæàòü
Scroll Lock, äåàêòèâèðîâàòü ìåðöàþùóþ êëàâèøó, ïîòîì ñíîâà íàæàòü
Scroll Lock.
Åñëè â ýìóëÿòîðå ïîñëå âîçâðàùåíèÿ ôîêóñà íåàäåêâàòíî ðàáîòàþò óïðàâëÿþùèå
êëàâèøè, ñëåäóåò íàæàòü Enter, è ðàáîòà êëàâèø èñïðàâèòñÿ.
Åñëè ýìóëÿòîð âèñíåò ïðè ðàáîòå ñ General Sound, ïîïðîáóéòå DSPrimary=0.
Åñëè ýìóëÿòîð âûâàëèâàåòñÿ ïðè ðàáîòå ñ General Sound, ïîïðîáóéòå GSType=Z80.
Åñëè Kempston Joystick íå ðàáîòàåò, âîéäèòå â ìåíþ, íàæìèòå òàì NumLock,
çàòåì âåðíèòåñü èç ìåíþ.
Åñëè çâóê ïëîõîé, ïîïðîáóéòå â .ini DSPrimary=1 (ýìóëÿòîð ìîæåò ïðè ýòîì
íåîæèäåííî çàêðûâàòüñÿ!) èëè SoundDrv=wave.
Ñêðèíøîòû êëàäóòñÿ â êàòàëîã ýìóëÿòîðà.
×òåíèå-çàïèñü ôàéëà â îòëàä÷èêå - â òåêóùåì êàòàëîãå (êîòîðûé âèäíî ïî F3).
Êà÷àéòå sys.trd (äëÿ äèñêîâîäà B:) ñ http://alonecoder.narod.ru/zx/SYS.rar
Êà÷àéòå xBIOS äëÿ ATM Turbo2+ ñ http://atmturbo.nedopc.com/
Âîçüìèòå WNASPI32.DLL èç Ahead Nero èëè ñ âåá-ñàéòà Ahead
BASS.DLL v2.3 âçÿò ñ http://www.un4seen.com/
----------------------------------------------------------------------
ïðèâåòû îò SMT:
* dj.Z, IMP è MIC - ìíå î÷åíü íðàâèòñÿ âàøà ìóçûêà !
* Nik-O è Fatal Snipe - çà âåðíîñòü AY ñöåíå
* Hacker KAY - ñïàñèáî çà ñàìóþ òî÷íóþ èíôîðìàöèþ ïðî AY/YM
* Paul Pavlov - ñîáðàë ñàìûé (ñåé÷àñ óæå íå ñàìûé) áîëüøîé TR-DOS àðõèâ
* Raul Gomez Sanchez (àâòîð R80)
* Stalker - ñïàñèáî çà STS
* Placebo, Extreme, Digital Reality, CBS - çà êà÷åñòâåííûå äåìêè
* V_Soft (Roman Scherbakov) - çà ôîðìàò Vortex
* Sergey Bulba - çà AY_Emul
* Alone Coder - you keep Spectrum alive
* Ian Luck - ñïàñèáî çà BASS
* SirX - ïðîñòî ïðèâåò
* âñåì ôàíàòàì ZX Spectrum - Speccy is da best!
îñîáàÿ áëàãîäàðíîñòü ëþäÿì, çàèíòåðåñîâàííûì â ðàçâèòèè UnrealSpeccy è
ïðèñûëàâøèì èíôîðìàöèþ î æåëåçå è ñîôòå:
* Maxim Vasilyev - ïðèñûëàë ìíîãî áàãðåïîðòîâ
* Mac Buster - èíôîðìàöèÿ ïðî äèñêîâûé èíòåðôåéñ Beta 128
* Shiru Otaku - ïðèñëàë GSPAK.ZIP
* Alexey Kravchenko - ïðèñëàë ñêîðïèîíîâñêèå òàéìèíãè
* Vitaliy Pigo - òåñòèðîâàíèå è çàìåðû ñêîðîñòè
* Alex Baskakov - ïîìîã ñ ôîðìàòîì TD0
* Alone Coder - ïðèñëàë ìíîãî èíôîðìàöèè î ïåíòàãîíîâñêîì æåëåçå
* Dexus - èíòåãðèðîâàë ïîääåðæêó YM2203
* Maksagor - èíôîðìàöèÿ ïðî ATM
* ìíîãèå äðóãèå, êòî ïðèñûëàë ïèñüìà ñ áëàãîäàðíîñòÿìè/ïðåäëîæåíèÿìè è ò.ï.
----------------------------------------------------------------------
ëèöåíçèÿ
UnrealSpeccy ðàñïðîñòðàíÿåòñÿ ñîâåðøåííî ñâîáîäíî. Âû ìîæåòå
èñïîëüçîâàòü ýìóëÿòîð è åãî èñõîäíèêè áåç âñÿêèõ îãðàíè÷åíèé.
Âû ìîæåòå èñïîëüçîâàòü èñõîäíèêè UnrealSpeccy â ñâîèõ ýìóëÿòîðàõ.
Âû ìîæåòå âûïóñêàòü èñïðàâëåííûå/íîâûå âåðñèè UnrealSpeccy.
 ýòîì ñëó÷àå âû íå îáÿçàíû ðàñïðîñòðàíÿòü èñõîäíûé êîä (â îòëè÷èå,
íàïðèìåð, îò òðåáîâàíèé GNU Public License).
Âû ìîæåòå ïîðòèðîâàòü ýìóëÿòîð íà ëþáóþ äðóãóþ ïëàòôîðìó
(íî çäåñü ìíîãî ñïåöèôè÷åñêèõ äëÿ MSVC êîíñòðóêöèé ÿçûêà,
ïîýòîìó ñáîðêà äðóãèì êîìïèëÿòîðîì çàòðóäíèòåëüíà)
Àäðåñà òåêóùåãî ðàçðàáîò÷èêà: alone_coder!mail.ru, dmitry.alonecoder!gmail.com
Âñå áàãðåïîðòû, ïðåäëîæåíèÿ è èçìåí¸ííûå ñòðî÷êè ïðèñûëàéòå ñþäà.