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
Joined: Mar 2001
Posts: 16,445
R
R. Belmont Online Content
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,445
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
Joined: Apr 2013
Posts: 71
G
geecab Offline OP
Member
OP Offline
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
Joined: Apr 2013
Posts: 71
G
geecab Offline OP
Member
OP Offline
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
Joined: Apr 2013
Posts: 71
G
geecab Offline OP
Member
OP Offline
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
2 registered members (Breiztiger, 1 invisible), 191 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
ShoutChat Box
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,750
Posts114,985
Members4,884
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.3