Re: Phil C's Raven build
Posted: 10 May 2025 14:42
@agranlund yes you are right, there is an issue with long word addressing
Will this be the two 254 chips do you think?
Will this be the two 254 chips do you think?
We welcome retro users & hardware gurus alike! Come and join the party :)
https://www.exxosforum.co.uk/forum/
Code: Select all
pb $820a4ec0 $12
pb $820a4ec1 $34
pb $820a4ec2 $56
pb $820a4ec3 $78
pl $820a4ec0
Code: Select all
vga test
pl $820a4ec0 $12345678
pb $820a4ec0
pb $820a4ec1
pb $820a4ec2
pb $820a4ec3
Code: Select all
vga test
pw $820a4ec2 $ab75
pw $820a4ec2
Code: Select all
vga test
pl $820a4ec2 $12345678
pl $820a4ec2
Code: Select all
vga test
pl $800a4ec0 $12345678
pl $800a4ec0
pl $820a4ec0
Code: Select all
vga test
pl $8200a4ec0 $12345678
pl $800a4ec0
pl $820a4ec0
Code: Select all
vga test
pw $800a4ec0 $ab75
pw $800a4ec0
pw $820a4ec0Code: Select all
pw $800a4ec2 $ab75
pw $800a4ec2
pw $820a4ec2agranlund wrote: 10 May 2025 22:17
I'm going to assume all byte access are working since the test image is showing correctly.
Thus, let's check if long reads work.Okay, the first test gives $12345678 as expectedCode: Select all
pb $820a4ec0 $12 pb $820a4ec1 $34 pb $820a4ec2 $56 pb $820a4ec3 $78 pl $820a4ec0
Then check long write, verifying by reading back byte by byte.This gives back the answer 12,34,FF,FFCode: Select all
vga test pl $820a4ec0 $12345678 pb $820a4ec0 pb $820a4ec1 pb $820a4ec2 pb $820a4ec3
Then it could be interesting to know what happens when doing a single word access to where we got garbage on the long access. In case it's somehow A1 related perhaps.I get back $ab75Code: Select all
vga test pw $820a4ec2 $ab75 pw $820a4ec2
Similarly, a long access that is offset 2 bytes from what we did last time.
Would be interesting to see if this gives back $1234xxxx or $xxxx5678 where x is some garbage.I get back $12345678Code: Select all
vga test pl $820a4ec2 $12345678 pl $820a4ec2
And finally, let's try forcing it to split that long access into 4xByte instead of 2xWord when talking to the isa card.
(write 4xByte, read 4xByte, read 2xWord)This time its $12ffffff followed by $12ffffffCode: Select all
vga test pl $800a4ec0 $12345678 pl $800a4ec0 pl $820a4ec0
(write 2xWord, read 4xByte, read 2xWord)$12ffffff twice this time.Code: Select all
vga test pl $8200a4ec0 $12345678 pl $800a4ec0 pl $820a4ec0
Oh, and while we're there may as well check bus-sizing a word access to 2xByte too.
And try reading it back as 2xByte as well as 1xWord.$ab00 twice this timeCode: Select all
vga test pw $800a4ec0 $ab75 pw $800a4ec0 pw $820a4ec0
Then the word after because why notabff twice this time.Code: Select all
pw $800a4ec2 $ab75 pw $800a4ec2 pw $820a4ec2
Sorry for the wall of text.
Due to the turnaround time it feels more efficient to overtest rather than one thing at a time :)
What clock speed are you running at by the way?
No love for the happy chips? :lol:
This is interesting results.PhilC wrote: 11 May 2025 16:38 I've put my answers for each code snippet in bold after the code associated with it
Code: Select all
cfg boot_enable 0
reset
Code: Select all
pl $ff8800 $0b00aa00
pl $ff8800 $0c005500
pb $ff8800 $0b
pb $ff8800
pb $ff8800 $0c
pb $ff8800
Code: Select all
pb $ff8800 $0b
pb $ff8802 $55
pb $ff8800
Code: Select all
run $600000
Code: Select all
rtc