To kolejny emulator ZX Spectrum, jednak z całkiem miłymi wodortryskami - bardzo udany deformator wyświetlania (czasami nawet za bardzo), super intuicyjne menu (chyba bardziej już się nie da), które spokojnie obsłuży się myszką i ciekawą koncepcję zbierania danych o grach z naszych archiwów. W sumie na plus dla osób, które chcą się pobawić, chociaż debbuger też robi całkiem pozytywne wrażenie.
Autor twierdzi, że napisał emulator dla czystej rozrywki i całkiem mu to dobrze wychodzi.
Spectral 1.08 27/04/2025
special thanks to Simon Owen and Steven John for sharing their sources for this release.
thanks for the feedback and bug reports! cmal, lethargeek, @md0-code
- new: digitally signed Windows binaries
- new: oscilloscopes (x3 AY waveforms, x1 beeper)
- new: lenslok support (Elite, ACE, Art Studio, GAC, Jewels of Darkness, Mooncresta, Price of Magik, Tomahawk, TT Racer)
- new: mikro-plus support (Shadow of the Unicorn)
- new: added zoom/fullscreen options
- fix: applied higher priority to special +2A/+3 paging mode (fixes Corsarios2x1, paging.tap) (thanks Woodster!)
- fix: dont emulate floating bus on pentagon models
- fix: fixed fastload for those games that left disk motor spinning (cybernoid2,rickdangerous2,smaily)
- fix: fixed ZX_FOLDER not being saved properly over different sessions (linux)
- fix: incorrect titlebar after switching models within a ZXDB title
- fix: removed invalid linefeeds read from user prompt dialogs (linux/osx)
- fix: removed tzx version check (fixes a specific Alien8.tzx file, and probably a bunch of other .tzx files as well)
- fix: some generated AY samples were incorrectly ignored during mixing time
- fix: unified run-ahead/regular logic flow (fixes terracresta/cobra with run-head enabled)
- fix: aligned left options vertically compared to right counterparts
- fix: asan out of bounds when looking up unicode glyphs not present in font
- fix: canceled finder dialog after clicking on an item list (browser)
- fix: ensure alpha sorting is consistent in all desktop OSes (3rd_dir.h)
- fix: ensure TIGR_1X is honored (3rd_tigr.h)
- fix: exact 32/36/37 tstates per int now
- fix: fixed input conflict between tape preview && bottom right clickables
- fix: fixed unix dir listing not appending '/' char to dirs, which differed from windows impl (linux/osx, 3rd_dir.h)
- fix: improved tape heuristic for turborom && contended memory case (fixes Plyuk after loading with turborom enabled)
- fix: inverted highlight of tokens/letters toggle
- fix: missing fdc variable in exported gamestates
- fix: moved a few temporary files to the .Spectral/ folder
- fix: reset scroll when clicking folders in a large listing (local browser)
- chg: unified INT/48/128/pentagon timings logic (fixed bonanzabros.dsk, probably rotatrix too)
- chg: added +3DOS rom paged-in to fastload disk heuristics
- chg: added early/late timings (not exposed yet)
- chg: added perf warnings to cpu intensive options (RF, Run-Ahead)
- chg: added right-click to record UI (screenshot, video)
- chg: added sinclair 1/2 ports to expert setting mode
- chg: adjusted volume for disk motor
- chg: allowed to click dialog options with RMB
- chg: changed heuristics that detect fdc usage
- chg: if sinclairs joysticks are not mapped, emulate cursor keys while in basic always
- chg: made goblin22 palette brigther
- chg: made va() and stb_sprintf() calls asan friendly, hopefully
- chg: removed redundant turbosound AY port in .sav files (saved 2 bytes)
- chg: support embedded zxdb in .rar form
- chg: upgraded zxdb to 1.0.210
- brk: floatspy (48k is 1TS late, 128k is 3TS late)
Spectral 1.07 (for Mom) 20/04/2025
Spectral GUI
Thanks to @imneme! Her OMSE emulator (MIT) showed me how the clock should be controlled by the ULA, not the CPU!
- new:multicolor (action force 2, buzzsaw, oldtower, gluf, yazzie, multidude, el stompo, space monsters meet the hardy, sunbucket, blacklamp, ringo) (not yet:plyuk)
- new:rainbow graphics (eliminator, uridium, bad dream, venom mask 3)
- new:border effects (vectron 48, jaws, blade warrior, starion, terrorpods) (not yet:aquaplane, venom mask 3)
- new:border overscan (border break, breakspace, defenders of the earth, rotatrix, sentinel 48, bordertrix 48, darkstar 48 hiscore, super wonderboy128 paused)
- new:floating bus (emlyn hughes, saucer, wizball, cobra, shortcircuit, terracresta, duet) (not yet:arkanoid, sidewize)
- new:fast disk loading option (+3, Pentagon)
- new:emulate hardware bugs present in HAL10H8 chip (128/+2)
- new:kempston2 joystick support (port 55) (see:BombMunchies)
- new:revamped joystick menu screen. added new joystick mappings
- new:zipped instructions support (IndianaJonesAndTheLastCrusade)
- new:added manual play/stop tape controls. also, disable auto-stop/play when manual tape is enabled
- chg:added warning message when bonus tracks are not played in ideal conditions
- chg:added leading tape silence (100ms) to help UX when clicking tape preview bar on the left border
- chg:allowed backspace key to close game filter dialog
- chg:by default, use 48K for load local tapes when no model can be inferred
- chg:different ordering of zxdb color flags
- chg:highlight loaded game in local browser
- chg:if user has changed medias, keep using that when switching different zx models
- chg:infer zx model from local filenames whenever possible (Cabal.dsk, Pietro(Pentagon).tap, Manic128.tap, etc)
- chg:made media screen layout extra compact (preallocated space for upcoming savegame thumbnails)
- chg:updated bescii font to v3.1 (cz/sk/hu/slavic languages support)
- chg:updated github workflow to use SignPath signed binaries (Windows)
- chg:updated github workflow to use ubuntu22.04, since ubuntu20.04 is deprecated now (Linux)
- chg:use polyfill-glibc for backwards/legacy glibc compatibility (Linux)
- chg:while toggling turborom, avoid additional reset whenever possible
- fix:1-byte memory stomp
- fix:allowed backspace key while browsing local folders
- fix:allowed to read embedded zxdb database from any cwd (ie, ../../dir/spectral)
- fix:could not change zx model after loading from local .zip files
- fix:displayed alias titles in # tab when no digit/punct char is found (zxdb) (see:¡Hundido!)
- fix:fixed pentagon INT timing (borderbreak.trd)
- fix:fixed some empty search results in search tab (zxdb) (see:Floromaníaco while searching for "mania")
- fix:fixed ¿¡ chars not being sorted (zxdb)
- fix:removed slavic entries from # tab (zxdb)
- fix:fixed the .scr viewer, that prevented the app from closing
- fix:fixed UB in realloc() when game searching for empty strings a few times in a row
- fix:fixed bug where window titlebar() might ignore temporary strings built from va() (Windows)
- fix:fixed many +3 dsks, which were not being properly initalized/mounted (see:dynasty wars, final fight, forgotten worlds, gng, led storm, last duel, mercs, wrestling superstars, time scanner, the vindicator, ...)
- fix:wrong titlebar after loading some local files
Spectral v1.06 4/04/2025
Spectral to bardzo wygodne podejście do emulacji ZX SPECTRUM. Warto śledzić ten projekt, bo naprawdę całkiem miło rokuje (oczywiście, jeśli weźmiemy poprawkę na to, że przynajmniej w emulacji Sinclaira powiedziano już chyba wszystko, więc... liczą się tylko dodatki i wodotryski);)
- new: mp3s support. play Side-B bonus tracks (see: EveryonesAWally, KingdomOfKrell, Corruption, DodgyGeezers, etc.)
- new: added zoom/panning (see: maps, inlays, instructions)
- new: allow mousewheel within dialogs for those games with ridiculous amount of cheats (see: ManicMiner)
- new: dimmed thumbnails when search filtering is enabled
- new: flash currently loaded game while browsing
- new: combined local+wos search tab
- new: zxdb 'alias' option
- tzx: disable select block (only present in LoneWolfMirrorOfDeath and four minor compilations)
- tzx: increased bits for pilot tones (fixes SpecialProgram11-bootleg-ITA.tzx and some other tapes)
- tzx: improve tape preview by creating large pause gaps between important blocks. especifically, before any of [ .bas block, glue block, 48KStopTape block ] + any text block with 'side' or 'b' strings in it)
- chg: improve texture resampling quality by going cubic instead of bilinear (see: maps, inlays, instructions)
- chg: ctrl+mousewheel to advance pages while browsing
- chg: auto-scan ZX_FOLDER setting on launch
- chg: invert mousewheel (linux,windows)
- chg: reduced the time needed to detect long keypresses
- fix: fixed wrong characters when writing utf8 filenames (Windows) (see: mp4, mpeg1, png files)
- fix: fixed case where repeated zxdb ids in a listing would not display its alt title (see: gremlins2)
- fix: made ui_print() to work in any surface resolution
Spectral v1.05
- new: zxdb: mousewheel
- new: zxdb: media selector
- new: zxdb: new 'page' option
- new: zxdb: new 'media' option
- new: zxdb: added bookmarks and compatibility flags to local file browser
- new: saved local folder location
- chg: zxdb: grouped authors into a single screen
- chg: zxdb: able to search release seqs now (see:
#id#num
)
- chg: added FN key hyperlinks into about screen
- chg: changed ui to react to released mouse buttons instead of button down presses.
- fix: ejected rzx after new media is inserted (see: afterburner.rzx)
- fix: ejected tape after new disk is inserted (see: seraphima.scl)
- fix: fixed being redirected to local browser after a wos search
- fix: made browsers close any active dialog
- fix: disabled accessibility keys while app in use (Windows)
- fix: ay: fixed envelope 15 (ay1 core) (thanks @leiradel!)
- fix: ay: dropped YM mode from AY2 core
- fix: restored glx window attribs to what v1.03 was using (Linux)
- fix: fixed Linux/MacOS builds (embedding zxdb build step broken since v1.04)
- fix: fixed ui edge case where hyperlinks could not be hovered if they were wider than app canvas
- fix: fixed accidental tape interactions while clicking bottom games within browser lists.
- fix: expanded va() buffers. changed impl. hopefully addresses temporary file leaks
Spectral v1.041
- fix: reverse order of zxdb entries so we stop being tagged as false positive (Trojan:Win32/Wacatac.B!ml) (Windows Defender)
- fix: compilation fixes for zxdb tool
- chg: finder: single backspace to delete last char, hold backspace to clear field
- chg: zxdb: new shorcuts: ctrl+b toggle bookmark, ctrl+space toggle compatibility flag
- chg: zxdb: update db to 1.0.209
- lab: irc client
Spectral v1.04
- new: gamepad bindings (up to 16 buttons)
- new: all desktop releases built by Github servers now (CI workflow by @zpl-zak ; 1,000 thanks!)
- new: next iteration of our local file browser. revamped.
- new: support light/dark OS theme (Windows)
- new: added +SHIFT shortcut to capture UI layer (PIC,REC buttons)
- new: added keyboard navigation to game listings (cursors+enter)
- new: added filters to game listings (type while you browse)
- new: made ZXDB ids clickable (forwards to SC page)
- new: logos and branding images
- chg: added hints for zx models
- chg: changed default rec setting, so no UI will be recorded by default
- chg: display dialog titles whenever possible
- chg: ESC/RMB presses will cancel the UI top layer (dialog/overlay layer) before switching to game browser
- chg: highlighted current selected option whenever possible
- chg: increased internal buffers for va() calls
- chg: removed Screenshot action from PRINT_SCREEN key mapping
- chg: replaced native (i)nfo dialog
- chg: simplified makefile: removed embed tool (MAKE)
- fix: do not poke translations before loading any game (AfterTheWar)
- fix: do not shorten tape silences when TurboROM is enabled (see: Alkatraz/TopoSoft games)
- fix: fixed bug that prevented excessively long named games (+128chars) from being included in zxdb listings (TheMojonTwins)
- fix: reduced heuristics for Kempston Mouse detection from (X+Y+MB to X+MB) since Arkanoid does not use Y coord :o)
- fix: made xinput library to be loaded dynamically; fixes those installations where DirectX is not pre-installed (Windows)
- fix: fixed issue2 from being selected within new UI menu
- fix: fixed local file browser while identifying some false positive file extensions (like .c)
- fix: fixed wrong window priority when displaying search dialog in fullscreen
- fix: use AVX in X64 builds and SSE2 in X86 builds (Windows)
- wip: toggled different GLX attributes in the hope that hw accelerated surface gets enabled (Linux)
Spectral v1.03
- mp4/mpg recording
- joystick autofires
- turbosound support
- simplified UI and ZXDB gallery
- redefineable FN keys
- faster ZXDB gallery rendering
- fixed game search and loading of 48k games
Changelog:
- new: ui dialogs
- new: mp4 recording
- new: mpeg1 recording
- new: joystick autofires
- new: redefineable FN keyboard mappings
- new: added turbosound (turbo-ay) on pentagon128 model
- new: revamped main options interface
- new: revamped ZXDB cheats interface (smoother experience now)
- new: tweakable z80 speed: 50%, 100%, 150%, 200% (7MHz), 400% (14MHz)
- new: option to use a few different zx palettes
- new: ui expert mode (UI buttons+RMB)
- new: update zxdb to latest 1.0.208
- new: restored NMI button
- new: local files can use & display unicode names now (Windows)
- chg: added pentagon128 to the main list of models
- chg: add icons next to keyboard mappings
- chg: added discord badge to readme
- chg: ask user for confirmation before binding command that was already assigned beforehand
- chg: be explicit about the licensing terms in the LICENSE file
- chg: disallow cursor joystick unless while in BASIC
- chg: faster init
- chg: highlight current loaded game in zxdb/list view
- chg: if available, prefer clang-cl over cl (make.bat)
- chg: integrate browser v1 into v2 tab
- chg: pure black borders in fullscreen mode
- chg: replaced ResourceHacker with a much nicer RC-Edit tool (MAKE, Windows)
- chg: search should provide more results now
- chg: simplified zxdb gallery controls
- chg: tweaked Spectral palette, darker black and less pure white now
- chg: ui layout, right sidebar
- chg: updated bescii font to latest
- chg: zxdb gallery added a secondary worker thread (hopefully faster decoding in most cases)
- chg: zxdb gallery speeded up by not doing recolor on 1:4,1:8 thumbnails (since they were already recoloured during 1:2 thumbnails decoding)
- chg: zxdb updated stb_image_resize2 to latest 2.13
- fix: app titlebar when loading localized files from disk, like Russian ones (Windows)
- fix: bottom, overscan lines in pentagon mode
- fix: fixed bug that prevented using search toolbar twice in a row
- fix: fixed bug that prevented using thumbnail icon after search toolbar
- fix: oops! zxdb 48k-only games were wrongly loaded in 128 mode (minder,cerius,nuclear bowls,punch & judy,rebelstar raiders,rubicon,etc.)
- fix: partial clipped links could be hovered when fullscreen was in use
- fix: replaced discord invite link
- fix: search game when no input was provided
- fix: x86 build (internal)
- lab: grid shader
Spectral v1.02 5/03/2025
- Gamepad support (Windows, Linux)
- ZXDB AY player
- Updated ZXDB to latest
- Many UI/UX QoL changes (thanks @Korb!)
- Fixed malware false positives (thanks to everyone!)
- Fixed compatibility with Haswell X64 and earlier architectures (thanks @Korb!)
- AVX2 no longer required
Changelog:
- new: gamepad support (Windows, Linux)
- new: added setting hints (UI)
- new: ZXDB use screen$ as background during AY play
- new: ZXDB include ripped AY tunes
- chg: update zxdb to latest (1.0.207)
- chg: centered multi-line UI notifications
- chg: do not reset ZX when changing issue2/3 setting
- chg: added home/end keys while zxdb browsing (thanks @Korb!)
- chg: get rid of large pure black areas in fullscreen mode (thanks @Korb!)
- chg: unzip() may accept wildcards now
- fix: increases X64 compatibility. dropped AVX2 support in favor of AVX1. Fixes #4 (Windows) (thanks @Korb!)
- fix: UB during __builtin_clz()/__builtin_ctz() ops. fixes glitches while drawing font on some old cpus (thanks @Korb!)
- fix: fixed osx compilation errors (thanks @imneme!)
- fix: edge case where modal dialogs be hidden when rendering in fullscreen mode (Windows) (thanks @Korb!)
- fix: fixed tape pulse overflow in pzx loading code (thanks @imneme!)
- fix: misplaced pixel in ui_notify() messages
- fix: fixed compilation VS+X86 build (unsupported).
- fix: dropped UPX compressed binaries (Windows), which would trigger malware detection.
- fix: recompiled with VS19 instead of VS22, which would trigger malware detection.
- wip: partial RZX support
- wip: partial SZX support
Spectral 1.01 14 Jul 2024
- new: PZX support
- chg: animate flash attributes in gallery
- chg: switch default AY core back to floooh's
- chg: ZXDB bumped up to latest
- chg: ZXDB display version within About dialog
- chg: moved titlebar logic to a separate file
- fix: added U+011A Ě, U+011B ě czech glyphs
- fix: allow alt-enter to switch fullscreen on linux/osx (3rd_tigr)
- fix: allow ini fields to be read in any order
- fix: loading settings from ini
- fix: window was being prevented from being closed by SCR viewer
- fix: window was being prevented from being closed while 128 menu was in HALT state (see: cursor right key)
- fix: ZXDB browser was always disabled after local browser was used
- fix: ZXDB picked wrong II/III titles sometimes (see:
dan dare 3 vs 2, "*2">"*II*"
patch)
Spectral 1.00 6 Jul 2024
- new: zxdb game browser. async + progress bar
- new: zxdb cache
- new: zxdb download games on demand
- new: zxdb overlays panning (mouse)
- new: append games to the spectral binary (copy /b spectral.exe+game.ext game.exe ; thanks for the idea callmesnake!)
- new: display zxdb bonus tracks
- new: AY player
- new: .Spectral/ tree layout made human-readable.
- new: .Spectral/ cache contents are zipped now.
- new: .Spectral/Spectral.fav database
- new: .Spectral/Spectral.ini config file
- chg: zxdb add bugfix tapes
- chg: zxdb bump up latest
- chg: zxdb do not download szx/slt snapshots (unsupported)
- chg: zxdb improve search filters
- chg: zxdb prevent from downloading null urls
- chg: zxdb retrieve features (tags)
- chg: zxdb retrieve non-initial releases too
- chg: zxdb update window title automatically
- chg: bump up 3rd_deflate.h
- chg: bump up beeper core
- chg: can search for zxdb identifiers as well
- chg: game browser v2: can bookmark and flag games now
- chg: game browser v2: efforts to display romanized eastern games in A-B-C tabs
- chg: game browser v2: recolorize png/jpg thumbnails to use our custom zx palette
- chg: made ui to display fonts in both mono and variable sizes
- chg: made ui_notify() animated
- chg: move tape browser to bottom screen
- chg: simplify .sav impl (iff1/2/ir)
- chg: use (smaller) bescii punctuaction glyphs
- chg: zxdb browser: async/threaded
- chg: zxdb browser: filtered thumbnails
- fix: 2 asan buffer overflows
- fix: do not patch K/L modes when trdos is mapped
- fix: do not render AY on 16/48 models (motos)
- fix: fix 3 out of mem accesses (via sanitize address)
- fix: improve zxdb to detect tape_X/side_X cases
- fix: infinite loop while deallocating ansi console
- fix: prevents hang on 3rd_tfd popups by initializing COM sooner (win)
- fix: yet another fix for our .sav/z80 corruption (add step,add pins,no prefetch)
- fix: zxdb t chars on instructions
- fix: zxdb convert instructions to utf8 (gonzzalezz)
- fix: zxdb prefer branded searches or those with higher scores
- lab: redo border renderer (border break)
Vox populi
Ten artykuł nie byl jeszcze komentowany:(
Inne treści związane z tematem
[MULTI] EightyOne 1.41 02/03/2025
EightyOne to jeden ze starszych projektów emulatorów maszynek z Z80 na pokładzie i całkiem przypadkowo z tęczą w logo - potrafi nie tylko udawać konstrukcję od Sinclair ZX80, do Amstradowego ZX Spectrum +3 lecz także nieobce mu są Timexy, czy też bardziej egzotyczne klony ZX81 - Ringo i Lambda. D.
QL-Emulator 3.5.2 5/02/2025
QL-Emulator to sharewarowy udawacz mikrokomputera ZX SPECTRUM QL, który po wielkim sukcesie Spektrusia, miał się stać jego następca w 1983 roku. Procesor montowany do tego komputera - MOTOROLA M68008, należał do rodziny 32-bitowych procesorów (ale z 16 bitową szyną adresową, a w wypadku 08 - 8 bitową), które wykorzystano ze znacznie większym powodzeniem w ...
[zx] Spud 0.307b 30/12/23
Jest taki zestaw emulatorów, albo w zasadzie autorów emulatorów, którzy do swoich programów podchodzą w sposób mistyczny - albo piszą do poduszki i wrzucają od czasu, do czasu, na jakimś forum informację o nowej wersji, albo informują o nim tylko nielicznych. Do tej grupy na pewno należy SPUD, miły i fajny emulatorek sprzętu ZX Spectrum autorstwa ...
[MULTI] EightyOne 1.40 7/02/2024
EightyOne to jeden ze starszych projektów emulatorów maszynek z Z80 na pokładzie i całkiem przypadkowo z tęczą w logo - potrafi nie tylko udawać konstrukcję od Sinclair ZX80, do Amstradowego ZX Spectrum +3 lecz także nieobce mu są Timexy, czy też bardziej egzotyczne klony ZX81 - Ringo i Lambda. D.