Call to arms | Teensy + SDRAM = true

@Paul, I know I'm not alone when I say that I'm curious to why you want to find the highest speed?
Makes one wonder what cool stuff you got going on behind the scenes * Coff * - 1170 - * Coff *. Cmon spill some beans for us! :cool:

If the SDRAM is made for 166MHz, going faster surely will shorten the lifespan and thus not be feisable on end user products. Or am I wrong?
 
@mjs513 seems you are working on SDRAM_malloc? Might be handy to get valid controlled pointers with the 1062 doing the math. Will be using 5 or maybe 9 blocks for this - though they'll be single alloc. For fun I could switch up the alloc() ordering.
@defragster
Would rather wait and test the mods i mad to the core before I put it out there for testing - would be easier for me to debug than going back and forth. Still havent heard directly from fedex when it will be delivered but still assuming tomorrow. All I know is right now it left Charles de Gaule ap but thats about it.

If you want to try something look at the post #120 that was the initial way I had done it but what I am playing with now is working on putting it in the core in a kludgey way
 
Last edited:
I'm curious to why you want to find the highest speed?

I'm curious about the DQS signal to maybe gain some insight (or just guesswork-based theories) about how NXP designed the chip. You asked, so I'm saying as clearly as possible, learning more about the plausible design of the IMXRT SEMC is my main interest here. That's why I'm curious.

Not curious enough to have you send me the hardware for free and do the testing myself, but curious enough to write several messages on this thread with info to help Defragster try it...

Important projects should of course stick to the official specs and avoid overclocking. But still, if we can learn more about the best capacitor to use, even standard 166 MHz might enjoy better timing margin. Maybe that's overkill and maybe not worth the cost of 1 capacitor. The more we know, the easier making that sort of judgement call could be.

Today we know a few things:

1: 166 MHz works without any capacitor
2: NXP says on their forum not to use any capacitor
3: DQS is used to adjust read timing
4: Someone designed the eval board with a place to add that capacitor...

Personally, for me, that leaves something to be desire knowledge-wise. I'm sure most people are happy that it works at 166 MHz and they don't need a capacitor, but it just leaves me wanting to learn more about it.
 
Last edited:
Question: (@KurtE / @PaulStoffregen): why do those hardwareserial.h addMemory()'s take size_t params when head & tail are only 16 bits?
And availableForWrite() returns signed int?
virtual int availableForWrite(void); void addMemoryForRead(void *buffer, size_t length); void addMemoryForWrite(void *buffer, size_t length); ... size_t tx_buffer_size_; size_t rx_buffer_size_; size_t tx_buffer_total_size_; size_t rx_buffer_total_size_; ... volatile uint16_t tx_buffer_head_ = 0; volatile uint16_t tx_buffer_tail_ = 0; volatile uint16_t rx_buffer_head_ = 0; volatile uint16_t rx_buffer_tail_ = 0;
Sorry, it has been awhile...

You could probably change one or the others. Maybe should change the size_t to uint16_t as I doubt anyone with a Teensy would need more than 64K for a TX or RX buffer. Unless of course we are actually talking about a real PJRC product line, in which case maybe.
 
@Paul

Thanks for explaining, it's always interesting to know what "turns people on". Yours seem to be knowledge among other things.

As promissed I will test it once I have a board. 😄
 
TRY221 with no cap failed as before with NO_CAP -
Maybe start with 4.7pF, 10pF, 15pF, and of course no capacitor. That's 4 cases to test, which becomes 12 test to run if you try each at 166, 198, 221 MHz.

Hopefully just those 12 results will show whether any further testing makes sense, and give some insight on where to focus more tests.
The sketch works to show, then stops. Will see about CAPS
test Pattern 5A698421 Write 76940 us Read/Test 241231 us
test Pattern 55555555 Write 76877 us Read/Test 241232 us
test Pattern 33333333 Write 76876 us Read/Test 241234 us
test Pattern 0F0F0F0F Write 76877 us Read/Test 241234 us
test Pattern 00FF00FF Write 76878 us Read/Test 241232 us
test Pattern AAAAAAAA Write 76940 us Read/Test 241232 us
test Pattern CCCCCCCC Write 76875 us Read/Test 241239 us
test Pattern F0F0F0F0 Write 76878 us Read/Test 241238 us
test Pattern FF00FF00 Write 76877 us Read/Test 241239 us
test Pattern FFFFFFFF Write 76939 us Read/Test 241233 us
test Pattern 00000000 Write 76877 us Read/Test 241234 us
test FAIL : Fixed Pattern 65535
test FAIL : Fixed Pattern 4294901760
test FAIL : Peusdo Random Seed B16C714C
test FAIL : Peusdo Random Seed 55B93479
test FAIL : Peusdo Random Seed CB7A32DF
test FAIL : Peusdo Random Seed 71479A17
test FAIL : Peusdo Random Seed 49306918
test FAIL : Peusdo Random Seed 107C0342
test FAIL : Peusdo Random Seed 08C12EA2
test FAIL : Peusdo Random Seed 24B07A3F
test FAIL : Peusdo Random Seed 06961068
test FAIL : Peusdo Random Seed 047160F2
test FAIL : Peusdo Random Seed FA2E45FF
test FAIL : Peusdo Random Seed 87EBDF19
test FAIL : Peusdo Random Seed 205BE867
test FAIL : Peusdo Random Seed ED23C475
test FAIL : Peusdo Random Seed 8A09FAA4
test FAIL : Peusdo Random Seed DEB33331
test FAIL : Peusdo Random Seed AB76D0FB
test FAIL : Peusdo Random Seed 0CD92ECE
test FAIL : Peusdo Random Seed 2023391B
test FAIL : Peusdo Random Seed 200C533A
test FAIL : Peusdo Random Seed EE809956
test FAIL : Peusdo Random Seed 814B9E57
test FAIL : Peusdo Random Seed F09E11D9
test FAIL : Peusdo Random Seed 5B8524E5
test FAIL : Peusdo Random Seed B069DA6D
test FAIL : Peusdo Random Seed FB7E6043
test FAIL : Peusdo Random Seed 3DCE4AD9
test FAIL : Peusdo Random Seed 7EACB961
test FAIL : Peusdo Random Seed BD6AFEC8
test FAIL : Peusdo Random Seed 8F02855A
test FAIL : Peusdo Random Seed E5563EAF
test FAIL : Peusdo Random Seed 01A320C1
test FAIL : Peusdo Random Seed 1F072B32
test FAIL : Peusdo Random Seed 16BA62FE
test FAIL : Peusdo Random Seed F8D5EC7C
test FAIL : Peusdo Random Seed EA607309
test FAIL : Peusdo Random Seed F32B8C12
test FAIL : Peusdo Random Seed 33C213D4
test FAIL : Peusdo Random Seed 93773491
test FAIL : Peusdo Random Seed 59911C4E
test FAIL : Peusdo Random Seed 934BFC0E
test FAIL : Peusdo Random Seed 05113FF5
test FAIL : Peusdo Random Seed 551663C7
test FAIL : Peusdo Random Seed 4198CD51
 
The sketch works to show, then stops

I don't understand "works to show". What does that mean?

But as I tried to explain in msg #62, the test should be modified so it counts the number of reads which gave wrong data rather than simply stopping at anything wrong. It should continue for the entire memory. Then it should report the total number of incorrect reads, not simple pass/fail. The final result after running all patterns should be the total number of incorrect reads across all the tests.

Ideally, each pattern should write once to fill the entire memory, than read the whole memory 100 or 1000 times. We're expecting timing problems to manifest with reading. The test should always continue for the entire memory size. The reported result should be the total number of incorrect reads.

The idea is to push the clock frequency to the point where we have very little timing margin and test how frequency read errors start to occur. So that would always fail on a simple pass/fail test, but we want to see and compare how much it's failing to read when given little timing margin. Then by tweaking C29, we'll (probably) see differences in the amount of failing reads.
 
Last edited:
on second reading - The error said 'not found' - next post shows it needed the #include according to PJRC sources
Tim - just noticed in your post #146 to add core_pins.h. That got it working for micros() and delayMicros() - my eyes must have been too tired last night to read messages straight.
 
@defragster

Ok now I will let you do a quick try. Add/replace the files in the zip to the teensy 4 core.

There is one file called hasSDRAMKludge.h which has a single define in it. Will allow enabling SDRAM usage and disabling it by just commenting out the define. Its just a kluge for testing - not 100% happy doing it that way but was the simplest.

Now you shouldn't need the library and use EXTSDMEM to specify using sdram memory (only temporary until I am sure everything is working will then just make it EXTMEM :)

Code:
To use - use just like EXTMEM:

EXTSDMEM uint8_t test[4096];
 

Attachments

  • t4cores.zip
    19.5 KB · Views: 13
I don't understand "works to show". What does that mean?

But as I tried to explain in msg #62, the test should be modified so it counts the number of reads which gave wrong data rather than simply stopping at anything wrong. It should continue for the entire memory. Then it should report the total number of incorrect reads, not simple pass/fail. The final result after running all patterns should be the total number of incorrect reads across all the tests.

Ideally, each pattern should write once to fill the entire memory, than read the whole memory 100 or 1000 times. We're expecting timing problems to manifest with reading. The test should always continue for the entire memory size. The reported result should be the total number of incorrect reads.

The idea is to push the clock frequency to the point where we have very little timing margin and test how frequency read errors start to occur. So that would always fail on a simple pass/fail test, but we want to see and compare how much it's failing to read when given little timing margin. Then by tweaking C29, we'll (probably) see differences in the amount of failing reads.
'Stops" with fast blink as your original sketch did once an error is detected.
will edit with this in mind:
The capacitor is expected to matter only for reading. So perhaps a test program might look similar to the PSRAM memory test, but for each pattern it would probably write the entire memory once and then read it all back thousands of times, since we're expecting the problem to manifest as occasional bad reads. It would probably count the total number of incorrect words read to report at the end of all patterns, continuing the test for all patters rather than stopping when any fails. You'd want a total count of errors rather than simple pass/fail, so you could compare results and say one "failed" test gave fewer errors than another.
Test runs going to get VERY long when it gets to thousands ... 'only a small number of tests'
 
@defragster

Ok now I will let you do a quick try. Add/replace the files in the zip to the teensy 4 core.

There is one file called hasSDRAMKludge.h which has a single define in it. Will allow enabling SDRAM usage and disabling it by just commenting out the define. Its just a kluge for testing - not 100% happy doing it that way but was the simplest.

Now you shouldn't need the library and use EXTSDMEM to specify using sdram memory (only temporary until I am sure everything is working will then just make it EXTMEM :)

Code:
To use - use just like EXTMEM:

EXTSDMEM uint8_t test[4096];
So SDRAM and PSRAM will both have the same macro? How does the code know which is which?
 
So SDRAM and PSRAM will both have the same macro? How does the code know which is which?
Right now they are different.

But remember PSRAM isn't supported on the Teensy Micromod!. As Paul mentioned in a very early post why would you use PSRAM when you have SDRAM. But I have no issue keeping then separate. Remember these changes aren't permanent - anybody developing there own boards in the future would have to modify the ld file. I modified the TMM one just for our testing - don't think it would do much of anything if a SDRAM wasn't present anyway

Look in the pgmspace.h file - you will see the macros for extmem and extsdmem
 
Right now they are different.

But remember PSRAM isn't supported on the Teensy Micromod!. As Paul mentioned in a very early post why would you use PSRAM when you have SDRAM. But I have no issue keeping then separate. Remember these changes aren't permanent - anybody developing there own boards in the future would have to modify the ld file. I modified the TMM one just for our testing - don't think it would do much of anything if a SDRAM wasn't present anyway

Look in the pgmspace.h file - you will see the macros for extmem and extsdmem

Technically you can use PSRAM on a Micromod based custom board.
I put together a small library that allows me to use PSRAM on an older devboard that @Dogbone06 sent me a few month back, which has the 16mb flash chip just like the Micromod - Just copied some of the code from the cores and used a custom linker defined in my build settings.
I implemented it with PlatformIO, without the need to change cores at all.

Therefore I think it would be best to have a separate macro for SDRAM as you have already implemented
 
Tim - just noticed in your post #146 to add core_pins.h. That got it working for micros() and delayMicros() - my eyes must have been too tired last night to read messages straight.
Reading ... over rated :) {see p#162 re: p#62 :( }
I should have found p#146 that on first search - would have been less confusing for BOTH of us.

Looks like new UART test on hold until the change to 'accept and count errors works'. Easy to find ERR's at 212 MHz one pass - just need to make continuing and stopping and logging work. Then I'll look to integrate the EXTSDMEM changes. So that is just compile reserve - not the smalloc() tie in for SDRAM?

<edit> Then we just need a working LittleFS_SDRAM - will be faster than PSRAM! Probably the same with EXTSDMEM myMem[]. Then the INTEGRITY test for that could run.
 
Right now they are different.

But remember PSRAM isn't supported on the Teensy Micromod!. As Paul mentioned in a very early post why would you use PSRAM when you have SDRAM. But I have no issue keeping then separate. Remember these changes aren't permanent - anybody developing there own boards in the future would have to modify the ld file. I modified the TMM one just for our testing - don't think it would do much of anything if a SDRAM wasn't present anyway

Look in the pgmspace.h file - you will see the macros for extmem and extsdmem
I have a product based on the Micromod, but it’s a custom board just like the dev board. On it I have the 16MB flash and 16MB PSRAM, so it’s detected as a Micromod but I use EXTMEM with a modified .ld file.
 
@PaulStoffregen, here is the start of continuing after errors for a finite #define ERR_ABORT number seen.
It continues testing on the next test. This is at 212 MHz so fails are immediate. If some passes with 1 read, then 6 reads pass while in loop() it adds 60 more passes and repeats (until 2,500) reads. Any failure at that point would look something like this, where "Read Cnt 0" indicates it failed on the first pass:
SUCCESS sdram.init()
CCM_CBCMR=F5AE8104 (90.0 MHz)
Compile Time:: T:\T_Drive\tCode\RAM\SDRAMdiy_Test\SDRAMdiy_Test.ino Dec 28 2023 12:45:36
EXTMEM Memory Test, 32 Mbyte begin, 80000000 middle, 81000000 end, 82000000
testing with fixed pattern 5A698421
testing with fixed pattern 55555555
testing with fixed pattern 33333333
testing with fixed pattern 0F0F0F0F
testing with fixed pattern 00FF00FF
testing with fixed pattern 0000FFFF
Error at 8000000C, read 0000DFFF but expected 0000FFFF
Error at 8000004C, read 0000DFFF but expected 0000FFFF
Error at 8000006C, read 0000DFFF but expected 0000FFFF
Error at 8000008C, read 0000DFFF but expected 0000FFFF
Error at 800000CC, read 0000DFFF but expected 0000FFFF
Error at 8000010C, read 0000DFFF but expected 0000FFFF
Error at 8000014C, read 0000DFFF but expected 0000FFFF
Error at 8000016C, read 0000DFFF but expected 0000FFFF
Error at 8000018C, read 0000DFFF but expected 0000FFFF
Error at 800001CC, read 0000DFFF but expected 0000FFFF
Error at 8000020C, read 0000D7BE but expected 0000FFFF
Error at 80000218, read 0000DFFF but expected 0000FFFF
Error at 8000022C, read 0000DFFF but expected 0000FFFF
Error at 8000024C, read 0000DFFF but expected 0000FFFF
Error at 8000026C, read 0000DFFF but expected 0000FFFF
Error at 8000028C, read 0000DFFF but expected 0000FFFF
Error at 800002AC, read 0000DFFF but expected 0000FFFF
Error at 800002CC, read 0000DFFF but expected 0000FFFF
Error at 800002EC, read 0000DFFF but expected 0000FFFF
Error at 8000032C, read 0000DFFF but expected 0000FFFF
Error at 8000034C, read 0000DFFF but expected 0000FFFF
Aborting after 21 errors
testing with fixed pattern AAAAAAAA
testing with fixed pattern CCCCCCCC
testing with fixed pattern F0F0F0F0
testing with fixed pattern FF00FF00
testing with fixed pattern FFFF0000
Error at 80000E68, read F7FF0000 but expected FFFF0000
Error at 80000EF0, read D7FF0000 but expected FFFF0000
Error at 80000FCC, read D7BE0000 but expected FFFF0000
Error at 80001550, read D7AE0000 but expected FFFF0000
Error at 80001828, read D7BF0000 but expected FFFF0000
Error at 80001830, read DFFF0000 but expected FFFF0000
Error at 80001974, read D7FF0000 but expected FFFF0000
Error at 80001E08, read F7FF0000 but expected FFFF0000
Error at 80002770, read D7AF0000 but expected FFFF0000
Error at 80002F50, read D7FF0000 but expected FFFF0000
Error at 80002FC8, read D7AF0000 but expected FFFF0000
Error at 80003150, read DFFF0000 but expected FFFF0000
Error at 80003250, read D7FF0000 but expected FFFF0000
Error at 800037E8, read F7FF0000 but expected FFFF0000
Error at 800038E8, read F7FF0000 but expected FFFF0000
Error at 80003CA8, read D7FF0000 but expected FFFF0000
Error at 80003D28, read D7BF0000 but expected FFFF0000
Error at 80003F48, read D7FF0000 but expected FFFF0000
Error at 80004170, read D7FF0000 but expected FFFF0000
Error at 800041EC, read D7AE0000 but expected FFFF0000
Error at 800043C8, read F7FF0000 but expected FFFF0000
Aborting after 21 errors
testing with fixed pattern FFFFFFFF
testing with fixed pattern 00000000
13 FIXED Pattern
testing with pseudo-random sequence HalfCopy 32, seed=2976674124
Error at 81001C4C, read 67F6DD01 but expected 67F6DD21
Error at 810060C4, read 55D7C30D but expected 55D7C34D
Error at 81006F08, read 5781BEBA but expected 57C1BEBA
Error at 81007064, read 5C05226A but expected 5C15226A
Error at 81007A24, read 5B54A719 but expected 5B54A759
Error at 81007DAC, read 748BA0EE but expected 748BA8EE
Error at 81008064, read 343AD904 but expected 343AD944
Error at 810093A4, read 1F2B8701 but expected 1F2B8711
Error at 8100B8A4, read 1D40710F but expected 1D40714F
Error at 8100C6E4, read 5A16A90D but expected 5A16A94D
Error at 8100DEA4, read 1FA2760B but expected 1FA2764B
Error at 8100F300, read 0115DE99 but expected 2115DE99
Error at 81010624, read 19CCC1CF but expected 19CCC5CF
Error at 81010AEC, read 697B980B but expected 697B984B
Error at 810121A0, read 4164D6D9 but expected 4964D6D9
Error at 81012404, read 41E3E379 but expected 41E3EB79
Error at 8101406C, read 21E4763B but expected 29E4763B
Error at 810144E4, read 5CC5836B but expected 5CD5836B
Error at 81015BD4, read 11059DBB but expected 11459DBB
Error at 810162AC, read 09898270 but expected 0989A270
Error at 81016984, read 42211612 but expected 42211652
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=1438200953
Error at 810010C4, read 6F4D01AC but expected 6F4D21AC
Error at 81003284, read 2159F732 but expected 2959F732
Error at 81005528, read 02D97546 but expected 0AD97546
Error at 810076E8, read 210F6E18 but expected 210F6E58
Error at 8100B168, read 01C6DA31 but expected 21C6DA31
Error at 8100B804, read 315A4F02 but expected 315A4F42
Error at 81012704, read 2354F4E7 but expected 2B54F4E7
Error at 81015B08, read 5905EFC6 but expected 5905EFD6
Error at 81015CEC, read 36F08103 but expected 36F0A103
Error at 81016734, read 557D7A82 but expected 557D7A92
Error at 8101846C, read 107B80BD but expected 107B88BD
Error at 81026E90, read 04D75D05 but expected 04D75D45
Error at 810276E8, read 2D61814A but expected 2D61894A
Error at 81027DA8, read 02D7F5E1 but expected 0AD7F5E1
Error at 8102AD78, read 3E0B51B6 but expected 3E4B51B6
Error at 8102B468, read 21D8D7AD but expected 29D8D7AD
Error at 8102D3C8, read 27A6EC80 but expected 27A6EC90
Error at 810306A8, read 39588A14 but expected 39588A54
Error at 81030F8C, read 6F1780AB but expected 6F17A0AB
Error at 81037910, read 60F0D78C but expected 68F0D78C
Error at 81045B4C, read 6D7BF10B but expected 6D7BF14B
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=3413783263
Error at 81000404, read 2C66A630 but expected 2C66A632
Error at 8100094C, read 138D5700 but expected 138D5720
Error at 81002C24, read 1F034A40 but expected 1F034A50
Error at 81003268, read 5313A1B5 but expected 5313A9B5
Error at 81005A40, read 5C003BBF but expected 5C403BBF
Error at 81006604, read 74AEA274 but expected 74AEAA74
Error at 81006F80, read 01A0763F but expected 09A0763F
Error at 810076A8, read 5D118EBF but expected 5D518EBF
Error at 810076E8, read 32580597 but expected 325805D7
Error at 81007BA4, read 41A38176 but expected 41A38976
Error at 81008324, read 413EB7A4 but expected 493EB7A4
Error at 8100890C, read 069BED01 but expected 069BED21
Error at 8100A3E4, read 41F5B787 but expected 49F5B787
Error at 8100AB08, read 78D9E07C but expected 78D9E87C
Error at 8100B7C4, read 06B58E11 but expected 06B58E51
Error at 8100E7C4, read 0605FC80 but expected 0605FC90
Error at 8100F204, read 573581E7 but expected 573589E7
Error at 8100F304, read 43AFD100 but expected 43AFD920
Error at 8100FEA8, read 10C984B4 but expected 10C98CB4
Error at 81010C68, read 4105A2A2 but expected 4145A2A2
Error at 810121C4, read 0E0430B3 but expected 0E4430B3
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=1900517911
Error at 81001264, read 14025AAE but expected 14425AAE
Error at 81006A64, read 728E2D02 but expected 728E2D52
Error at 81006C04, read 04D77604 but expected 04D77644
Error at 810075E4, read 1721920E but expected 1721B24E
Error at 81007F4C, read 29B30BA6 but expected 29B32BA6
Error at 8100818C, read 65B67781 but expected 65B677A1
Error at 81008240, read 3F8694E9 but expected 3F9694E9
Error at 81009FD0, read 5580826F but expected 5590826F
Error at 8100AF24, read 4DC18220 but expected 4DC1A260
Error at 8100B984, read 3B824303 but expected 3B824B03
Error at 8100BE24, read 321B8804 but expected 321B8844
Error at 8100D464, read 7E0CD927 but expected 7E0CD967
Error at 8100F0C0, read 15DCCB35 but expected 35DCCB35
Error at 8100F544, read 52350038 but expected 52352038
Error at 81011264, read 4CBB81A5 but expected 4CBBA1A5
Error at 81011324, read 154CCA9D but expected 354CCA9D
Error at 81014040, read 402C5797 but expected 482C5797
Error at 810147E4, read 5F4C8385 but expected 5F4C8B85
Error at 81015D04, read 56418EEA but expected 56518EEA
Error at 81015D24, read 571A877F but expected 571A8F7F
Error at 81016C84, read 5B31A134 but expected 5B31A934
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=1227909400
Error at 81002D0C, read 1516824F but expected 1516A24F
Error at 810040CC, read 0D8B9981 but expected 0D8B99A1
Error at 81005E88, read 452EDAD1 but expected 652EDAD1
Error at 810060C0, read 45E0D61B but expected 6DE0D61B
Error at 810078F0, read 00F9F72A but expected 08F9F72A
Error at 81007944, read 6486D25B but expected 64A6D25B
Error at 81008D68, read 2341F593 but expected 2B41F593
Error at 8100E804, read 47C1DF01 but expected 47C1DF41
Error at 810147E8, read 5738C125 but expected 5738C925
Error at 8102322C, read 50559255 but expected 5055B255
Error at 8102698C, read 1DA0EB0E but expected 1DA0EB4E
Error at 8102B2A8, read 22D6D4C1 but expected 22D6D4D1
Error at 8102CE88, read 4FC3BC02 but expected 4FC3BC53
Error at 8103156C, read 17708041 but expected 1770A041
Error at 8103E52C, read 2D0DC808 but expected 2D0DC848
Error at 81041A50, read 2A26D601 but expected 2A26D611
Error at 81041EEC, read 2D7001FC but expected 2D7009FC
Error at 8104DB6C, read 1511F2BE but expected 1551F2BE
Error at 810527B8, read 622FC0F8 but expected 622FC8F8
Error at 8105B7CC, read 29048A91 but expected 2904AA91
Error at 8105C328, read 43CDF4B2 but expected 4BCDF4B2
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=276562754
Error at 81001ADC, read 7A8CB106 but expected 7A8CB146
Error at 81003DE4, read 4223C213 but expected 4223C253
Error at 81003F2C, read 33961900 but expected 33961920
Error at 810043C8, read 61BB550C but expected 61BB554C
Error at 81005458, read 1EC0710B but expected 1EC0714B
Error at 8100652C, read 33EA8105 but expected 33EA8905
Error at 81006DC8, read 16063CB8 but expected 16463CB8
Error at 81007DC4, read 0EAF829A but expected 0EAF8A9A
Error at 8100862C, read 39388F14 but expected 39388F54
Error at 81009204, read 72907182 but expected 729071A2
Error at 810092A4, read 18648064 but expected 18648864
Error at 81009904, read 171365BF but expected 175365BF
Error at 8100A148, read 49A205DA but expected 49A20DDA
Error at 8100B6E8, read 7C08A3A7 but expected 7C48A3A7
Error at 8100C344, read 14CBC854 but expected 34CBC854
Error at 8100C388, read 103E826D but expected 103E8A6D
Error at 8100C5B4, read 0896F706 but expected 0896F746
Error at 8100CBC4, read 77199BA7 but expected 77599BA7
Error at 8100D004, read 1C02F51D but expected 1C02F55D
Error at 8100D2EC, read 2A1A02DE but expected 2A1A22DE
Error at 8100D62C, read 530DE11C but expected 530DE91C
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=146878114
Error at 81003540, read 20D257AD but expected 28D257AD
Error at 81005168, read 6609E000 but expected 6609E800
Error at 81005564, read 2A0EF2C0 but expected 2A0EF2D0
Error at 81006348, read 2136FF00 but expected 2136FF10
Error at 81007140, read 18C2D721 but expected 38C2D721
Error at 810087EC, read 71038119 but expected 7103A119
Error at 81008A9C, read 6FC6E681 but expected 6FC6E6A1
Error at 8100AD84, read 5601C9BF but expected 5641C9BF
Error at 8100B844, read 365AB611 but expected 365AB651
Error at 8100BA04, read 56C56682 but expected 56C56692
Error at 8100D7A0, read 40BA9F69 but expected 60BA9F69
Error at 8100D8A8, read 33FB8504 but expected 33FB8D44
Error at 8100D944, read 770F1415 but expected 770F1455
Error at 8100DE64, read 5E76DB1C but expected 5E76DB5C
Error at 8100EF88, read 0B0640B8 but expected 0B4640B8
Error at 8100F504, read 68049E9B but expected 68249E9B
Error at 8100F648, read 348E8F30 but expected 34CE8F30
Error at 8100F6A4, read 1D02D20A but expected 1D02D24A
Error at 81010344, read 21C64204 but expected 21C64214
Error at 81010BA4, read 6F5D02E9 but expected 6F5D22E9
Error at 81010D20, read 2D427AAD but expected 2D527AAD
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=615545407
Error at 81000044, read 5B16821F but expected 5B16825F
Error at 810027C8, read 1855C086 but expected 1855C886
Error at 8100544C, read 106D3501 but expected 106D3521
Error at 810058C4, read 720EF114 but expected 720EF154
Error at 8101058C, read 5B1B2582 but expected 5B1B25A2
Error at 8101125C, read 1A010A00 but expected 1A010A40
Error at 810138A8, read 00FEF645 but expected 08FEF645
Error at 81015F30, read 52542B18 but expected 52542B58
Error at 81017488, read 1400E9BF but expected 1440E9BF
Error at 81017BBC, read 2AB0E580 but expected 2AB0E5A0
Error at 81017DD4, read 4904D6BB but expected 4944D6BB
Error at 8101FB6C, read 105580AD but expected 105588AD
Error at 8102085C, read 5274CB0D but expected 5274CB4D
Error at 81021A88, read 43015C06 but expected 43015C46
Error at 81021CCC, read 0ACB7980 but expected 0ACB79A0
Error at 81033C5C, read 3A3A5606 but expected 3A3A5646
Error at 81034804, read 5880A76E but expected 5890A76E
Error at 81035948, read 2191D762 but expected 2991D762
Error at 8103824C, read 2165CA01 but expected 2165CA09
Error at 810394CC, read 23ADD619 but expected 23ADD659
Error at 8103DEEC, read 290E0A06 but expected 290E2A06
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=110497896
Error at 81000000, read 06861068 but expected 06961068
Error at 810071AC, read 25CCD296 but expected 2DCCD296
Error at 810072C8, read 3D1B3D01 but expected 3D1B3D41
Error at 81007448, read 6696EE03 but expected 6696EE23
Error at 81007D2C, read 29398B23 but expected 2939AB23
Error at 81008424, read 5739C507 but expected 5739CD07
Error at 81008F84, read 6539251F but expected 6539255F
Error at 81009ACC, read 711382AD but expected 7113A2AD
Error at 8100A764, read 1878404B but expected 1878484B
Error at 8100BA28, read 49619503 but expected 49619543
Error at 8100C01C, read 130D4302 but expected 130D4322
Error at 8100C244, read 2A46EE81 but expected 2A46EE91
Error at 8100C868, read 4706D945 but expected 6706D945
Error at 8100CBB0, read 216D6D0E but expected 216D6D4E
Error at 8100CE64, read 49B8A18F but expected 49B8A98F
Error at 8100D144, read 331ED4A3 but expected 335ED4A3
Error at 8100E7A4, read 55B6040C but expected 55B6044C
Error at 81010F0C, read 0E13AF68 but expected 0E13AF6A
Error at 810121F0, read 4B419A13 but expected 4B419A53
Error at 8101298C, read 5A76CD0B but expected 5A76CD4B
Error at 81013DA4, read 49010903 but expected 49010943
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=74539250
Error at 81000168, read 1472A2C8 but expected 1472AAC8
Error at 810061E4, read 19C1610F but expected 19C1614F
Error at 810064B4, read 0817A703 but expected 0817A743
Error at 81006824, read 1CC8A504 but expected 1CC8A50C
Error at 81006EE4, read 2996E684 but expected 2996E694
Error at 81009D0C, read 78180DA7 but expected 78580DA7
Error at 81009FEC, read 08576D06 but expected 08576D46
Error at 8100AE84, read 3D1A2801 but expected 3D1A2841
Error at 8100B204, read 305A0C12 but expected 305A0C52
Error at 8100BC24, read 4987A06E but expected 4997A06E
Error at 8100D288, read 49A90348 but expected 49A90B48
Error at 8100D428, read 00B3B66E but expected 08B3B66E
Error at 8100D604, read 4553CB2C but expected 6553CB2C
Error at 8100E6A4, read 283DA48A but expected 287DA48A
Error at 8100E748, read 572DC5F3 but expected 572DCDF3
Error at 8100EAC4, read 5A34751A but expected 5A34755A
Error at 8100EBC4, read 3C767D01 but expected 3C767D21
Error at 8100ED64, read 6385AB2E but expected 6395AB2E
Error at 8100EEC8, read 74181FA7 but expected 74581FA7
Error at 8100F8C4, read 13D80510 but expected 13D80598
Error at 8100FC08, read 1678C906 but expected 3678C906
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=4197336575
Error at 81002404, read 43E0F531 but expected 4BE0F531
Error at 81006528, read 41B83742 but expected 49B83742
Error at 8100A744, read 1E00CB08 but expected 1E00CB48
Error at 81020554, read 417DB78A but expected 497DB78A
Error at 81021570, read 71D62B82 but expected 71D62B92
Error at 81021F48, read 5D80936F but expected 5D90936F
Error at 8102AE4C, read 6F15812C but expected 6F15A12C
Error at 8102B6E8, read 2E0FA0B8 but expected 2E4FA0B8
Error at 8102F2A8, read 00A0DE2E but expected 20A0DE2E
Error at 8102F758, read 39FAA405 but expected 39FAA445
Error at 81031334, read 6B7BCF08 but expected 6B7BCF48
Error at 81035414, read 2C0FB3B2 but expected 2C4FB3B2
Error at 81036B6C, read 6C1BEF0B but expected 6C1BEF4B
Error at 8103710C, read 4158F68E but expected 4958F68E
Error at 810383AC, read 0A87FF80 but expected 0A87FFC0
Error at 81044674, read 73CD2704 but expected 73CD2744
Error at 81045628, read 006EF63A but expected 086EF63A
Error at 810457AC, read 7D4E9F11 but expected 7D4E9F51
Error at 81045EE8, read 41A235DD but expected 49A235DD
Error at 810461C8, read 0073F705 but expected 0873F705
Error at 810469B0, read 0A7DDC01 but expected 0A7DDC11
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=2280382233
Error at 81002328, read 343B3E0A but expected 343B3E0B
Error at 81002A84, read 6A3E9072 but expected 6A3E9872
Error at 81002B04, read 4D83A34D but expected 4D83AB4D
Error at 81002C68, read 74BC80EE but expected 74BC88EE
Error at 810047A4, read 14F1A665 but expected 14F1AE65
Error at 81007044, read 6F1683E7 but expected 6F16A3E7
Error at 81007D04, read 0D4D9E85 but expected 0D4D9E95
Error at 81007E64, read 5A34241B but expected 5A34245B
Error at 81007F68, read 250300EC but expected 251300EC
Error at 81008C44, read 256EC345 but expected 256ECB45
Error at 81009248, read 76CE6D12 but expected 76CE6D52
Error at 810098F4, read 26A6DF80 but expected 26A6DF90
Error at 81009BC4, read 1310EDBF but expected 1350EDBF
Error at 8100B6C4, read 3EDA2A04 but expected 3EDA2A44
Error at 8100C4E4, read 00A8F6F1 but expected 08A8F6F1
Error at 8100CB04, read 368902F0 but expected 368922F0
Error at 8100CEE8, read 7D0C0A03 but expected 7D0C0A43
Error at 8100D624, read 0AC10BB7 but expected 0AC12BB7
Error at 8100DF84, read 6033D246 but expected 6033DA46
Error at 8100F184, read 74B600F5 but expected 74B608F5
Error at 8100F3C4, read 1D410008 but expected 1D410048
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=542894183
Error at 810000CC, read 0F02FADD but expected 0F22FADD
Error at 810002F0, read 4D8AA1BD but expected 4D8AA9BD
Error at 81004A84, read 0475CB14 but expected 0475CB54
Error at 81004D80, read 0185B668 but expected 0985B668
Error at 810051E0, read 21D1F784 but expected 29D1F784
Error at 810061E8, read 258C8809 but expected 258C8849
Error at 81006414, read 7F4C2D12 but expected 7F4C2D52
Error at 810064E4, read 03D8C006 but expected 03D9C006
Error at 81006788, read 1841830C but expected 1841834C
Error at 810068F8, read 3E382E11 but expected 3E382E51
Error at 81006A04, read 256CD1D1 but expected 256CD9D1
Error at 81006F80, read 1DB7C668 but expected 3DB7C668
Error at 81007080, read 0347DCA8 but expected 2347DCA8
Error at 81007AE8, read 44B0DB7E but expected 64B0DB7E
Error at 810095F4, read 7AAC6103 but expected 7AAC6143
Error at 810097EC, read 690DF6DB but expected 692DF6DB
Error at 81009CC4, read 7CA5E0EF but expected 7CA5E8EF
Error at 8100A0C4, read 0F75B716 but expected 0F75B756
Error at 8100A368, read 2179D6FF but expected 2979D6FF
Error at 8100AF84, read 11104CBA but expected 11504CBA
Error at 8100B3A4, read 200C470B but expected 200C474B
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=3978544245
Error at 810079C4, read 56975C0F but expected 56975C4F
Error at 81007D60, read 398099EF but expected 399099EF
Error at 810096C8, read 2D6D81C3 but expected 2D6D89C3
Error at 8100B270, read 12E0400B but expected 12E0404B
Error at 8100B3E4, read 762C3D10 but expected 762C3D50
Error at 8100EB58, read 1102C7ED but expected 1112C7ED
Error at 810133C4, read 71CC8348 but expected 71CCA348
Error at 81013938, read 16606E09 but expected 16606E49
Error at 8101993C, read 0CF7BC00 but expected 0CF7BC40
Error at 81019D10, read 087ED7D1 but expected 287ED7D1
Error at 81021EF4, read 49BBA119 but expected 49BBA919
Error at 81028E14, read 1F40B50F but expected 1F40B54F
Error at 81031458, read 704CB104 but expected 704CB144
Error at 810319E8, read 50B5BB4A but expected 54B5BB4A
Error at 8103BF28, read 2125F6C9 but expected 2925F6C9
Error at 8103F034, read 7C0C7500 but expected 7C0C7540
Error at 81048BE4, read 208DED0B but expected 208DED4B
Error at 8104AB6C, read 70B3A076 but expected 70B3A876
Error at 8104CB0C, read 738CA104 but expected 738CA144
Error at 8104D36C, read 5C03B1BC but expected 5C43B1BC
Error at 810502E4, read 3CDA9004 but expected 3CDA9044
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=2315909796
Error at 81008724, read 6EAFA40E but expected 6EAFAC0E
Error at 81008C84, read 7C6E5F12 but expected 7C6E5F52
Error at 81008CE4, read 11A13E0C but expected 11A13E4C
Error at 81008EE8, read 0A13D1FD but expected 2A13D1FD
Error at 8100A1EC, read 738899FE but expected 7388B9FE
Error at 8100A2C8, read 66BFE428 but expected 66BFE468
Error at 8100A824, read 31FBDD13 but expected 31FBDD53
Error at 8100A8A8, read 5778C1BD but expected 5778C9BD
Error at 8100AC44, read 10E1B70D but expected 10E1B74D
Error at 8100AEA4, read 2CCED619 but expected 2CCED659
Error at 8100B7A8, read 278DDA0A but expected 278DDA4A
Error at 8100C5A4, read 31FA2D15 but expected 31FA2D55
Error at 8100CC24, read 0F28D2F6 but expected 0F29D2F6
Error at 8100CDAC, read 42614504 but expected 42614544
Error at 8100D06C, read 212DD65E but expected 292DD65E
Error at 8100D3C8, read 35A0B885 but expected 35A0B895
Error at 8100DE44, read 27C0C881 but expected 27C0C8A1
Error at 8100DEA4, read 2A42052D but expected 2A52052D
Error at 8100E304, read 57B30574 but expected 57B30D74
Error at 8100E3C8, read 60D1165C but expected 68D1165C
Error at 8100FC24, read 3B3A5F81 but expected 3B3A5FC1
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=3736286001
Error at 810042E4, read 3FF94B03 but expected 3FF94B43
Error at 810053A8, read 1C65E075 but expected 1C65E875
Error at 81008F04, read 36B61391 but expected 36B63391
Error at 81009208, read 0210F7EE but expected 0A10F7EE
Error at 81009210, read 7DD63D02 but expected 7DD63D12
Error at 81009220, read 043ACB95 but expected 243ACB95
Error at 81009964, read 0797A900 but expected 0797A940
Error at 8100A284, read 10254E9B but expected 10654E9B
Error at 8100AB64, read 51329145 but expected 51329945
Error at 8100C084, read 7808A524 but expected 7808A564
Error at 8100CECC, read 605F9732 but expected 685F9732
Error at 8100D000, read 40CEF79B but expected 48CEF79B
Error at 8100D4C8, read 012DF480 but expected 012DF490
Error at 8100DAA0, read 409F9F52 but expected 609F9F52
Error at 8100E82C, read 7E0840B7 but expected 7E4840B7
Error at 8100F244, read 44218E82 but expected 44218EC2
Error at 8100F348, read 01DDF63B but expected 09DDF63B
Error at 8100F3A0, read 5E0E23B1 but expected 5E4E23B1
Error at 8101088C, read 5B2D491C but expected 5B2D691C
Error at 81010A44, read 3E410CAC but expected 3E510CAC
Error at 810113A4, read 33F191A8 but expected 33F199A8
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=2876690683
Error at 81001EF4, read 5400BCDF but expected 5420BCDF
Error at 81009724, read 1307D0B8 but expected 1347D0B8
Error at 8100AAC0, read 205E578F but expected 285E578F
Error at 8100E62C, read 7CE0869E but expected 7CE1869E
Error at 81010748, read 43219502 but expected 43219542
Error at 81013904, read 19016CBE but expected 19416CBE
Error at 81015A7C, read 20CDA00F but expected 20CDA04F
Error at 8101A234, read 6039D919 but expected 6039D959
Error at 8101D1AC, read 1E1268AD but expected 1E5268AD
Error at 81027188, read 0535E712 but expected 0535E752
Error at 8102FA88, read 41319700 but expected 49319700
Error at 810346CC, read 3B9AC807 but expected 3B9AC847
Error at 810362F8, read 21FCE575 but expected 21FCED75
Error at 8103D96C, read 4F9388C1 but expected 4F93A8C1
Error at 8103DFC8, read 436DB498 but expected 4B6DB498
Error at 8103DFCC, read 096D9691 but expected 096DB693
Error at 81044D6C, read 08A09BEA but expected 08A0BBEA
Error at 810468CC, read 1EADFF03 but expected 1EADFF23
Error at 81048AA8, read 208D691C but expected 208D695C
Error at 8104911C, read 11CD0900 but expected 11CD0920
Error at 81049AF8, read 76AC3900 but expected 76AC3940
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=215559886
Error at 810016C0, read 1A60F3BE but expected 1A61F3BE
Error at 81001D04, read 3A861080 but expected 3A8610A0
Error at 81002C84, read 5A3E25A0 but expected 5A3E25A8
Error at 810038A4, read 2E86CE09 but expected 2E86CE19
Error at 8100476C, read 08E0995A but expected 08E0B95A
Error at 81004E08, read 4015D7A2 but expected 4055D7A2
Error at 81007044, read 3FE46127 but expected 3FE46927
Error at 81007544, read 257B415E but expected 257B495E
Error at 81008234, read 1582FD1F but expected 1582FD5F
Error at 81008A48, read 118B0384 but expected 118B0394
Error at 81009304, read 39E7D1AB but expected 39E7D9AB
Error at 81009394, read 4B41B901 but expected 4B41B941
Error at 810093E4, read 7282DD5B but expected 72A2DD5B
Error at 810095C8, read 5FADCF03 but expected 5FADCF13
Error at 810099CC, read 7A303482 but expected 7A3034A2
Error at 8100B048, read 4C1B1506 but expected 4C1B1516
Error at 8100C10C, read 262C880E but expected 262C884E
Error at 8100C9C4, read 2D6E2154 but expected 2D6E2954
Error at 8100D288, read 26C3D66C but expected 26D3D66C
Error at 8100D464, read 7E8F4903 but expected 7E8F4943
Error at 8100D724, read 4FA3CF10 but expected 4FA3CF50
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=539179291
Error at 81000610, read 21DDD6DA but expected 29DDD6DA
Error at 81002504, read 1C90AF9D but expected 1C90AFDD
Error at 810029E4, read 3B0E18B0 but expected 3B4E18B0
Error at 81003F54, read 315A9601 but expected 315A9641
Error at 81004064, read 2520833F but expected 25208B3F
Error at 81005C28, read 1440EF0F but expected 1440EF4F
Error at 81005F08, read 08CEDBF4 but expected 28CEDBF4
Error at 81007788, read 33F08B01 but expected 33F08B11
Error at 81008224, read 7936CD87 but expected 7936CD97
Error at 81008C04, read 5F1E8170 but expected 5F1E8970
Error at 810094C4, read 05272686 but expected 052726C6
Error at 810095C4, read 3B3AC917 but expected 3B3AC957
Error at 8100A004, read 1A01F9BC but expected 1A41F9BC
Error at 8100AB28, read 417CB7C7 but expected 497CB7C7
Error at 8100AE0C, read 0C9AEA80 but expected 0C9AEAA0
Error at 8100B85C, read 25F0EF81 but expected 25F0EFA1
Error at 8100BE88, read 000BD751 but expected 080BD751
Error at 8100D628, read 7DF6E806 but expected 7DF6E816
Error at 8100D7A4, read 62F6E909 but expected 62F6E929
Error at 8100E788, read 01F3DF4D but expected 21F3DF4D
Error at 8100E904, read 21B8D732 but expected 29B8D732
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=537678650
Error at 81000898, read 5656020B but expected 5656024B
Error at 81002BC8, read 161203AE but expected 165203AE
Error at 810031C4, read 525C8AD3 but expected 525CAAD3
Error at 81003CAC, read 003EF644 but expected 083EF644
Error at 810041E8, read 35B9AD15 but expected 35B9AD55
Error at 81004B14, read 1D023F19 but expected 1D023F59
Error at 81005264, read 4861F700 but expected 4861F740
Error at 8100A620, read 20B8F613 but expected 28B8F613
Error at 8100D494, read 5A56530B but expected 5A56534B
Error at 8100D9AC, read 6E5D0B1C but expected 6E5D2B1C
Error at 81012D68, read 6052D7A1 but expected 6852D7A1
Error at 81016D1C, read 0E17AF00 but expected 0E17AF40
Error at 8101DEF8, read 29B6EFC0 but expected 29B6EFD0
Error at 8101FAEC, read 47BD8582 but expected 47BD85A2
Error at 81024CAC, read 22E1FD00 but expected 22E1FD20
Error at 81026A6C, read 33E681FC but expected 33E689FC
Error at 81027F90, read 73C5A32A but expected 73D5A32A
Error at 81027F94, read 410497F7 but expected 490C97F7
Error at 8102DCAC, read 750C2812 but expected 750C2852
Error at 81030B2C, read 38C6C082 but expected 38C6C0A2
Error at 81035FD0, read 48818003 but expected 48818043
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=4001405270
Error at 81000B68, read 0072F6CF but expected 0872F6CF
Error at 81002578, read 66BBBD0B but expected 66BBBD4B
Error at 810066C4, read 6078D616 but expected 6878D616
Error at 81007188, read 6800366B but expected 6810366B
Error at 81007B24, read 56D4160C but expected 56D4164C
Error at 81008584, read 69061BDB but expected 69261BDB
Error at 81008E04, read 1B51808D but expected 1B5180CD
Error at 81008EAC, read 28D58006 but expected 28D5A006
Error at 810092C8, read 14630015 but expected 14630815
Error at 81009BA4, read 48C1E010 but expected 48C1E050
Error at 8100A004, read 6A79970A but expected 6A79974A
Error at 8100AB40, read 0295DD49 but expected 2295DD49
Error at 8100ABA4, read 1E80BF3D but expected 1E80BF7D
Error at 8100AF4C, read 53648379 but expected 5364A379
Error at 8100BA24, read 5A06E7BD but expected 5A46E7BD
Error at 8100BEFC, read 10408B08 but expected 10408B48
Error at 8100C3A8, read 6D1D11BB but expected 6D5D11BB
Error at 8100C9E8, read 4762DB12 but expected 4762DB52
Error at 8100E0C0, read 3F0092DF but expected 3F2092DF
Error at 8100E1CC, read 158B83B7 but expected 158BA3B7
Error at 8100E4E4, read 1CC2C41B but expected 1CC2C45B
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=2169216599
Error at 8100000C, read 728FD89C but expected 728FF89C
Error at 81000024, read 2726BA81 but expected 2726BA91
Error at 81000124, read 709AA06B but expected 709AA86B
Error at 81001B8C, read 69D7C181 but expected 69D7C1A1
Error at 81006D84, read 10C98084 but expected 10C98884
Error at 81006F04, read 7007BEEE but expected 7017BEEE
Error at 81006F2C, read 63B6F901 but expected 63B6F921
Error at 81006FE8, read 42011707 but expected 42011747
Error at 810070A4, read 5B14F6BB but expected 5B54F6BB
Error at 8100826C, read 4F1D8C81 but expected 4F1D8CA1
Error at 810083A4, read 2F4ED441 but expected 2F4ED451
Error at 81008808, read 5E844CEF but expected 5E944CEF
Error at 810091D4, read 56F7850C but expected 56F7854C
Error at 810099C8, read 76081CB7 but expected 76481CB7
Error at 8100A550, read 6A188295 but expected 6A188A95
Error at 8100B244, read 57E683E2 but expected 57E68BE2
Error at 8100B8C0, read 614796AC but expected 694796AC
Error at 8100D1C4, read 6B388BC2 but expected 6B388BD2
Error at 8100D748, read 51B1AA64 but expected 55B1AA64
Error at 8100D964, read 7E5EFD82 but expected 7E5EFDD2
Error at 8100DA84, read 492285CD but expected 49228DCD
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=4036891097
Error at 81000004, read 35A8D3F2 but expected 3DA8D3F2
Error at 81007CE0, read 1A18C5E6 but expected 3A18C5E6
Error at 81007D34, read 377AA904 but expected 377AA944
Error at 81009D8C, read 15FE819D but expected 15FEA19D
Error at 8100A238, read 4B81D000 but expected 4B81D040
Error at 8100B434, read 1A21D90E but expected 1A21D94E
Error at 8100BFCC, read 409D9F82 but expected 409D9FA2
Error at 8100C6F8, read 23B4F448 but expected 2BB4F448
Error at 8100D944, read 7BB6BFC6 but expected 7BB6BFD6
Error at 81010420, read 00BB7654 but expected 08BB7654
Error at 8101072C, read 287780FE but expected 2877A0FE
Error at 81014F88, read 110796BC but expected 114796BC
Error at 8101A0A8, read 02F9F4BF but expected 0AF9F4BF
Error at 81021D4C, read 4B2D8202 but expected 4B2D8222
Error at 81022268, read 4166F793 but expected 4966F793
Error at 81024BAC, read 72D59BA6 but expected 72D5BBA6
Error at 8102884C, read 753C48CA but expected 753D48CA
Error at 810293C8, read 7D0C02B5 but expected 7D4C02B5
Error at 81029F6C, read 077BDC81 but expected 077BDCA1
Error at 8102CCEC, read 6E068182 but expected 6E06A182
Error at 8102D044, read 679BED99 but expected 679BEDD9
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=1535452389
Error at 810013CC, read 4E82A06F but expected 4E92A06F
Error at 81003244, read 2802CCED but expected 2812CCED
Error at 81003C88, read 607AD755 but expected 687AD755
Error at 810041C4, read 2703D2ED but expected 2713D2ED
Error at 81006354, read 1EA03E09 but expected 1EA03E49
Error at 81006664, read 59F5E00C but expected 59F5E04C
Error at 81007C0C, read 7CB18098 but expected 7CB18898
Error at 81008044, read 4405E2B2 but expected 4445E2B2
Error at 81008808, read 2134D710 but expected 2934D710
Error at 81008D64, read 165ACB26 but expected 365ACB26
Error at 810094E8, read 21925760 but expected 29925760
Error at 81009924, read 3881C56F but expected 3891C56F
Error at 81009F00, read 000BF7F6 but expected 080BF7F6
Error at 81009F48, read 78410FF7 but expected 78490FF7
Error at 8100A6A4, read 2AEFE109 but expected 2AEFE149
Error at 8100B1C4, read 09BD7345 but expected 09BD7355
Error at 8100B9C4, read 6F23818B but expected 6F23A18B
Error at 8100BD24, read 4E40BDFE but expected 4E41BDFE
Error at 8100BEE8, read 57B0C5E1 but expected 57B0CDE1
Error at 8100C504, read 2D6CFD1D but expected 2D6CFD5D
Error at 8100C56C, read 6B0481EB but expected 6B1481EB
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=2959727213
Error at 81001E38, read 6E31A0D5 but expected 6E31A8D5
Error at 810027C8, read 1E00370A but expected 1E00374A
Error at 81004854, read 667BDD08 but expected 667BDD48
Error at 81006108, read 4BB59160 but expected 4BB59960
Error at 81006B24, read 157C01B1 but expected 157C21B1
Error at 81007C00, read 1E1DE2B6 but expected 1E5DE2B6
Error at 81008924, read 1AABBF44 but expected 1AABBF54
Error at 81008BE4, read 09570D01 but expected 09570D41
Error at 810092C0, read 42D0B557 but expected 4AD0B557
Error at 810092CC, read 00B1F7EA but expected 08B1F7EA
Error at 81009D8C, read 5F1EE11F but expected 5F1EE91F
Error at 8100ACA8, read 12EB1000 but expected 12EB1010
Error at 8100BA40, read 4298B571 but expected 4A98B571
Error at 8100C800, read 26054ABA but expected 26454ABA
Error at 8100CB64, read 43D7B52A but expected 4BD7B52A
Error at 8100CD2C, read 6D569E03 but expected 6D569E23
Error at 8100CE20, read 0F6BD1D5 but expected 2F6BD1D5
Error at 8100D4E4, read 6A06102E but expected 6A06182E
Error at 8100E084, read 026DF42A but expected 0A6DF42A
Error at 8100E1CC, read 6B808130 but expected 6B808530
Error at 8100EDE4, read 46D8AF36 but expected 46D9AF36
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=4219363395
Error at 810007B4, read 3A586A13 but expected 3A586A53
Error at 810020C4, read 6D85096A but expected 6D95096A
Error at 81006C2C, read 5B33A176 but expected 5B33A976
Error at 8100AACC, read 09BBED88 but expected 09BBEDA8
Error at 8100B4A4, read 68980918 but expected 68980958
Error at 8100D25C, read 6A668982 but expected 6A6689A2
Error at 8100E6A4, read 09975E06 but expected 09975E46
Error at 810116B4, read 297FA15F but expected 297FA95F
Error at 81012AC8, read 4148B79D but expected 4948B79D
Error at 810136CC, read 1877C042 but expected 1877C842
Error at 81015224, read 498981C2 but expected 498989C2
Error at 81015760, read 21BCD641 but expected 29BCD641
Error at 810171EC, read 17FCDC93 but expected 37FCDC93
Error at 81018AF0, read 3BC1852E but expected 3BD1852E
Error at 8101957C, read 2E0D9A08 but expected 2E0D9A48
Error at 8101B334, read 21EAD605 but expected 29EAD605
Error at 81021FAC, read 178D4F02 but expected 178D4F22
Error at 8102537C, read 440CD408 but expected 440CD428
Error at 81029AF4, read 1EC0C90E but expected 1EC0C94E
Error at 8102C938, read 0075F762 but expected 0875F762
Error at 8102EDAC, read 530781C5 but expected 5307A9C5
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=1036929753
Error at 81000148, read 6DD9F11B but expected 6DD9F15B
Error at 810018B8, read 4D618106 but expected 4D618146
Error at 81002798, read 1441A00D but expected 1441A80D
Error at 8100323C, read 16A32F19 but expected 16A32F59
Error at 810067EC, read 60BE9777 but expected 68BE9777
Error at 81007BE8, read 21656192 but expected 21656992
Error at 81007C6C, read 0D1EF700 but expected 0D1EF708
Error at 810082D8, read 61FA6B0D but expected 61FA6B4D
Error at 81008E40, read 3EC6612F but expected 3ED6612F
Error at 81008FE4, read 3B7EC5C2 but expected 3B7ECDC2
Error at 8100916C, read 57DE2880 but expected 57DE2888
Error at 8100942C, read 0797F906 but expected 0797F946
Error at 8100A600, read 0500DFDF but expected 2520DFDF
Error at 8100B0E8, read 0194FF04 but expected 0194FF44
Error at 8100B0FC, read 1482F21F but expected 1482F25F
Error at 8100B148, read 272DE718 but expected 272DE758
Error at 8100B288, read 73FB93BE but expected 73FBB3BE
Error at 8100B82C, read 06E2C0F9 but expected 06E2C8F9
Error at 8100B8E4, read 6D3B90D3 but expected 6D3BB0D3
Error at 8100BBA4, read 321A4614 but expected 321A4654
Error at 8100BD4C, read 3FB9CA27 but expected 3FB9EA27
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=2125248865
Error at 81001768, read 6059B601 but expected 6859B601
Error at 81002354, read 1475A0E9 but expected 1475A8E9
Error at 81004078, read 217CA1FF but expected 217CA9FF
Error at 81005824, read 3BF5C104 but expected 3BF5C904
Error at 81005FB4, read 667B7F0C but expected 667B7F4C
Error at 81008A04, read 5BD66F0A but expected 5BD66F4A
Error at 81009B24, read 30180505 but expected 30180545
Error at 8100ADA4, read 64BA810F but expected 64BA814F
Error at 8100AFA4, read 7A4C3512 but expected 7A4C3552
Error at 8100BE6C, read 4AF883EA but expected 4AF893EA
Error at 8100BF44, read 1711D880 but expected 3711D880
Error at 8100D868, read 0FF7AF04 but expected 0FF7AF44
Error at 8100DAA4, read 550218B9 but expected 554218B9
Error at 8100E184, read 64D49613 but expected 6CD49613
Error at 8100E3E0, read 0995DC2B but expected 2995DC2B
Error at 8100F9A4, read 45D7F378 but expected 4DD7F378
Error at 81010264, read 05B36324 but expected 05B36364
Error at 81010D04, read 68F89C42 but expected 68F89C52
Error at 81011C60, read 0576F28F but expected 0D76F28F
Error at 810121C8, read 52DB836C but expected 52DBA36C
Error at 81012B24, read 2044C157 but expected 2044E157
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=3177905864
Error at 810017C8, read 41B641FF but expected 41B649FF
Error at 81006244, read 200F9CBA but expected 204F9CBA
Error at 810063E4, read 6E2C4944 but expected 6E2C6944
Error at 810066EC, read 49F483AC but expected 49F48BAC
Error at 810093D0, read 6A2580E3 but expected 6A2588E3
Error at 81009810, read 21A9D647 but expected 29A9D647
Error at 810117CC, read 1D20E219 but expected 1D20E259
Error at 81020ECC, read 4201D912 but expected 4201D952
Error at 81022C6C, read 00A7F73A but expected 08A7F73A
Error at 81022D38, read 1F827E0B but expected 1F827E4B
Error at 810231B0, read 7EECDC02 but expected 7EECDC42
Error at 81023218, read 146FA0BF but expected 146FA8BF
Error at 81027478, read 0B17B402 but expected 0B17B442
Error at 81027ABC, read 72ACB015 but expected 72ACB055
Error at 8102D7E8, read 60B7170D but expected 68B7170D
Error at 8102E88C, read 63DBC618 but expected 63DBC658
Error at 81030288, read 0065D79B but expected 2065D79B
Error at 8103EE54, read 0DF7B603 but expected 0DF7B643
Error at 8103F12C, read 6E0CC0BB but expected 6E4CC0BB
Error at 8103FF08, read 219DF665 but expected 299DF665
Error at 81042804, read 02C0DF2D but expected 02D0DF2D
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=2399307098
Error at 81001728, read 02DDDD6F but expected 22DDDD6F
Error at 81004E48, read 234D940B but expected 234D944B
Error at 81005530, read 21D9F764 but expected 29D9F764
Error at 81005744, read 4B7D5D01 but expected 4B7D5D21
Error at 81005ED8, read 635BDB0A but expected 635BDB4A
Error at 81007DEC, read 7B2F7D12 but expected 7B2F7D52
Error at 81007E64, read 3F3AD200 but expected 3F3AD240
Error at 810081A0, read 410BB64E but expected 490BB64E
Error at 8100833C, read 724C8F05 but expected 724C8F45
Error at 81008E68, read 4605C0BA but expected 4645C0BA
Error at 81008E94, read 42017E07 but expected 42017E47
Error at 81009484, read 1460A20F but expected 1460A24F
Error at 8100A450, read 42E1BF12 but expected 42E1BF52
Error at 8100AE24, read 07D6F002 but expected 07D6F042
Error at 8100B498, read 33B3810A but expected 33B3890A
Error at 8100B5B0, read 33E46167 but expected 33E46967
Error at 8100B604, read 71AEB004 but expected 71AEB044
Error at 8100CC88, read 4928850D but expected 49288D0D
Error at 8100CFE4, read 05F7C615 but expected 05F7C655
Error at 8100D120, read 61B59643 but expected 69B59643
Error at 8100D7EC, read 42916885 but expected 429168C5
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=3847634607
Error at 81000000, read E5163EAF but expected E5563EAF
Error at 81000044, read 51D64409 but expected 51D64449
Error at 81000604, read 67AA479C but expected 67AA47DC
Error at 81001CD4, read 389AE106 but expected 389AE146
Error at 8100764C, read 3FFC61D7 but expected 3FFC69D7
Error at 81008064, read 1697D958 but expected 3697D958
Error at 81008B44, read 5489ECEE but expected 5499ECEE
Error at 81008EA4, read 3A04C8ED but expected 3A14C8ED
Error at 81008FEC, read 39189314 but expected 39189354
Error at 81009088, read 60A2BB57 but expected 64A2BB57
Error at 81009C00, read 21B85647 but expected 29B85647
Error at 8100A2E0, read 1818B5BF but expected 1858B5BF
Error at 8100A748, read 31785700 but expected 31785740
Error at 8100AA14, read 4241D700 but expected 4241D740
Error at 8100BB44, read 229E46C4 but expected 229E46D4
Error at 8100BC48, read 13C0E60F but expected 13C0E64F
Error at 8100C0E4, read 1E889BC4 but expected 1E889BCC
Error at 8100CAA8, read 0210CDA7 but expected 0250CDA7
Error at 8100E008, read 74BA80D7 but expected 74BA88D7
Error at 8100FBA8, read 2501D2B8 but expected 2D01D2B8
Error at 810113C4, read 5CD4AA0E but expected 5CD4AA4E
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=27467969
Error at 81000D80, read 6804E0DF but expected 6824E0DF
Error at 81000FEC, read 34CF808E but expected 34CFA08E
Error at 810029C8, read 4E9E9157 but expected 6E9E9157
Error at 810050E4, read 570754BC but expected 574754BC
Error at 81007588, read 6F09D9BA but expected 6F49D9BA
Error at 81014E54, read 1141A00D but expected 1141A04D
Error at 81015B60, read 0452DB0C but expected 2452DB0C
Error at 81016F2C, read 1C422D18 but expected 1C422D58
Error at 8101BBE4, read 00B0F7CB but expected 08B0F7CB
Error at 8101C5AC, read 6F7E8207 but expected 6F7EA207
Error at 8101CBA4, read 00DBE800 but expected 00DBE820
Error at 8102589C, read 21E2F73C but expected 29E2F73C
Error at 81026744, read 03D7E901 but expected 03D7E941
Error at 8102F02C, read 7DECBF04 but expected 7DECBF44
Error at 81032010, read 1D002E09 but expected 1D002E49
Error at 81032ACC, read 63C6BD8B but expected 63C6BDAB
Error at 81032E74, read 21C9F624 but expected 29C9F624
Error at 810335E8, read 05F7D711 but expected 05F7D751
Error at 81033F5C, read 099BDE01 but expected 099BDE21
Error at 81035DD0, read 21B7D658 but expected 29B7D658
Error at 81036464, read 254DED08 but expected 254DED48
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=520563506
Error at 81003484, read 5FA381C5 but expected 5FA389C5
Error at 81004F2C, read 73BF90C4 but expected 73BFB0C4
Error at 81005970, read 20766B84 but expected 20766B94
Error at 81006428, read 5025915D but expected 5025B15D
Error at 81006448, read 02BDFE88 but expected 02BDFE98
Error at 81006B8C, read 2E52D790 but expected 2E52D7B0
Error at 81007444, read 6F3100B4 but expected 6F3120B4
Error at 810074A8, read 6AC0DD03 but expected 6AC0DD13
Error at 810075E0, read 00ADDF99 but expected 20ADDF99
Error at 81007824, read 0AFD8B63 but expected 0AFDAB63
Error at 81007B04, read 6F4C8B80 but expected 6F4CAB80
Error at 810087E8, read 152FD02F but expected 152FD22F
Error at 81009808, read 535EA119 but expected 535EA919
Error at 81009828, read 146220C8 but expected 146228C8
Error at 81009AC4, read 6739EE19 but expected 6739EE59
Error at 81009FB8, read 5BBCE50C but expected 5BBCED0C
Error at 8100A084, read 52C0A32B but expected 52D0A32B
Error at 8100A16C, read 5CE766D8 but expected 5CE766DA
Error at 8100AFC8, read 33F62137 but expected 33F62937
Error at 8100B3E0, read 41FDB700 but expected 49FDB700
Error at 8100B5E4, read 574F87ED but expected 574F8FED
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=381313790
Error at 810010CC, read 5F74C356 but expected 5F74CB56
Error at 8100248C, read 724E3F00 but expected 724E3F40
Error at 81002A84, read 59D5A542 but expected 59D5A552
Error at 81006DEC, read 00976204 but expected 00976244
Error at 81007F64, read 3FF8A1F7 but expected 3FF8A9F7
Error at 81009164, read 0B81EDEC but expected 0B91EDEC
Error at 81009300, read 73011FBE but expected 73411FBE
Error at 81009BA4, read 622D006D but expected 622D086D
Error at 8100A8A8, read 3E0F20B0 but expected 3E4F20B0
Error at 8100A8E4, read 41F2C320 but expected 41F2CB20
Error at 8100ADE4, read 01F7F202 but expected 01F7F242
Error at 8100B798, read 002EF6FA but expected 082EF6FA
Error at 8100BC2C, read 0AB73F04 but expected 0AB73F44
Error at 8100C2E4, read 4CEB9B85 but expected 6CEB9B85
Error at 8100CC28, read 573E0361 but expected 573E0B61
Error at 8100EF84, read 1B04A2BF but expected 1B44A2BF
Error at 8100FBC4, read 1064E016 but expected 1064E816
Error at 810102A4, read 20B3CD60 but expected 30B3CD60
Error at 81010464, read 293082E4 but expected 2930A2E4
Error at 81010F4C, read 49619D00 but expected 49619D40
Error at 81011C84, read 6E31A44F but expected 6E31AC4F
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=4174769276
Error at 81001BE8, read 220B7ABD but expected 224B7ABD
Error at 81004300, read 60E8BD3B but expected 62E8BD3B
Error at 81005D5C, read 4AE3A111 but expected 4AE3A151
Error at 810066E4, read 08374205 but expected 08374245
Error at 8100A02C, read 0F57CC03 but expected 0F57CC43
Error at 8100B834, read 0E579807 but expected 0E579847
Error at 8100F328, read 2374758B but expected 2B74758B
Error at 8100FB44, read 5FE62B80 but expected 5FE62BC8
Error at 810137EC, read 48A18B01 but expected 48A18B41
Error at 8101AD54, read 10D5A4E5 but expected 10D5ACE5
Error at 81024074, read 0717E700 but expected 0717E740
Error at 8102A028, read 41F0B646 but expected 49F0B646
Error at 8102BA5C, read 6936D600 but expected 6936D620
Error at 8102CA68, read 1E60DE0E but expected 1E60DE4E
Error at 8102CF04, read 100709A8 but expected 104709A8
Error at 8102ED74, read 5105AEEA but expected 5115AEEA
Error at 81032E70, read 2C4CE209 but expected 2C4CE249
Error at 8103BAF4, read 21EBF694 but expected 29EBF694
Error at 8103CDD4, read 5B32E1DE but expected 5B32E9DE
Error at 810405CC, read 718CAF05 but expected 718CAF45
Error at 81040AB8, read 143BA21B but expected 143BAA1B
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=3932189449
Error at 81000138, read 609A9640 but expected 689A9640
Error at 810001A4, read 6262A26B but expected 6262AA6B
Error at 810039AC, read 504C081C but expected 504C281C
Error at 810039CC, read 08D49B1A but expected 08D4BB1A
Error at 81006600, read 611B16D4 but expected 691B16D4
Error at 81006984, read 0CB79312 but expected 0CB79352
Error at 81006E4C, read 0069DAB8 but expected 2069DAB8
Error at 81007268, read 5036F90C but expected 5036F94C
Error at 81007C48, read 18E7C4DF but expected 18E7CCDF
Error at 810082E4, read 15D10320 but expected 15D12320
Error at 81008D84, read 71F18014 but expected 71F1A014
Error at 810091A0, read 4143F6EE but expected 4943F6EE
Error at 81009304, read 527F93D4 but expected 527FB3D4
Error at 81009588, read 4DC1CC02 but expected 4DC1CC42
Error at 8100A764, read 224DCF0C but expected 224DCF4C
Error at 8100A9A4, read 74A89017 but expected 74A89817
Error at 8100B508, read 6F238183 but expected 6F23A183
Error at 8100CB6C, read 35B83F04 but expected 35B83F45
Error at 8100CC88, read 74908024 but expected 74908824
Error at 8100E8C4, read 41194514 but expected 41194D14
Error at 8100F688, read 4271EE01 but expected 4271EE41
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=4079717394
Error at 810040C8, read 35703505 but expected 35703515
Error at 81004228, read 4701F511 but expected 4701F551
Error at 810044E4, read 280B8BFE but expected 280BABFE
Error at 81006B64, read 281582B3 but expected 2815A2B3
Error at 81007088, read 2E8DEA08 but expected 2E8DEA48
Error at 81007EC4, read 6D05ACDA but expected 6D25ACDA
Error at 81009024, read 31781C12 but expected 31781C52
Error at 81009864, read 5F04B3AF but expected 5F44B3AF
Error at 8100A104, read 0305D8B2 but expected 0345D8B2
Error at 8100ADF8, read 007DF72C but expected 087DF72C
Error at 8100C5A4, read 255F218E but expected 255F298E
Error at 8100CDA4, read 67442BEB but expected 67542BEB
Error at 8100CFE8, read 73BD838C but expected 73BDA38C
Error at 8100D104, read 572F8554 but expected 572F8D54
Error at 8100D3A8, read 71CF5B02 but expected 71CF5B42
Error at 8100E988, read 3BD401D1 but expected 3BD409D1
Error at 8100EAC4, read 6151DB11 but expected 6151DB19
Error at 8100F224, read 0080DB2A but expected 2080DB2A
Error at 8100FF68, read 0151D6ED but expected 2951D6ED
Error at 810102C8, read 2140F503 but expected 2140F523
Error at 810106E4, read 627D4030 but expected 627D4830
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=868357076
Error at 81000028, read 57308735 but expected 57308F35
Error at 81001CE8, read 3C9A9F04 but expected 3C9A9F44
Error at 81002D7C, read 1400BD0D but expected 1400BD4D
Error at 810059EC, read 448BC081 but expected 448BE081
Error at 81006724, read 778EC833 but expected 77CEC833
Error at 810081EC, read 663BEB01 but expected 663BEB49
Error at 81009AF8, read 0217F7D6 but expected 0A17F7D6
Error at 8100AECC, read 462FC110 but expected 462FC130
Error at 8100BC00, read 5C0008DF but expected 5C2008DF
Error at 8100BF84, read 3879E913 but expected 3879E953
Error at 8100C0F0, read 6073D666 but expected 6873D666
Error at 8100D16C, read 367291A1 but expected 3672B1A1
Error at 8100D348, read 3AB84903 but expected 3AB84943
Error at 81012D2C, read 0697BD00 but expected 0697BD40
Error at 810230F8, read 20ED4F0D but expected 20ED4F4D
Error at 81025CC4, read 3E7A1700 but expected 3E7A1740
Error at 810390A0, read 0093F77A but expected 0893F77A
Error at 81039AC8, read 02D8F527 but expected 0AD8F527
Error at 8103C154, read 0CB7DE00 but expected 0CB7DE40
Error at 8104153C, read 2481EC08 but expected 2481EC28
Error at 81043E44, read 0212F75C but expected 0A12F75C
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=2474062993
Error at 81000008, read 62F784B0 but expected 62F78CB0
Error at 8100000C, read 045EF196 but expected 0C5EF196
Error at 8100078C, read 49ACE344 but expected 49ACEB44
Error at 81002EEC, read 399ADB04 but expected 399ADB44
Error at 81003F8C, read 0AD7D53A but expected 2AD7D53A
Error at 81004584, read 4F3831CE but expected 4F3931CE
Error at 81005B28, read 2188F7C6 but expected 2988F7C6
Error at 810061C0, read 629A9761 but expected 6A9A9761
Error at 810061E4, read 6EA28492 but expected 6EA28C92
Error at 81006CE4, read 71D903FA but expected 71D923FA
Error at 810073C4, read 4894D7E0 but expected 4894D7E8
Error at 810087EC, read 5E1225AF but expected 5E5225AF
Error at 810089E0, read 6B0557EE but expected 6B1557EE
Error at 81008B44, read 70F7805C but expected 70F7A85C
Error at 81009974, read 2D0CEE0C but expected 2D0CEE4C
Error at 81009B88, read 7C0D4D0A but expected 7C0D4D0B
Error at 81009E14, read 217DD6D8 but expected 297DD6D8
Error at 8100A324, read 6B198519 but expected 6B198559
Error at 8100AAC4, read 7C1C43B3 but expected 7C5C43B3
Error at 8100B028, read 30DAC206 but expected 30DAC246
Error at 8100B260, read 105DE7D7 but expected 185DE7D7
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=1502682190
Error at 81000154, read 6081DC6E but expected 6091DC6E
Error at 81003588, read 2180F676 but expected 2980F676
Error at 81003C9C, read 05FBE400 but expected 05FBE420
Error at 810046A8, read 320E4EB1 but expected 324E4EB1
Error at 8100498C, read 4AACBD0B but expected 4AACBD2B
Error at 81004FA8, read 6EE96F18 but expected 6EE96F58
Error at 810056A0, read 5D01F3AE but expected 5D51F3AE
Error at 810061C4, read 280D8AB9 but expected 284D8AB9
Error at 81006ACC, read 009BF680 but expected 089BF6A0
Error at 810091C4, read 30989604 but expected 30989654
Error at 8100962C, read 21C0F687 but expected 29C0F687
Error at 8100A124, read 40C39B44 but expected 64C39B44
Error at 8100A264, read 01F75911 but expected 01F75951
Error at 8100AC04, read 55D6BD0B but expected 55D6BD4B
Error at 8100AD4C, read 36007BED but expected 36107BED
Error at 8100B088, read 720D5707 but expected 720D5747
Error at 8100BB88, read 21B2D723 but expected 29B2D723
Error at 8100C288, read 2608DDBF but expected 2648DDBF
Error at 8100CB24, read 57F087D9 but expected 57F08FD9
Error at 8100D160, read 014D5E56 but expected 214D5E56
Error at 8100E204, read 71AA0858 but expected 71AA2858
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=2471230478
Error at 810009C4, read 33BDA15D but expected 33BDA95D
Error at 81001654, read 40E15A04 but expected 40E15A44
Error at 81002164, read 4FA3E831 but expected 4FA3E871
Error at 8100272C, read 6F0383A3 but expected 6F03A3A3
Error at 81002F3C, read 4F0D9F02 but expected 4F0D9F22
Error at 810040AC, read 48EBDA02 but expected 48EBDA12
Error at 81004244, read 56001FBF but expected 56401FBF
Error at 81004744, read 0721F04C but expected 0731F04C
Error at 810082BC, read 290D820B but expected 290D824B
Error at 81009BAC, read 41239D13 but expected 41239D53
Error at 8100B898, read 21FEE984 but expected 21FEE994
Error at 8100C14C, read 167D3981 but expected 167D39A1
Error at 8100DDE8, read 27CEF4C0 but expected 2FCEF4C0
Error at 8100F7C8, read 313A3F01 but expected 313A3F41
Error at 810141B4, read 11040CDB but expected 11240CDB
Error at 81015D34, read 572941B6 but expected 572949B6
Error at 81017A74, read 780DA90C but expected 780DA94C
Error at 81019A2C, read 4D42F711 but expected 4D42F751
Error at 81019E04, read 1340D71E but expected 1340D75E
Error at 81019FEC, read 2CD8C0D6 but expected 2CD8C4D6
Error at 8101C1EC, read 6FA98079 but expected 6FA9A079
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 8, seed=85016565
Error at 810007CC, read 17E0BD09 but expected 17E0BD49
Error at 81002694, read 6A2780AB but expected 6A2788AB
Error at 810032E0, read 380343BF but expected 384343BF
Error at 810052AC, read 030BED80 but expected 030BEDA0
Error at 810085C8, read 57873ABC but expected 57C73ABC
Error at 8100898C, read 6B804A6B but expected 6B904A6B
Error at 81009644, read 0A8982B3 but expected 0A898AB3
Error at 81009724, read 00B7D62A but expected 08B7D62A
Error at 81009884, read 4461CD07 but expected 4461CD47
Error at 81009A64, read 6B848EDA but expected 6BA48EDA
Error at 81009C98, read 2FACD70B but expected 2FACD74B
Error at 81009D6C, read 584B3580 but expected 584B35A0
Error at 81009F2C, read 4F3CEC0B but expected 4F3CEC2B
Error at 8100AA48, read 3BFADB04 but expected 3BFADB44
Error at 8100AE84, read 1E12F6BD but expected 1E52F6BD
Error at 8100B2B4, read 13C0900C but expected 13C0904C
Error at 8100B2EC, read 09E0A0DD but expected 09E0B0DD
Error at 8100B9A4, read 2366D578 but expected 2B66D578
Error at 8100BDE8, read 6074976D but expected 6874976D
Error at 8100C884, read 369D82B8 but expected 369DA2B8
Error at 8100D888, read 5B6D26C2 but expected 5B6D26D2
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 32, seed=1427530695
Error at 81001A38, read 1433A2DD but expected 1433AADD
Error at 81003B2C, read 3A966D03 but expected 3A966D23
Error at 81006004, read 19003D0D but expected 19003D4D
Error at 81006264, read 772CB406 but expected 772CB446
Error at 81006A24, read 3100CB7B but expected 3180CB7B
Error at 81007348, read 7C4E8F11 but expected 7C4E8F51
Error at 81007704, read 653BDE18 but expected 653BDE58
Error at 81007844, read 74AC8085 but expected 74AC8885
Error at 810078A4, read 08B5BE83 but expected 08B5BEC3
Error at 81007A44, read 5B0645B9 but expected 5B4645B9
Error at 81007B64, read 1DE37F09 but expected 1DE37F49
Error at 81007CCC, read 56001ABF but expected 56401ABF
Error at 81008164, read 15A2A70D but expected 15A2A75D
Error at 81008DA4, read 0EEA862F but expected 0EEA8E2F
Error at 81009904, read 1B2DC02E but expected 1B2DC22E
Error at 81009CE4, read 3286D0FA but expected 3286D2FA
Error at 81009D44, read 5CB65C8E but expected 5CB65CCE
Error at 8100B280, read 0128B796 but expected 0928B796
Error at 8100B4A4, read 0BD0834E but expected 0BD0A34E
Error at 8100B4F4, read 577683C1 but expected 57768BC1
Error at 8100B5F4, read 718CB313 but expected 718CB353
Aborting after 21 errors
testing with pseudo-random sequence HalfCopy 16, seed=1100533073
Error at 81003184, read 4002C805 but expected 4002C845
Error at 81007A88, read 4383C611 but expected 4383C651
Error at 81007FC8, read 2D7EC1F0 but expected 2D7EC9F0
Error at 810091EC, read 14D0A4AE but expected 14D0ACAE
Error at 81009204, read 40A15595 but expected 40A155D5
Error at 81009FF0, read 3FECE1A6 but expected 3FECE9A6
Error at 8100E648, read 295221FC but expected 295229FC
Error at 8100E988, read 33FC837C but expected 33FC8B7C
Error at 81011EA8, read 605AD7E4 but expected 685AD7E4
Error at 81012A34, read 6A00CD6F but expected 6A10CD6F
Error at 81014E14, read 21AFF651 but expected 29AFF651
Error at 81016508, read 6679C418 but expected 6679C458
Error at 81016B88, read 00EFF411 but expected 08EFF411
Error at 810190CC, read 5E81236E but expected 5E91236E
Error at 8101996C, read 1AC0CD1E but expected 1AC0CD5E
Error at 8101D144, read 2BA6E600 but expected 2BA6E610
Error at 8101FB88, read 60E5979A but expected 68E5979A
Error at 81020308, read 001B7717 but expected 081B7717
Error at 8102167C, read 12A1D708 but expected 12A1D748
Error at 8102626C, read 4EC11106 but expected 4EC11146
Error at 810298BC, read 762CBD00 but expected 762CBD40
Aborting after 21 errors
44 PsudoRand Seeds
test Pattern 5A698421 Write 76940 us Read/Test 247525 us Read Cnt 1
test Pattern 55555555 Write 76878 us Read/Test 247526 us Read Cnt 1
test Pattern 33333333 Write 76881 us Read/Test 247525 us Read Cnt 1
test Pattern 0F0F0F0F Write 76881 us Read/Test 247526 us Read Cnt 1
test Pattern 00FF00FF Write 76879 us Read/Test 247528 us Read Cnt 1
test Pattern 0000FFFF Write 76881 us Read/Test 110 us Read Cnt 0
test FAIL : Fixed Pattern 65535 Read Cnt 0 Fail Cnt 21
test Pattern AAAAAAAA Write 76941 us Read/Test 247526 us Read Cnt 1
test Pattern CCCCCCCC Write 76877 us Read/Test 247526 us Read Cnt 1
test Pattern F0F0F0F0 Write 76880 us Read/Test 247527 us Read Cnt 1
test Pattern FF00FF00 Write 76878 us Read/Test 247526 us Read Cnt 1
test Pattern FFFF0000 Write 76880 us Read/Test 228 us Read Cnt 0
test FAIL : Fixed Pattern 4294901760 Read Cnt 0 Fail Cnt 21
test Pattern FFFFFFFF Write 76917 us Read/Test 247526 us Read Cnt 1
test Pattern 00000000 Write 76879 us Read/Test 247526 us Read Cnt 1
test RndSeed HalfCopy 2976674124 Write 118846 us Read/Test 1368 us Read Cnt 0
test FAIL : Peusdo Random Seed B16C714C Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 1438200953 Write 118846 us Read/Test 4005 us Read Cnt 0
test FAIL : Peusdo Random Seed 55B93479 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 3413783263 Write 118846 us Read/Test 1117 us Read Cnt 0
test FAIL : Peusdo Random Seed CB7A32DF Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 1900517911 Write 118846 us Read/Test 1378 us Read Cnt 0
test FAIL : Peusdo Random Seed 71479A17 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 1227909400 Write 118846 us Read/Test 5264 us Read Cnt 0
test FAIL : Peusdo Random Seed 49306918 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 276562754 Write 118846 us Read/Test 850 us Read Cnt 0
test FAIL : Peusdo Random Seed 107C0342 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 146878114 Write 118846 us Read/Test 1042 us Read Cnt 0
test FAIL : Peusdo Random Seed 08C12EA2 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 615545407 Write 118846 us Read/Test 3568 us Read Cnt 0
test FAIL : Peusdo Random Seed 24B07A3F Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 110497896 Write 118846 us Read/Test 1213 us Read Cnt 0
test FAIL : Peusdo Random Seed 06961068 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 74539250 Write 118846 us Read/Test 983 us Read Cnt 0
test FAIL : Peusdo Random Seed 047160F2 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 4197336575 Write 118846 us Read/Test 4052 us Read Cnt 0
test FAIL : Peusdo Random Seed FA2E45FF Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 2280382233 Write 118847 us Read/Test 954 us Read Cnt 0
test FAIL : Peusdo Random Seed 87EBDF19 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 542894183 Write 118846 us Read/Test 730 us Read Cnt 0
test FAIL : Peusdo Random Seed 205BE867 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 3978544245 Write 118846 us Read/Test 4591 us Read Cnt 0
test FAIL : Peusdo Random Seed ED23C475 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 2315909796 Write 118846 us Read/Test 982 us Read Cnt 0
test FAIL : Peusdo Random Seed 8A09FAA4 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 3736286001 Write 118846 us Read/Test 1066 us Read Cnt 0
test FAIL : Peusdo Random Seed DEB33331 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 2876690683 Write 118846 us Read/Test 4229 us Read Cnt 0
test FAIL : Peusdo Random Seed AB76D0FB Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 215559886 Write 118846 us Read/Test 853 us Read Cnt 0
test FAIL : Peusdo Random Seed 0CD92ECE Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 539179291 Write 118846 us Read/Test 919 us Read Cnt 0
test FAIL : Peusdo Random Seed 2023391B Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 537678650 Write 118845 us Read/Test 3128 us Read Cnt 0
test FAIL : Peusdo Random Seed 200C533A Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 4001405270 Write 118846 us Read/Test 902 us Read Cnt 0
test FAIL : Peusdo Random Seed EE809956 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 2169216599 Write 118846 us Read/Test 865 us Read Cnt 0
test FAIL : Peusdo Random Seed 814B9E57 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 4036891097 Write 118847 us Read/Test 2624 us Read Cnt 0
test FAIL : Peusdo Random Seed F09E11D9 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 1535452389 Write 118846 us Read/Test 790 us Read Cnt 0
test FAIL : Peusdo Random Seed 5B8524E5 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 2959727213 Write 118847 us Read/Test 933 us Read Cnt 0
test FAIL : Peusdo Random Seed B069DA6D Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 4219363395 Write 118847 us Read/Test 2733 us Read Cnt 0
test FAIL : Peusdo Random Seed FB7E6043 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 1036929753 Write 118846 us Read/Test 764 us Read Cnt 0
test FAIL : Peusdo Random Seed 3DCE4AD9 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 2125248865 Write 118847 us Read/Test 1148 us Read Cnt 0
test FAIL : Peusdo Random Seed 7EACB961 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 3177905864 Write 118846 us Read/Test 3824 us Read Cnt 0
test FAIL : Peusdo Random Seed BD6AFEC8 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 2399307098 Write 118846 us Read/Test 856 us Read Cnt 0
test FAIL : Peusdo Random Seed 8F02855A Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 3847634607 Write 118847 us Read/Test 1067 us Read Cnt 0
test FAIL : Peusdo Random Seed E5563EAF Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 27467969 Write 118846 us Read/Test 3140 us Read Cnt 0
test FAIL : Peusdo Random Seed 01A320C1 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 520563506 Write 118846 us Read/Test 735 us Read Cnt 0
test FAIL : Peusdo Random Seed 1F072B32 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 381313790 Write 118847 us Read/Test 1096 us Read Cnt 0
test FAIL : Peusdo Random Seed 16BA62FE Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 4174769276 Write 118846 us Read/Test 3725 us Read Cnt 0
test FAIL : Peusdo Random Seed F8D5EC7C Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 3932189449 Write 118846 us Read/Test 965 us Read Cnt 0
test FAIL : Peusdo Random Seed EA607309 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 4079717394 Write 118846 us Read/Test 1021 us Read Cnt 0
test FAIL : Peusdo Random Seed F32B8C12 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 868357076 Write 118846 us Read/Test 3904 us Read Cnt 0
test FAIL : Peusdo Random Seed 33C213D4 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 2474062993 Write 118846 us Read/Test 725 us Read Cnt 0
test FAIL : Peusdo Random Seed 93773491 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 1502682190 Write 118847 us Read/Test 891 us Read Cnt 0
test FAIL : Peusdo Random Seed 59911C4E Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 2471230478 Write 118846 us Read/Test 1680 us Read Cnt 0
test FAIL : Peusdo Random Seed 934BFC0E Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 85016565 Write 118846 us Read/Test 859 us Read Cnt 0
test FAIL : Peusdo Random Seed 05113FF5 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 1427530695 Write 118846 us Read/Test 739 us Read Cnt 0
test FAIL : Peusdo Random Seed 551663C7 Read Cnt 0 Fail Cnt 21
test RndSeed HalfCopy 1100533073 Write 118846 us Read/Test 2429 us Read Cnt 0
test FAIL : Peusdo Random Seed 4198CD51 Read Cnt 0 Fail Cnt 21
test ran for 9.03 seconds
Fixed Pattern Write ran for 1.00 and Read/Test 2.72 secs
Fixed Pattern Test 223.49 MB per sec
Fixed Pattern Test WRITES 416.17 MB per sec
Fixed Pattern Test & READ 152.77 MB per sec
PsuedoRnd Patt Write ran for 5.23 and Read/Test 0.08 secs
PsuedoRnd Patt Test 530.33 MB per sec
 
Technically you can use PSRAM on a Micromod based custom board.
I put together a small library that allows me to use PSRAM on an older devboard that @Dogbone06 sent me a few month back, which has the 16mb flash chip just like the Micromod - Just copied some of the code from the cores and used a custom linker defined in my build settings.
I implemented it with PlatformIO, without the need to change cores at all.

Therefore I think it would be best to have a separate macro for SDRAM as you have already implemented
Very cool - right now they are separate - so we can leave them it that way - not a big deal.:)
 
Below is one loop() iteration of a 1.5 hour run with re-reads incrementing from [1 to 51] 5 more reads each pass on the 13th pass. It took 13 minutes for 57 tests with the 51 write and re-reads on each test (re-read dots scaled to stay on screen). Overall that is 2,907 re-reads - but on 741 sets of values (fixed and random). At 198 MHz single write and last successful read taking 20.27 seconds.

For the UART test there will be some of the EXTSDMEM[] blocks that will be written once and re-read and validated for the test duration as it cycles. They'll be at least 4 blocks of some 60KB where two are read and compared against each other, some 'x' times per minute.
> Note when I copy from TyCommander each line is double spaced - I drop Paste into Notepad then select All CUT - then Paste here.
testing with fixed pattern 5A698421 ...................................................
testing with fixed pattern 55555555 ...................................................
testing with fixed pattern 33333333 ...................................................
testing with fixed pattern 0F0F0F0F ...................................................
testing with fixed pattern 00FF00FF ...................................................
testing with fixed pattern 0000FFFF ...................................................
testing with fixed pattern AAAAAAAA ...................................................
testing with fixed pattern CCCCCCCC ...................................................
testing with fixed pattern F0F0F0F0 ...................................................
testing with fixed pattern FF00FF00 ...................................................
testing with fixed pattern FFFF0000 ...................................................
testing with fixed pattern FFFFFFFF ...................................................
testing with fixed pattern 00000000 ...................................................
13 FIXED Pattern
testing with pseudo-random sequence HalfCopy 32, seed=2976674124 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=1438200953 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=3413783263 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=1900517911 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=1227909400 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=276562754 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=146878114 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=615545407 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=110497896 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=74539250 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=4197336575 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=2280382233 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=542894183 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=3978544245 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=2315909796 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=3736286001 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=2876690683 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=215559886 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=539179291 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=537678650 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=4001405270 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=2169216599 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=4036891097 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=1535452389 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=2959727213 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=4219363395 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=1036929753 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=2125248865 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=3177905864 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=2399307098 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=3847634607 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=27467969 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=520563506 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=381313790 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=4174769276 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=3932189449 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=4079717394 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=868357076 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=2474062993 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=1502682190 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=2471230478 ...................................................
testing with pseudo-random sequence HalfCopy 8, seed=85016565 ...................................................
testing with pseudo-random sequence HalfCopy 32, seed=1427530695 ...................................................
testing with pseudo-random sequence HalfCopy 16, seed=1100533073 ...................................................
44 PsudoRand Seeds
test Pattern 5A698421 Write 86315 us Read/Test 266415 us Read Cnt 51
test Pattern 55555555 Write 86303 us Read/Test 266414 us Read Cnt 51
test Pattern 33333333 Write 86304 us Read/Test 266415 us Read Cnt 51
test Pattern 0F0F0F0F Write 86304 us Read/Test 266414 us Read Cnt 51
test Pattern 00FF00FF Write 86303 us Read/Test 266414 us Read Cnt 51
test Pattern 0000FFFF Write 86305 us Read/Test 266459 us Read Cnt 51
test Pattern AAAAAAAA Write 86301 us Read/Test 266414 us Read Cnt 51
test Pattern CCCCCCCC Write 86303 us Read/Test 266415 us Read Cnt 51
test Pattern F0F0F0F0 Write 86304 us Read/Test 266414 us Read Cnt 51
test Pattern FF00FF00 Write 86303 us Read/Test 266414 us Read Cnt 51
test Pattern FFFF0000 Write 86304 us Read/Test 266426 us Read Cnt 51
test Pattern FFFFFFFF Write 86302 us Read/Test 266415 us Read Cnt 51
test Pattern 00000000 Write 86303 us Read/Test 266415 us Read Cnt 51
test RndSeed HalfCopy 2976674124 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 1438200953 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 3413783263 Write 118846 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 1900517911 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 1227909400 Write 118846 us Read/Test 237652 us Read Cnt 51
test RndSeed HalfCopy 276562754 Write 118846 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 146878114 Write 118846 us Read/Test 237649 us Read Cnt 51
test RndSeed HalfCopy 615545407 Write 118846 us Read/Test 237649 us Read Cnt 51
test RndSeed HalfCopy 110497896 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 74539250 Write 118846 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 4197336575 Write 118847 us Read/Test 237652 us Read Cnt 51
test RndSeed HalfCopy 2280382233 Write 118847 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 542894183 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 3978544245 Write 118847 us Read/Test 237652 us Read Cnt 51
test RndSeed HalfCopy 2315909796 Write 118847 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 3736286001 Write 118846 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 2876690683 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 215559886 Write 118846 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 539179291 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 537678650 Write 118846 us Read/Test 237649 us Read Cnt 51
test RndSeed HalfCopy 4001405270 Write 118947 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 2169216599 Write 118847 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 4036891097 Write 118847 us Read/Test 237652 us Read Cnt 51
test RndSeed HalfCopy 1535452389 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 2959727213 Write 118846 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 4219363395 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 1036929753 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 2125248865 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 3177905864 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 2399307098 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 3847634607 Write 118847 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 27467969 Write 118846 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 520563506 Write 118847 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 381313790 Write 118846 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 4174769276 Write 118847 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 3932189449 Write 118847 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 4079717394 Write 118846 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 868357076 Write 118847 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 2474062993 Write 118846 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 1502682190 Write 118847 us Read/Test 237652 us Read Cnt 51
test RndSeed HalfCopy 2471230478 Write 118847 us Read/Test 237651 us Read Cnt 51
test RndSeed HalfCopy 85016565 Write 118847 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 1427530695 Write 118846 us Read/Test 237650 us Read Cnt 51
test RndSeed HalfCopy 1100533073 Write 118847 us Read/Test 237651 us Read Cnt 51
test ran for 20.27 seconds
Fixed Pattern Write ran for 1.12 and Read/Test 3.46 secs
Fixed Pattern Test 181.45 MB per sec
Fixed Pattern Test WRITES 370.78 MB per sec
Fixed Pattern Test & READ 120.11 MB per sec
PsuedoRnd Patt Write ran for 5.23 and Read/Test 10.46 secs
PsuedoRnd Patt Test 179.52 MB per sec
All memory tests passed :) (readRepeat 51)
Loop doTest() count=13 readRepeat=51 bTimer=0 LoopTest() Mins=12.59
 
@PaulStoffregen, here is the start of continuing after errors for a finite #define ERR_ABORT number seen.

I'm glad you're doing this testing, but for the sake of comparing C29 capacitors this type of output is both too much spew and lacking the essential result.

First, to be able to compare results against each other, it's critically important that the test always perform the same amount of work. Whatever number of times each pattern is read back needs to be consistent, no matter how many fails. The purpose is to attempt a fixed number of reads and count the number of those reads which fail.

Only 1 number matters at the end, the number of reads which gave wrong data. I see you're printing a lot of other info at the end, time taken, bandwidth, etc. That's all very nice. But ultimately for comparing whether each capacitor was better or worse than the others (including the no capacitor case), all that spew isn't needed. What gets recorded for each Capactor-and-Frequency test is just a single number representing the number of failed reads. I don't see that info at the end of all this spew.
 
I'm glad you're doing this testing, but for the sake of comparing C29 capacitors this type of output is both too much spew and lacking the essential result.

First, to be able to compare results against each other, it's critically important that the test always perform the same amount of work. Whatever number of times each pattern is read back needs to be consistent, no matter how many fails. The purpose is to attempt a fixed number of reads and count the number of those reads which fail.

Only 1 number matters at the end, the number of reads which gave wrong data. I see you're printing a lot of other info at the end, time taken, bandwidth, etc. That's all very nice. But ultimately for comparing whether each capacitor was better or worse than the others (including the no capacitor case), all that spew isn't needed. What gets recorded for each Capactor-and-Frequency test is just a single number representing the number of failed reads. I don't see that info at the end of all this spew.
Okay, that would be a different test base to get that. So far - with No_CAP - I have something that never fails - or fails on first pass.
The PSRAM test in changing the value 57 times goes a long time quickly compromising the time spent on repeat reading - and

But this test from PSRAM goes through 57 different value tests. The trend is that some fixed values can work even now at 212 - but NONE of the Psuedo Random streams survive for long.

So, the test would be based on a single Psuedo Random series - and then something like that could be done more easily.
Post #168 shows that consecutive addresses don't fail - but certain locations having different number do.
Here for instance, it starts earlier than some but makes headway:
testing with pseudo-random sequence HalfCopy 8, seed=3413783263
Error at 81000404, read 2C66A630 but expected 2C66A632
Error at 8100094C, read 138D5700 but expected 138D5720
Error at 81002C24, read 1F034A40 but expected 1F034A50
Error at 81003268, read 5313A1B5 but expected 5313A9B5
Error at 81005A40, read 5C003BBF but expected 5C403BBF
Error at 81006604, read 74AEA274 but expected 74AEAA74
Error at 81006F80, read 01A0763F but expected 09A0763F
Error at 810076A8, read 5D118EBF but expected 5D518EBF
Error at 810076E8, read 32580597 but expected 325805D7
Error at 81007BA4, read 41A38176 but expected 41A38976
Error at 81008324, read 413EB7A4 but expected 493EB7A4
Error at 8100890C, read 069BED01 but expected 069BED21
Error at 8100A3E4, read 41F5B787 but expected 49F5B787
Error at 8100AB08, read 78D9E07C but expected 78D9E87C
Error at 8100B7C4, read 06B58E11 but expected 06B58E51
Error at 8100E7C4, read 0605FC80 but expected 0605FC90
Error at 8100F204, read 573581E7 but expected 573589E7
Error at 8100F304, read 43AFD100 but expected 43AFD920
Error at 8100FEA8, read 10C984B4 but expected 10C98CB4
Error at 81010C68, read 4105A2A2 but expected 4145A2A2
Error at 810121C4, read 0E0430B3 but expected 0E4430B3
Aborting after 21 errors
... on to that test.
 
This shows PSRAM clock freq - not seen ref to clocks to show running SDRAM speed yet?
const float clocks[4] = {396.0f, 720.0f, 664.62f, 528.0f};
const float frequency = clocks[(CCM_CBCMR >> 8) & 3] / (float)(((CCM_CBCMR >> 29) & 7) + 1);
Serial.printf(" CCM_CBCMR=%08X (%.1f MHz)\n", CCM_CBCMR, frequency);
 
Test:
Write same Psuedo Random values to Lower and Upper 16MB of 32MB SDRAM.
Verify that both read back to expected Pseudo values - or abort with error count
--loop x times
> Read and compare corresponding values in upper and lower halves to match

Here are three results with 20 read compare loops after writing initial values:

This is with 221 MHz failing with no cap - it aborts as it fails on first compare:
PseudoRand(1) Seed 1438200953 with readRepeat 20 ...
INSTANT FAIL pseudo-random sequence written does not match as written in both Halves: Errors Cnt 710

This is with two manually edited values one lower and a diff in upper halves:
PseudoRand(1) Seed 1438200953 with readRepeat 20 ...
Fail pseudo-random sequence not same in both HalfCmp with seed=1438200953
Same pseudo-random sequence in both HalfCmp Compare time secs 6.88 with Error Cnt 420

This completes no errors at 198 MHz
PseudoRand(1) Seed 1438200953 with readRepeat 20 ...
Same pseudo-random sequence in both HalfCmp Compare time secs 6.88 with Error Cnt 0
All memory tests passed :)

A run of 2000 iterations will takes 623 seconds?
PseudoRand(1) Seed 1438200953 with readRepeat 2000 ...
Same pseudo-random sequence in both HalfCmp Compare time secs 622.55 with Error Cnt 0
All memory tests passed :)
Doing the Psuedo math to compare all 32MB adds 50% to the time and results in the same number of reads, versus this assuring the top and bottom 16MB read and compare.
 
Back
Top