Previous Thread
Next Thread
Print Thread
Page 4 of 4 1 2 3 4
Joined: Mar 2001
Posts: 17,178
Likes: 211
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,178
Likes: 211
This is the best technical description I've seen: https://faqwiki.zxnet.co.uk/wiki/Contended_memory

Joined: Apr 2013
Posts: 75
Likes: 2
G
geecab Offline OP
Member
OP Offline
Member
G
Joined: Apr 2013
Posts: 75
Likes: 2
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

Joined: Apr 2013
Posts: 75
Likes: 2
G
geecab Offline OP
Member
OP Offline
Member
G
Joined: Apr 2013
Posts: 75
Likes: 2
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

Joined: Apr 2013
Posts: 75
Likes: 2
G
geecab Offline OP
Member
OP Offline
Member
G
Joined: Apr 2013
Posts: 75
Likes: 2
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

Link Copied to Clipboard
Who's Online Now
1 members (Pernod), 32 guests, and 3 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,305
Posts121,668
Members5,069
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com