Previous Thread
Next Thread
Print Thread
Page 4 of 4 1 2 3 4
Re: ZX Spectrum Contended Memory - MultiColour Effects [Re: geecab] #113646
07/04/18 01:05 PM
07/04/18 01:05 PM
Joined: Mar 2001
Posts: 16,007
USA
R
R. Belmont Offline
Very Senior Member
R. Belmont  Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,007
USA
This is the best technical description I've seen: https://faqwiki.zxnet.co.uk/wiki/Contended_memory

Re: ZX Spectrum Contended Memory - MultiColour Effects [Re: geecab] #113650
07/05/18 09:53 AM
07/05/18 09:53 AM
Joined: Apr 2013
Posts: 71
G
geecab Offline OP
Member
geecab  Offline OP
Member
G
Joined: Apr 2013
Posts: 71
Hi OG! Unfortunately, there isn't an all singing all dancing memory contention self test that I know of. It very much a "Run this Game/Demo/TestTool and check that the things you see on screen when running a real Spectrum are the same as when you are running a spectrum emulator" affair. Also, just having a perfect memory contention implementation does not mean all multi colour games & demos will look perfect. You need perfect ULA emulation too (So that the screen raster is perfectly sychronised with the Z80).

There are a number of ULA test tools that give an insight into the ULA timings of the Spectrum model that it is running on. I've ran all the tests I could find on my actual 48K and 128K+2 (I've posted links to galleries containing screenshots of my results), and have checked these results match perfectly with mame.
The tests can be found here:
http://wizard.ae.krakow.pl/~jb/qaop/tests.html

If you wanted a more enjoyable place to start, try loading the Nirvana+Engine demo on an 48k, 128K or +2A/+3. The tap can be found here:
https://spectrumcomputing.co.uk/index.php?cat=96&id=30002

If contended memory and ULA timings are correct, then the multi colour graphics will display correctly (I.e. When the demo runs you should see more than 2 colours occuyping an 8x8 pixel block, without any flicker or colour clash) regardless of what spectrum model you run it on.

Hope this helps smile

Re: ZX Spectrum Contended Memory - MultiColour Effects [Re: geecab] #113663
07/16/18 10:19 AM
07/16/18 10:19 AM
Joined: Apr 2013
Posts: 71
G
geecab Offline OP
Member
geecab  Offline OP
Member
G
Joined: Apr 2013
Posts: 71
I've managed to get my hands on a Spectrum +3 from an old friend of mine (Just had to re-solder a dry joint on the audio/tape socket and it seems to be able to load stuff now). Currently, the +2A/+3 ULA timing settings used for my mame implementation are based on the results that the Fuse emulator gives. Now I have an actual +3 I can double check if my +2A/+3 settings are correct. Soon I'll create another photo album containing screenshots of the +3 running floatspy, btime, stime, ulatest3 (Like I did for my Spectrum 48K and +2) smile

Re: ZX Spectrum Contended Memory - MultiColour Effects [Re: geecab] #113674
07/19/18 06:28 AM
07/19/18 06:28 AM
Joined: Apr 2013
Posts: 71
G
geecab Offline OP
Member
geecab  Offline OP
Member
G
Joined: Apr 2013
Posts: 71
Hi! Here are the screenshots of various tests tools running on my actual Spectrum +3. I can confirm that my mame implementation (when running the 'specpls3' model) displays exactly the same test results as the actual Spectrum +3, *except* for the "Test: Contended NOP" test. According to my actual Spectrum +3, during the Contended NOP test, TState 14490 takes '5' cycles. This differs from my mame implementation (and the Fuse emulator) which both indicate this as being '4' cycles. Which is quite interesting...

ZX 128+3 testing (Actual)

Mame/Fuse running Contended NOP test

smile

Page 4 of 4 1 2 3 4

Who's Online Now
1 registered members (AJR), 86 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Shout Box
Forum Statistics
Forums9
Topics8,575
Posts112,038
Members4,812
Most Online225
May 26th, 2014
Powered by UBB.threads™ PHP Forum Software 7.6.1.1
(Release build 20180111)
Page Time: 0.033s Queries: 14 (0.011s) Memory: 5.6651 MB (Peak: 5.8398 MB) Zlib enabled. Server Time: 2018-09-24 02:08:17 UTC