@tsturm

No judgement about other aesthetic choices other people make, but I really don't like pixel interpolation on my emulator, I prefer integer zoom factors and crisp aliasing. Which I reckon is more nitpickery on my part than something you can discern on a high DPI display screen, but this is the shape I'm in. 🙂

I paused work on the zoom animations and I'm working on some other new things now:

  • Option+S = Toggle full screen mode
  • PgUp zooms multiplication factor one level up
  • PgDn zooms multiplication factor one level down
  • Option+PgUp Option+PgDn = same as above, but with the window centred. No effect when used in full screen.
  • Option+F = FPS indicator
  • Option+P = Preferences

Other things considered:

  • Command line switches
  • Configuration file
  • Pondering about a tabbed interface.
  • Drag and drop .dsk,.z80, and .tap files into tabs.

i have plenty to keep myself entertained until it becomes usable.

#ZXSpectrum #Spectrum #Speccy #ZXSpectrum256 #retrocomputing

Fancy a late Friday night emulator bug? Implementing a softer zoom animation, but errors ensued and I can't find the culprit. Happy with progress, though!

(PS: still nice FPS!)

#ZXSpectrum #Speccy #Spectrum #retrocomputing #ZXSpectrum256 #ZX256

I was thinking that... it doesn't really matter much if my emulator prototype is only a garbage software-only emulator for now. in some years from now you will be able to run it on a MCU at high clock speeds, performing with very high precision that will make any pin signal differences impossible to tell apart from the real hardware ones (assuming you implement all legacy bugs too!).

All retro 8-bit and 16-bit hardware emulated as software on future MCUs will make FPGAs redundant for this particular purpose at least.

In the end it doesn't even matter.
https://youtube.com/clip/UgkxKMLT6TjzrDPYBuJPXKDK2MNvNJHkdX1r?feature=shared

#Spectrum #ZXSpectrum #Speccy #ZXSpectrum256 #ZX256 #Spectrum256 #retrocomputing

Bevor Sie zu YouTube weitergehen

Probably not useful for much, but I want to see what it would look/feel like to keep many spectrum screens arranged in a 3d space. The 3d model of a speccy may not fulfill a real function, but maybe it can work as a sort of icon to select the virtual keyboard, or as a 3d view of the virtual keyboard on which you can tap keystrokes. I still don't know what it's going to look like, this is highly experimental.

#ZXSpectrum #Speccy #Spectrum #retrocomputing #retrogaming #ZXSpectrum256 #Spectrum256 #ZX256

This still doesn't look right and I don't know where I'm going yet, but that's part of the fun I suppose.

#ZXSpectrum #Speccy #Spectrum #retrocomputing #retrogaming #ZXSpectrum256 #Spectrum256 #ZX256

I stayed up late and I fixed the optimisation problems, re-implemented flash, and re-implemented zoom. This is what it looks like now, the red indicator on the bottom right is the number of FPS.

And now I'm going to sleep! Good night!

#ZXSpectrum #Spectrum #Speccy #retrocomputing #retrogaming #ZXSpectrum256 #Spectrum256 #ZXGUI

@tsturm Yes and no.

It's a number of things:

1) Trying to see if I could fit unix-style listings into the Spectrum standard resolution.

2) Trying to see if I could fit unix-style listings using 51-column and 64-column text still in Spectrum standard resolution.

3) A rudimentary attempt (nowhere near ready) to imagine how Spectrum +3 commands should work, using real local filesystem files instead of +3 floppy images.

4) Trying to see whether I would be able to display a DivMMC-like user interface for loading snapshots using the Spectrum screen, or maybe I should use a native toolkit, or something else that works outside of the Spectrum screen (right now I just drag and drop files into the emulator window).

5) Other ideas, like a sort of Netflix interface but for Spectrum titles.

And then a few things more...

#ZXSpectrum
#Spectrum
#Speccy
#ZXGUI
#ZXSpectrum256
#Spectrum256
#retrocomputing
#retrogaming

Texture optimisation now works, working around the OpenGL problems on M1 when drawing on textures. I had a little regression having to implement the flash attribute differently, and also the zoom magnification factor has to be done again.

But hey... 600 FPS now, 200% more up from 200 FPS!

I think I could push it somewhere higher closer to 800 FPS, but I'm content with this already. Further optimisation might risk introducing convoluted and unreadable code.

This improvement leaves a lot of room for doing more processing and for many other things, also allowing for the emulator to be ported to slower machines with ease.

All in all, a good Sunday.

#ZXSpectrum #Spectrum #Speccy #ZXGUI #ZXSpectrum256 #Spectrum256 #retrocomputing #retrogaming

Argh, I think I lucked out on another Apple bug whilst trying to optimise the rendering of the ZX Spectrum screen for my emulator.

It seems to be a GL warning:

POSSIBLE ISSUE: unit 0 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable

And the program continues to run, but the textures are all rendered blank, and there is no apparent way to detect this during runtime, with no errors being thrown. I should probably keep a small Linux PC around at all times. Blimey I can't do that today on a Sunday afternoon.

Alternatively, I must endure a lengthy OS and XCode update and hope that after that process is completed, this particular Apple bug is fixed. Boring.

Flip side: If I manage to get this sorted, and the FPS rate still stands after that, getting 600 FPS and up after this optimisation, it may be well worth the hassle.

In the end.

#ZXSpectrum #Speccy #Spectrum #ZXSpectrum256 #Spectrum256 #retrocomputing

Here we go again. Hopefully a much improved implementation.

#ZXSpectrum #Z80 #Speccy #Spectrum #ZXSpectrum256 #Spectrum256 #retrocomputing