+FALCOR4 Posted August 16, 2020 Share Posted August 16, 2020 On 6/3/2020 at 5:04 PM, FALCOR4 said: Thanks! Pretty nifty program! I used it on a 1M board but I'm still waiting on a few parts for the 4M board. I will report back to you once I get a chance to use it on the 4M. Its been a while but I'm happy to say that my SAMS 4M card is up and running (thank you Ksarul!). I had a bad DALLAS SRAM that was giving me intermittent fits so I switched to ZEROPOWER SRAM and now I'm showing the entire 4M and, it seems to be stable so far. I've paged and written to all 1024 pages several times successfully; I'll continue to work with it and use it as my main memory expansion card. 5 1 Quote Link to comment Share on other sites More sharing options...
RXB Posted August 17, 2020 Share Posted August 17, 2020 22 hours ago, FALCOR4 said: Its been a while but I'm happy to say that my SAMS 4M card is up and running (thank you Ksarul!). I had a bad DALLAS SRAM that was giving me intermittent fits so I switched to ZEROPOWER SRAM and now I'm showing the entire 4M and, it seems to be stable so far. I've paged and written to all 1024 pages several times successfully; I'll continue to work with it and use it as my main memory expansion card. Someone send me the code you are using to access and run the card please I can include SAMS 4M support in RXB 2020 when released. Currently dead in water as my PC CPU (AMD 3900X) is dead and in Florida under repair. Quote Link to comment Share on other sites More sharing options...
+FALCOR4 Posted August 17, 2020 Share Posted August 17, 2020 1 hour ago, RXB said: Someone send me the code you are using to access and run the card please I can include SAMS 4M support in RXB 2020 when released. Currently dead in water as my PC CPU (AMD 3900X) is dead and in Florida under repair. Rich, I'm using some hack code just to check the card's SRAM; fill each page with the page number and reading it all back through the MG Explorer. (avoiding the space where Explorer resides). Super simple. But, one way to page a 4M SAMS--> Put the page number in a word, SWAP the bytes in the word, write the word out to the SAMS register for the 4k block of the 32K memory space you're interested in presenting the page. So, to page in page 392 (>0188) into the >2000 memory space: enable the SAMS load register bit, load the page number into a word (>0188), swap it (>8801) and write it out to >4004. 1 Quote Link to comment Share on other sites More sharing options...
RXB Posted August 17, 2020 Share Posted August 17, 2020 (edited) 48 minutes ago, FALCOR4 said: Rich, I'm using some hack code just to check the card's SRAM; fill each page with the page number and reading it all back through the MG Explorer. (avoiding the space where Explorer resides). Super simple. But, one way to page a 4M SAMS--> Put the page number in a word, SWAP the bytes in the word, write the word out to the SAMS register for the 4k block of the 32K memory space you're interested in presenting the page. So, to page in page 392 (>0188) into the >2000 memory space: enable the SAMS load register bit, load the page number into a word (>0188), swap it (>8801) and write it out to >4004. Little confused Hex only handles 256 values in a single byte and 392 it a word. Currently I write a single byte to change a page >00 to >FF pages at say >4004 for memory area space >2000 this only works for 1 Meg of memory. Are you writing 2 bytes to >4004 for memory area space >2000 thus this second byte can be >00 to >03 for a 4 Meg SAMS? So are you putting a word >8801 in >4004 thus this would be page 136 in Decimal or >88 in Hex and >01 in second byte that selects 1 meg pages (>00 to >03)? Edited August 17, 2020 by RXB 1 Quote Link to comment Share on other sites More sharing options...
+FALCOR4 Posted August 17, 2020 Share Posted August 17, 2020 6 minutes ago, RXB said: Little confused Hex only handles 256 values in a single byte and 392 it a word. Currently I write a single byte to change a page >00 to >FF pages at say >4004 for memory area space >2000 this only works for 1 Meg of memory. Are you writing 2 bytes to >4004 for memory area space >2000 thus this second byte can be >00 to >03 for a 4 Meg SAMS? So are you putting a word >8801 in >4004 thus this would be page 136 in Decimal or >88 in Hex and >01 in second byte that selects 1 meg pages (>00 to >03)? Exactly, you got it. Just another way to slice the pie. And, BTW, you can do the same for the 1M card; write a word instead of a byte. That way the same code can be used for both versions of the SAMS. 3 1 Quote Link to comment Share on other sites More sharing options...
+FALCOR4 Posted August 17, 2020 Share Posted August 17, 2020 53 minutes ago, FALCOR4 said: Exactly, you got it. Just another way to slice the pie. And, BTW, you can do the same for the 1M card; write a word instead of a byte. That way the same code can be used for both versions of the SAMS. I re-read your question so, to be clear, you can't write-a-byte then write-a-byte. You have to write it as a single word; MOV not MOVB, MOVB. I can go into more detail as to the "why" but I don't think most folks would be interested. I'm getting off course for this thread, too. I'd be happy to talk to you some more about it if its helpful, PM? Quote Link to comment Share on other sites More sharing options...
RXB Posted August 17, 2020 Share Posted August 17, 2020 1 hour ago, FALCOR4 said: I re-read your question so, to be clear, you can't write-a-byte then write-a-byte. You have to write it as a single word; MOV not MOVB, MOVB. I can go into more detail as to the "why" but I don't think most folks would be interested. I'm getting off course for this thread, too. I'd be happy to talk to you some more about it if its helpful, PM? RXB 2001 to RXB 2015 was just writing a Byte with GPL it left the other byte free. So not much of a problem to change it to a word instead of a byte. Does make it more easy to number pages from 0 to 1024 Decimal or >00 to >0400 Hex But you get the added feature in RXB 2020 to be able to change any 4K page in the 32K now. Quote Link to comment Share on other sites More sharing options...
+FALCOR4 Posted August 17, 2020 Share Posted August 17, 2020 16 minutes ago, RXB said: RXB 2001 to RXB 2015 was just writing a Byte with GPL it left the other byte free. So not much of a problem to change it to a word instead of a byte. Does make it more easy to number pages from 0 to 1024 Decimal or >00 to >0400 Hex But you get the added feature in RXB 2020 to be able to change any 4K page in the 32K now. On the numbering convention, I don't know; maybe leave that to the community that is writing software for SAMS (hey guys, pick one!)? I know that sounds like a cop out. Maybe it depends on which language you're using for the application you're writing?. Also, slight edit if I may (don't hate me); 0 to 1023d and >0000 to >03FF. To be technically correct. I like the added feature for the 4K pages in all the 32K space, that was a great change that offers more flexibility! The card can do it, might as well be able to use it! 2 1 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted August 18, 2020 Share Posted August 18, 2020 6 hours ago, FALCOR4 said: I like the added feature for the 4K pages in all the 32K space, that was a great change that offers more flexibility! The card can do it, might as well be able to use it! Can you elaborate on that? Does that mean the DSR space on the SAMS 4MB card can be accessed as well? Quote Link to comment Share on other sites More sharing options...
+FALCOR4 Posted August 18, 2020 Share Posted August 18, 2020 (edited) On 8/17/2020 at 9:31 PM, retroclouds said: Can you elaborate on that? Does that mean the DSR space on the SAMS 4MB card can be accessed as well? The 4M SAMS has the same address space as the 1M SAMS; >2000->3FFF, >A000->FFFF. Edited August 19, 2020 by FALCOR4 Clarification 1 Quote Link to comment Share on other sites More sharing options...
atrax27407 Posted August 22, 2020 Author Share Posted August 22, 2020 Part of the reason that I initially posted the source code for AMSTEST4 was the hope that one of the talented A/L programmers on this forum would "take the ball and run with it". That is, extend the checking to 4 Megs (and beyond). We do currently have a 4 Meg SAMS card that works. The problem is that we don't have a proper test program for it. JEDIMATT's program (which is excellent by the way) will not currently go beyond 2 Megs (I am reliably informed) and uses a different algorithm than AMSTEST4. Besides, in its current iteration, is painfully slow. It takes 29+ minutes to test a 1 Meg SAMS as opposed to 8 Minutes for AMSTEST4. I hope someone will take up the challenge to extend AMSTEST4 to at least 4 Megs. Quote Link to comment Share on other sites More sharing options...
+jedimatt42 Posted August 22, 2020 Share Posted August 22, 2020 10 minutes ago, atrax27407 said: Part of the reason that I initially posted the source code for AMSTEST4 was the hope that one of the talented A/L programmers on this forum would "take the ball and run with it". That is, extend the checking to 4 Megs (and beyond). We do currently have a 4 Meg SAMS card that works. The problem is that we don't have a proper test program for it. JEDIMATT's program (which is excellent by the way) will not currently go beyond 2 Megs (I am reliably informed) and uses a different algorithm than AMSTEST4. Besides, in its current iteration, is painfully slow. It takes 29+ minutes to test a 1 Meg SAMS as opposed to 8 Minutes for AMSTEST4. I hope someone will take up the challenge to extend AMSTEST4 to at least 4 Megs. Nobody willing has hardware or emulation support to fiddle with AMSTEST4. The reason my test program is painfully slow, is because AMSTEST4 was insufficient as a test. I have experience with it passing on bad hardware. It is not a proper test program in my opinion. It is only a quick inventory check. If there is demand for a fast test... well I'm just going to say that is not really a test... if there is desire for a size detection mode just reset the 4A after my test tells you your memory card size... It will have read, written, and read to every page to determine the capacity. The current interation (1.7) of my test should handle up to the full 16Meg, but I haven't received confirmation from @FALCOR4 who has the only SAMS above 1Meg, as far as I can tell. It is now using the same paging instructions as documented on Thiery's TI-Tech-Pages website, after a discussion with @FALCOR4 - I have not heard if he has tested this version. 1 Quote Link to comment Share on other sites More sharing options...
RXB Posted August 22, 2020 Share Posted August 22, 2020 39 minutes ago, atrax27407 said: Part of the reason that I initially posted the source code for AMSTEST4 was the hope that one of the talented A/L programmers on this forum would "take the ball and run with it". That is, extend the checking to 4 Megs (and beyond). We do currently have a 4 Meg SAMS card that works. The problem is that we don't have a proper test program for it. JEDIMATT's program (which is excellent by the way) will not currently go beyond 2 Megs (I am reliably informed) and uses a different algorithm than AMSTEST4. Besides, in its current iteration, is painfully slow. It takes 29+ minutes to test a 1 Meg SAMS as opposed to 8 Minutes for AMSTEST4. I hope someone will take up the challenge to extend AMSTEST4 to at least 4 Megs. Well in 5 days I will get my (3900X) CPU back from AMD in Florida and I was one of the first ever to support the AMS and SAMS. Quote Link to comment Share on other sites More sharing options...
+FALCOR4 Posted August 22, 2020 Share Posted August 22, 2020 8 minutes ago, jedimatt42 said: Nobody willing has hardware or emulation support to fiddle with AMSTEST4. The reason my test program is painfully slow, is because AMSTEST4 was insufficient as a test. I have experience with it passing on bad hardware. It is not a proper test program in my opinion. It is only a quick inventory check. If there is demand for a fast test... well I'm just going to say that is not really a test... if there is desire for a size detection mode just reset the 4A after my test tells you your memory card size... It will have read, written, and read to every page to determine the capacity. The current interation (1.7) of my test should handle up to the full 16Meg, but I haven't received confirmation from @FALCOR4 who has the only SAMS above 1Meg, as far as I can tell. It is now using the same paging instructions as documented on Thiery's TI-Tech-Pages website, after a discussion with @FALCOR4 - I have not heard if he has tested this version. My 4M SAMS only has 2M installed right now because of a bad SRAM but, 1.7 found it, ID'd it as 2M and seems to have tested it successfully. I've also done some hack code testing on my board and the 2M seems to be good. I will tell you (and I mentioned it to you during one of our conversations, @Jetimatt42), there is a very nefarious possible error in the SRAMs that I don't believe every test program will find. I speculate that it has something to do with the internal addressing architecture of the SRAM in the way it addresses rows and columns of bit cells. 1 1 Quote Link to comment Share on other sites More sharing options...
+jedimatt42 Posted August 22, 2020 Share Posted August 22, 2020 https://github.com/jedimatt42/ti994a-32kmemtest/releases I've made a 1.8 update to my program that adds a "quick check" mode. It performs a single pass over each memory cell. 3 Quote Link to comment Share on other sites More sharing options...
RXB Posted August 22, 2020 Share Posted August 22, 2020 Anyone besides me want Classic99 to support a SAMS up to 4Meg and possibly 16Meg? I would be delighted to release RXB 2020 with support for that and of course would work with REAL IRON! 2 1 Quote Link to comment Share on other sites More sharing options...
fabrice montupet Posted August 22, 2020 Share Posted August 22, 2020 (edited) 1 hour ago, RXB said: and of course would work with REAL IRON! A good thing! Because using a real 99/4A is assuredly more exiting than emulators. Edited August 22, 2020 by fabrice montupet 6 1 Quote Link to comment Share on other sites More sharing options...
+jedimatt42 Posted August 22, 2020 Share Posted August 22, 2020 5 hours ago, RXB said: Anyone besides me want Classic99 to support a SAMS up to 4Meg and possibly 16Meg? I would be delighted to release RXB 2020 with support for that and of course would work with REAL IRON! It might already - My memory test detected 16Meg and so far well beyond 2Meg is passing. I originally thought this was an error, because I was printing the 'K' overtop the last digit. IDK if Classic99 does more... my test only examines up to 4096 pages. I get some questions about how to read the output here.... My memory test examines 32K at a time. So for SAMS, I page in 8 4K pages, then test the entire 32K address range. For other memory cards, they page 32k at a time... The 'addresses' on the screen are within the 9900 64K address range. 3 1 Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted August 23, 2020 Share Posted August 23, 2020 (edited) I got up to 32MB(>1F), before the lower-byte caused a roll-over(>20=>00). So, 8192 pages! This wouldn't work on version QI372. Hmm. Edited August 23, 2020 by HOME AUTOMATION Trimmed second image, for better readability. 2 2 Quote Link to comment Share on other sites More sharing options...
atrax27407 Posted August 23, 2020 Author Share Posted August 23, 2020 My compliments, Matt! Your "Quick Test" benchmark speed test scanned the full 1 Meg SAMS in just under 40 seconds!! 5 Quote Link to comment Share on other sites More sharing options...
+TheBF Posted August 24, 2020 Share Posted August 24, 2020 (edited) I can't match under 40 seconds but I have one that do it 58 seconds and let you set the fill pattern interactively. This is using a little routine to convert a virtual-address to the real address in the paged buffer at >3000. (that stuff is all in DSK1.SAMS) For anyone who wants to use this you have to transfer the DV80 FILE in the zip file to your local disk, start CAMEL99 and type INCLUDE DSK?.SAMSTEST (? Is your disk) The program will auto start after it compiles. (~9 seconds) It does not test the 1st 64K, the pass thru memory. SAMSTEST.mp4 SAMSTEST.mp4 SAMSTEST.mp4 Spoiler \ test sams card in 64K segments MARKER /SAMSTEST \ command to remove everything when you are done. NEEDS COMPARE FROM DSK1.COMPARE NEEDS ELAPSE FROM DSK1.ELAPSE NEEDS PAGED FROM DSK1.SAMS NEEDS U.R FROM DSK1.UDOTR HEX 7FFF CONSTANT 32K FFFF CONSTANT 64K 1000 CONSTANT 4K CREATE PBUFFER 4K ALLOT \ holds the pattern we are testing \ : ERASE 0 FILL ; \ : BLANKS BL FILL ; CODE MOVE16 ( addr1 addr2 len -- ) \ fast move 16bit cells C036 , C076 , C104 , 1306 , 0584 , 0244 , FFFE , CC31 , 0644 , 15FD , C136 , NEXT, ENDCODE : BINARY 2 BASE ! ; : SETPATTERN ( char -- ) CR ." Bit Pattern = " BINARY DUP 8 .R PBUFFER 4K ROT FILL CR ; \ move pattern-buffer into entire segment : FILLSEG ( seg# -- ) SEGMENT \ set the segment 64K 0 DO PBUFFER I PAGED 4K MOVE16 4K +LOOP ; : TESTSEG ( seg# -- ) CR ." Fill 64K seg# " DUP . ." with" PBUFFER C@ HEX 4 .R FILLSEG 64K 0 DO CR ." Address" HEX I 5 U.R ." ... " PBUFFER 4K I PAGED 4K COMPARE IF ." FAIL" ELSE ." PASS" THEN ?TERMINAL ABORT" *HALTED*" 4K +LOOP ; DECIMAL : SAMSTEST PAGE CR ." SAMS Card memory test" CR ." ---------------------" 16 1 DO CR CR ." *SEGMENT*" DECIMAL I 3 .R CR I TESTSEG LOOP ; ( 58 secs) \ do the test now HEX AA SETPATTERN ELAPSE SAMSTEST SAMSTEST.mp4 SAMSTEST.zip Edited August 24, 2020 by TheBF failed video upload 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted August 24, 2020 Share Posted August 24, 2020 Yes, Classic99 has a 32MB AMS that was added on request, but I still haven't got around to fixing the configuration so you can set it to anything else (AMSTEST bombs on out it as a result). It's encouraging to hear that code works with the test programs for the actual cards that starting to appear. Quote Link to comment Share on other sites More sharing options...
Tursi Posted August 24, 2020 Share Posted August 24, 2020 Yes, Classic99 has a 32MB AMS that was added on request, but I still haven't got around to fixing the configuration so you can set it to anything else (AMSTEST bombs on out it as a result). It's encouraging to hear that code works with the test programs for the actual cards that starting to appear. 3 Quote Link to comment Share on other sites More sharing options...
RXB Posted August 24, 2020 Share Posted August 24, 2020 3 hours ago, Tursi said: Yes, Classic99 has a 32MB AMS that was added on request, but I still haven't got around to fixing the configuration so you can set it to anything else (AMSTEST bombs on out it as a result). It's encouraging to hear that code works with the test programs for the actual cards that starting to appear. Cool as soon as I get my CPU back I can make a RXB 2020 test for up to 32 Meg or more. 1 Quote Link to comment Share on other sites More sharing options...
XLERB Posted July 18, 2022 Share Posted July 18, 2022 On 5/26/2020 at 6:05 PM, jedimatt42 said: In theory, my memory test will exercise a 16MB SAMS... I think SDD99 was threatening to provide 16MB SAMS https://github.com/jedimatt42/ti994a-32kmemtest/blob/f825dfcf76234ed408e54fd356f7e80b6f16fbb7/main.c#L220 https://github.com/jedimatt42/ti994a-32kmemtest/releases Works great! On a 1MB card, anyway… 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.