English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   Amiga scene (https://eab.abime.net/forumdisplay.php?f=2)
-   -   A decent Speccy 48k/Zeddy emulator for plain OCS/68k? (https://eab.abime.net/showthread.php?t=101347)

commie1974 20 March 2020 08:59

A decent Speccy 48k/Zeddy emulator for plain OCS/68k?
 
Hi there, mates!
During my "stay at home" period, I had this weird idea:
Would nowadays the creation from scratch of a good, usable and accurate ZX Spectrum 48k and/or ZX81 emulator be possible on a vanilla 512k OCS miggy, like the A500?
As a hardcore emulators enthusiast during the past ages, I was wondering long ago about that... Unfortunately, I am not a coder myself, but since we have seen true programming wonders on the OCS demoscene the last years, I think that the programming techniques and knowledge of today are advanced enough for such a project...
We already have Speccy emulators like the very interesting KGB 1.3 from the nineties, but they seem poor for today's standards...

So I am just casting the idea here, for anyone who might be interested in taking such a big challenge! :cool
*I think* (and of course I stand corrected) that e.g. an A500 hardware-wise is powerful enough for successfully sustaining such a task...
And of course, the 48k Spectrum or especially the 1/16k ZX81 must not be THAT complex systems to emulate on a way more powerful platform...

Wouldn't it be great to be able to play e.g. Bomb Jack under speccy emulation or Mazogs under zeddy emulation at a good speed on a plain rev.5/6 500, or even a 1000?

What do you people say? Any volunteer Sinclair-fan coders out there?
;)

britelite 20 March 2020 09:04

Quote:

Originally Posted by commie1974 (Post 1386260)
Would nowadays the creation from scratch of a good, usable and accurate ZX Spectrum 48k and/or ZX81 emulator be possible on a vanilla 512k OCS miggy, like the A500?

It all depends on your definition of "good, usable and accurate". If you want it to actually be cycle accurate and run at 50fps, then an A500 is not up for the task. But if you just want to be able to play a few old games with frame skipping, then it might be possible.

commie1974 20 March 2020 09:10

Wow, that was a fast response! :D
I'm looking for the best possible result, for example the KGB (which is the best one running on unexpanded OCS platforms) is DEAD slow for playing arcade/action games! It's only good for text adventures and is also unable to run at all a big number of titles, it has lots of restrictions. As for the zeddy part, AFAIK there isn't an emulator available at all for the old amigas...

So, couldn't something *much* better than the KGB be produced today? Should I abandon all hope?

britelite 20 March 2020 09:16

Quote:

Originally Posted by commie1974 (Post 1386263)
As for the zeddy part, AFAIK there isn't an emulator available at all for the old amigas...

Emulating an ZX80/ZX81 would at least be a bit simpler as the screen layout is simpler (no need to take color into account) and no sound to emulate.

Quote:

So, couldn't something *much* better than the KGB be produced today?
Most likely not

commie1974 20 March 2020 09:24

Quote:

Originally Posted by britelite (Post 1386265)
Emulating an ZX80/ZX81 would at least be a bit simpler as the screen layout is simpler (no need to take color into account) and no sound to emulate.

Are you reading this, fellow coders??? :D

Quote:

Originally Posted by britelite (Post 1386265)
Most likely not

Hmmm, I'd rather keep on being optimistic until we read some more opinions... thanks for sharing your thoughts, anyway! :cool

jotd 20 March 2020 09:29

emulating a Z80 with screen refresh (specially on the amiga with the damn bitplanes) on a 68000 at a proper speed is just not possible.

It seems stupid, but emulation takes a lot of CPU power. The CPU itself isn't the bigger problem. Video refresh, on the other hand, costs a lot. You have to emulate the CPU but also the speccy video chip, and refresh it at a reasonable rate, when the speccy video chip can do 50 or 60 Hz.

You can disable sound, saves a little CPU. Or get a 68030 where emulation has more chance to run 100%

commie1974 20 March 2020 09:33

Quote:

Originally Posted by jotd (Post 1386268)
emulating a Z80 with screen refresh (specially on the amiga with the damn bitplanes) on a 68000 at a proper speed is just not possible .... Or get a 68030 where emulation has more chance to run 100%

Oh, I see... Of course I'm talking about plain 68000 here, there are already at least two excellent Speccy emus for the 68030 and upwards...

Havie 20 March 2020 09:50

What about JIT built into the (hypothetical) emulator?

I'm sure I remember there being a fast emulator from back in the day - was that the KGB one I wonder or was I running it on my 040?

britelite 20 March 2020 09:55

Quote:

Originally Posted by commie1974 (Post 1386267)
Are you reading this, fellow coders??? :D

Yes, I am ;)

britelite 20 March 2020 10:03

Quote:

Originally Posted by jotd (Post 1386268)
It seems stupid, but emulation takes a lot of CPU power. The CPU itself isn't the bigger problem. Video refresh, on the other hand, costs a lot. You have to emulate the CPU but also the speccy video chip, and refresh it at a reasonable rate, when the speccy video chip can do 50 or 60 Hz.

And on the Spectrum cycle accurate CPU emulation is also crucial, as a lot of tricks (at least in demos) are done purely with CPU timing.

Phantasm 20 March 2020 10:15

Quote:

Originally Posted by Havie (Post 1386273)
What about JIT built into the (hypothetical) emulator?

I'm sure I remember there being a fast emulator from back in the day - was that the KGB one I wonder or was I running it on my 040?


JIT speeds things up but generally makes emulation less accurate. With emulation its always a trade off between accuracy and speed. Obviously it depends on the system you are emulating and the accuracy you wish to achieve but you usually need somewhere in the region of an order of magnitude increase in processing power to emulate a system effectively (so 10x)

phx 20 March 2020 10:18

Is there a cycle-accurate C64 emulation in 50fps for the A500? I don‘t think so. The Z80 is a lot more complex than the 6502. The rest of the hardware might be easier to emulate, although the most time-critical tasks, like screen-refresh, are still there. I would expect that a Spectrum emulation is a little bit slower than the C64.

jotd 20 March 2020 10:30

JIT on 8 bit code means a lot of self-modifying code. It is a challenge. JIT is already a challenge in itself.

And the video refresh part is also a problem. The program writes in the screen memory and you have to draw that.

If you do a full screen refresh it just takes too much time (see MAME ports)

In my Oric emulator (which ran well on 68030/25) I had implemented a partial screen refresh. Lots of bugs & corner cases where it's not compatible, but is efficient enough 90% of the time.

commie1974 20 March 2020 18:41

Wow, I see that my :D brilliant :D idea got at least some of you coders to think and discuss about it... I guess that's a pretty good start!!!
;)
Thank you all for your replies so far, even though I realize that the chances of my dream becoming true are very limited...

Mad-Matt 20 March 2020 18:44

For a plain old Amiga 600, I used to use an emu called... Spectrum, which while not as fast as an actual 48k spectrum, it was still usable/playable and got the job done when limited to an original amiga with no upgrades. And being pre global internet you would need to source the snapshot files yourself or make your own which worked really well. Attach a sampler cartridge, load the spectrum tape as normal and snapshot when loaded. job done. This really satisfied the emulation itch at the time ;)

britelite 20 March 2020 19:03

Quote:

Originally Posted by commie1974 (Post 1386376)
Wow, I see that my :D brilliant :D idea got at least some of you coders to think and discuss about it... I guess that's a pretty good start!!!

Let's be real here, talk is all this will amount to.

saimon69 20 March 2020 19:14

Forgot the name of the emulator that was using in my old 500 1.2, was an old one, used .sna files and was able to play decently in games if i put frameskip 2 or 3 - am afraid it might not be able to run Nirvana engine games properly, though

saimon69 20 March 2020 19:17

Quote:

Originally Posted by phx (Post 1386279)
Is there a cycle-accurate C64 emulation in 50fps for the A500? I don‘t think so. The Z80 is a lot more complex than the 6502. The rest of the hardware might be easier to emulate, although the most time-critical tasks, like screen-refresh, are still there. I would expect that a Spectrum emulation is a little bit slower than the C64.

I remember i did use the VERY old 64 emulator on my 500 - the one where you could build a cable to use the 1541, (in 1988 so what i remember is relative) and on native speed was at least 1/4 of the speed of a 64; speccy was strangely a bit faster but that makes me think that maybe the speccy emulator was doing some shortcuts

Estrayk 20 March 2020 23:45

I am not an emulation expert but in case anyone is interested, there is an emulator for st that emulates perfectly a zx spectrum, and not only text adventures, but with really surprising speed. I made this video with my MegaSTE, ok, it's 16Mhz, but it's still an old MC68000. Could be say that a 1200 stock could emulate a spectrum to full speed then?
The CPU speed power of a 020/14mhz I think it should be a bit higher in MIPS than a 68000 to 16Mhz, right?

https://www.youtube.com/watch?v=lCp6TPf_QSg

jotd 21 March 2020 00:32

Cybernoid by Rafaele Cecco, who then wrote First Samurai :)

68000/16MHz is twice as fast than a standard A600. But it's still super-impressive to see the speed of this emulator. would be nice to get the source code.

68020/14Mhz of bare A1200 is probably comparable in terms of CPU speed.

But Atari ST doesn't have custom chips (like blitter and all) and hence no chipmem slowdown when writing to screen. Those custom chips are rarely useful in emulators (except if we wanted to emulate Sega Genesis tiles...), but writing to video memory at a better speed is certainly an advantage. An advanced paula audio chip isn't much use too.

Just wild guesses here. The atari (like the PC) is even more generalist than the amiga, so better at emulation...


All times are GMT +2. The time now is 13:47.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.04947 seconds with 11 queries