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
��� ���������, ���������� � �������� ������ ��������� ���.