Quantcast
Channel: Emulators - World of Spectrum
Viewing all 477 articles
Browse latest View live

Any 'emulator + single game packaged in a ,exe file" utilities around?

$
0
0
Morning all,
I'd like to be able to create a single executable file that contains an emulator and a single game/utility that starts loading process immediately. Kind of like what the Speccy emulator does after you choose the file, but without having to choose the file...
Basically, I've created a silly little utility that I'd like someone to open and use without any faffing around; a .tap file using BASinC.

I've not managed to uncover anything after a quick search so I thought I'd pose the question before heading into deeper search.

Any advice appreciated.

Emulators that can read from real +3 disk?

$
0
0
Are there any emulators that can read/write and run games from a real +3 disk drive plugged into a FDD header? (like samdisk and cpcdiskxp can)

Anyone getting Workbench +3e running with Fuse?

[mac os x, Fuse] Thumbnail icon of TZX, TAP and z80 files in Finder gone

$
0
0
For a long time I could see thumbnail previews of TZX, TAP and z80 files in Finder. I'm sure FUSE installed this nice feature years ago. Recently for some unknown reason it stopped working - I see only generic "z80 file", "TAP file" icon. Does anybody now how to bring it back?

ZEsarUX Beta 7.2-RC

$
0
0
Hi

I have uploaded a new ZEsarUX Beta version: 7.2 Release Candidate! Next version will be final stable :)

You can download it from:
https://github.com/chernandezba/zesarux/releases


Changes are:


Improved menu environment:
* Added new menu window type: ZX Vision. GUI Windows can be moved, resized, scrolled, minimized, closed, and change the focus to the background
* Windows can be scrolled using mouse wheel
* Warning and Error window messages now show an animation
* Added first-aid help windows

Added Z80 assembler
Added setting to specify configuration file
Added key to save text windows contents to a file
Added setting to send a final space after every word in the osd adventure keyboard
Added Dandanator CPC emulation
Added machine Amstrad CPC 4128
Added CPC machines support to ZSF snapshots
Added tape to wav converter (tap, tzx, o, p to wav)
Added text driver (curses, stdout, simpletext) for Chloe 80x24 mode

Improved Debugger:
-Now you can disassemble on the Step-to-step mode from the Debug cpu menu
-Now you can assemble from the Debug cpu menu
-Added Chloe memory Zone

Improved TBBlue emulation:
-Better CPU usage:
--Use 4% less cpu time (in my machine) when only ULA and/or Tiles enabled
--Use 1% less cpu time (in my machine) when all layers enabled
-Added TBBlue Tiles video mode
-Added TBBlue "reveal" setting to view which pixels use a layer
-Resized display: now is twice bigger
-Fixed Timex hi-res mode 512x192

Improved ZRCP:
-commands smartload and snapshot-load are more intelligent now
-running in verbose or limit mode, or cpu-step command, can now update the display inmediately (having real video setting on)
-added commands: get-cpu-frequency, get-cpu-turbo-speed, get-tstates, get-tstates-partial, reset-tstates-partial

Improved vu-meters: high volumes are shown in red
Improved sprite viewer
-you can view sprites up to 512x512
-you can export sprites to C source code file

Improved file selector:
*now it remembers the last files used
*Windows: now you can use up to 20000 files in the same directory
*Windows: added drive selector (press shift-u)

Improved audio: silence detector is disabled by default. That should fix some Windows audio problems. Check Settings->Audio->Silence detector if you have configuration autosaving enabled

Improved disassemble window:
*now you can export the disassemble to text file
*you can now see the full opcode when debugging Sinclair QL
*you can now show/hide hexadecimal dump of every opcode

Improved hexadecimal editor:
*now showing subzones information

Improved MMC emulation: allow non-standard mmc file sizes

Fixed visual glitches in some menus when Pentagon machine and real video: audio wave, visualmem, ay piano, wave piano, view sprites
Fixed timex hires mode 512x192 on tbblue
Fixed visual glitches in some menus when interlaced enabled: audio wave, visualmem, ay piano, wave piano, view sprites
Fixed audio bug: sending a sample to the DAC by using Next registers, it wasn't reseting the silence detection counter, so sound would probably be frozen (and repeated again, and again...)
Fixed autoload on tbblue (on normal and also fast boot mode)
Fixed error managing TBBlue Layer 2 vertical scroll
Fixed triggering "opcode" condition breakpoint
Fixed emulating Inves interrupt bug
Fixed segmentation fault when showing electron on debug


Enjoy!
Cheers
Cesar

FBZX Wii emulator

$
0
0
Just discovered that a USB keyboard plugged into the front of a WiiU works with this emulator
Get in.

Usage of HDF Manager in ZX Spin - And: Creation of small +3 HDF-images

$
0
0
Hi,

can someone explain me the usage of "HDF Manager" in ZX Spin (available under Tools / Options / Files / Hard Disks - it´s greyed out here by me, even if I have "Unit 0 Enabled".

Can I create a new +3 .HDF-File with this HDF Manager with a very small size of about 128MB card-size?

Converting an .rzx to .avi...

$
0
0
Good evening, folks!

I'm trying to convert an .rzx file to .avi (any "regular" video format will do though) using Spectaculator. I seem to be able to record short clips with no problem, but I have one I'd like to record that's just under an hour long, and whenever I finish recording, the resulting .avi file is unplayable. VLC gives me a message saying that the index is missing, which it then offers to fix for me, but once it has, I'm left with just a clip of 13 or so minutes (which occur towards the end of the complete .rzx). I have tried converting the .avi to other formats using Handbrake, but it always results in me getting the same 13 or so minute clip.

Any ideas on what I might be doing wrong?

Range breakpoints in FUSE?

$
0
0
Hello,
Is it possible to set a breakpoint over a range of memory in FUSE?
I want to find where a program writes to the screen.
Thanks.

Augmentinel

$
0
0
Enhanced Spectrum emulation isn't a new concept. Spec256 adds 8bpp graphics to some Spectrum titles. TileMap uses code hooks to synchronise game state across a maps, and add other game-specific enhancements.

With sufficient reverse-engineering you can enhance almost any aspect of an existing game, without having to completely rewrite it. And unlike a remake, the unmodified parts run as normal, reducing the risk of missing subtle gameplay details.

Take a classic game like The Sentinel, which pushes the Spectrum hardware pretty hard. It could be enhanced in a number of ways:

- eliminate landscape generation delays.
- remove the need to type secret codes for unlocked levels.
- improve accuracy of object selection.
- replace the stippled rendering with accelerated 3D rendering.
- restore the model and level colours from the PC VGA version.
- enhance the sound with C64 music and positional sound effects.
- replace the slow view panning with mouse free look.
- leave the rest of the Spectrum game logic running as normal.

Presenting: Augmentinel -- an augmented version of The Sentinel.

Download v1.0 (requires Windows 7 or later and DX10 capable hardware).

If XAudio DLLs are missing on startup, install the DirectX runtime libraries.

Fuse/SPIN vs Spectaculator border timings

$
0
0
Hello,

I'm trying to figure out at which moments the 48K ULA samples the current border color into its internal latch. To do that I wrote a small test that draws a few lines on the top border at specific CPU ticks and gave it a try on Fuse (commit 0518e233), SPIN 0.7s and Spectaculator 8.0.0.3092. SPIN and Fuse seem to generate the same pattern, but Spectaculator looks like it's one tick early (or others are one tick late):

https://raw.githubusercontent.com/kosarev/zx/master/test/border_timing/screenshot.png

I wonder if this difference is intentional (for whichever emulator is deviated from how it should be, if any). Also, if anyone can try the test on some real 48K models and post some photos of the resulting patterns here, I would appreciate it very much.

Here's the test itself and its source code with some explanations within:

https://github.com/kosarev/zx/blob/master/test/border_timing/border_timing.tap
https://github.com/kosarev/zx/blob/master/test/border_timing/border_timing.asm

Thanks!

ZEsarUX stable 7.2

$
0
0
Hi!

I have uploaded a new stable ZEsarUX version 7.2!
You must go to the Releases section on the GitHub project to download It, as usual:

https://github.com/chernandezba/zesarux/releases

There are binary compiled versions for:
-Linux
-Mac
-Windows
-Raspberry Pi

And, of course, the source code, so people can compile it by themselves:

https://github.com/chernandezba/zesarux/


Don’t forget the extras package, so it contains lots of games, demos, programs and documentation.

The Changelog is:

Version 7.2. 10 April 2019 - Neula edition


Improved menu environment:
-Added new menu window type: ZX Vision. GUI Windows can be moved, resized, scrolled, minimized, closed, and change the focus to the background
-Windows can be scrolled using mouse wheel
-Warning and Error window messages now show an animation
-Added first-aid help windows

Added Z80 assembler
Added setting to specify configuration file
Added key to save text windows contents to a file
Added setting to send a final space after every word in the osd adventure keyboard
Added Dandanator CPC emulation
Added machine Amstrad CPC 4128
Added CPC machines support to ZSF snapshots
Added tape to wav converter (tap, tzx, o, p to wav)
Added text driver (curses, stdout, simpletext) for Chloe 80x24 mode


Improved Debugger:
-Now you can disassemble on the Step-to-step mode from the Debug cpu menu
-Now you can assemble from the Debug cpu menu
-Added Chloe memory Zone

Improved ZRCP:
-commands smartload and snapshot-load are more intelligent now
-running in verbose or limit mode, or cpu-step command, can now update the display inmediately (having real video setting on)
-added commands: assemble, get-cpu-frequency, get-cpu-turbo-speed, get-tstates, get-tstates-partial, load-binary, reset-tstates-partial

Improved sprite viewer:
-you can view sprites up to 512x512
-you can export sprites to C source code file

Improved file selector:
-now it remembers the last files used
-Windows: now you can use up to 20000 files in the same directory
-added drive selector (press shift-d). On Windows, allows you to change drive unit. On Linux and Mac, changes to /media or /Volumes folder

Improved disassemble window:
-now you can export the disassemble to text file
-you can now see the full opcode when debugging Sinclair QL
-you can now show/hide hexadecimal dump of every opcode

Improved hexadecimal editor:
-now showing subzones information

Improved audio: silence detector is disabled by default. That should fix some Windows audio problems. Check Settings->Audio->Silence detector if you have configuration autosaving enabled
Improved vu-meters: high volumes are shown in red
Improved MMC emulation: allow non-standard mmc file sizes
Improved compiled Mac version: default version is faster than before (uses O2 optimization)


Fixed visual glitches in some menus when Pentagon machine and real video, or when enabling interlaced: audio wave, visualmem, ay piano, wave piano, view sprites
Fixed triggering "opcode" condition breakpoint
Fixed emulating Inves interrupt bug
Fixed segmentation fault when showing electron on debug


Changes in TBBlue emulation:
-Added Tiles video mode
-Added "reveal" setting to view which pixels are used by a layer
-Added setting to change machine id
-Improved CPU usage:
--Use 4% less cpu time (in my machine) when only ULA and/or Tiles enabled
--Use 1% less cpu time (in my machine) when all layers enabled
-Improved display emulation: now is twice bigger
-Fixed Timex hi-res mode 512x192
-Fixed autoload on tbblue (on normal and also fast boot mode)
-Fixed error managing Layer 2 vertical scroll
-Fixed audio bug: sending a sample to the DAC by using Next registers, it wasn't reseting the silence detection counter, so sound would probably be frozen (and repeated again, and again...)


Some other minor bugfixes and improvements


Enjoy!

Cheers,
Cesar

Which emulators can change machine type / hardware without reset?

$
0
0
Which emulators can change machine type / hardware without machine-reset?

I think WinZ80 v4 by Gerton Lunter can do e.g. change running emulation from 48k machine to 128k. But cannot confirm this yet as WinZ80 don´t seem to run under 64-Bit Windows.

It´s clear to me that no every "switch of underlying hardware" in emulation may be succesfull for keeping emulated system/software running and switching may often just resulting in a crash.

GZX 2019.1 Released

$
0
0
I just released GZX 2019.1. You can download it from the Github release page. Or you can get the source and build it yourself, it's free software.

GZX is a ZX Spectrum emulator in developlent since 1999 as my personal ZX Spectrum emulator - at that time there was like one ZX Spectrum emulator for Linux and it wasn't very good. I published it as free software since 2017 since I just wanted to share. It supports ZS Spectrum 48K and 128K. It supports AY-3-8192, 128K MIDI port, field mode, Z80/SNA, TAP/TZX/WAV, integrated debugger, runs in Linux, Windows and HelenOS.

The main purpose of this release is to make GZX more available, especially to Windows users. It contains a Windows (32-bit) and Linux (64-bit) binary. For pre-built HelenOS binaries, visit http://ci.helenos.org/latest/#harbour-gzx.

There is no previous binary release to compare to, but since the 2017 source-only release, these are the notable changes:

* UI Lock (a.k.a. child lock) - turns off all non-Spectrum keys until you press Alt-Shift-U
* Windows now scales 2x in frame mode
* Fixed scaling in Linux in field mode
* TZX metadata blocks (such as archive info) will no longer prevent quick loading
* HelenOS port

I am undergoing a slow process of modernizing and improving the entire code base, currently working on a complete rewrite of the tape emulation, which I am pretty excited about (expect in the next release).

Let me know if you like it ;-)

Screenshots:

scr1.png
scr2.png
scr3.png

Bug in ZX Spin

$
0
0
ADD HL,BC sets Z-flag when adding #faff and #501.

By design ADD HL,rr does not set zero flag.

Stripping extra snapshots from RZX

$
0
0
Hello!

I started to record a playtrough of Frank'N'Stein Rebooted into RZX. I am at level 39 so far. Somehow I tought that pressing Insert in FUSE adds a rollback point to the file, but it adds a whole snapshot, so the size of the RZX file is unnecessarily big.

Is there any way to strip the snapshots from the file? (ZXSpin's RZX studio won't load it.)

Gilby

+D snapbutton on Fuse

$
0
0
Hi, does fuse has a SNAPSHOT button for +D ? I might have asked before. I see a (grey) Didaktak snap button under 'machine'
I realy can use it so i can preserve the RAMdisc on +D disc easily with a 128SNP file ...

Spectrum and Z80 emulators with Python API

$
0
0
Hello everybody,

It may be the right time to create a topic for these two emulators. They are not at the initial release point yet, but might be worth some attention anyway.

Here's the repositories:
* https://github.com/kosarev/zx
* https://github.com/kosarev/z80

As of today, the ZX part is capable of running .z80 and .rzx files. It is 48K only for now, and no colours and sound yet. These are meant to be implemented later when the timing issues and questions discussing in https://www.worldofspectrum.org/forums/discussion/comment/951880 are resolved.

The story behind these emulators is that I had (and still have) some interesting things to try to implement on Spectrum that would in turn require doing things like counting T-states for specific routines and automatic code generation and collecting various statistics as code executes and so on. So then I thought, what emulator, preferably a Linux one, would help me with this? And what its user interface may look like given I don't have to do everything manually over and over again. And then I realized that it is not some sort of GUI, but a language like Python that would naturally fit as a user interface of the emulator for such tasks. Of course, this doesn't mean it can't have a GUI or a command-line interface (it already has some), but also and first of all it should be able to interface via an API.

Once is became clear that we need an API, the next step was getting a Z80 emulator that is flexible enough to fit the needs of such an API-enabled Spectrum emulator. It needs speed and portability, so it has to be C or C++. And it needs flexibility, including the ability to have several instances of differently customized emulators, say, one to run at full speed and another one with the support for breakpoints and custom Python handlers enabled. That narrowed the choice to C++.

I spent some time experimenting with various approaches (that can be seen in the beginning of the repo's changes history), and ended up with breaking the processor emulator into independent, customizable and even replaceable pieces, such as internal state, decoder and instructions executor, that communicate with each other by calling handlers. One particularly important design decision was to make those handlers to be resolvable at compile time (means no virtual functions) so the resulting code wouldn't suffer from peformance overhead, spending time on executing code that is not used in a particular instance of the emulator.

This way two major problems were solved: the emulator can be as fast as today's compilers are capable to optimize inlined code and in the same it can be customized in a virtually any possible way by injecting custom code -- and do that with help of, but without changing the library code.

What is the hardest part so far is giving them names. I still have no idea how to name them. Maybe it's just not the right time yet... :-)

Any comments are highly appreciated. Thanks!

SpecIde updated!

$
0
0
Hi, all!

In these past months I've been brushing up a bit my emulator, SpecIde, a.k.a. the least efficient emulator in the world.

At this moment, SpecIde can do the following tricks:

- Pixel-perfect emulation of Spectrum 48K, with all the extras. (Issue 2/3, contended memory, floating bus, snow effect...)
- Pixel-perfect emulation of Spectrum 128K/+2. (Also with contended memory, floating bus, snow effect...)
- Pixel-perfect emulation of Spectrum +2A/+3. (This is new; I've implemented the contended memory, floating bus port...)
- Kempston and Sinclair joystick emulation, using a joystick or game pad connected to the PC. The extra fire buttons can be mapped to different keys.
- PSG emulation. Supports mono, ACB and ABC stereo. Also supports turbosound (--turbo, --turboacb, --turboabc) and a mode inspired in Spectrum Next's turbosound, but with four PSGs (--turbonext).
- Not-so-good FDC765 and +3 disk drive emulation. Read-only for the moment, but it can load all the protections I've thrown at it.
- It works either in fullscreen mode (it scales to the display resolution) or in a cute window.
- TV interlacing. It can be disabled (--nodoublescan), or it can paint all the 625 lines (--scanlines) or average them (--average) to display the GigaScreen modes properly.
- Accepts TAP, TZX and DSK files.
- It is free software (GPL3). Sources and Windows binaries can be found here: https://github.com/MartianGirl/SpecIde (GNU/Linux and Mac binaries are easy to compile; in the repository there are instructions to do it...)

Hope you like it :)

PS. Snow effect is more or less accurate, but not completely exact! Sorry for that!

Can I record binaries from any emulator with Basic commands, machine code, macros or something?

$
0
0
Hello

I do not know if this is the right place to put this question

Normally with ZXSpin if I want to save a binary file, I'm going to: file -> save binary file

I give him the data of memory address and number of bytes and he records a file with the extension
that wants that it can be .bin for example

Buuut ...

Can you do this with some emulator and machine +2, +3, or another, etc
directly from commands in basic or from machine code, that is not in a TAP and are different files?

In pseudocode it looked something like this:

records the first piece of memory in a binary file

record The second piece of memory in a different binary file

etc etc

Maybe there is some macro or something???

More than anything not to do it by hand since they are many :)

That is to say that it is recorded directly to PC from the emulator as different binary files

I hope to have explained myself well :)


Thank you
Viewing all 477 articles
Browse latest View live